:root{--bg: #0b1120;--bg-surface: #0f172a;--surface: #1e293b;--surface-raised: #27364b;--border: rgba(255, 255, 255, .06);--border-subtle: rgba(255, 255, 255, .04);--text: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-dim: #475569;--primary: #3b82f6;--primary-dark: #2563eb;--primary-glow: rgba(59, 130, 246, .25);--danger: #ef4444;--danger-dark: #dc2626;--danger-glow: rgba(239, 68, 68, .3);--green: #10b981;--green-glow: rgba(16, 185, 129, .2);--yellow: #f59e0b;--purple: #a78bfa;--purple-bg: rgba(167, 139, 250, .1);--purple-border: rgba(167, 139, 250, .15);--cyan: #22d3ee;--cyan-bg: rgba(34, 211, 238, .1);--cyan-border: rgba(34, 211, 238, .12);--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow: 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .3);--glass: rgba(15, 23, 42, .75);--glass-border: rgba(255, 255, 255, .08);--transition-fast: .15s ease;--transition: .25s ease;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;font-family:var(--font);cursor:pointer;transition:all var(--transition-fast);line-height:1.4;white-space:nowrap;text-decoration:none;letter-spacing:-.01em}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 4px 20px var(--primary-glow)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-raised);border-color:var(--glass-border)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-dark);box-shadow:0 4px 20px var(--danger-glow)}.btn-lg{padding:14px 36px;font-size:1rem;border-radius:var(--radius)}.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.15);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.spinner-blue{border-color:var(--border);border-top-color:var(--primary)}@keyframes spin{to{transform:rotate(360deg)}}.home-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:radial-gradient(ellipse at 50% 0%,rgba(59,130,246,.08) 0%,transparent 60%),var(--bg)}.home-header{text-align:center;margin-bottom:48px}.home-header h1{font-size:2.5rem;font-weight:800;letter-spacing:-.04em;color:var(--text);margin-bottom:12px;background:linear-gradient(135deg,#f1f5f9,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-header p{color:var(--text-secondary);font-size:1.0625rem;max-width:480px;line-height:1.7}.home-body{width:100%;max-width:720px}.home-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b1120cc;display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.home-loading-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px 56px;display:flex;flex-direction:column;align-items:center;gap:20px;box-shadow:var(--shadow-lg);text-align:center}.home-loading-card .spinner{width:36px;height:36px;border-color:var(--border);border-top-color:var(--primary)}.home-loading-card p{color:var(--text-secondary);font-size:.9375rem}.setup-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 40px;width:100%;box-shadow:var(--shadow)}.setup-form-header{margin-bottom:28px}.setup-form-header h2{font-size:1.375rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:6px}.setup-form-subtitle{color:var(--text-muted);font-size:.9rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-field{margin-bottom:16px}.form-field label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-muted);margin-bottom:6px;letter-spacing:.01em}.form-field input,.form-field select{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font);background:var(--bg-surface);color:var(--text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-field input:disabled,.form-field select:disabled{opacity:.5;cursor:not-allowed}.form-field input::placeholder{color:var(--text-dim)}.form-field select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.form-field select:disabled{cursor:not-allowed}.field-error{color:var(--danger);font-size:.75rem;margin-top:4px}.field-hint{font-size:.75rem;color:var(--text-dim);margin-top:6px;line-height:1.4}.form-field select.select-readonly{cursor:not-allowed;opacity:.7;color:var(--text-secondary)}.form-error{background:#ef44441a;color:#fca5a5;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);padding:10px 14px;font-size:.875rem;margin-bottom:16px}.setup-form .btn{width:100%;margin-top:8px}.preset-selector{margin-bottom:20px}.preset-selector-label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-muted);margin-bottom:10px;letter-spacing:.01em}.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px}.preset-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 14px 16px;background:var(--bg-surface);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform .1s;text-align:center;font-family:var(--font)}.preset-card:hover:not(:disabled){border-color:var(--primary);box-shadow:0 4px 16px var(--primary-glow);transform:translateY(-2px)}.preset-card:disabled{opacity:.5;cursor:not-allowed}.preset-card-selected{border-color:var(--primary);background:#3b82f614;box-shadow:0 0 0 3px var(--primary-glow)}.preset-card-icon{font-size:2rem;line-height:1}.preset-card-label{font-size:.875rem;font-weight:600;color:var(--text)}.preset-card-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4}.preset-card-tag{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:.6875rem;font-weight:500;text-transform:capitalize;background:#ffffff0f;color:var(--text-muted);margin-top:2px}.preset-card-selected .preset-card-tag{background:var(--primary-glow);color:var(--primary)}.preset-card-check{position:absolute;top:8px;right:10px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border-radius:50%;font-size:.75rem;font-weight:700}.preset-loading{display:flex;align-items:center;gap:12px;padding:24px;color:var(--text-muted);font-size:.875rem;background:var(--bg-surface);border-radius:var(--radius);border:1px dashed var(--border)}.preset-error-state,.preset-empty-state{padding:24px;text-align:center;background:var(--bg-surface);border-radius:var(--radius);border:1px dashed var(--border);color:var(--text-muted);font-size:.875rem}.preset-error-state p,.preset-empty-state p{margin-bottom:12px}.interview-layout{min-height:100vh;display:flex;flex-direction:column;background:#f1f5f9}.interview-main{flex:1;display:grid;grid-template-columns:1fr 360px;max-width:1440px;width:100%;margin:0 auto;padding:20px 24px;gap:20px;align-items:start}.interview-avatar-col{display:flex;flex-direction:column;gap:0}.interview-sidebar-col{position:sticky;top:20px;height:calc(100vh - 40px);display:flex;flex-direction:column;gap:14px}.avatar-stage{position:relative;background:transparent;border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:16 / 9;box-shadow:0 4px 24px #0000001f}.avatar-video{width:100%;height:100%;object-fit:cover;display:block}.avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0b1120d9;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.avatar-overlay-content{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-secondary);font-size:.9375rem}.stage-live-badge{position:absolute;top:16px;left:16px;z-index:4;display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#10b98133;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.75rem;font-weight:700;color:#34d399;letter-spacing:.06em;text-transform:uppercase}.stage-live-badge .live-dot{width:8px;height:8px;border-radius:50%;background:#34d399;animation:pulse-dot 1.8s ease-in-out infinite;flex-shrink:0}.stage-question-banner{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:3;max-width:70%;width:max-content;background:#fffffff2;border-radius:var(--radius);padding:12px 20px;box-shadow:0 4px 24px #00000026;text-align:center;animation:fadeInDown .4s ease-out}.stage-question-label{font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#64748b;margin-bottom:4px}.stage-question-text{font-size:.875rem;font-weight:600;color:#0f172a;line-height:1.5}.stage-bottom-bar{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:4}.btn-end-interview{display:inline-flex;align-items:center;gap:8px;padding:12px 32px;background:var(--danger);color:#fff;border:none;border-radius:var(--radius-full);font-size:.875rem;font-weight:600;font-family:var(--font);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 20px var(--danger-glow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-end-interview:hover:not(:disabled){background:var(--danger-dark);box-shadow:0 6px 28px #ef444473;transform:translateY(-1px)}.btn-end-interview:active:not(:disabled){transform:translateY(1px)}.btn-end-interview:disabled{opacity:.6;cursor:not-allowed}.btn-end-interview .spinner{width:16px;height:16px}.avatar-audio-unlock-overlay{position:absolute;bottom:72px;right:20px;z-index:5;animation:fadeInUp .4s ease-out}.btn-audio-unlock{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#3b82f6e6;color:#fff;border:none;border-radius:var(--radius-full);font-size:.8125rem;font-weight:600;font-family:var(--font);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px var(--primary-glow),0 0 0 1px #ffffff1a;transition:all var(--transition-fast);animation:pulse-audio 2s ease-in-out infinite}.btn-audio-unlock:hover{background:var(--primary);transform:scale(1.05)}.stage-speaking-indicator{position:absolute;bottom:72px;left:20px;z-index:4;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fadeIn .3s ease-out}.stage-speaking-indicator.avatar-speaking{background:#a78bfa33;color:var(--purple);border:1px solid var(--purple-border)}.stage-speaking-indicator.user-speaking{background:#22d3ee26;color:var(--cyan);border:1px solid var(--cyan-border)}.speaking-wave{display:flex;align-items:center;gap:2px;height:14px}.speaking-wave span{display:block;width:3px;height:6px;border-radius:2px;background:currentColor;animation:wave .6s ease-in-out infinite}.speaking-wave span:nth-child(2){animation-delay:.1s;height:10px}.speaking-wave span:nth-child(3){animation-delay:.2s;height:8px}.speaking-wave span:nth-child(4){animation-delay:.3s}@keyframes wave{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.8)}}.time-remaining-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);padding:16px 20px;flex-shrink:0;box-shadow:0 2px 8px #0000000f}.time-remaining-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.time-remaining-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.time-remaining-value{font-size:1.375rem;font-weight:700;color:var(--primary);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.time-remaining-value.low{color:var(--danger)}.time-remaining-progress-row{margin-bottom:6px}.time-remaining-progress-label{font-size:.75rem;color:#64748b;font-weight:500}.time-remaining-bar{height:5px;background:#0000000f;border-radius:3px;overflow:hidden}.time-remaining-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--cyan));border-radius:3px;transition:width 1s linear}.time-remaining-bar-fill.low{background:linear-gradient(90deg,var(--danger),#f97316)}.transcript-panel{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;box-shadow:0 2px 8px #0000000f}.transcript-header{padding:14px 18px;border-bottom:1px solid rgba(0,0,0,.07);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.transcript-header-left{display:flex;align-items:center;gap:8px}.transcript-live-dot{width:8px;height:8px;border-radius:50%;background:#10b981;animation:pulse-dot 1.8s ease-in-out infinite;flex-shrink:0}.transcript-title{font-size:.8125rem;font-weight:700;color:#1e293b;letter-spacing:-.01em}.transcript-toggle{position:relative;width:40px;height:22px;background:#e2e8f0;border:none;border-radius:11px;cursor:pointer;transition:background .2s ease;flex-shrink:0;padding:0}.transcript-toggle--on{background:#10b981}.transcript-toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 4px #0003}.transcript-toggle--on .transcript-toggle-thumb{transform:translate(18px)}.transcript-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}.transcript-messages::-webkit-scrollbar{width:4px}.transcript-messages::-webkit-scrollbar-track{background:transparent}.transcript-messages::-webkit-scrollbar-thumb{background:#0000001f;border-radius:2px}.transcript-messages::-webkit-scrollbar-thumb:hover{background:#0003}.transcript-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:40px 24px}.transcript-empty-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0000000a;font-size:1.25rem;margin-bottom:4px}.transcript-empty-text{font-size:.8125rem;line-height:1.6;color:#94a3b8;max-width:220px}.transcript-message{display:flex;flex-direction:column;gap:4px;animation:messageIn .3s ease-out}.transcript-message--interviewer{align-items:flex-start}.transcript-message--user{align-items:flex-end}.transcript-msg-label{font-size:.625rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.transcript-message--interviewer .transcript-msg-label{color:#3b82f6}.transcript-message--user .transcript-msg-label{color:#0ea5e9}.transcript-msg-text{font-size:.8125rem;line-height:1.6;color:#334155;word-break:break-word;max-width:95%}.transcript-message--user .transcript-msg-text{text-align:right}.transcript-msg-text--interim{opacity:.65}.transcript-msg-cursor{display:inline-block;width:2px;height:.875em;background:currentColor;margin-left:3px;vertical-align:text-bottom;animation:blink .9s ease-in-out infinite}.transcript-listening{display:flex;align-items:center;gap:8px;align-self:flex-end;animation:fadeIn .3s ease-out}.transcript-listening-label{font-size:.625rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#0ea5e9}.transcript-listening-text{font-size:.8125rem;color:#64748b;font-style:italic}.user-video-card{flex-shrink:0;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 8px #0000000f}.user-video-frame{position:relative;width:100%;aspect-ratio:16 / 10;background:#0f172a}.user-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transform:scaleX(-1)}.user-video--dim{opacity:.35}.user-video-loading,.user-video-error,.user-video-cam-off{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;text-align:center;z-index:1;background:#0f172aa6;color:#ffffffd9;font-size:.75rem}.user-video-loading .spinner{width:24px;height:24px}.user-video-error p{font-size:.75rem;line-height:1.4;max-width:100%}.user-video-retry-btn{padding:6px 14px!important;font-size:.8125rem!important}.user-video-cam-off svg{width:32px;height:32px;opacity:.55}.user-video-controls{position:absolute;bottom:10px;left:50%;transform:translate(-50%);z-index:2;display:flex;gap:10px;align-items:center;justify-content:center}.user-video-control-btn{width:40px;height:40px;border-radius:50%;border:none;background:#ffffffeb;color:#1e293b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:0 2px 10px #0003}.user-video-control-btn svg{width:18px;height:18px}.user-video-control-btn:hover{transform:scale(1.06);background:#fff}.user-video-control-btn--off{background:#ef4444eb;color:#fff}.user-video-control-btn--off:hover{background:var(--danger)}.self-preview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;flex-shrink:0}.self-preview-placeholder{height:100px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--text-dim);font-size:.75rem}.self-preview-icon{font-size:1.25rem;opacity:.5}.fullscreen-overlay{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,rgba(59,130,246,.06) 0%,transparent 60%),var(--bg);padding:24px}.overlay-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:52px 56px;text-align:center;max-width:440px;width:100%;box-shadow:var(--shadow-lg);animation:fadeInUp .5s ease-out}.overlay-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 24px}.overlay-icon.success{background:var(--green-glow);color:#34d399}.overlay-icon.error{background:#ef444426;color:#f87171}.overlay-card h2{font-size:1.375rem;font-weight:700;color:var(--text);margin-bottom:10px;letter-spacing:-.02em}.overlay-card p{color:var(--text-secondary);font-size:.9375rem;line-height:1.6;margin-bottom:28px}.mic-permission-banner{position:absolute;top:16px;right:16px;z-index:5;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fadeIn .3s ease-out}.mic-permission-banner.mic-granted{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.2)}.mic-permission-banner.mic-denied{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.2)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes messageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}@keyframes pulse-audio{0%,to{box-shadow:0 4px 16px var(--primary-glow),0 0 0 1px #ffffff1a}50%{box-shadow:0 4px 24px #3b82f673,0 0 0 4px #3b82f61f}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media(max-width:1100px){.interview-main{grid-template-columns:1fr 320px;padding:16px 20px;gap:16px}}@media(max-width:800px){.interview-main{grid-template-columns:1fr;padding:12px 16px;gap:14px}.interview-sidebar-col{position:static;height:420px;top:auto}.stage-question-banner{max-width:85%}.form-row{grid-template-columns:1fr}.setup-form{padding:28px 24px}.home-page{padding:36px 16px}.preset-grid{grid-template-columns:1fr 1fr}.home-header h1{font-size:1.75rem}}@media(max-width:480px){.preset-grid{grid-template-columns:1fr}.overlay-card{padding:36px 28px}}.practice-type-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.practice-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;background:var(--bg-surface);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform .1s;text-align:center;font-family:var(--font)}.practice-card:hover:not(:disabled){border-color:var(--primary);box-shadow:0 4px 16px var(--primary-glow);transform:translateY(-2px)}.practice-card:disabled{opacity:.5;cursor:not-allowed}.practice-card--selected{border-color:var(--primary);background:#3b82f614;box-shadow:0 0 0 3px var(--primary-glow)}.practice-card-icon{font-size:2rem;line-height:1}.practice-card-label{font-size:.9375rem;font-weight:700;color:var(--text)}.practice-card-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4}.question-progress{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);padding:14px 18px;flex-shrink:0;box-shadow:0 2px 8px #0000000f}.question-progress-label{font-size:.75rem;font-weight:700;color:#475569;margin-bottom:10px;letter-spacing:-.01em}.question-progress-dots{display:flex;gap:6px;flex-wrap:wrap}.progress-dot{width:10px;height:10px;border-radius:50%;background:#e2e8f0;transition:all .25s ease;flex-shrink:0}.progress-dot--current{background:var(--primary);box-shadow:0 0 0 3px #3b82f64d;animation:pulse-dot 1.5s ease-in-out infinite}.progress-dot--active{background:var(--primary);opacity:.6}.progress-dot--evaluated{background:#22c55e}.progress-dot--skipped{background:#f59e0b}.progress-dot--failed{background:#ef4444}.interview-actions{display:flex;gap:10px;flex-shrink:0;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);padding:14px 16px;box-shadow:0 2px 8px #0000000f;animation:fadeIn .3s ease-out}.btn-finish-answer{flex:1}.btn-skip{flex-shrink:0}.evaluation-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);padding:18px;flex-shrink:0;box-shadow:0 2px 12px #00000014;animation:fadeInUp .4s ease-out}.evaluation-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.evaluation-title{font-size:.8125rem;font-weight:700;color:#1e293b}.evaluation-score-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;color:#fff}.evaluation-competencies{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.evaluation-competency-row{display:flex;align-items:center;gap:8px}.evaluation-competency-label{font-size:.6875rem;color:#64748b;min-width:120px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.evaluation-score-bar-track{flex:1;height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden}.evaluation-score-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.evaluation-score-value{font-size:.75rem;font-weight:700;color:#334155;min-width:18px;text-align:right}.evaluation-flags{margin-bottom:12px}.evaluation-flags-title{font-size:.6875rem;font-weight:700;color:#ef4444;text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:6px}.evaluation-flag{display:flex;gap:6px;font-size:.75rem;color:#475569;line-height:1.5;margin-bottom:4px}.evaluation-flag strong{color:#1e293b}.evaluation-reasoning{font-size:.75rem;color:#64748b;line-height:1.6;margin-bottom:14px;padding:10px 12px;background:#f8fafc;border-radius:var(--radius-sm);border-left:3px solid #e2e8f0}.evaluation-continue-btn{width:100%}.engine-error-toast{background:#ef44441a;color:#fca5a5;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);padding:10px 14px;font-size:.8125rem;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;animation:fadeIn .3s ease}.engine-error-toast button{background:none;border:none;color:#fca5a5;cursor:pointer;font-size:1rem;padding:0 4px;flex-shrink:0}.spinner-lg{width:40px;height:40px;border-width:3px}.report-page{max-width:960px;margin:0 auto;padding:40px 24px 64px;min-height:100vh}.report-loading,.report-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px}.report-loading p{color:var(--text-secondary)}.report-error h2{color:var(--text)}.report-error p{color:var(--text-secondary);margin-bottom:16px}.report-header{text-align:center;padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid rgba(255,255,255,.06)}.report-header-top{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:12px}.report-title{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;color:var(--text)}.report-practice-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;color:var(--text-secondary)}.report-meta{display:flex;align-items:center;justify-content:center;gap:16px;color:var(--text-muted);font-size:.875rem;margin-bottom:24px}.report-candidate{font-weight:600;color:var(--text-secondary)}.report-overall-score{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:12px}.report-score-circle{width:120px;height:120px;border-radius:50%;border:4px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface)}.report-score-value{font-size:2rem;font-weight:800;color:var(--text);line-height:1}.report-score-max{font-size:.75rem;color:var(--text-muted)}.report-score-label{font-size:1rem;font-weight:700}.report-header-badges{display:flex;align-items:center;gap:8px}.report-early-badge{display:inline-flex;align-items:center;padding:4px 14px;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;color:#f59e0b}.report-early-notice{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-sm);padding:12px 18px;font-size:.8125rem;color:#fbbf24;line-height:1.6;margin-bottom:16px;text-align:center}.report-questions-summary{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);font-size:.8125rem}.report-skipped-count{display:inline-flex;align-items:center;padding:2px 10px;background:#f59e0b1f;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;color:#f59e0b}.report-section{margin-bottom:36px}.report-section-title{font-size:1.125rem;font-weight:700;color:var(--text);letter-spacing:-.02em;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--border)}.report-competency-bars{display:flex;flex-direction:column;gap:10px}.report-comp-row{display:flex;align-items:center;gap:12px}.report-comp-row--na{opacity:.5}.report-comp-label{font-size:.8125rem;color:var(--text-secondary);min-width:200px;flex-shrink:0}.report-comp-bar-track{flex:1;height:8px;background:var(--surface);border-radius:4px;overflow:hidden}.report-comp-bar-fill{height:100%;border-radius:4px;transition:width .6s ease}.report-comp-score{font-size:.875rem;font-weight:700;color:var(--text);min-width:40px;text-align:right}.report-comp-na{font-size:.75rem;color:var(--text-dim);font-style:italic}.report-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.report-category-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid;border-radius:var(--radius-sm);padding:16px 18px;display:flex;flex-direction:column;gap:4px}.report-cat-name{font-size:.8125rem;font-weight:600;color:var(--text);line-height:1.4}.report-cat-score{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.report-cat-count{font-size:.6875rem;color:var(--text-muted)}.report-insights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-bottom:20px}.report-insight-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:18px}.report-insight-card h3{font-size:.875rem;font-weight:700;color:var(--text);margin-bottom:10px;display:flex;align-items:center;gap:6px}.report-insight-icon{font-size:1rem}.report-insight-card ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.report-insight-card li{font-size:.8125rem;color:var(--text-secondary);line-height:1.6;padding-left:16px;position:relative}.report-insight-card li:before{content:"•";position:absolute;left:0;color:var(--text-muted)}.report-final-summary,.report-recommendation{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px;margin-bottom:14px}.report-final-summary h3,.report-recommendation h3{font-size:.875rem;font-weight:700;color:var(--text);margin-bottom:10px}.report-final-summary p,.report-recommendation p{font-size:.8125rem;color:var(--text-secondary);line-height:1.7}.report-holistic-recommendation{background:var(--surface);border:1px solid var(--border);border-left:4px solid;border-radius:var(--radius-sm);padding:20px;margin-bottom:18px}.report-holistic-rec-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:4px}.report-holistic-rec-value{display:block;font-size:1.25rem;font-weight:700;margin-bottom:10px}.report-holistic-rec-reasoning{font-size:.8125rem;color:var(--text-secondary);line-height:1.7;margin:0}.report-holistic-narrative{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px;margin-bottom:14px}.report-holistic-narrative h3{font-size:.875rem;font-weight:700;color:var(--text);margin-bottom:10px}.report-holistic-narrative p{font-size:.8125rem;color:var(--text-secondary);line-height:1.7;margin:0}.report-question-answer{background:var(--surface-alt, #f8fafc);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:14px}.report-question-answer h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px}.report-question-answer p{font-size:.8125rem;color:var(--text);line-height:1.7;margin:0}.report-questions{display:flex;flex-direction:column;gap:10px}.report-question-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.report-question-card--skipped{opacity:.7}.report-question-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:transparent;border:none;cursor:pointer;font-family:var(--font);text-align:left}.report-question-header:hover{background:#ffffff05}.report-question-left{display:flex;align-items:baseline;gap:10px;flex:1;min-width:0}.report-question-number{font-size:.75rem;font-weight:700;color:var(--primary);flex-shrink:0}.report-question-text{font-size:.8125rem;color:var(--text);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-question-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.report-question-category{font-size:.6875rem;font-weight:600;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.report-question-score{font-size:.9375rem;font-weight:800}.report-question-status-badge{font-size:.6875rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.badge-skipped{background:#f59e0b26;color:#f59e0b}.report-question-chevron{font-size:.75rem;color:var(--text-muted);transition:transform .2s ease}.report-question-chevron--open{transform:rotate(90deg)}.report-question-detail{padding:14px 18px 18px;border-top:1px solid var(--border);animation:fadeIn .2s ease}.report-question-scores{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.report-q-comp-row{display:flex;align-items:center;gap:10px}.report-q-comp-label{font-size:.75rem;color:var(--text-muted);min-width:180px;flex-shrink:0}.report-q-comp-bar-track{flex:1;height:6px;background:#ffffff0a;border-radius:3px;overflow:hidden}.report-q-comp-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.report-q-comp-score{font-size:.75rem;font-weight:700;color:var(--text);min-width:20px;text-align:right}.report-question-flags{margin-top:10px}.report-question-flags h4{font-size:.75rem;font-weight:700;color:var(--danger);margin-bottom:6px}.report-flag-item{display:flex;gap:6px;font-size:.75rem;color:var(--text-secondary);line-height:1.5;margin-bottom:4px}.report-flag-item strong{color:var(--text)}.report-flag-comp{color:var(--text-muted);font-size:.6875rem}.report-footer{margin-top:40px;padding-top:24px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:12px}.report-footer-timestamp,.report-footer-session{font-size:.75rem;color:var(--text-dim)}.report-footer-actions{display:flex;gap:10px;margin-left:auto}@media print{.report-page{padding:0;max-width:none}.report-footer-actions{display:none}.report-question-header{cursor:default}.report-question-detail{display:block!important}}@media(max-width:768px){.report-page{padding:24px 16px 48px}.report-comp-label{min-width:130px;font-size:.75rem}.report-category-grid,.report-insights-grid{grid-template-columns:1fr}.report-question-left{max-width:60%}.report-footer{flex-direction:column;align-items:flex-start}.report-footer-actions{margin-left:0;flex-wrap:wrap}}
