.drop-zone {
            border: 2px dashed #ccc;
            border-radius: 16px;
            background: #f9fafc;
            padding: 2rem;
            text-align: center;
            cursor: pointer;
            transition: background 0.2s, border 0.2s;
        }
        .drop-zone.drag-over {
            background: #e3f2fd;
            border-color: #0d6efd;
        }
        .drop-zone i {
            font-size: 3rem;
            color: #6c757d;
            margin-bottom: 0.5rem;
        }
        .file-info {
            background: #f1f3f5;
            border-radius: 12px;
            padding: 0.75rem 1rem;
            margin: 1rem 0;
            font-size: 0.9rem;
        }
        .result-box {
            background-color: #f8f9fa;
            border-radius: 12px;
            border: 1px solid #dee2e6;
            margin: 1.5rem 0;
        }
        .result-header {
            background: #e9ecef;
            padding: 0.75rem 1rem;
            border-radius: 12px 12px 0 0;
            font-weight: 600;
            border-bottom: 1px solid #dee2e6;
        }
        .base64-output {
            font-family: 'SF Mono', 'Courier New', monospace;
            font-size: 0.85rem;
            background: white;
            border: none;
            width: 100%;
            padding: 1rem;
            resize: vertical;
            white-space: pre-wrap;
            word-break: break-all;
            min-height: 140px;
        }
        .preview-img {
            max-width: 100%;
            max-height: 200px;
            border-radius: 8px;
            border: 1px solid #dee2e6;
            margin-top: 1rem;
        }
        .btn-copy {
            border-top-left-radius: 0;
            border-bottom-left-radius: 0;
        }
        .badge-info {
            background-color: #e2e3e5;
            color: #2c3e50;
        }
        .deep-article {
            line-height: 1.65;
            color: #2c3e50;
        }
        .deep-article h4 {
            margin-top: 1.8rem;
            margin-bottom: 1rem;
            font-weight: 600;
        }
        .ref-link {
            color: #0d6efd;
            text-decoration: none;
        }
        .ref-link:hover {
            text-decoration: underline;
        }
        .size-warning {
            font-size: 0.85rem;
            margin-top: 0.5rem;
        }
        .loading-spinner {
            display: inline-block;
            width: 1rem;
            height: 1rem;
            border: 2px solid #e9ecef;
            border-top-color: #0d6efd;
            border-radius: 50%;
            animation: spin 0.6s linear infinite;
            margin-right: 0.5rem;
        }
        @keyframes spin { to { transform: rotate(360deg); } }
        .conversion-status {
            font-size: 0.9rem;
            margin-top: 0.5rem;
            color: #0d6efd;
        }
        .error-message {
            color: #dc3545;
            background: #fff0f0;
            border-radius: 8px;
            padding: 0.5rem 1rem;
            font-size: 0.9rem;
            margin-top: 0.5rem;
        }