:root{--brand-50: #f5f3ff;--brand-100: #ede9fe;--brand-200: #ddd6fe;--brand-300: #c4b5fd;--brand-400: #a78bfa;--brand-500: #8b5cf6;--brand-600: #7c3aed;--brand-700: #6d28d9;--brand-800: #5b21b6;--brand-900: #4c1d95;--brand-gradient: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);--brand-gradient-hover: linear-gradient(135deg, #6d28d9 0%, #5b21b6 100%);--brand-gradient-soft: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);--surface-page: #faf8ff;--surface-card: #ffffff;--surface-muted: #f8fafc;--surface-subtle: #f1f5f9;--text-strong: #0f172a;--text-default: #1e293b;--text-muted: #475569;--text-subtle: #64748b;--text-faint: #94a3b8;--text-on-brand: #ffffff;--border-default: #e2e8f0;--border-strong: #cbd5e1;--border-input: #d1d5db;--border-focus: var(--brand-400);--success: #16a34a;--success-bg: #f0fdf4;--success-border: #bbf7d0;--success-text: #166534;--warning: #d97706;--warning-bg: #fffbeb;--warning-border: #fde68a;--warning-text: #854d0e;--danger: #dc2626;--danger-bg: #fef2f2;--danger-border: #fecaca;--danger-text: #991b1b;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .06);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .08);--shadow-xl: 0 20px 48px rgba(15, 23, 42, .16);--shadow-focus: 0 0 0 3px rgba(167, 139, 250, .4);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--transition: .18s cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--surface-page);color:var(--text-default);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-padding-top:72px}body{min-height:100vh}h1,h2,h3,h4,h5{text-wrap:balance;margin:0;font-weight:700;letter-spacing:-.01em;color:var(--text-strong)}p{margin:0}a{color:var(--brand-600);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--brand-700)}button{font-family:inherit}.app-root{max-width:1100px;margin:0 auto;padding:var(--space-8) var(--space-6)}.page{min-height:100vh;padding:var(--space-8) var(--space-4);display:flex;flex-direction:column;align-items:center}.container{width:100%;max-width:720px;margin:0 auto}.container--md{width:100%;max-width:960px;margin:0 auto}.container--lg{width:100%;max-width:1100px;margin:0 auto}.stack{display:flex;flex-direction:column}.stack--sm>*+*{margin-top:var(--space-2)}.stack--md>*+*{margin-top:var(--space-4)}.stack--lg>*+*{margin-top:var(--space-6)}.row{display:flex;align-items:center}.row--gap-sm{gap:var(--space-2)}.row--gap-md{gap:var(--space-4)}.row--gap-lg{gap:var(--space-6)}.row--between{justify-content:space-between}.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.card--elevated{box-shadow:var(--shadow-md)}.card--feature{box-shadow:var(--shadow-lg);padding:var(--space-8)}.card--flat{box-shadow:none}.card-title{font-size:var(--text-lg);font-weight:700;color:var(--text-strong);margin:0 0 var(--space-2)}.card-subtitle{font-size:var(--text-sm);color:var(--text-subtle);margin:0}.screen{background:var(--surface-card);padding:var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;margin:0 auto var(--space-6);max-width:720px}.app-title{font-size:var(--text-3xl);color:var(--text-strong);margin:0 0 var(--space-1);letter-spacing:-.02em}.subtitle{color:var(--text-subtle);font-weight:500;margin-top:var(--space-1);font-size:var(--text-md)}.info-text{color:var(--text-muted);margin-bottom:var(--space-4);line-height:1.6;font-size:var(--text-base)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 20px;border-radius:var(--radius-md);border:1px solid transparent;font-family:inherit;font-size:var(--text-base);font-weight:600;line-height:1.2;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition),transform var(--transition);text-decoration:none;white-space:nowrap;touch-action:manipulation}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--brand-gradient);color:var(--text-on-brand);box-shadow:0 1px 2px #7c3aed33}.btn--primary:hover:not(:disabled){background:var(--brand-gradient-hover);box-shadow:0 4px 12px #7c3aed40;transform:translateY(-1px)}.btn--primary:active:not(:disabled){transform:translateY(0)}.btn--secondary{background:var(--surface-card);color:var(--text-default);border-color:var(--border-default)}.btn--secondary:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.btn--ghost{background:transparent;color:var(--text-muted)}.btn--ghost:hover:not(:disabled){background:var(--surface-muted);color:var(--text-strong)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover:not(:disabled){background:#b91c1c}.btn--success{background:var(--success);color:#fff}.btn--success:hover:not(:disabled){background:#15803d}.btn--sm{padding:6px 12px;font-size:var(--text-sm)}.btn--lg{padding:14px 28px;font-size:var(--text-md)}.btn--block{width:100%}.btn-start,.btn-next,.btn-submit,.btn-record{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--brand-gradient);color:var(--text-on-brand);border:none;padding:12px 24px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:600;font-family:inherit;margin:var(--space-1);transition:all var(--transition);box-shadow:0 1px 2px #7c3aed33}.btn-start:hover,.btn-next:hover,.btn-submit:hover,.btn-record:hover{background:var(--brand-gradient-hover);box-shadow:0 4px 12px #7c3aed40;transform:translateY(-1px)}.btn-start:disabled,.btn-next:disabled,.btn-submit:disabled,.btn-record:disabled{opacity:.5;cursor:not-allowed}.btn-stop{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--danger);color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:600;font-family:inherit;margin:var(--space-1);transition:all var(--transition)}.btn-stop:hover{background:#b91c1c}.btn-skip{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--text-subtle);border:1px solid var(--border-default);padding:12px 24px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:600;font-family:inherit;margin:var(--space-1);transition:all var(--transition)}.btn-skip:hover{background:var(--surface-muted);color:var(--text-strong)}.btn-rerecord{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--warning);color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:600;font-family:inherit;margin:var(--space-1);transition:all var(--transition)}.btn-rerecord:hover{background:#b45309}.input,.email-input,.jd-textarea{width:100%;padding:11px 14px;border:1px solid var(--border-input);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base);color:var(--text-default);background:var(--surface-card);transition:border-color var(--transition),box-shadow var(--transition);box-sizing:border-box}.input:focus,.email-input:focus,.jd-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.input::placeholder,.email-input::placeholder,.jd-textarea::placeholder{color:var(--text-faint)}.jd-textarea{resize:vertical;min-height:110px}.label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text-default);margin-bottom:6px}.field-help{font-size:var(--text-xs);color:var(--text-faint);margin-top:4px}.error{color:var(--danger);font-weight:500;font-size:var(--text-sm);margin:var(--space-2) 0}.note{color:var(--text-subtle);font-size:var(--text-sm)}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-pill);letter-spacing:.02em}.badge--brand{background:var(--brand-100);color:var(--brand-800)}.badge--success{background:var(--success-bg);color:var(--success-text)}.badge--warning{background:var(--warning-bg);color:var(--warning-text)}.badge--danger{background:var(--danger-bg);color:var(--danger-text)}.badge--neutral{background:var(--surface-subtle);color:var(--text-muted)}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em}.status-pill--completed{background:var(--success-bg);color:var(--success-text)}.status-pill--in-progress{background:var(--warning-bg);color:var(--warning-text)}.status-pill--pending{background:var(--surface-subtle);color:var(--text-muted)}.status-pill:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.modal-overlay{position:fixed;inset:0;background:#0f172a8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--space-4)}.modal-card{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-8);max-width:440px;width:100%;text-align:center}.modal-icon{font-size:36px;margin-bottom:var(--space-2)}.modal-title{font-size:var(--text-lg);font-weight:700;color:var(--text-strong);margin:0 0 var(--space-2)}.modal-text{font-size:var(--text-base);color:var(--text-subtle);margin:0 0 var(--space-5);line-height:1.6}.question-card{background:var(--brand-gradient-soft);border:1px solid var(--brand-200);padding:var(--space-5) var(--space-6);border-radius:var(--radius-md);margin:var(--space-4) 0;font-size:var(--text-md);font-weight:500;color:var(--text-strong);line-height:1.6;text-align:left}.next-controls{margin-top:var(--space-5)}.attempt-info{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--text-faint)}.recorder{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.video-preview{border-radius:var(--radius-md);margin-top:var(--space-3);box-shadow:var(--shadow-md);background:#000}.recorder-controls{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.timer{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:var(--text-md);padding:6px 14px;background:var(--surface-subtle);border-radius:var(--radius-pill);color:var(--text-default);font-variant-numeric:tabular-nums}.recording-active{background:var(--danger-bg);color:var(--danger);animation:pulse 1.4s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.recorded-badge{display:inline-flex;align-items:center;gap:6px;color:var(--success);font-weight:600;font-size:var(--text-base);padding:6px 14px;background:var(--success-bg);border-radius:var(--radius-pill)}.upload-progress{text-align:center;padding:var(--space-8) var(--space-4)}.progress-bar{width:100%;height:10px;background:var(--surface-subtle);border-radius:var(--radius-pill);margin-top:var(--space-3);overflow:hidden}.progress-fill{height:100%;background:var(--brand-gradient);width:0;transition:width .3s ease;border-radius:var(--radius-pill)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.loader-screen{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:var(--space-12) var(--space-8);text-align:center}.loader-spinner{width:56px;height:56px;border:5px solid var(--brand-100);border-top-color:var(--brand-600);border-radius:50%;animation:spin .9s linear infinite}.loader-title{font-size:var(--text-xl);color:var(--text-strong);margin:0;font-weight:700}.loader-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2);text-align:left}.loader-step{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--text-faint);transition:color .3s}.loader-step--active{color:var(--brand-600);font-weight:600}.loader-step--done{color:var(--success)}.loader-step-icon{font-size:var(--text-md);width:18px;text-align:center}.loader-hint{font-size:var(--text-sm);color:var(--text-faint);margin:0}.loader-error{gap:var(--space-4)}.loader-error-icon{font-size:48px;color:var(--warning)}.result-box{background:var(--surface-muted);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-5);max-width:500px;margin:0 auto;text-align:left;box-shadow:var(--shadow-sm)}.result-box h3{color:var(--text-strong);font-size:var(--text-md);margin-bottom:var(--space-2)}.result-box pre{background:var(--surface-card);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--text-sm);color:var(--text-default);overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:0}.jd-or{color:var(--text-faint);margin:var(--space-3) 0 var(--space-2);font-size:var(--text-sm)}.jd-file-input{display:block;margin:0 auto var(--space-1)}.jd-filename{color:var(--brand-600);font-size:var(--text-sm);margin:var(--space-1) 0}.jd-actions{margin-top:var(--space-4)}.report-screen{padding:0;text-align:left;background:transparent;box-shadow:none;max-width:none}.report-header{background:var(--brand-gradient);color:#fff;border-radius:var(--radius-lg);padding:var(--space-8) var(--space-10);margin-bottom:var(--space-6);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;box-shadow:0 12px 32px #7c3aed2e}.report-header-meta h1{margin:0 0 var(--space-1);font-size:var(--text-2xl);color:#fff;letter-spacing:-.02em}.report-header-meta p{margin:0;opacity:.85;font-size:var(--text-sm)}.report-header-scores{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}.report-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-8);margin-bottom:var(--space-5)}.report-card h2{margin:0 0 var(--space-5);font-size:var(--text-lg);color:var(--text-strong);border-bottom:1px solid var(--border-default);padding-bottom:var(--space-3);font-weight:700}.report-card h3{margin:0 0 var(--space-3);font-size:var(--text-md);color:var(--text-default);font-weight:600}.overall-score-card{display:flex;flex-direction:column;gap:0}.score-gauge-wrapper{background:var(--brand-gradient-soft);border:1px solid var(--brand-200);border-radius:var(--radius-md);padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2)}.overall-score-details{flex:1;min-width:200px}.overall-score-details p{margin:0 0 var(--space-3);color:var(--text-muted);font-size:var(--text-sm);line-height:1.6}.overall-top-row{display:flex;gap:var(--space-6);align-items:center;margin-bottom:var(--space-5);flex-wrap:wrap}.question-score-strip{display:flex;flex-wrap:wrap;gap:var(--space-2);flex:1}.qs-pill{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border-radius:var(--radius-sm);border:2px solid var(--border-default);background:var(--surface-card);min-width:48px;transition:transform var(--transition)}.qs-pill:hover{transform:translateY(-2px)}.qs-pill-label{font-size:var(--text-xs);color:var(--text-faint);font-weight:600}.qs-pill-score{font-size:var(--text-md);font-weight:700}.question-score-breakdown{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-2);scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}.question-score-breakdown::-webkit-scrollbar{height:4px}.question-score-breakdown::-webkit-scrollbar-track{background:transparent}.question-score-breakdown::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-pill)}.qscore-card{background:var(--surface-muted);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-2);flex-shrink:0;width:184px}.qscore-card-header{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.qscore-label{font-size:var(--text-sm);font-weight:700;color:var(--text-strong)}.qscore-weight-badge{font-size:var(--text-xs);background:var(--brand-100);color:var(--brand-800);padding:2px 8px;border-radius:var(--radius-pill);font-weight:600}.qscore-dims{width:100%;display:flex;flex-direction:column;gap:4px}.qscore-dim{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;font-size:var(--text-xs);color:var(--text-subtle);padding:6px 10px;border-radius:var(--radius-sm);background:var(--surface-card);border:1px solid var(--border-default)}.qscore-dim-label{color:var(--text-muted)}.qscore-dim-score{font-weight:700;color:var(--text-strong);min-width:20px;text-align:right}.qscore-dim-pct{color:var(--text-faint);font-weight:500;min-width:30px;text-align:right}.overall-meta{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:var(--space-3);font-size:var(--text-xs);color:var(--text-subtle)}.overall-conf-chip{padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.overall-conf-chip[data-level=high]{background:var(--success-bg);color:var(--success-text)}.overall-conf-chip[data-level=medium]{background:var(--warning-bg);color:var(--warning-text)}.overall-conf-chip[data-level=low]{background:var(--danger-bg);color:var(--danger-text)}.confidence-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.score-badge{background:#fff3;color:#fff;padding:8px 18px;border-radius:var(--radius-pill);font-size:var(--text-md);font-weight:700;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.weighted-score-badge{display:inline-block;background:var(--brand-gradient);color:#fff;padding:4px 14px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;margin-left:var(--space-2);vertical-align:middle}.question-section{margin-bottom:0}.question-section-header{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap}.question-section-header h2{margin:0;font-size:var(--text-lg);color:var(--text-strong);border:none;padding:0}.relevance-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.relevance-score{font-size:var(--text-xs);background:var(--surface-subtle);padding:4px 10px;border-radius:var(--radius-pill);color:var(--text-muted);font-weight:600}.relevance-explanation{font-size:var(--text-sm);color:var(--text-subtle)}.scorebar-wrapper{margin:var(--space-4) 0}.impression-text{font-size:var(--text-sm);color:var(--text-muted);line-height:1.7;margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);background:var(--surface-muted);border-radius:var(--radius-sm);border-left:3px solid var(--brand-400)}.transcript-block{background:var(--brand-50);border-left:4px solid var(--brand-500);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:var(--space-4) var(--space-5);font-style:italic;font-size:var(--text-sm);color:var(--text-muted);line-height:1.7;max-height:180px;overflow-y:auto;margin:var(--space-3) 0}.accordion{border:1px solid var(--border-default);border-radius:var(--radius-sm);margin-bottom:var(--space-2);overflow:hidden}.accordion-trigger{width:100%;background:var(--surface-muted);border:none;padding:12px 16px;text-align:left;font-size:var(--text-sm);font-weight:600;color:var(--text-default);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background var(--transition)}.accordion-trigger:hover{background:var(--surface-subtle)}.accordion-body{padding:var(--space-4);background:var(--surface-card)}.accordion-arrow{font-size:var(--text-xs);transition:transform var(--transition);color:var(--text-faint)}.accordion-arrow--open{transform:rotate(180deg)}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-5);font-size:var(--text-sm)}.analysis-grid dt{color:var(--text-faint);font-weight:600;text-transform:capitalize;font-size:var(--text-xs)}.analysis-grid dd{margin:0;color:var(--text-default)}.audio-metrics{display:flex;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-3) 0}.metric-card{background:var(--surface-muted);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);min-width:110px;text-align:center}.metric-card .metric-value{font-size:var(--text-lg);font-weight:700;color:var(--text-strong)}.metric-card .metric-label{font-size:var(--text-xs);color:var(--text-faint);margin-top:2px}.jd-match-card{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin-top:var(--space-3)}.jd-match-card .jd-match-score{font-weight:700;font-size:var(--text-md);color:var(--warning-text)}.jd-match-card p{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--warning-text)}.strengths-improvements{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.strengths-list,.improvements-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.strengths-list li,.improvements-list li{font-size:var(--text-sm);color:var(--text-default);display:flex;gap:var(--space-2);align-items:flex-start;line-height:1.6}.strengths-list li:before{content:"✓";color:var(--success);font-weight:700;flex-shrink:0}.improvements-list li:before{content:"→";color:var(--brand-600);font-weight:700;flex-shrink:0}.risk-flags{display:flex;flex-direction:column;gap:var(--space-2)}.risk-flag-card{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--danger-text);display:flex;gap:var(--space-2);align-items:flex-start}.risk-flag-card:before{content:"⚠";flex-shrink:0}.recommendations-list{padding-left:var(--space-5);margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.recommendations-list li{font-size:var(--text-sm);color:var(--text-default);line-height:1.6}.section-label{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--space-1)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-4);top:-48px;z-index:100;background:var(--surface-card);color:var(--brand-700);font-weight:600;padding:8px 14px;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);transition:top var(--transition)}.skip-link:focus{top:var(--space-3)}a:focus-visible,summary:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px;border-radius:4px}a.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}a.btn--primary:hover,a.btn--danger:hover,a.btn--success:hover{color:var(--text-on-brand)}#route-root:focus,#main:focus{outline:none}.link-button{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--brand-600);cursor:pointer;text-decoration:underline}.link-button:hover{color:var(--brand-700)}.link-button:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px;border-radius:4px}.inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:var(--surface-subtle);padding:1px 6px;border-radius:4px;word-break:break-all}.center-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);padding:var(--space-10) var(--space-4)}.logo-mark{flex-shrink:0;width:36px;height:36px;border-radius:9px;background:var(--brand-gradient);color:#fff;font-weight:800;font-size:13px;letter-spacing:-.02em;display:flex;align-items:center;justify-content:center}.logo-mark--lg{width:48px;height:48px;border-radius:12px;font-size:18px;box-shadow:0 8px 24px #7c3aed40}.icon{display:block;flex-shrink:0}.icon-tile{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:var(--brand-600);background:linear-gradient(160deg,#ffffff 0%,var(--brand-50) 55%,var(--brand-100) 100%);border:1px solid rgba(124,58,237,.16);box-shadow:inset 0 1px #fffffff2,0 1px 2px #4c1d951a,0 8px 16px -8px #7c3aed73}.icon-tile--sm{width:32px;height:32px;border-radius:10px}.icon-tile--success{color:var(--success);background:linear-gradient(160deg,#ffffff 0%,var(--success-bg) 60%,#dcfce7 100%);border-color:#16a34a33;box-shadow:inset 0 1px #fffffff2,0 1px 2px #1665341a,0 8px 16px -8px #16a34a73}.icon-tile--warning{color:var(--warning);background:linear-gradient(160deg,#ffffff 0%,var(--warning-bg) 60%,#fef3c7 100%);border-color:#d9770638;box-shadow:inset 0 1px #fffffff2,0 1px 2px #854d0e1a,0 8px 16px -8px #d9770673}.spinner{width:32px;height:32px;border:3px solid var(--brand-100);border-top-color:var(--brand-600);border-radius:50%;animation:spin .8s linear infinite}.spinner--inline{display:inline-block;width:14px;height:14px;border-width:2px;border-color:color-mix(in srgb,currentColor 35%,transparent);border-top-color:currentColor;vertical-align:middle}.loading-label{color:var(--text-subtle);font-size:var(--text-base)}.status-card{width:100%;max-width:480px;text-align:center}.status-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto var(--space-4);background:var(--surface-subtle);color:var(--text-muted)}.status-icon--success{background:var(--success-bg);color:var(--success);font-weight:700}.status-icon--warning{background:var(--warning-bg);color:var(--warning)}.status-icon--danger{background:var(--danger-bg);color:var(--danger)}.status-heading{font-size:22px;letter-spacing:-.01em;line-height:1.3;margin:0 0 var(--space-3);text-wrap:balance}.status-body{color:var(--text-muted);font-size:var(--text-base);line-height:1.6}.status-body>p+p{margin-top:var(--space-2)}.status-hint{color:var(--text-subtle);font-size:var(--text-sm)}.status-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-6)}.admin-shell{min-height:100vh;min-height:100dvh}.topbar{position:sticky;top:0;z-index:20;background:var(--surface-card);border-bottom:1px solid var(--border-default);padding:12px var(--space-6);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.topbar-brand{display:flex;align-items:center;gap:var(--space-3);color:inherit;border-radius:var(--radius-sm)}.topbar-brand:hover{color:inherit}.topbar-brand-name{display:block;font-size:14px;font-weight:700;color:var(--text-strong);line-height:1.3}.topbar-brand-sub{display:block;font-size:11px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.06em}.topbar-user{display:flex;align-items:center;gap:var(--space-3);min-width:0}.topbar-email{font-size:var(--text-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs{margin-bottom:var(--space-5)}.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;font-size:var(--text-sm)}.breadcrumbs li{display:flex;align-items:center;color:var(--text-subtle);min-width:0}.breadcrumbs li+li:before{content:"/";margin:0 var(--space-2);color:var(--border-strong)}.breadcrumbs a{font-weight:600}.breadcrumbs [aria-current=page]{color:var(--text-default);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}.list-card{display:flex;align-items:center;gap:var(--space-4);color:inherit;transition:border-color var(--transition),box-shadow var(--transition)}.list-card:hover{color:inherit;border-color:var(--brand-300);box-shadow:var(--shadow-md)}.list-card:focus-visible{outline:none;border-color:var(--brand-400);box-shadow:var(--shadow-focus)}.list-card-arrow{color:var(--text-faint);font-size:20px;font-weight:300;transition:transform var(--transition),color var(--transition)}.list-card:hover .list-card-arrow{color:var(--brand-600);transform:translate(2px)}.stepper{list-style:none;margin:0 0 var(--space-6);padding:0;display:flex;justify-content:center}.stepper-item{position:relative;flex:1 1 0;max-width:110px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:600;color:var(--text-subtle)}.stepper-item+.stepper-item:before{content:"";position:absolute;top:15px;right:calc(50% + 20px);width:calc(100% - 40px);height:2px;background:var(--border-default)}.stepper-item--done+.stepper-item:before{background:var(--brand-600)}.stepper-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:var(--surface-subtle);color:var(--text-subtle)}.stepper-item--done .stepper-dot{background:var(--brand-600);color:#fff}.stepper-item--current .stepper-dot{background:var(--brand-gradient);color:#fff;box-shadow:0 4px 12px #7c3aed4d}.stepper-item--current{color:var(--brand-700)}.stepper-item--done{color:var(--text-default)}.media-frame{position:relative;width:100%;max-width:clamp(200px,calc((100dvh - 500px) * 4 / 3),400px);margin:0 auto var(--space-4);border:2px solid var(--brand-200);border-radius:14px;padding:4px;background:var(--brand-gradient-soft)}.media-frame>video,.media-frame>img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-radius:10px;background:#000}.media-frame--interview{max-width:412px;margin:var(--space-2) auto 0}.setup-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.setup-actions>.btn{flex:1 1 160px}@media(max-height:860px){.center-page{padding-block:var(--space-4);gap:var(--space-4)}.stepper{margin-bottom:var(--space-4)}}.media-frame-overlay{position:absolute;inset:4px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:#0f172a8c;color:#fff;font-size:var(--text-base);font-weight:600}.media-frame--message{aspect-ratio:4 / 3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-5);text-align:center}.iv-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:var(--space-4);padding-block:var(--space-5);padding-inline:max(clamp(16px,3vw,44px),calc((100% - 1560px)/2));background:radial-gradient(1100px 520px at 50% -160px,rgba(124,58,237,.1),transparent 70%),radial-gradient(700px 420px at 100% 100%,rgba(124,58,237,.05),transparent 70%)}.iv-top{display:grid;grid-template-columns:1fr minmax(180px,440px) 1fr;align-items:center;gap:var(--space-6)}.iv-brand{display:flex;align-items:center;gap:var(--space-3);min-width:0}.iv-brand-name{display:block;font-size:14px;font-weight:700;color:var(--text-strong);line-height:1.3}.iv-brand-sub{display:block;font-size:11px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em}.iv-progress{display:flex;gap:6px}.iv-seg{flex:1;height:5px;border-radius:var(--radius-pill);background:#7c3aed24;transition:background-color .3s ease,box-shadow .3s ease}.iv-seg.is-done{background:var(--brand-600)}.iv-seg.is-current{background:var(--brand-400);box-shadow:0 0 0 3px #7c3aed24}.iv-clock{justify-self:end;display:flex;align-items:baseline;gap:var(--space-2);min-height:34px;padding:6px 14px;border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--text-subtle)}.iv-clock:not(:empty){background:#ffffffb3;border:1px solid var(--border-default);box-shadow:var(--shadow-sm)}.iv-clock-value{font-size:var(--text-md);font-weight:700;color:var(--text-strong);font-variant-numeric:tabular-nums}.iv-stage{flex:1;display:grid;grid-template-columns:minmax(300px,4fr) minmax(0,7fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:"question video" "alert    video" ".        video" "controls actions";column-gap:clamp(28px,4vw,64px);padding:clamp(24px,3.2vw,48px);background:var(--surface-card);border:1px solid rgba(124,58,237,.1);border-radius:28px;box-shadow:0 1px 2px #0f172a0a,0 12px 32px -8px #0f172a14,0 48px 96px -40px #4c1d9547}.iv-stage .recorder{display:contents}.iv-stage .recorder>.error{grid-area:alert;margin:0 0 var(--space-3)}.iv-question{grid-area:question;min-width:0}.iv-eyebrow{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);line-height:1;font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-700)}.iv-eyebrow:before{content:"";width:18px;height:2px;border-radius:2px;background:var(--brand-gradient)}.iv-stage .question-card{margin:0;padding:0;background:none;border:none;border-radius:0;font-size:clamp(19px,1.55vw,25px);font-weight:600;line-height:1.45;letter-spacing:-.012em;color:var(--text-strong);text-wrap:pretty}.iv-stage .question-text{margin:0}.iv-evidence{margin:var(--space-5) 0 0;padding:12px 16px;font-size:var(--text-sm);line-height:1.6;color:var(--text-muted);background:var(--brand-50);border-left:3px solid var(--brand-400);border-radius:0 10px 10px 0}.iv-evidence-label{display:block;margin-bottom:2px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-700)}.iv-stage .media-frame--interview,.iv-video-state{grid-area:video;align-self:start;justify-self:end;width:min(100%,calc((100dvh - 392px) * 4 / 3));max-width:none;margin:0}.iv-stage .media-frame--interview{padding:6px;border:1px solid rgba(124,58,237,.16);border-radius:26px;background:linear-gradient(160deg,#ffffff 0%,var(--brand-50) 100%);box-shadow:0 1px 2px #0f172a0f,0 20px 44px -16px #4c1d954d,0 44px 88px -48px #4c1d9566}.iv-stage .media-frame--interview>video{border-radius:20px}.iv-stage .media-frame--interview:after{content:"";position:absolute;inset:6px;border-radius:20px;box-shadow:inset 0 0 0 1px #ffffff24,inset 0 -60px 80px -60px #0f172a59;pointer-events:none}.iv-stage .media-frame--recording{border-color:#dc262673;box-shadow:0 0 0 4px #dc26261a,0 20px 44px -16px #991b1b42,0 44px 88px -48px #4c1d955c}.iv-video-state{aspect-ratio:4 / 3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8);text-align:center;color:var(--text-subtle);font-size:var(--text-base);border-radius:26px;border:1px dashed var(--border-strong);background:var(--surface-muted)}.iv-video-state p{max-width:38ch;line-height:1.55}.iv-video-state-title{font-size:var(--text-lg);font-weight:700;color:var(--text-strong)}.rec-chip{position:absolute;top:20px;left:20px;z-index:1;display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 9px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;letter-spacing:.05em;color:#fff;background:#0f172a8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.rec-chip-dot{width:7px;height:7px;border-radius:50%;background:#4ade80}.rec-chip--rec{background:var(--danger);box-shadow:0 6px 16px #dc262659}.rec-chip--rec .rec-chip-dot{background:#fff;animation:pulse 1.4s infinite}.rec-think{position:absolute;inset:6px;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:#0f172a9e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none}.rec-think-label{font-size:var(--text-sm);font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.8}.rec-think-number{margin:10px 0;font-size:clamp(72px,9vw,132px);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.rec-think-hint{font-size:var(--text-base);opacity:.88}.rec-think-note{margin-top:var(--space-5);padding:5px 12px;border-radius:var(--radius-pill);font-size:var(--text-xs);background:#ffffff1f;opacity:.8}.iv-stage .recorder-controls{display:contents}.rec-info{grid-area:controls;align-self:end;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);min-height:calc(clamp(44px,4.4vw,64px) + 70px);margin-top:var(--space-5);padding-top:var(--space-6);border-top:1px solid var(--border-default)}.iv-stage .rec-actions{grid-area:actions;align-self:start;justify-self:end;justify-content:flex-end;margin-top:calc(var(--space-5) + 2px + var(--space-6))}.iv-stage .rec-actions .btn{height:calc(clamp(44px,4.4vw,64px)*.95);padding:0 clamp(20px,2vw,32px);font-size:clamp(16px,1.35vw,21px);border-radius:16px}.rec-status{display:inline-flex;align-items:center;gap:var(--space-3);padding:10px 16px;border-radius:var(--radius-pill);font-size:var(--text-base);font-weight:500;color:var(--brand-800);background:var(--brand-50);border:1px solid var(--brand-100)}@keyframes rec-eq{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.rec-eq{display:inline-flex;align-items:center;gap:2.5px;height:14px}.rec-eq i{width:3px;height:14px;border-radius:2px;background:var(--brand-600);animation:rec-eq .9s ease-in-out infinite}.rec-eq i:nth-child(2){animation-delay:-.25s;animation-duration:1.1s}.rec-eq i:nth-child(3){animation-delay:-.5s;animation-duration:.8s}.rec-eq i:nth-child(4){animation-delay:-.1s;animation-duration:1.2s}.rec-caption{font-size:var(--text-base);color:var(--text-subtle)}.rec-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.rec-timer-row{display:flex;align-items:flex-end;gap:var(--space-3)}.rec-timer{font-size:clamp(44px,4.4vw,64px);font-weight:800;line-height:.95;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--text-strong);transition:color .3s ease}.rec-timer--ending{color:var(--danger)}.rec-timer-sub{padding-bottom:5px;font-size:var(--text-xs);line-height:1.35;color:var(--text-subtle)}.rec-meter{width:100%;max-width:320px;height:4px;border-radius:var(--radius-pill);background:var(--surface-subtle);overflow:hidden}.rec-meter .progress-scale{transition:transform 1s linear}.iv-next{grid-area:controls;align-self:end;margin:0}.iv-advance{display:inline-flex;align-items:center;gap:var(--space-3);padding:8px 8px 8px 16px;border-radius:var(--radius-pill);font-size:var(--text-base);color:var(--text-muted);background:var(--surface-muted);border:1px solid var(--border-default)}.iv-foot{text-align:center;font-size:var(--text-xs);color:var(--text-subtle)}@media(max-width:980px){.iv-top{grid-template-columns:auto 1fr auto;gap:var(--space-4)}.iv-brand-name,.iv-brand-sub{display:none}.iv-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto auto;grid-template-areas:"question" "video" "alert" "controls" "actions" "next";row-gap:var(--space-5);border-radius:22px}.iv-stage .media-frame--interview,.iv-video-state{justify-self:center;width:min(100%,620px,calc((100dvh - 380px) * 4 / 3));min-width:min(100%,260px)}.rec-info{margin-top:0;padding-top:var(--space-4);min-height:0}.iv-next{grid-area:next;align-self:auto}.iv-stage .rec-actions{justify-self:start;justify-content:flex-start;margin-top:0}.iv-clock-label{display:none}}.notice-stack{position:fixed;top:var(--space-4);left:50%;transform:translate(-50%);z-index:50;width:min(560px,calc(100vw - 2 * var(--space-4)));pointer-events:none}.notice{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--space-3);padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-text);font-size:var(--text-base);font-weight:500;line-height:1.45;box-shadow:var(--shadow-lg);animation:fadeIn .25s ease}.notice--info{border-color:var(--brand-200);background:var(--brand-50);color:var(--brand-800)}.notice-text{flex:1}.notice-dismiss{flex-shrink:0;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer}.notice-dismiss:hover{background:#0f172a14}.notice-dismiss:focus-visible{outline:2px solid currentColor;outline-offset:1px}.dialog{border:none;padding:0;background:transparent;width:min(440px,calc(100vw - 2 * var(--space-4)));max-width:none;overflow:visible;overscroll-behavior:contain}.dialog::backdrop{background:#0f172a99;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.report-page{max-width:1100px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-12)}@media(max-width:640px){body{padding:0}.app-root,.page{padding:var(--space-4) var(--space-3)}.screen{padding:var(--space-5) var(--space-4)}.report-header{padding:var(--space-5);flex-direction:column}.report-card{padding:var(--space-5) var(--space-4)}.overall-top-row{flex-direction:column;align-items:flex-start}.strengths-improvements,.analysis-grid{grid-template-columns:1fr}.center-page{padding:var(--space-6) var(--space-3)}.card--feature{padding:var(--space-6) var(--space-5)}.topbar{padding:10px var(--space-4)}.topbar-email{display:none}.report-page{padding:var(--space-4) var(--space-3) var(--space-8)}.stepper-label{font-size:11px}}.btn{transition-duration:.16s;transition-timing-function:var(--ease-out)}.btn:active:not(:disabled){transform:scale(.97)}@media not ((hover:hover)and (pointer:fine)){.btn--primary:hover:not(:disabled){transform:none;box-shadow:0 1px 2px #7c3aed33}.list-card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-default)}.list-card:hover .list-card-arrow{transform:none;color:var(--text-faint)}.qs-pill:hover{transform:none}}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(8px)}}@keyframes vt-fade{0%{opacity:0}}::view-transition-old(root){animation:vt-out .1s var(--ease-out) both}::view-transition-new(root){animation:vt-in .2s var(--ease-out) 50ms both}.stepper{view-transition-name:stepper}::view-transition-group(stepper){animation-duration:.2s;animation-timing-function:var(--ease-in-out)}::view-transition-new(stepper):only-child{animation:vt-in .2s var(--ease-out) 50ms both}::view-transition-old(stepper):only-child{animation:vt-out .1s var(--ease-out) both}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes tick{0%{opacity:.5;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.notice{animation:none;opacity:1;transform:translateY(0);transition:opacity .22s var(--ease-out),transform .22s var(--ease-out)}@starting-style{.notice{opacity:0;transform:translateY(-100%)}}.status-icon{animation:pop-in .28s var(--ease-out) 60ms both}.recorded-badge{animation:pop-in .2s var(--ease-out)}.tick{animation:tick .2s var(--ease-out)}.dialog[open]{opacity:1;transform:none;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}@starting-style{.dialog[open]{opacity:0;transform:translateY(12px) scale(.97)}}.dialog[open]::backdrop{transition:background-color .2s ease-out}@starting-style{.dialog[open]::backdrop{background-color:#0f172a00}}.stepper-dot{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.stepper-item+.stepper-item:before{transition:background-color .2s ease}.media-frame{transition:border-color .2s ease,box-shadow .2s ease}.progress-scale{height:100%;width:100%;background:var(--brand-gradient);transform-origin:left center;transition:transform .25s var(--ease-in-out)}.media-frame--recording{border-color:var(--danger-border);box-shadow:0 0 0 4px #dc262614}.finalising-brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.finalising-brand-name{font-size:var(--text-base);font-weight:600;color:var(--text-muted);letter-spacing:.02em}.finalising{width:100%;max-width:460px;text-align:center;padding:var(--space-12) var(--space-8)}.finalising-ring{position:relative;width:88px;height:88px;margin:0 auto 28px}.finalising-ring-track,.finalising-ring-arc{position:absolute;inset:0;border-radius:50%;border:3px solid var(--brand-100)}.finalising-ring-arc{border-color:transparent;border-top-color:var(--brand-600);border-right-color:var(--brand-400);animation:spin 1.1s linear infinite}.finalising--dot .finalising-ring{width:96px;height:96px;perspective:420px}.finalising--dot .finalising-ring-track{border-width:1.5px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbit-rev{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.finalising-ticks{position:absolute;inset:9px;border-radius:50%;background:repeating-conic-gradient(from 0deg,var(--brand-400) 0deg 1.4deg,transparent 1.4deg 10deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));opacity:.35;animation:orbit 40s linear infinite reverse}.finalising-gyro,.gyro-plane,.gyro-spin,.gyro-bead,.gyro-unspin{position:absolute;inset:0;transform-style:preserve-3d}.gyro-plane--outer{transform:rotate(-24deg) rotateX(62deg)}.gyro-plane--inner{inset:20px;transform:rotate(38deg) rotateX(-56deg)}.gyro-plane--outer .gyro-spin{animation:orbit 2.1s cubic-bezier(.62,.18,.38,.82) infinite}.gyro-plane--inner .gyro-spin{animation:orbit-rev 3.3s linear infinite}.gyro-arc{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(124,58,237,0) 0deg,rgba(124,58,237,0) 150deg,var(--brand-300) 250deg,var(--brand-600) 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4.5px),#000 calc(100% - 3px),#000 calc(100% - 1.5px),transparent 100%);mask:radial-gradient(farthest-side,transparent calc(100% - 4.5px),#000 calc(100% - 3px),#000 calc(100% - 1.5px),transparent 100%)}.gyro-arc--inner{background:conic-gradient(from 0deg,var(--brand-500) 0deg,var(--brand-200) 90deg,rgba(124,58,237,0) 170deg,rgba(124,58,237,0) 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 2.5px),#000 calc(100% - 1px),transparent 100%);mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 2.5px),#000 calc(100% - 1px),transparent 100%)}.gyro-bead{inset:-2.5px auto auto 50%;width:8px;height:8px;margin-left:-4px}.gyro-unspin{animation:orbit-rev 2.1s cubic-bezier(.62,.18,.38,.82) infinite}.gyro-face{position:absolute;inset:0;border-radius:50%;transform:rotateX(-62deg) rotate(24deg);background:radial-gradient(circle at 35% 30%,#c4b5fd,var(--brand-600) 60%);box-shadow:0 0 10px 2px #7c3aed80}@keyframes breathe{0%,to{transform:scale(.86)}50%{transform:scale(1)}}@keyframes halo{0%{transform:scale(.9);opacity:.5}75%{opacity:0}to{transform:scale(2.6);opacity:0}}.finalising-dot{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#a78bfa 0%,var(--brand-600) 52%,var(--brand-800) 100%);box-shadow:0 2px 14px #7c3aed73;animation:breathe 2.8s ease-in-out infinite}.finalising-dot:after{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--brand-400);animation:halo 2.8s var(--ease-out) infinite}.finalising-ticks,.finalising-gyro{transition:opacity .2s var(--ease-out)}.finalising--done .finalising-ticks,.finalising--done .finalising-gyro{opacity:0}.finalising-wave{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:4px;transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}@keyframes wave{0%,to{transform:scaleY(.28)}50%{transform:scaleY(1)}}.finalising-bar{width:4px;height:30px;border-radius:2px;background:var(--brand-gradient);animation:wave 1s ease-in-out infinite;animation-delay:calc(var(--i) * -.19s)}.finalising-bar:nth-child(2){animation-duration:1.25s}.finalising-bar:nth-child(3){animation-duration:.85s}.finalising-bar:nth-child(4){animation-duration:1.4s}.finalising-bar:nth-child(5){animation-duration:.95s}.finalising-check{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.finalising-check-ring,.finalising-check-mark{fill:none;stroke:var(--success);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;opacity:0}.finalising-check-ring{stroke-width:2.5;transform:rotate(-90deg);transform-origin:48px 48px}.finalising-check-mark{stroke-width:5.5}.finalising--done .finalising-check-ring{opacity:1;stroke-dashoffset:0;transition:stroke-dashoffset .52s var(--ease-in-out) .14s,opacity 1ms linear .14s}.finalising--done .finalising-check-mark{opacity:1;stroke-dashoffset:0;transition:stroke-dashoffset .36s var(--ease-out) .62s,opacity 1ms linear .62s}@keyframes check-settle{0%{transform:scale(1)}45%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes check-pulse{0%{transform:scale(1);opacity:.45}to{transform:scale(1.42);opacity:0}}.finalising--done .finalising-check{animation:check-settle .38s var(--ease-out) .94s both}.finalising-pulse{position:absolute;inset:0;border-radius:50%;border:2px solid var(--success);opacity:0}.finalising--done .finalising-pulse{animation:check-pulse .62s var(--ease-out) .94s forwards}.finalising-ring-track{transition:border-color .2s ease,background-color .32s ease}.finalising--done .finalising-ring-track{border-color:transparent;background-color:var(--success-bg);transition-delay:0ms,.52s}.finalising--done .finalising-ring-arc{animation:none;opacity:0}.finalising--done .finalising-wave{opacity:0;transform:scale(.9)}.finalising--done .finalising-dot{opacity:0;animation:none}.finalising--done .finalising-dot:after{animation:none;opacity:0}.finalising-heading{font-size:var(--text-2xl);letter-spacing:-.02em;margin:0 0 var(--space-3)}.finalising-line{font-size:var(--text-md);color:var(--text-muted);margin:0 0 var(--space-6);min-height:1.5em}.finalising-line-text{display:inline-block;opacity:1;transform:translateY(0);filter:blur(0);transition:opacity .26s var(--ease-out),transform .26s var(--ease-out),filter .26s var(--ease-out)}.finalising-line-text.is-leaving{opacity:0;transform:translateY(-5px);filter:blur(2px);transition-duration:.17s}.finalising-hint{font-size:var(--text-sm);color:var(--text-subtle);line-height:1.5;margin:0}.finalising--done .finalising-ring,.status-icon--carried{view-transition-name:outcome-mark}::view-transition-group(outcome-mark){animation-duration:.28s;animation-timing-function:var(--ease-in-out)}.status-icon--carried{animation:none}@keyframes shimmer{to{background-position:-200% 0}}.skeleton{display:block;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-subtle) 25%,var(--brand-50) 50%,var(--surface-subtle) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.skeleton-card{display:flex;flex-direction:column;gap:var(--space-3)}@media(prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(root){animation:vt-out .1s linear both}::view-transition-new(root){animation:vt-fade .15s linear both}.btn:active:not(:disabled),.btn--primary:hover:not(:disabled),.list-card:hover .list-card-arrow,.qs-pill:hover{transform:none}.status-icon,.recorded-badge{animation:vt-fade .2s linear both}.tick{animation:none}.notice{transition:opacity .15s linear}@starting-style{.notice{transform:none}}.progress-scale{transition:none}.finalising-ring-arc{animation-duration:2.6s}.gyro-plane--outer .gyro-spin{animation:orbit 3.6s linear infinite}.gyro-unspin{animation:orbit-rev 3.6s linear infinite}.gyro-plane--inner .gyro-spin,.finalising-ticks{animation:none}.finalising-dot{animation:none;transform:none}.finalising-dot:after{animation:none;opacity:0}.finalising-line-text.is-leaving{transform:none;filter:none;transition:opacity .12s linear}.finalising-bar{animation:none;transform:scaleY(.6)}.finalising-bar:nth-child(2),.finalising-bar:nth-child(4){transform:scaleY(1)}.finalising-bar:nth-child(3){transform:scaleY(.4)}.finalising-wave{transition:opacity .15s linear;transform:none}.finalising--done .finalising-check-ring,.finalising--done .finalising-check-mark{transition:opacity .2s linear;stroke-dashoffset:0}.finalising--done .finalising-check,.finalising--done .finalising-pulse{animation:none}.finalising--done .finalising-ring-track{transition-delay:0ms}.finalising--done .finalising-wave{transform:none}.finalising-line-text{transition:opacity .15s linear}@starting-style{.finalising-line-text{transform:none;filter:none}}.dialog[open]{transition:opacity .1s linear}@starting-style{.dialog[open]{transform:none}}.skeleton{animation:none}.spinner{animation-duration:1.8s}}@media print{body{background:#fff;padding:0}.report-page{max-width:none;padding:0}.no-print{display:none!important}.report-screen{font-size:11pt}.report-header{background:var(--brand-700)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.accordion-body{display:block!important}.transcript-block{max-height:none}}.end-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:max(var(--space-10),12vh) var(--space-4) var(--space-12)}.end-screen>*{width:100%;max-width:640px}.end-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.feedback-title{font-size:var(--text-lg);margin:0 0 var(--space-1)}.feedback-title:focus{outline:none}.feedback-note{font-size:var(--text-sm);color:var(--text-subtle);margin:0 0 var(--space-5)}.feedback-note strong{font-weight:600;color:var(--text-default)}.feedback-group{position:relative;min-width:0;margin:0;padding:0;border:0}.feedback-legend,.feedback-label{display:block;padding:0;margin:0 0 var(--space-3);font-size:var(--text-md);font-weight:600;line-height:1.5;color:var(--text-strong)}.feedback-legend{float:left;width:100%}.feedback-legend+*{clear:both}.feedback-legend--title{margin-bottom:0}.feedback-legend-hint{font-size:var(--text-sm);font-weight:400;color:var(--text-subtle)}.feedback-input{position:absolute;inset:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none;opacity:0;cursor:pointer}.feedback-input,.feedback-link,.feedback-which,.feedback-comment{scroll-margin-bottom:148px}.feedback-choice,.feedback-chip,.feedback-question{position:relative;cursor:pointer}.feedback-choice-face,.feedback-chip-face{align-items:center;border:1px solid var(--border-strong);background:var(--surface-card);font-weight:500;line-height:1.3;color:var(--text-default);transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}.feedback-choices{display:flex;flex-direction:column;gap:var(--space-2)}.feedback-choice{display:block}.feedback-choice-face{display:flex;gap:var(--space-3);min-height:48px;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-md)}.feedback-status{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--text-muted)}.feedback-status:empty{display:none}.feedback-status--saved{color:var(--success-text)}.feedback-more{display:flex;flex-direction:column;gap:var(--space-6)}.feedback-group+.feedback-more{margin-top:var(--space-4)}.feedback-group+.feedback-more>*,.feedback-group~.feedback-footer{animation:fadeIn .24s ease}.feedback-thanks{color:var(--text-muted)}.feedback-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2)}@media(min-width:641px){.feedback-chips{grid-template-columns:repeat(2,1fr)}}.feedback-chip{display:flex}.feedback-chip-face{display:flex;flex:1;gap:var(--space-2);min-height:44px;padding:var(--space-1) var(--space-3) var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);text-wrap:balance}.feedback-mark{position:relative;flex-shrink:0;width:18px;height:18px;border:2px solid var(--text-subtle);border-radius:5px;background:var(--surface-card);transition:background var(--transition),border-color var(--transition)}.feedback-choice .feedback-mark{border-radius:50%}.feedback-which{margin-top:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-muted);animation:fadeIn .24s ease}.feedback-which .feedback-legend{margin-bottom:var(--space-1);font-size:var(--text-base)}.feedback-question{display:block}.feedback-question-face{display:flex;align-items:flex-start;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-1);margin:0 calc(-1 * var(--space-1));border-radius:var(--radius-sm)}.feedback-question-face .feedback-mark{margin-top:1px}.feedback-question-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-size:var(--text-sm);color:var(--text-muted)}.feedback-question-text strong{font-weight:600;color:var(--text-strong)}@media(hover:hover){.feedback-choice:hover .feedback-choice-face,.feedback-chip:hover .feedback-chip-face{border-color:var(--brand-400);background:var(--brand-50)}.feedback-question:hover .feedback-mark{border-color:var(--brand-600)}}.feedback-input:checked+.feedback-choice-face,.feedback-input:checked+.feedback-chip-face{border-color:var(--brand-600);box-shadow:inset 0 0 0 1px var(--brand-600);background:var(--brand-50);color:var(--brand-900)}.feedback-input:checked+span>.feedback-mark{border-color:var(--brand-600);background:var(--brand-600)}.feedback-input:checked+span>.feedback-mark:after{content:"";position:absolute;top:1px;left:4px;width:6px;height:10px;border:solid var(--text-on-brand);border-width:0 2px 2px 0;transform:rotate(45deg)}.feedback-choice .feedback-input:checked+span>.feedback-mark{background:var(--surface-card)}.feedback-choice .feedback-input:checked+span>.feedback-mark:after{top:3px;left:3px;width:8px;height:8px;border:4px solid var(--brand-600);border-radius:50%;transform:none}.feedback-input:focus-visible+span{border-color:var(--brand-600);box-shadow:var(--shadow-focus);outline:2px solid var(--brand-600);outline-offset:2px}.feedback-input:checked:focus-visible+.feedback-choice-face,.feedback-input:checked:focus-visible+.feedback-chip-face{box-shadow:inset 0 0 0 1px var(--brand-600),var(--shadow-focus)}.feedback-input:focus-visible+span>.feedback-mark{border-color:var(--brand-600)}.feedback .btn:focus-visible,.feedback-link:focus-visible,.feedback-comment:focus-visible{box-shadow:var(--shadow-focus);outline:2px solid var(--brand-600);outline-offset:2px}.feedback-comment{display:block;min-height:88px;max-height:220px;border-color:var(--text-subtle);line-height:1.5;resize:vertical;field-sizing:content}.feedback-comment:focus-visible{border-color:var(--brand-600)}@media(pointer:coarse){.feedback-comment{font-size:var(--text-lg)}}.feedback-count{position:absolute;top:100%;right:0;margin:var(--space-1) 0 0;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text-subtle)}.feedback-footer{margin:var(--space-6) 0 calc(-1 * var(--space-3));padding:var(--space-3) 0;border-top:1px solid var(--border-default);background:var(--surface-card)}.feedback-footer--pinned{position:sticky;bottom:0;z-index:1}.feedback-footer .btn{min-width:140px;min-height:44px}.feedback-error{margin:0 0 var(--space-3)}.feedback-spinner{flex-shrink:0;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.feedback--done{display:flex;align-items:flex-start;gap:var(--space-3)}.feedback--done .feedback-note{margin-bottom:0}.feedback-done-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--success-bg);color:var(--success-text);font-size:var(--text-md);font-weight:700}.feedback-link{min-height:44px;padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;font-family:inherit;font-size:inherit;font-weight:600;color:var(--brand-600);text-decoration:underline;cursor:pointer;transition:color var(--transition)}.feedback-link:hover{color:var(--brand-700)}.feedback-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:640px){.end-screen{padding:var(--space-6) var(--space-3) var(--space-10)}.feedback{padding:var(--space-5) var(--space-4)}.feedback-footer .btn{width:100%}}@media(prefers-reduced-motion:reduce){.feedback-group+.feedback-more>*,.feedback-group~.feedback-footer,.feedback-which,.feedback-spinner{animation:none}.feedback-choice-face,.feedback-chip-face,.feedback-mark,.feedback-link,.feedback-comment,.feedback .btn{transition:none}.feedback .btn--primary:hover:not(:disabled){transform:none}}
