        .cr2conv-core {
            width: 100%;
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        }
        
        .cr2conv-core * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        .cr2conv-upload {
            width: 100%;
            border: 2px dashed #c8d6e5;
            background: #f8fafb;
            text-align: center;
            padding: 48px 20px;
            cursor: pointer;
            transition: border-color 0.25s, background 0.25s, box-shadow 0.25s;
            border-radius: 12px;
        }
        .cr2conv-upload:hover { border-color: #8395a7; background: #f1f5f8; box-shadow: 0 2px 12px rgba(0,0,0,0.04); }
        .cr2conv-upload.dragover { border-color: #576574; background: #e8eef3; box-shadow: 0 2px 16px rgba(0,0,0,0.06); }
        .cr2conv-upload-icon { width: 48px; height: 48px; margin: 0 auto 12px; color: #8395a7; }
        .cr2conv-upload-text { color: #576574; font-size: 15px; }
        .cr2conv-upload-hint { color: #8395a7; font-size: 12px; margin-top: 8px; }
        .cr2conv-file-input { display: none; }
        
        .cr2conv-list {
            width: 100%;
            column-count: 4;
            column-gap: 16px;
            margin-top: 16px;
        }
        @media (max-width: 1200px) { .cr2conv-list { column-count: 3; } }
        @media (max-width: 900px) { .cr2conv-list { column-count: 2; } }
        @media (max-width: 500px) { .cr2conv-list { column-count: 1; } }
        
        .cr2conv-item {
            width: 100%;
            border: 1px solid #e4e9ed;
            background: #fff;
            break-inside: avoid;
            margin-bottom: 16px;
            border-radius: 8px;
            overflow: hidden;
            transition: box-shadow 0.2s;
        }
        .cr2conv-item:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
        .cr2conv-item-imgwrap {
            width: 100%;
            background: #f4f6f8;
            overflow: hidden;
        }
        .cr2conv-item-imgwrap img {
            width: 100%;
            height: auto;
            display: block;
        }
        .cr2conv-item-name {
            padding: 10px 12px;
            font-size: 13px;
            color: #2c3e50;
            border-top: 1px solid #e4e9ed;
            word-break: break-all;
            line-height: 1.4;
        }
        .cr2conv-item-btns {
            display: flex;
            border-top: 1px solid #e4e9ed;
        }
        .cr2conv-item-btn {
            flex: 1;
            padding: 10px;
            font-size: 13px;
            color: #576574;
            background: #fff;
            border: none;
            border-right: 1px solid #e4e9ed;
            cursor: pointer;
            transition: background 0.2s, color 0.2s;
            text-decoration: none;
            display: block;
            text-align: center;
        }
        .cr2conv-item-btn:last-child { border-right: none; }
        .cr2conv-item-btn:hover { background: #f0f7f4; color: #2d8a6e; }
        
        .cr2conv-loading {
            width: 100%;
            border: 1px solid #e4e9ed;
            background: #fff;
            padding: 30px;
            text-align: center;
            break-inside: avoid;
            overflow: hidden;
            border-radius: 8px;
        }
        .cr2conv-spinner {
            width: 24px;
            height: 24px;
            border: 2px solid #e4e9ed;
            border-top-color: #576574;
            border-radius: 50%;
            animation: cr2conv-spin 0.8s linear infinite;
            margin: 0 auto 10px;
        }
        @keyframes cr2conv-spin { to { transform: rotate(360deg); } }
        .cr2conv-loading-text { font-size: 13px; color: #576574; word-break: break-all; }
        
        .cr2conv-error {
            width: 100%;
            border: 1px solid #f0c0c0;
            background: #fff5f5;
            padding: 20px;
            text-align: center;
            border-radius: 8px;
        }
        .cr2conv-error-text { font-size: 13px; color: #c0392b; }
        
        .cr2conv-libtip {
            width: 100%;
            border: 1px solid #d5e0ed;
            background: #f5f8fb;
            padding: 15px;
            text-align: center;
            margin-top: 16px;
            border-radius: 8px;
        }
        .cr2conv-libtip-text { font-size: 13px; color: #576574; }
        
        /* ===== 文案区域 ===== */
        .cr2conv-info {
            width: 100%;
            background: #fff;
            padding: 36px 0px;
            margin-top: 28px;
            border-radius: 12px;
        }
        .cr2conv-info h2 {
            font-size: 20px;
            font-weight: 600;
            color: #2c3e50;
            margin-top: 36px;
            margin-bottom: 14px;
            padding-left: 14px;
            border-left: 3px solid #3a7d6a;
            line-height: 1.4;
        }
        .cr2conv-info h2:first-child { margin-top: 0; }
        .cr2conv-info h3 {
            font-size: 16px;
            font-weight: 600;
            color: #34495e;
            margin-top: 20px;
            margin-bottom: 8px;
        }
        .cr2conv-info p {
            font-size: 14px;
            color: #5a6c7d;
            line-height: 1.8;
            margin-bottom: 14px;
        }
        .cr2conv-info ul {
            list-style: none;
            padding: 0;
            margin-bottom: 14px;
        }
        .cr2conv-info ul li {
            font-size: 14px;
            color: #5a6c7d;
            line-height: 1.8;
            padding: 6px 0 6px 20px;
            position: relative;
        }
        .cr2conv-info ul li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 14px;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: #3a7d6a;
        }
        .cr2conv-info ol {
            padding-left: 0;
            margin-bottom: 14px;
            counter-reset: step-counter;
        }
        .cr2conv-info ol li {
            font-size: 14px;
            color: #5a6c7d;
            line-height: 1.8;
            padding: 6px 0 6px 28px;
            position: relative;
            list-style: none;
            counter-increment: step-counter;
        }
        .cr2conv-info ol li::before {
            content: counter(step-counter);
            position: absolute;
            left: 0;
            top: 6px;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            background: #3a7d6a;
            color: #fff;
            font-size: 12px;
            font-weight: 600;
            text-align: center;
            line-height: 20px;
        }
        .cr2conv-info strong {
            color: #2c3e50;
            font-weight: 600;
        }

        /* FAQ 区域 */
        .cr2conv-faq {
            margin-top: 8px;
        }
        .cr2conv-faq-item {
            border: 1px solid #e4e9ed;
            border-radius: 8px;
            margin-bottom: 12px;
            overflow: hidden;
            transition: box-shadow 0.2s;
        }
        .cr2conv-faq-item:hover {
            box-shadow: 0 2px 10px rgba(0,0,0,0.04);
        }
        .cr2conv-faq-item h3 {
            font-size: 14px;
            font-weight: 600;
            color: #2c3e50;
            margin: 0;
            padding: 14px 16px;
            background: #f8fafb;
            border-bottom: 1px solid #e4e9ed;
        }
        .cr2conv-faq-item p {
            font-size: 14px;
            color: #5a6c7d;
            line-height: 1.8;
            padding: 14px 16px;
            margin: 0;
        }
