        * { font-family: 'Inter', system-ui, -apple-system, sans-serif; }
        body {
            background: linear-gradient(135deg, #f6f9fc 0%, #edf2f9 100%);
            min-height: 100vh;
        }
        .glass-card {
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.2);
        }
        .upload-zone {
            border: 2px dashed #cbd5e1;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            background: linear-gradient(145deg, #ffffff, #fafafa);
        }
        .upload-zone:hover, .upload-zone.dragover {
            border-color: #3b82f6;
            background: linear-gradient(145deg, #f0f9ff, #e6f0fa);
            transform: translateY(-2px);
            box-shadow: 0 10px 25px -5px rgba(59, 130, 246, 0.2);
        }
        .score-ring {
            transition: stroke-dashoffset 1s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .tab-button {
            position: relative;
            transition: all 0.2s;
        }
        .tab-button::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 50%;
            width: 0;
            height: 2px;
            background: #3b82f6;
            transition: all 0.2s;
            transform: translateX(-50%);
        }
        .tab-button.active::after { width: 80%; }
        .loading-overlay {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.5);
            backdrop-filter: blur(8px);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 1000;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s;
        }
        .loading-overlay.active {
            opacity: 1;
            visibility: visible;
        }
        .loading-content {
            background: white;
            border-radius: 2rem;
            padding: 2rem;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
            transform: scale(0.9);
            transition: transform 0.3s;
            max-width: 400px;
            width: 90%;
        }
        .loading-overlay.active .loading-content { transform: scale(1); }
        .progress-bar {
            width: 100%;
            height: 4px;
            background: #e2e8f0;
            border-radius: 2px;
            overflow: hidden;
            position: relative;
        }
        .progress-bar-fill {
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            background: linear-gradient(90deg, #3b82f6, #60a5fa);
            width: 0%;
            border-radius: 2px;
            transition: width 0.3s;
        }
        .suggestion-card {
            background: white;
            border: 1px solid #e2e8f0;
            border-radius: 1rem;
            padding: 1rem;
            transition: all 0.2s;
            position: relative;
            overflow: hidden;
        }
        .suggestion-card::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 4px;
            background: #3b82f6;
            transform: scaleY(0);
            transition: transform 0.2s;
        }
        .suggestion-card:hover::before { transform: scaleY(1); }
        .suggestion-card:hover {
            transform: translateX(4px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
        }
        .keyword-chip {
            display: inline-flex;
            align-items: center;
            padding: 0.25rem 0.75rem;
            background: #dbeafe;
            color: #1e40af;
            border-radius: 9999px;
            font-size: 0.75rem;
            font-weight: 500;
            transition: all 0.2s;
        }
        .keyword-chip:hover {
            background: #bfdbfe;
            transform: scale(1.05);
        }
        .keyword-chip.missing {
            background: #fee2e2;
            color: #991b1b;
        }
        .keyword-chip.missing:hover { background: #fecaca; }
        .metric-card {
            background: #f8fafc;
            border-radius: 1rem;
            padding: 1rem;
            border: 1px solid #e2e8f0;
        }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .fade-in { animation: fadeIn 0.5s ease-out; }
        @media (max-width: 768px) {
            .loading-content { width: 95%; padding: 1.5rem; }
        }
        [title] {
            cursor: help;
        }