@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap");:root{--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-300:#a5b4fc;--primary-400:#818cf8;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--primary-800:#3730a3;--primary-900:#312e81;--accent-300:#5eead4;--accent-400:#2dd4bf;--accent-500:#14b8a6;--accent-600:#0d9488;--success-400:#22c55e;--success-500:#16a34a;--success-600:#15803d;--warning-400:#f59e0b;--warning-500:#d97706;--warning-600:#b45309;--danger-400:#ef4444;--danger-500:#dc2626;--danger-600:#b91c1c;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--gray-950:#020617;--bg-primary:#f7f9fb;--bg-secondary:#fff;--bg-tertiary:#f2f4f6;--bg-card:#fff;--bg-glass:hsla(0,0%,100%,.7);--bg-glass-strong:hsla(0,0%,100%,.85);--bg-surface-dim:#eceef0;--text-primary:#191c1e;--text-secondary:#475569;--text-muted:#94a3b8;--border-color:rgba(199,196,215,.35);--border-hover:rgba(199,196,215,.6);--border-ghost:rgba(199,196,215,.15);--shadow-sm:0 1px 3px rgba(70,72,212,.04);--shadow-md:0 4px 12px rgba(70,72,212,.06);--shadow-lg:0 12px 32px rgba(70,72,212,.08);--shadow-xl:0 20px 50px rgba(70,72,212,.1);--shadow-glow:0 0 24px rgba(99,102,241,.12);--shadow-glow-teal:0 0 24px rgba(20,184,166,.12);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--transition-elastic:400ms cubic-bezier(0.34,1.56,0.64,1);--transition-theme:300ms ease;--gradient-primary:linear-gradient(135deg,#4648d4,#6063ee);--gradient-brand:linear-gradient(135deg,#6366f1,#06b6d4);--gradient-hero:linear-gradient(135deg,#6366f1,#06b6d4,#10b981);--gradient-cta:linear-gradient(135deg,#4648d4,#6366f1);--gradient-surface:linear-gradient(180deg,#f8fafc,#eef2ff 50%,#f0fdf4)}[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#162032;--bg-card:#1e293b;--bg-glass:rgba(30,41,59,.7);--bg-glass-strong:rgba(30,41,59,.85);--bg-surface-dim:#0f172a;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:rgba(148,163,184,.15);--border-hover:rgba(148,163,184,.3);--border-ghost:rgba(148,163,184,.08);--shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 12px 32px rgba(0,0,0,.5);--shadow-xl:0 20px 50px rgba(0,0,0,.6);--shadow-glow:0 0 24px rgba(99,102,241,.2);--shadow-glow-teal:0 0 24px rgba(20,184,166,.2);--gradient-surface:linear-gradient(180deg,#0f172a,#1a1040 50%,#0d2b26)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;transition:background-color var(--transition-theme),color var(--transition-theme)}a{color:var(--primary-400);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-300)}img{max-width:100%;display:block}.theme-toggle-btn{width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.theme-toggle-btn:hover{background:var(--bg-tertiary);color:var(--primary-500);border-color:var(--primary-200);transform:scale(1.05)}.theme-icon{display:flex;align-items:center;justify-content:center;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.sun-visible{transform:rotate(0deg)}.moon-visible{transform:rotate(-30deg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-md);font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-elastic);white-space:nowrap;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,hsla(0,0%,100%,.2),transparent);opacity:0;transition:opacity var(--transition-fast)}.btn:hover:after{opacity:1}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 12px rgba(99,102,241,.35)}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px rgba(99,102,241,.5);transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.97)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-surface-dim);border-color:var(--border-hover)}.btn-danger{background:linear-gradient(135deg,var(--danger-600),var(--danger-500));color:#fff}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-sm{padding:6px 14px;font-size:.8125rem}.btn-xs{padding:3px 10px;font-size:.75rem}.btn-lg{padding:14px 28px;font-size:1rem}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;background:var(--bg-tertiary);border:1.5px solid transparent;border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.9375rem;transition:all var(--transition-base);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{background:var(--bg-secondary);border-color:var(--primary-500);box-shadow:0 0 0 3px rgba(99,102,241,.12)}.form-input::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:100px}.card{background:var(--bg-card);border:1px solid var(--border-ghost);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);transition:all var(--transition-elastic)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.glass-card{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-ghost);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-card);border:1px solid var(--border-ghost);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-elastic)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.25rem}.stat-icon.purple{background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(139,92,246,.12));color:var(--primary-600)}.stat-icon.teal{background:linear-gradient(135deg,rgba(20,184,166,.15),rgba(45,212,191,.12));color:var(--accent-600)}.stat-icon.green{background:linear-gradient(135deg,rgba(34,197,94,.15),rgba(74,222,128,.12));color:var(--success-500)}.stat-icon.amber{background:linear-gradient(135deg,rgba(234,179,8,.15),rgba(250,204,21,.12));color:var(--warning-500)}.stat-icon.red{background:linear-gradient(135deg,rgba(239,68,68,.15),hsla(0,91%,71%,.12));color:var(--danger-500)}.stat-value{font-size:1.75rem;line-height:1.2;color:var(--stat-color,var(--text-primary))}.stat-label{font-size:.8125rem;font-weight:500}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-star{background:rgba(34,197,94,.12);color:var(--success-400)}.badge-average{background:rgba(234,179,8,.12);color:var(--warning-400)}.badge-at-risk{background:rgba(239,68,68,.12);color:var(--danger-400)}.badge-primary{background:rgba(99,102,241,.1);color:var(--primary-500)}.badge-success{background:rgba(34,197,94,.1);color:var(--success-500)}.badge-warning{background:rgba(234,179,8,.1);color:var(--warning-600)}.badge-danger{background:rgba(239,68,68,.1);color:var(--danger-500)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-color)}table{width:100%;border-collapse:collapse}thead th{padding:12px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}tbody td{padding:12px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--border-ghost)}tbody tr{transition:background var(--transition-fast)}tbody tr:hover{background:rgba(99,102,241,.04)}tbody tr:last-child td{border-bottom:none}.page-container{max-width:1400px;margin:0 auto;padding:28px}.grid-2,.grid-3,.grid-4{grid-gap:20px;gap:20px}@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.page-container{padding:16px}}.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--bg-glass-strong);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--border-ghost);padding:20px 0;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:40;transition:transform var(--transition-base),background var(--transition-theme)}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 20px 24px;margin-bottom:16px}.sidebar-brand-text{font-size:1.125rem;font-weight:800;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.sidebar-brand-sub{font-size:.6875rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.sidebar-nav{flex:1 1;padding:0 12px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-secondary);transition:all var(--transition-elastic);cursor:pointer;border:none;background:none;width:100%;text-align:left;position:relative}.sidebar-link:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:translateX(4px)}.sidebar-link.active{background:rgba(99,102,241,.1);color:var(--primary-500);font-weight:600;box-shadow:inset 3px 0 0 var(--primary-500)}[data-theme=dark] .sidebar-link.active{background:rgba(99,102,241,.15);color:var(--primary-300)}.sidebar-section-title{padding:16px 14px 8px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.main-content{flex:1 1;margin-left:260px;min-height:100vh}.main-content,.topbar{transition:background var(--transition-theme)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:var(--bg-glass-strong);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-ghost);position:-webkit-sticky;position:sticky;top:0;z-index:30}.topbar-title{font-size:1.25rem;font-weight:700}.topbar-actions{gap:12px}.topbar-actions,.topbar-search{display:flex;align-items:center}.topbar-search{gap:8px;padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border-ghost);border-radius:var(--radius-full);color:var(--text-muted);font-size:.8125rem;min-width:220px;transition:all var(--transition-base);cursor:pointer}.topbar-search:hover{border-color:var(--border-color);background:var(--bg-secondary)}.topbar-icon-btn{width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--border-ghost);background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-elastic);position:relative}.topbar-icon-btn:hover{background:var(--bg-tertiary);color:var(--primary-500);transform:scale(1.05)}.topbar-badge{position:absolute;top:-4px;right:-4px;width:18px;height:18px;background:var(--danger-500);color:#fff;border-radius:var(--radius-full);font-size:.625rem;font-weight:700;display:flex;align-items:center;justify-content:center;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.user-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:#fff;cursor:pointer;transition:all var(--transition-elastic)}.user-avatar:hover{transform:scale(1.1);box-shadow:var(--shadow-glow)}.progress-bar{height:6px;background:var(--bg-tertiary);overflow:hidden}.progress-bar,.progress-fill{border-radius:var(--radius-full)}.progress-fill{height:100%;transition:width 1s cubic-bezier(.4,0,.2,1);width:var(--fill-w,0)}.progress-fill-fast{transition:width .3s}.progress-fill.purple{background:linear-gradient(90deg,var(--primary-600),var(--primary-400))}.progress-fill.green{background:linear-gradient(90deg,var(--success-600),var(--success-400))}.progress-fill.amber{background:linear-gradient(90deg,var(--warning-600),var(--warning-400))}.progress-fill.red{background:linear-gradient(90deg,var(--danger-600),var(--danger-400))}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);position:relative;overflow:hidden}.login-page:before{width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.15),transparent 70%);top:-200px;right:-200px}.login-page:after,.login-page:before{content:"";position:absolute;border-radius:50%}.login-page:after{width:400px;height:400px;background:radial-gradient(circle,rgba(20,184,166,.1),transparent 70%);bottom:-100px;left:-100px}.login-card{width:100%;max-width:440px;padding:40px;background:var(--bg-glass-strong);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl),0 0 0 1px hsla(0,0%,100%,.5);position:relative;z-index:1}[data-theme=dark] .login-card{box-shadow:var(--shadow-xl),0 0 0 1px hsla(0,0%,100%,.05)}.login-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px}.login-title{font-size:1.5rem;font-weight:800;text-align:center;margin-bottom:8px}.login-subtitle{text-align:center;color:var(--text-muted);font-size:.875rem;margin-bottom:32px}.login-form{display:flex;flex-direction:column;gap:20px}.login-footer{text-align:center;margin-top:24px;font-size:.8125rem;color:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-12px,0)}}@keyframes floatSlow{0%,to{transform:translateZ(0) rotate(0deg)}33%{transform:translate3d(0,-8px,0) rotate(2deg)}66%{transform:translate3d(0,4px,0) rotate(-1deg)}}@keyframes glowPulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.4)}50%{box-shadow:0 0 0 8px rgba(34,197,94,0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-40px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(15px,30px) scale(1.02)}}@keyframes particleFloat{0%,to{transform:translateY(0) scale(1);opacity:.3}50%{transform:translateY(-30px) scale(1.5);opacity:.8}}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes barGrow{0%{height:0!important}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}@keyframes countUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes wobble{0%,to{transform:rotate(0deg)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.spinner{border-radius:50%;border:3px solid var(--border-color);border-top-color:var(--primary-500);animation:spin .8s linear infinite;width:48px;height:48px}.spinner-32{width:32px;height:32px}.animate-fade-in{animation:fadeIn .4s ease-out}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-slide-in{animation:slideIn .3s ease-out}.animate-scale-in{animation:scaleIn .3s var(--transition-elastic)}.animate-float{animation:float 3s ease-in-out infinite;will-change:transform}.animate-float-slow{animation:floatSlow 6s ease-in-out infinite;will-change:transform}.animate-glow-pulse{animation:glowPulse 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-surface-dim) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.hover-lift{transition:all var(--transition-elastic)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-glow{transition:all var(--transition-elastic)}.hover-glow:hover{box-shadow:var(--shadow-glow)}.stagger-children>*{animation:fadeInUp .5s ease-out both}.stagger-children>:first-child{animation-delay:.05s}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.35s}.stagger-children>:nth-child(8){animation-delay:.4s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--gray-700)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.text-sm{font-size:.875rem}.w-full{width:100%}.flex-col.gap-6{display:flex;flex-direction:column;gap:24px}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0);box-shadow:var(--shadow-xl)}.main-content{margin-left:0}.login-card{margin:16px;padding:28px}}.landing-page{position:relative;min-height:100vh;overflow-x:hidden;background:var(--gradient-surface);transition:background var(--transition-theme)}.landing-bg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.landing-gradient-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.2;animation:orbFloat 12s ease-in-out infinite}[data-theme=dark] .landing-gradient-orb{opacity:.15}.orb-1{width:600px;height:600px;top:-200px;left:-100px;background:radial-gradient(circle,#6366f1 0,transparent 70%)}.orb-2{width:500px;height:500px;top:40%;right:-150px;background:radial-gradient(circle,#06b6d4 0,transparent 70%);animation-delay:-4s}.orb-3{width:400px;height:400px;bottom:-100px;left:30%;background:radial-gradient(circle,#10b981 0,transparent 70%);animation-delay:-8s}.landing-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(99,102,241,.04) 1px,transparent 0),linear-gradient(90deg,rgba(99,102,241,.04) 1px,transparent 0);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 70%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 70%)}[data-theme=dark] .landing-grid{background-image:linear-gradient(rgba(99,102,241,.06) 1px,transparent 0),linear-gradient(90deg,rgba(99,102,241,.06) 1px,transparent 0)}.landing-particle{position:absolute;width:3px;height:3px;background:rgba(99,102,241,.5);border-radius:50%;animation:particleFloat 5s ease-in-out infinite}[data-theme=dark] .landing-particle{background:rgba(129,140,248,.5)}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 0;transition:all .3s ease;border-bottom:1px solid transparent}.landing-nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.landing-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.landing-brand-text{font-size:1.375rem;font-weight:800;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-nav-links{display:flex;gap:32px}.landing-nav-links a{color:var(--text-secondary);font-size:.9375rem;font-weight:500;transition:color .2s}.landing-nav-links a:hover{color:var(--primary-500)}.landing-nav-actions{display:flex;gap:12px;align-items:center}.btn-landing-primary{display:inline-flex;align-items:center;padding:10px 24px;background:var(--gradient-primary);color:#fff;font-weight:600;font-size:.9375rem;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-elastic);text-decoration:none;box-shadow:0 4px 20px rgba(99,102,241,.3)}.btn-landing-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(99,102,241,.5)}.btn-landing-primary:active{transform:translateY(0) scale(.97)}.btn-landing-ghost{display:inline-flex;align-items:center;padding:10px 24px;background:var(--bg-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-secondary);font-weight:600;font-size:.9375rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-elastic);text-decoration:none}.btn-landing-ghost:hover{background:rgba(99,102,241,.08);color:var(--primary-500);border-color:var(--primary-200);transform:translateY(-1px)}.landing-hero{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:140px 24px 80px;display:grid;grid-template-columns:1fr 1fr;grid-gap:60px;gap:60px;align-items:center;min-height:100vh}.landing-hero-badge{display:inline-block;padding:6px 16px;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.2);border-radius:100px;font-size:.8125rem;font-weight:600;color:var(--primary-500);margin-bottom:24px;animation:fadeInUp .7s ease-out}.landing-hero-title{font-size:3.5rem;font-weight:900;line-height:1.1;letter-spacing:-.03em;color:var(--text-primary);margin-bottom:24px;animation:fadeInUp .7s ease-out .1s both}.landing-hero-gradient{background:var(--gradient-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 200%;animation:gradientShift 4s ease infinite}.landing-hero-desc{font-size:1.125rem;line-height:1.7;color:var(--text-secondary);max-width:520px;margin-bottom:36px;animation:fadeInUp .7s ease-out .2s both}.landing-hero-btns{display:flex;gap:16px;margin-bottom:32px;animation:fadeInUp .7s ease-out .3s both}.landing-hero-trust{animation:fadeInUp .7s ease-out .4s both}.landing-hero-visual{animation:fadeInUp .8s ease-out .3s both}.landing-dashboard-preview{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.08),var(--shadow-glow);transition:transform var(--transition-elastic),box-shadow var(--transition-base)}.landing-dashboard-preview:hover{transform:translateY(-4px);box-shadow:0 28px 70px rgba(0,0,0,.12),var(--shadow-glow)}.dash-preview-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-ghost)}.dash-preview-dots{display:flex;gap:6px}.dash-preview-dots span{width:10px;height:10px;border-radius:50%}.dash-preview-dots span:first-child{background:#ef4444}.dash-preview-dots span:nth-child(2){background:#f59e0b}.dash-preview-dots span:nth-child(3){background:#22c55e}.dash-preview-content{padding:20px}.dash-preview-stat-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:20px}.dash-preview-chart,.dash-preview-stat{padding:12px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.dash-preview-chart{display:flex;align-items:flex-end;gap:8px;height:120px}.dash-preview-bar-item{flex:1 1;background:var(--gradient-brand);border-radius:4px 4px 0 0;animation:barGrow 1.5s ease-out both;opacity:.8;transition:opacity .2s,transform .2s}.dash-preview-bar-item:hover{opacity:1;transform:scaleY(1.05);transform-origin:bottom}.landing-stats{position:relative;z-index:1;display:flex;justify-content:center;gap:60px;max-width:1000px;margin:0 auto;padding:60px 24px}.landing-stat-value{font-size:2.5rem;font-weight:900;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-stat-label{color:var(--text-muted);font-size:.9375rem;margin-top:4px}.landing-features,.landing-roles{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:100px 24px}.landing-section-header{text-align:center;margin-bottom:60px}.landing-section-badge{display:inline-block;padding:6px 16px;background:rgba(20,184,166,.08);border:1px solid rgba(20,184,166,.2);border-radius:100px;font-size:.8125rem;font-weight:600;color:var(--accent-500);margin-bottom:16px}.landing-section-title{font-size:2.5rem;font-weight:900;color:var(--text-primary);margin-bottom:16px}.landing-section-desc{font-size:1.0625rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.landing-features-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.landing-feature-card{padding:32px;background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-ghost);border-radius:var(--radius-xl);transition:all var(--transition-elastic);animation:fadeInUp .5s ease-out both;box-shadow:var(--shadow-sm)}.landing-feature-card:hover{transform:translateY(-6px);border-color:rgba(20,184,166,.2);box-shadow:var(--shadow-lg),var(--shadow-glow-teal)}.landing-feature-icon{font-size:2.5rem;margin-bottom:16px;display:inline-block;animation:wobble 4s ease-in-out infinite}.landing-feature-card:nth-child(2) .landing-feature-icon{animation-delay:.5s}.landing-feature-card:nth-child(3) .landing-feature-icon{animation-delay:1s}.landing-feature-card:nth-child(4) .landing-feature-icon{animation-delay:1.5s}.landing-feature-card:nth-child(5) .landing-feature-icon{animation-delay:2s}.landing-feature-card:nth-child(6) .landing-feature-icon{animation-delay:2.5s}.landing-feature-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.landing-feature-desc{font-size:.9375rem;color:var(--text-secondary);line-height:1.6}.landing-roles-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px}.landing-role-card{padding:28px;background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-ghost);border-radius:var(--radius-xl);text-align:center;transition:all var(--transition-elastic);box-shadow:var(--shadow-sm)}.landing-role-card:hover{transform:translateY(-4px);border-color:rgba(20,184,166,.2);box-shadow:var(--shadow-lg),var(--shadow-glow-teal)}.landing-role-icon{font-size:2.5rem;margin-bottom:12px}.landing-role-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:16px}.landing-role-features{list-style:none;text-align:left;padding:0}.landing-role-features li{padding:8px 0;font-size:.8125rem;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.landing-role-features li:before{content:"✓";color:var(--accent-500);font-weight:700;font-size:.875rem}.landing-cta{position:relative;z-index:1;padding:100px 24px}.landing-cta-inner{max-width:800px;margin:0 auto;text-align:center;padding:60px 48px;background:var(--gradient-cta);border-radius:var(--radius-2xl);box-shadow:0 20px 60px rgba(99,102,241,.3);position:relative;overflow:hidden}.landing-cta-inner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,hsla(0,0%,100%,.1) 0,transparent 50%)}.landing-cta-title{font-size:2rem;font-weight:900;color:#fff;margin-bottom:12px;position:relative}.landing-cta-desc{color:hsla(0,0%,100%,.8);margin-bottom:32px;font-size:1.0625rem;position:relative}.landing-cta .btn-landing-primary{background:#fff;color:var(--primary-600);box-shadow:0 4px 20px rgba(0,0,0,.15)}.landing-cta .btn-landing-primary:hover{box-shadow:0 8px 30px rgba(0,0,0,.25)}.landing-cta .btn-landing-ghost{background:hsla(0,0%,100%,.15);color:#fff;border-color:hsla(0,0%,100%,.3)}.landing-cta .btn-landing-ghost:hover{background:hsla(0,0%,100%,.25);color:#fff;border-color:hsla(0,0%,100%,.5)}.landing-footer{position:relative;z-index:1;border-top:1px solid var(--border-ghost);padding:32px 24px}.landing-footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.landing-footer-brand{display:flex;align-items:center;gap:10px}.landing-mobile-menu-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.landing-mobile-menu-btn:hover{background:var(--bg-tertiary);color:var(--primary-500)}.landing-mobile-dropdown{display:none;flex-direction:column;gap:4px;padding:12px 24px 16px;background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border-ghost);animation:fadeIn .2s ease-out}.landing-mobile-dropdown a{padding:10px 12px;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast)}.landing-mobile-dropdown a:hover{background:var(--bg-tertiary);color:var(--primary-500)}.landing-desktop-only{display:inline-flex}@media (max-width:768px){.landing-hero{grid-template-columns:1fr;padding-top:100px;min-height:auto}.landing-hero-title{font-size:2.25rem}.landing-features-grid{grid-template-columns:1fr}.landing-roles-grid{grid-template-columns:repeat(2,1fr)}.landing-stats{flex-wrap:wrap;gap:24px}.landing-nav-links{display:none}.dash-preview-stat-row{grid-template-columns:repeat(2,1fr)}.landing-footer-inner{flex-direction:column;gap:12px;text-align:center}.landing-desktop-only{display:none!important}.landing-mobile-dropdown,.landing-mobile-menu-btn{display:flex}}@media (max-width:480px){.landing-roles-grid{grid-template-columns:1fr}.landing-hero-btns{flex-direction:column}}.practice-fullscreen{position:fixed;inset:0;background:var(--bg-primary);z-index:100;overflow-y:auto}.practice-back-btn{position:absolute;top:20px;left:20px;z-index:10}.practice-select-container{max-width:800px;margin:0 auto;padding:80px 24px 40px}.practice-select-header{text-align:center;margin-bottom:40px}.practice-select-header h1{font-size:2rem;font-weight:800;margin-bottom:8px}.practice-select-header p{color:var(--text-muted);font-size:1rem}.practice-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.practice-role-card{display:flex;align-items:center;gap:14px;padding:20px 24px;background:var(--bg-card);border:2px solid var(--border-ghost);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-elastic);font-family:inherit;text-align:left;color:var(--text-primary)}.practice-role-card:hover{border-color:var(--role-color,var(--primary-500));box-shadow:0 4px 20px rgba(99,102,241,.15);transform:translateY(-3px)}.practice-role-icon{font-size:1.75rem}.practice-role-label{flex:1 1;font-weight:600;font-size:.9375rem}.practice-role-arrow{color:var(--text-muted);font-size:1.25rem;transition:transform var(--transition-fast)}.practice-role-card:hover .practice-role-arrow{transform:translateX(4px);color:var(--role-color)}.practice-loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(1turn)}}.proctor-indicator{position:fixed;top:16px;right:16px;z-index:200;display:flex;align-items:center;gap:8px;padding:6px 14px;background:rgba(239,68,68,.12);color:#ef4444;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;letter-spacing:.05em}.proctor-dot{width:8px;height:8px;background:#ef4444;border-radius:50%;animation:glowPulse 2s ease-in-out infinite}.practice-feedback-container{max-width:700px;margin:0 auto;padding:40px 24px}.feedback-rating-badge{display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;font-weight:800;padding:10px 32px;border-radius:var(--radius-full);margin:0 auto 24px;width:-moz-fit-content;width:fit-content;background:var(--badge-bg,var(--primary-500))}.feedback-scores-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:20px;gap:20px;margin-bottom:32px}.feedback-score-card{text-align:center;padding:20px;background:var(--bg-card);border:1px solid var(--border-ghost);border-radius:var(--radius-lg)}.feedback-score-ring{width:72px;height:72px;border-radius:50%;background:conic-gradient(var(--ring-color) var(--ring-pct),var(--bg-tertiary) 0);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;position:relative}.feedback-score-ring:before{content:"";position:absolute;inset:6px;background:var(--bg-card);border-radius:50%}.feedback-score-ring span{position:relative;z-index:1;font-weight:800;font-size:1.125rem}.feedback-score-label{font-size:.8125rem;color:var(--text-muted);font-weight:600}.feedback-section{margin-bottom:24px}.feedback-section h3{font-size:1rem;font-weight:700;margin-bottom:12px}.feedback-chips{display:flex;flex-wrap:wrap;gap:8px}.feedback-two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.feedback-item{padding:8px 0;font-size:.875rem;color:var(--text-secondary)}.interview-layout{display:flex;flex-direction:column;background:#0f0f1a;color:#e2e8f0}.interview-video-area{display:flex;flex:1 1;gap:16px;padding:60px 24px 16px;min-height:0}.interview-ai-panel,.interview-student-panel{flex:1 1;border-radius:var(--radius-xl);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;background:#1a1a2e;border:1px solid rgba(99,102,241,.2)}.interview-ai-avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:3rem;transition:all .3s ease;box-shadow:0 0 0 0 rgba(99,102,241,0)}.interview-ai-avatar.speaking{box-shadow:0 0 0 20px rgba(99,102,241,.15),0 0 0 40px rgba(99,102,241,.08);animation:avatarPulse 1.5s ease-in-out infinite}@keyframes avatarPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.interview-ai-name{position:absolute;bottom:16px;left:16px;background:rgba(0,0,0,.6);padding:4px 12px;border-radius:var(--radius-full);font-size:.8125rem;font-weight:600}.interview-ai-role{position:absolute;bottom:16px;right:16px;font-size:.75rem;color:hsla(0,0%,100%,.5)}.interview-video{width:100%;height:100%;object-fit:cover}.interview-student-label{position:absolute;bottom:16px;left:16px;background:rgba(0,0,0,.6);padding:4px 12px;border-radius:var(--radius-full);font-size:.8125rem;font-weight:600}.interview-transcript-area{height:200px;overflow-y:auto;padding:12px 24px;background:#12122b;border-top:1px solid rgba(99,102,241,.15);display:flex;flex-direction:column;gap:8px}.interview-msg{display:flex;gap:10px;align-items:flex-start;animation:fadeIn .3s ease}.interview-msg-avatar{font-size:1.25rem;flex-shrink:0;margin-top:2px}.interview-msg-text{background:hsla(0,0%,100%,.06);padding:10px 14px;border-radius:var(--radius-md);font-size:.875rem;line-height:1.5;max-width:80%}.interview-msg.ai .interview-msg-text{background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.2)}.interview-msg.student .interview-msg-text{background:rgba(20,184,166,.12);border:1px solid rgba(20,184,166,.2)}.interview-msg.live .interview-msg-text{opacity:.6;border-style:dashed}.interview-controls{display:flex;align-items:center;gap:12px;padding:16px 24px;background:#0d0d1f;border-top:1px solid rgba(99,102,241,.1);justify-content:center}.interview-question-badge{background:var(--primary-600);color:#fff;padding:6px 14px;border-radius:var(--radius-full);font-size:.8125rem;font-weight:700}.aptitude-layout{display:flex;flex-direction:column;background:var(--bg-primary)}.aptitude-timer{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:200;background:var(--bg-card);border:2px solid var(--border-color);padding:8px 24px;border-radius:var(--radius-full);font-size:1.125rem;font-weight:800;font-family:SF Mono,Fira Code,monospace;box-shadow:var(--shadow-md)}.aptitude-timer.warning{border-color:#ef4444;color:#ef4444;animation:pulse 1s ease-in-out infinite}.aptitude-main{display:flex;flex:1 1;padding-top:60px;min-height:100vh}.aptitude-question-area{flex:7 1;padding:24px 32px;overflow-y:auto}.aptitude-q-header{display:flex;align-items:center;gap:10px;margin-bottom:24px}.aptitude-q-text{font-size:1.125rem;font-weight:500;line-height:1.7;margin-bottom:28px;color:var(--text-primary)}.aptitude-options{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.aptitude-option{display:flex;align-items:center;gap:14px;padding:14px 20px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-size:.9375rem;color:var(--text-primary);text-align:left;transition:all var(--transition-fast)}.aptitude-option:hover{border-color:var(--primary-400);background:rgba(99,102,241,.04)}.aptitude-option.selected{border-color:var(--primary-500);background:rgba(99,102,241,.08);box-shadow:0 0 0 3px rgba(99,102,241,.12)}.aptitude-option-letter{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--bg-tertiary);font-weight:700;font-size:.875rem;flex-shrink:0;transition:all var(--transition-fast)}.aptitude-option.selected .aptitude-option-letter{background:var(--primary-500);color:#fff}.aptitude-nav{display:flex;gap:10px;flex-wrap:wrap}.aptitude-palette{flex:3 1;background:var(--bg-card);border-left:1px solid var(--border-color);padding:20px;overflow-y:auto}.aptitude-palette-title{font-size:.875rem;font-weight:700;margin-bottom:16px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.aptitude-palette-section{margin-bottom:16px}.aptitude-palette-section-title{font-size:.75rem;font-weight:600;color:var(--text-muted);margin-bottom:8px}.aptitude-palette-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:6px;gap:6px}.aptitude-palette-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;border:2px solid transparent;font-family:inherit;transition:all var(--transition-fast)}.aptitude-palette-btn.unanswered{background:var(--bg-tertiary);color:var(--text-muted)}.aptitude-palette-btn.answered{background:rgba(34,197,94,.15);color:#22c55e;border-color:rgba(34,197,94,.3)}.aptitude-palette-btn.marked{background:rgba(245,158,11,.15);color:#f59e0b;border-color:rgba(245,158,11,.3)}.aptitude-palette-btn.current{border-color:var(--primary-500);background:rgba(99,102,241,.1);color:var(--primary-500)}.aptitude-palette-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;font-size:.75rem;color:var(--text-muted)}.aptitude-palette-legend>div{display:flex;align-items:center;gap:6px}.aptitude-legend-dot{width:12px;height:12px;border-radius:3px}.aptitude-legend-dot.current{background:rgba(99,102,241,.25);border:2px solid var(--primary-500)}.aptitude-legend-dot.answered{background:rgba(34,197,94,.25)}.aptitude-legend-dot.marked{background:rgba(245,158,11,.25)}.aptitude-legend-dot.unanswered{background:var(--bg-tertiary)}.aptitude-palette-stats{margin-top:16px;font-size:.8125rem;color:var(--text-secondary);display:flex;flex-direction:column;gap:4px}.aptitude-review{margin-top:32px}.aptitude-review-item{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:var(--radius-md);margin-bottom:8px;border:1px solid var(--border-ghost)}.aptitude-review-item.correct{background:rgba(34,197,94,.04)}.aptitude-review-item.wrong{background:rgba(239,68,68,.04)}.aptitude-review-num{width:32px;height:32px;border-radius:var(--radius-full);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8125rem;flex-shrink:0}.aptitude-review-body{flex:1 1}.aptitude-review-q{font-weight:500;margin-bottom:6px}.aptitude-review-expl{margin-top:8px;padding:8px 12px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-secondary)}.aptitude-review-badge{font-size:1.25rem;flex-shrink:0}.coding-layout{display:flex;background:#1e1e1e;color:#d4d4d4}.coding-problem-panel{width:40%;height:100vh;overflow-y:auto;border-right:1px solid #333;background:var(--bg-primary);color:var(--text-primary)}.coding-problem-header{display:flex;align-items:center;justify-content:space-between;padding:60px 24px 16px;border-bottom:1px solid var(--border-ghost)}.coding-problem-header h2{font-size:1.25rem;font-weight:700}.coding-problem-body{padding:20px 24px}.coding-section{margin-bottom:24px}.coding-section h3{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px}.coding-pre{background:var(--bg-tertiary);padding:12px 16px;border-radius:var(--radius-sm);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.8125rem;white-space:pre-wrap;border:1px solid var(--border-ghost)}.coding-editor-panel{width:60%;height:100vh;display:flex;flex-direction:column}.coding-editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:48px 16px 8px;background:#252526;border-bottom:1px solid #333}.coding-lang-select{padding:6px 12px;background:#333;color:#d4d4d4;border:1px solid #444;border-radius:var(--radius-sm);font-family:inherit;font-size:.8125rem}.coding-editor-actions{display:flex;gap:8px}.coding-editor-wrapper{flex:1 1;min-height:0}.coding-output-panel{height:200px;border-top:1px solid #333;display:flex;flex-direction:column}.coding-output-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:#252526;font-size:.8125rem;font-weight:600}.coding-output-body{flex:1 1;padding:12px 16px;background:#1e1e1e;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.8125rem;overflow-y:auto;white-space:pre-wrap;margin:0}.coding-test-results{display:flex;flex-direction:column;gap:6px}.coding-test-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500}.coding-test-row.passed{background:rgba(34,197,94,.08)}.coding-test-row.failed{background:rgba(239,68,68,.08)}.coding-test-icon{font-size:1.125rem}.coding-test-meta{margin-left:auto;color:var(--text-muted);font-size:.75rem}.review-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:12px;gap:12px}.review-flag-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 0}.review-flag-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-500);cursor:pointer}.review-flag-label{font-size:.875rem;font-weight:600}.review-timeline{display:flex;flex-direction:column;gap:8px}.review-row{border:1px solid var(--border-ghost);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base);background:var(--bg-card)}.review-row:hover{border-color:var(--border-hover)}.review-row.flagged{border-left:4px solid #ef4444}.review-row.expanded{box-shadow:var(--shadow-md)}.review-row-header{display:flex;align-items:center;gap:14px;padding:14px 18px;width:100%;text-align:left;background:none;border:none;cursor:pointer;font-family:inherit;color:var(--text-primary);transition:background var(--transition-fast)}.review-row-header:hover{background:rgba(99,102,241,.03)}.review-module-badge{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.review-row-info{flex:1 1;min-width:0}.review-row-student{font-weight:600;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-row-meta{font-size:.75rem;color:var(--text-muted);margin-top:2px}.review-row-scores{display:flex;gap:8px;align-items:center;flex-shrink:0}.review-flag-chip,.review-integrity-chip,.review-score-chip{padding:4px 10px;border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;white-space:nowrap}.review-flag-chip{font-size:.875rem}.review-row-date{font-size:.75rem;white-space:nowrap}.review-expand-icon,.review-row-date{color:var(--text-muted);flex-shrink:0}.review-expand-icon{font-size:.625rem;transition:transform var(--transition-fast)}.review-details{border-top:1px solid var(--border-ghost);padding:20px;animation:fadeIn .3s ease}.review-details-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;margin-bottom:20px}.review-detail-section{margin-bottom:20px}.review-detail-section h4{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-ghost)}.review-detail-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:.8125rem}.review-detail-row span:first-child{color:var(--text-muted)}.review-event-log{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.review-event-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-radius:var(--radius-sm);font-size:.75rem}.review-event-type{font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.review-event-type.danger{background:rgba(239,68,68,.1);color:#ef4444}.review-event-type.warning{background:rgba(245,158,11,.1);color:#f59e0b}.review-event-time{color:var(--text-muted);font-family:SF Mono,monospace}.review-module-details{border-top:1px solid var(--border-ghost);padding-top:20px}.review-feedback-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.review-feedback-score{text-align:center;padding:16px 12px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.review-fb-value{font-size:1.5rem;font-weight:800;color:var(--text-primary)}.review-fb-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.review-snapshot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));grid-gap:8px;gap:8px}.review-snapshot-thumb{position:relative;aspect-ratio:4/3;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-tertiary);border:1px solid var(--border-ghost)}.review-snapshot-thumb img{width:100%;height:100%;object-fit:cover}.review-snapshot-thumb span{position:absolute;bottom:4px;right:4px;background:rgba(0,0,0,.6);color:#fff;font-size:.625rem;padding:1px 6px;border-radius:var(--radius-full)}.review-transcript{max-height:300px;overflow-y:auto}.review-transcript-pair{margin-bottom:12px}.review-transcript-a,.review-transcript-q{padding:8px 12px;border-radius:var(--radius-sm);font-size:.8125rem;line-height:1.5;margin-bottom:4px}.review-transcript-q{background:rgba(99,102,241,.06);border-left:3px solid var(--primary-500)}.review-transcript-a{background:rgba(20,184,166,.06);border-left:3px solid var(--accent-500);margin-left:16px}.review-transcript-tag{display:inline-block;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:var(--radius-full);margin-right:8px}.review-transcript-tag.interviewer{background:rgba(99,102,241,.15);color:var(--primary-500)}.review-transcript-tag.student{background:rgba(20,184,166,.15);color:var(--accent-500)}.review-section-scores{display:flex;flex-direction:column;gap:10px}.review-section-bar{display:flex;align-items:center;gap:12px}.review-section-name{width:140px;font-size:.8125rem;font-weight:500;flex-shrink:0}.review-section-track{flex:1 1;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.review-section-fill{height:100%;border-radius:var(--radius-full);transition:width .8s cubic-bezier(.4,0,.2,1)}.review-section-stat{font-size:.75rem;color:var(--text-muted);font-weight:600;flex-shrink:0;width:100px;text-align:right}.review-qa-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.review-qa-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-ghost)}.review-qa-item.correct{background:rgba(34,197,94,.03)}.review-qa-item.wrong{background:rgba(239,68,68,.03)}.review-qa-item.unanswered{opacity:.6}.review-qa-num{width:28px;height:28px;border-radius:var(--radius-full);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.review-qa-body{flex:1 1;min-width:0}.review-qa-question{font-size:.8125rem;font-weight:500;margin-bottom:6px;line-height:1.4}.review-qa-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width:768px){.review-details-grid{grid-template-columns:1fr}.review-feedback-grid{grid-template-columns:repeat(2,1fr)}.review-row-scores{flex-wrap:wrap}.review-row-date{display:none}.review-filters{grid-template-columns:1fr 1fr}}.error-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);overflow:hidden}.error-bg{position:fixed;inset:0;pointer-events:none}.error-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.18;animation:orbFloat 14s ease-in-out infinite}.error-orb-1{width:500px;height:500px;top:-150px;left:-80px;background:radial-gradient(circle,#6366f1,transparent 70%)}.error-orb-2{width:400px;height:400px;bottom:-100px;right:-60px;background:radial-gradient(circle,#06b6d4,transparent 70%);animation-delay:-6s}.error-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(99,102,241,.03) 1px,transparent 0),linear-gradient(90deg,rgba(99,102,241,.03) 1px,transparent 0);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse at center,#000 20%,transparent 70%);mask-image:radial-gradient(ellipse at center,#000 20%,transparent 70%)}.error-content{position:relative;z-index:1;text-align:center;padding:40px 24px;max-width:560px}.error-code-wrapper{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:28px}.error-code-digit{font-size:7rem;font-weight:900;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1;animation:errorDigitBounce 2s ease-in-out infinite}.error-code-anim-1{animation-delay:0s}.error-code-anim-2{animation-delay:.3s}.error-code-orbit{position:relative;width:72px;height:72px;display:flex;align-items:center;justify-content:center}.error-code-planet{width:18px;height:18px;border-radius:50%;background:var(--primary-500);box-shadow:0 0 20px rgba(99,102,241,.5);animation:errorOrbit 3s linear infinite;position:absolute}.error-code-planet-danger{background:var(--danger-400);box-shadow:0 0 20px rgba(239,68,68,.5)}.error-title{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin-bottom:12px}.error-desc{font-size:1.0625rem;color:var(--text-secondary);line-height:1.7;margin-bottom:36px}.error-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.error-btn-pulse{animation:errorBtnPulse 2.5s ease-in-out infinite}.error-floating-icons{position:fixed;inset:0;pointer-events:none}.error-float-icon{position:absolute;left:20%;top:30%;opacity:.25;animation:errorIconFloat 6s ease-in-out infinite}@keyframes errorDigitBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes errorOrbit{0%{transform:rotate(0deg) translateX(28px) rotate(0deg)}to{transform:rotate(1turn) translateX(28px) rotate(-1turn)}}@keyframes errorBtnPulse{0%,to{box-shadow:0 4px 20px rgba(99,102,241,.3)}50%{box-shadow:0 4px 30px rgba(99,102,241,.5)}}@keyframes errorIconFloat{0%,to{transform:translateY(0) rotate(0deg);opacity:.2}50%{transform:translateY(-20px) rotate(10deg);opacity:.4}}@media (max-width:768px){.error-code-digit{font-size:4.5rem}.error-code-orbit{width:48px;height:48px}.error-floating-icons{display:none}}.motion-fade-up{opacity:0;transform:translate3d(0,30px,0);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.motion-fade-up.in-view{opacity:1;transform:translateZ(0)}.motion-fade-left{opacity:0;transform:translate3d(-40px,0,0);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.motion-fade-left.in-view{opacity:1;transform:translateZ(0)}.motion-fade-right{opacity:0;transform:translate3d(40px,0,0);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.motion-fade-right.in-view{opacity:1;transform:translateZ(0)}.motion-scale-in{opacity:0;transform:scale(.92);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.motion-scale-in.in-view{opacity:1;transform:scale(1)}@media (prefers-reduced-motion:reduce){.animate-float,.animate-float-slow,.landing-gradient-orb,.landing-particle,.motion-float,.motion-number-glow,.motion-spin-slow{animation:none!important}.motion-fade-left,.motion-fade-right,.motion-fade-up,.motion-scale-in{transition-duration:.01ms!important;opacity:1!important;transform:none!important}}.motion-stagger>:first-child{transition-delay:0ms}.motion-stagger>:nth-child(2){transition-delay:80ms}.motion-stagger>:nth-child(3){transition-delay:.16s}.motion-stagger>:nth-child(4){transition-delay:.24s}.motion-stagger>:nth-child(5){transition-delay:.32s}.motion-stagger>:nth-child(6){transition-delay:.4s}.motion-stagger>:nth-child(7){transition-delay:.48s}.motion-stagger>:nth-child(8){transition-delay:.56s}.motion-icon-ring{position:relative;display:inline-flex}.motion-icon-ring:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--primary-300);opacity:0;animation:motionRingPulse 2.5s ease-out infinite}@keyframes motionRingPulse{0%{transform:scale(.9);opacity:.6}to{transform:scale(1.4);opacity:0}}.motion-float{animation:motionFloat 5s ease-in-out infinite;will-change:transform;transform:translateZ(0)}@keyframes motionFloat{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-10px,0)}}.motion-spin-slow{animation:motionSpinSlow 12s cubic-bezier(.25,.46,.45,.94) infinite;will-change:transform;transform:translateZ(0)}@keyframes motionSpinSlow{to{transform:rotate(1turn)}}.motion-cursor{display:inline-block;width:2px;height:1.1em;background:var(--primary-500);margin-left:2px;animation:motionCursorBlink 1s step-end infinite;vertical-align:text-bottom}@keyframes motionCursorBlink{0%,to{opacity:1}50%{opacity:0}}.motion-number-glow{background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% auto;animation:motionNumberShimmer 3s linear infinite}@keyframes motionNumberShimmer{to{background-position:200%}}.motion-tilt{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.motion-tilt:hover{transform:perspective(1000px) rotateX(2deg) rotateY(-2deg) translateY(-4px)}.motion-gradient-border{position:relative;overflow:hidden}.motion-gradient-border:before{content:"";position:absolute;inset:-2px;background:conic-gradient(from 0deg,var(--primary-500),var(--accent-400),var(--primary-500));border-radius:inherit;z-index:-1;animation:motionGradientSpin 4s linear infinite}@keyframes motionGradientSpin{to{transform:rotate(1turn)}}.motion-highlight{background:linear-gradient(120deg,rgba(99,102,241,0),rgba(99,102,241,.15) 50%,rgba(99,102,241,0));background-size:200% 100%;animation:motionHighlight 3s ease-in-out infinite}@keyframes motionHighlight{0%{background-position:200% 0}to{background-position:-200% 0}}.landing-audience-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:48px}.landing-audience-tab{padding:12px 28px;border-radius:var(--radius-full);border:2px solid var(--border-color);background:var(--bg-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-secondary);font-weight:600;font-size:.9375rem;cursor:pointer;transition:all var(--transition-elastic);display:flex;align-items:center;gap:8px}.landing-audience-tab.active{background:var(--gradient-primary);color:#fff;border-color:transparent;box-shadow:0 4px 20px rgba(99,102,241,.3)}.landing-audience-tab:hover:not(.active){border-color:var(--primary-300);color:var(--primary-500)}.landing-compare-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px;max-width:1100px;margin:0 auto}.landing-compare-card{padding:36px 32px;background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-ghost);border-radius:var(--radius-xl);transition:all var(--transition-elastic);box-shadow:var(--shadow-sm)}.landing-compare-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.landing-compare-card-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.landing-compare-icon{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.landing-compare-title{font-size:1.25rem;font-weight:800;color:var(--text-primary)}.landing-compare-subtitle{font-size:.8125rem;color:var(--text-muted);margin-top:2px}.landing-compare-features{list-style:none;padding:0;margin:0}.landing-compare-features li{padding:10px 0;font-size:.9375rem;color:var(--text-secondary);display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid var(--border-ghost)}.landing-compare-features li:last-child{border-bottom:none}.landing-compare-check{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:800;margin-top:2px}.landing-trust-strip{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;padding:40px 24px;position:relative;z-index:1}.landing-trust-badge{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-ghost);border-radius:var(--radius-full);transition:all var(--transition-base)}.landing-trust-badge:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md)}.landing-trust-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.125rem}.landing-trust-text{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.landing-trust-sub{font-size:.6875rem;color:var(--text-muted)}@media (max-width:768px){.landing-compare-grid{grid-template-columns:1fr}.landing-audience-tabs{flex-direction:column;align-items:stretch}.landing-trust-strip{gap:12px}}.page-wrapper{max-width:900px;margin:0 auto}.page-wrapper-lg{max-width:1100px;margin:0 auto}.page-wrapper-md{max-width:700px;margin:0 auto}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.flex-col,.flex-col-gap-8{display:flex;flex-direction:column}.flex-col-gap-8{gap:8px}.flex-col-gap-10{gap:10px}.flex-col-gap-10,.flex-col-gap-12{display:flex;flex-direction:column}.flex-col-gap-12{gap:12px}.flex-col-gap-16{display:flex;flex-direction:column;gap:16px}.flex-gap-4{gap:4px}.flex-gap-4,.flex-gap-6{display:flex;align-items:center}.flex-gap-6{gap:6px}.flex-gap-8{gap:8px}.flex-gap-10,.flex-gap-8{display:flex;align-items:center}.flex-gap-10{gap:10px}.flex-gap-12{gap:12px}.flex-gap-12,.flex-gap-16{display:flex;align-items:center}.flex-gap-16{gap:16px}.flex-1{flex:1 1}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-primary-400{color:var(--primary-400)}.text-sm{font-size:.8125rem}.text-xs{font-size:.75rem}.text-xxs{font-size:.6875rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-10{margin-bottom:10px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.mt-8{margin-top:8px}.mt-10{margin-top:10px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.p-16{padding:16px}.p-20{padding:20px}.p-24{padding:24px}.p-28{padding:28px}.p-32{padding:32px}.p-60{padding:60px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header-title{font-size:1.5rem;font-weight:800;display:flex;align-items:center;gap:10px}.page-header-subtitle{color:var(--text-muted);margin-top:4px}.loading-center{display:flex;align-items:center;justify-content:center;height:60vh}.loading-text{text-align:center;color:var(--text-muted);padding:60px}.empty-icon{margin:0 auto 16px}.page-select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:8px 14px;color:var(--text-primary);font-size:.875rem}.score-large{font-size:3rem;font-weight:900;color:var(--primary-400);margin:16px 0}.stats-row{display:flex;gap:24px;justify-content:center;margin-top:16px}.stat-value{font-weight:800;font-size:1.25rem}.stat-label{font-size:.75rem;color:var(--text-muted)}.card-p16{padding:16px 20px}.card-p20{padding:20px}.card-p24{padding:24px}.card-p28{padding:28px}.card-p32{padding:32px}.grid-2{grid-template-columns:repeat(2,1fr);grid-gap:16px}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.progress-pills{display:flex;gap:6px;margin-bottom:20px}.progress-pill{flex:1 1;height:4px;border-radius:2px}.option-btn{padding:14px 16px;border-radius:12px;text-align:left;border:2px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:.9375rem;cursor:pointer;transition:all .15s;font-weight:400}.option-btn.selected{border-color:var(--primary-500);background:rgba(99,102,241,.03);font-weight:600}.answer-correct{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.25)}.answer-wrong{background:rgba(239,68,68,.08)}.answer-option{padding:8px 12px;border-radius:8px;font-size:.875rem;border:1px solid transparent}.explanation{margin-top:10px;font-size:.8125rem;color:var(--text-muted);font-style:italic}.table-cell-center{text-align:center}.table-cell-sm{font-size:.8125rem}.streak-display{align-items:center;gap:2px}.podium-container,.streak-display{display:flex;justify-content:center}.podium-container{gap:16px;margin-bottom:32px;align-items:flex-end}.lb-avatar{width:30px;height:30px;border-radius:50%;background:rgba(99,102,241,.13);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.lb-avatar,.lb-you-tag{color:var(--primary-400)}.lb-you-tag{font-size:.625rem}.lb-points{font-weight:800;color:var(--primary-400)}.practice-loading-center{display:flex;align-items:center;justify-content:center}.practice-loading-text{text-align:center}.practice-loading-text h2{margin-top:20px}.practice-loading-text p{color:var(--text-muted)}.practice-results-title{text-align:center;margin-bottom:8px}.practice-results-subtitle{text-align:center;color:var(--text-muted);margin-bottom:32px}.practice-results-subtitle-secondary{text-align:center;color:var(--text-secondary);font-weight:500}.practice-results-actions{display:flex;gap:12px;justify-content:center;margin-top:32px}.score-badge-circle{font-size:2rem;width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:24px auto}.question-counter{color:var(--text-muted);font-size:.875rem}.review-answer-text{font-size:.8125rem;color:var(--text-muted)}.review-answer-correct{color:#22c55e}.review-title{margin-bottom:16px}.inline-icon{display:inline;vertical-align:middle}.practice-mode-desc{font-size:.75rem;color:var(--text-muted);margin-top:4px}.session-center{justify-content:center}.btn-full-width{width:100%;margin-top:16px}.btn-mark-active{background:#fbbf24;color:#000}.customize-label{display:block}.customize-label,.customize-label-flex{font-weight:600;font-size:.875rem;margin-bottom:8px}.customize-label-flex{display:flex;align-items:center;gap:6px}.customize-btn-row{display:flex;gap:10px}.customize-skill-row{display:flex;gap:8px;margin-bottom:8px}.customize-skill-tags{display:flex;flex-wrap:wrap;gap:6px}.customize-start-btn{width:100%}.interview-plan-card{padding:24px;margin-top:24px}.interview-plan-title{font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}.interview-plan-bar-header{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:6px}.interview-plan-bar-value{font-weight:700;color:var(--primary-400)}.interview-plan-bar-track{height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.interview-plan-bar-fill{height:100%;border-radius:4px;background:var(--primary-500)}.interview-plan-comparison{font-size:.875rem;color:var(--text-muted);margin-bottom:16px;font-style:italic}.interview-plan-section-label{font-weight:600;font-size:.8125rem;margin-bottom:8px}.interview-plan-goal{font-size:.875rem;padding:6px 0;display:flex;gap:8px}.interview-feedback-actions{display:flex;gap:12px;justify-content:center;margin-top:32px}.interview-feedback-title{text-align:center;margin-bottom:8px}.interview-feedback-subtitle{text-align:center;color:var(--text-muted);margin-bottom:32px}.exam-setup{max-width:700px;margin:0 auto}.exam-header-card{text-align:center}.exam-header-icon{font-size:2.5rem;margin-bottom:8px}.exam-header-title{font-size:1.5rem;font-weight:800}.exam-header-subtitle{color:var(--text-muted);margin-top:4px}.exam-header-icon-lg{font-size:3rem;margin-bottom:12px}.exam-details-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.exam-detail-item{padding:12px;background:var(--bg-secondary);border-radius:var(--radius-md)}.exam-detail-label{font-size:.8125rem;color:var(--text-muted)}.exam-detail-value{font-weight:700;margin-top:4px}.exam-warning-card{border:1px solid var(--warning-500)}.exam-requirements-list{margin-top:12px;display:flex;flex-direction:column;gap:8px;font-size:.875rem;color:var(--text-muted)}.exam-error-msg{padding:12px 16px;background:rgba(255,68,68,.15);border-radius:var(--radius-md);color:var(--danger-400);font-size:.875rem}.exam-start-btn{padding:14px 28px;font-size:1rem;width:100%}.exam-submitted-link{text-align:center}.exam-event-scroll{max-height:300px;overflow-y:auto;margin-top:12px}.exam-event-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border-color);font-size:.8125rem}.exam-event-desc{flex:1 1}.exam-severity-badge{padding:2px 8px;border-radius:4px;font-size:.6875rem;font-weight:700}.exam-layout{display:flex;gap:16px;height:calc(100vh - 80px)}.exam-main{flex:1 1;display:flex;flex-direction:column;gap:12px;overflow:auto}.exam-topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color)}.exam-topbar-title{font-weight:700}.exam-topbar-course{font-size:.75rem;color:var(--text-muted)}.exam-topbar-right{display:flex;align-items:center;gap:16px}.exam-timer{padding:6px 14px;border-radius:var(--radius-md);font-weight:800;font-size:1.125rem;font-family:monospace}.exam-timer-normal{background:var(--bg-secondary);color:var(--text-primary)}.exam-timer-danger{background:rgba(255,68,68,.15);color:var(--danger-400)}.exam-question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.exam-question-meta{font-size:.8125rem;color:var(--text-muted)}.exam-question-text{font-size:1.0625rem;font-weight:600;line-height:1.6;margin-bottom:20px}.exam-options{display:flex;flex-direction:column;gap:10px}.exam-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.exam-option-default{border:2px solid var(--border-color);background:var(--bg-secondary)}.exam-option-selected{border:2px solid var(--primary-500);background:rgba(99,102,241,.1)}.exam-radio{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.exam-radio-default{border:2px solid var(--border-color)}.exam-radio-selected{border:2px solid var(--primary-500)}.exam-radio-dot{width:10px;height:10px;border-radius:50%;background:var(--primary-500)}.exam-option-text{font-size:.9375rem}.exam-coding-textarea{min-height:250px;resize:vertical;font-family:monospace;font-size:.875rem;background:var(--bg-primary)}.exam-nav{display:flex;justify-content:space-between;margin-top:20px}.exam-q-dots{display:flex;gap:4px}.exam-q-dot{width:32px;height:32px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-weight:700;font-size:.75rem}.exam-q-dot-current{background:var(--primary-500);color:#fff}.exam-q-dot-answered{background:var(--success-500);color:#fff}.exam-q-dot-default{background:var(--bg-secondary);color:var(--text-muted)}.exam-sidebar{width:280px;display:flex;flex-direction:column;gap:12px;flex-shrink:0}.exam-webcam-wrap{border-radius:var(--radius-md);overflow:hidden;position:relative}.exam-webcam-ok{border:2px solid var(--success-500)}.exam-webcam-alert{border:2px solid var(--danger-500)}.exam-webcam-idle{border:2px solid var(--border-color)}.exam-webcam-video{width:100%;height:200px;object-fit:cover;display:block}.exam-webcam-badges{position:absolute;bottom:6px;left:6px;right:6px;display:flex;gap:4px}.exam-webcam-badge{padding:3px 8px;border-radius:4px;font-size:.625rem;font-weight:700;text-transform:uppercase;color:#fff}.exam-webcam-badge-ok{background:rgba(0,200,0,.8)}.exam-webcam-badge-alert{background:rgba(255,50,50,.8)}.exam-webcam-badge-idle{background:hsla(0,0%,39%,.8)}.exam-webcam-badge-gaze-ok{background:rgba(0,200,0,.8)}.exam-webcam-badge-gaze-away{background:rgba(255,150,0,.8)}.exam-panel-card{padding:12px}.exam-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.exam-panel-label{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.exam-monitor-list{display:flex;flex-direction:column;gap:6px}.exam-monitor-row{display:flex;align-items:center;gap:8px;font-size:.8125rem}.exam-monitor-label{flex:1 1;color:var(--text-muted)}.exam-monitor-active{color:var(--success-400);font-weight:700}.exam-monitor-off{color:var(--text-muted);font-weight:700}.exam-flags-btn{padding:12px;cursor:pointer;border:none;text-align:left}.exam-flags-header{display:flex;justify-content:space-between;align-items:center}.exam-flags-count{font-size:.8125rem;font-weight:700}.exam-flags-toggle{font-size:.6875rem;color:var(--primary-400)}.exam-event-log{padding:8px;max-height:200px;overflow-y:auto}.exam-event-log-item{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:.6875rem;border-bottom:1px solid var(--border-color)}.exam-event-log-desc{flex:1 1;color:var(--text-muted)}.exam-event-log-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}