:root{--bg: #fbfbfd;--surface: #ffffff;--surface-2: #f4f5f8;--surface-3: #eceef3;--line: #e3e6ed;--line-strong: #d2d7e1;--text: #14161c;--text-2: #565d6b;--text-3: #858c9a;--accent: #4a5cf5;--accent-hover: #3a4ce8;--accent-soft: #eef0fe;--accent-line: #c9cffb;--on-accent: #ffffff;--good: #12855a;--good-soft: #e6f5ee;--warn: #9a6800;--warn-soft: #fdf3e0;--bad: #c8354a;--bad-soft: #fdeef0;--shadow-sm: 0 1px 2px rgba(18, 22, 34, .05);--shadow: 0 2px 8px rgba(18, 22, 34, .06), 0 1px 2px rgba(18, 22, 34, .04);--shadow-lg: 0 16px 48px rgba(18, 22, 34, .16), 0 2px 8px rgba(18, 22, 34, .08);--r-sm: 8px;--r: 12px;--r-lg: 16px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0c0d11;--surface: #14161c;--surface-2: #1a1d25;--surface-3: #22262f;--line: #262a34;--line-strong: #363b47;--text: #f0f2f6;--text-2: #a4abba;--text-3: #767d8c;--accent: #7b8bff;--accent-hover: #8f9cff;--accent-soft: rgba(123, 139, 255, .13);--accent-line: rgba(123, 139, 255, .32);--on-accent: #0c0d11;--good: #4ad18d;--good-soft: rgba(74, 209, 141, .12);--warn: #e0b355;--warn-soft: rgba(224, 179, 85, .12);--bad: #ff8593;--bad-soft: rgba(255, 133, 147, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 2px 10px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .6)}}:root[data-theme=dark]{--bg: #0c0d11;--surface: #14161c;--surface-2: #1a1d25;--surface-3: #22262f;--line: #262a34;--line-strong: #363b47;--text: #f0f2f6;--text-2: #a4abba;--text-3: #767d8c;--accent: #7b8bff;--accent-hover: #8f9cff;--accent-soft: rgba(123, 139, 255, .13);--accent-line: rgba(123, 139, 255, .32);--on-accent: #0c0d11;--good: #4ad18d;--good-soft: rgba(74, 209, 141, .12);--warn: #e0b355;--warn-soft: rgba(224, 179, 85, .12);--bad: #ff8593;--bad-soft: rgba(255, 133, 147, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 2px 10px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .6)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font:inherit;cursor:pointer;color:inherit}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft)}.app{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:8px;padding:0 20px;height:58px;flex-shrink:0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);position:sticky;top:0;z-index:30}.topbar .spacer{flex:1}.brand{display:inline-flex;align-items:center;background:none;border:none;padding:6px 10px 6px 0;color:var(--text)}.brand:disabled{cursor:default}.page{flex:1;width:100%;max-width:780px;margin:0 auto;padding:48px 24px 96px}.page.wide{max-width:900px}@media(max-width:640px){.page{padding:32px 18px 72px}.topbar{padding:0 14px}}h1{font-size:clamp(28px,4.2vw,36px);line-height:1.15;letter-spacing:-.032em;font-weight:660;margin:0 0 10px}h2{font-size:19px;letter-spacing:-.018em;font-weight:640;margin:0 0 14px}h3{font-size:15.5px;font-weight:620;letter-spacing:-.008em;margin:0 0 6px}p{margin:0 0 12px}.lede{color:var(--text-2);font-size:17px;line-height:1.55;margin-bottom:34px;max-width:62ch}.dim{color:var(--text-2)}.faint{color:var(--text-3);font-size:13.5px;line-height:1.55}.mono{font-family:var(--mono);font-size:.94em}.section-head{font-size:12px;font-weight:680;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);margin:36px 0 14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.card-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.card-title h2{margin:0}.stat-row{display:flex;gap:28px;flex-wrap:wrap}.stat .n{font-size:24px;font-weight:660;letter-spacing:-.02em;display:block;line-height:1.2}.stat .l{font-size:12.5px;color:var(--text-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-strong);background:var(--surface);padding:9px 16px;border-radius:9px;font-weight:530;font-size:14.5px;box-shadow:var(--shadow-sm);transition:background .14s ease,border-color .14s ease,transform .06s ease}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 35%,transparent)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--text-2)}.btn.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 34%,transparent);background:transparent;box-shadow:none}.btn.danger:hover:not(:disabled){background:var(--bad-soft)}.btn.lg{padding:12px 22px;font-size:15.5px;border-radius:10px}.btn.sm{padding:6px 12px;font-size:13.5px;border-radius:8px}.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.icon-btn{width:34px;height:34px;border-radius:9px;border:1px solid transparent;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--text-2);font-size:15px;transition:background .14s ease,color .14s ease}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.only-light{display:none}.only-dark{display:inline}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .only-light{display:inline}:root:not([data-theme=light]) .only-dark{display:none}}:root[data-theme=dark] .only-light{display:inline}:root[data-theme=dark] .only-dark{display:none}.field{margin-bottom:28px}.field-label{display:block;font-weight:600;font-size:14.5px;margin-bottom:3px;letter-spacing:-.006em}.field .help{color:var(--text-2);font-size:13.5px;line-height:1.5;margin-bottom:12px}.req{color:var(--accent);margin-left:4px;font-size:13px}.text-input,select.text-input,textarea.text-input{width:100%;background:var(--surface);border:1px solid var(--line-strong);border-radius:9px;padding:10px 13px;box-shadow:var(--shadow-sm);transition:border-color .14s ease,box-shadow .14s ease}.text-input::placeholder{color:var(--text-3)}.text-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}select.text-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:none;cursor:pointer}.tiles{display:grid;gap:10px}.tiles.two{grid-template-columns:1fr 1fr}@media(max-width:640px){.tiles.two{grid-template-columns:1fr}}.tile{text-align:left;width:100%;display:block;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:13px 15px;box-shadow:var(--shadow-sm);transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.tile:hover{border-color:var(--text-3)}.tile.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.tile .tile-name{font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14.5px}.tile .tile-desc{color:var(--text-2);font-size:13px;line-height:1.45;margin-top:4px}.seg{display:inline-flex;background:var(--surface-2);border-radius:9px;padding:3px;gap:2px}.seg-btn{border:none;background:transparent;padding:6px 14px;border-radius:7px;font-size:13.5px;font-weight:540;color:var(--text-2);transition:background .14s ease,color .14s ease}.seg-btn.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.badge{font-size:10.5px;font-weight:660;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--text-2);white-space:nowrap}.badge.accent{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chip{font-size:12.5px;padding:4px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--text-2)}.firm-blurb{margin-top:14px;padding:16px 18px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);font-size:14px;line-height:1.6;color:var(--text-2)}.firm-blurb strong{color:var(--text);font-weight:620}.tile-cost{margin-left:auto;font-size:12.5px;font-weight:500;color:var(--text-3);white-space:nowrap}.realism{display:flex;align-items:center;gap:9px;margin:7px 0 2px}.realism-bar{flex:1;height:5px;border-radius:999px;background:var(--surface-3);overflow:hidden;display:block}.realism-bar>span{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .3s ease}.realism-n{font-size:12.5px;font-weight:640;color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}.realism-n small{font-weight:500;color:var(--text-3)}.focus-group{border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:8px;overflow:hidden;background:var(--surface)}.focus-head{display:flex;align-items:center;gap:11px;padding:12px 15px}.focus-toggle{display:flex;align-items:center;gap:10px;flex:1;background:none;border:none;padding:0;text-align:left;min-width:0}.focus-toggle .caret{color:var(--text-3);font-size:10px;width:10px;flex-shrink:0}.focus-toggle .name{font-weight:570;font-size:14.5px}.focus-toggle .count{font-size:13px;color:var(--text-3);margin-left:auto;text-align:right}.focus-body{padding:4px 16px 14px 40px;display:grid;grid-template-columns:1fr 1fr;gap:2px 20px;border-top:1px solid var(--line)}@media(max-width:700px){.focus-body{grid-template-columns:1fr;padding-left:20px}}.check{display:flex;align-items:flex-start;gap:10px;padding:7px 0;cursor:pointer}.check input{margin:3px 0 0;accent-color:var(--accent);flex-shrink:0;width:15px;height:15px}.check .c-label{font-size:14px;display:block}.check .c-hint{color:var(--text-3);font-size:12.5px;display:block;line-height:1.45}.loading-wrap{text-align:center;padding:88px 20px}.spinner{width:30px;height:30px;margin:0 auto 24px;border:2.5px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-steps{color:var(--text-2);font-size:14px;margin-top:20px}.loading-steps div{padding:4px 0;opacity:.3;transition:opacity .35s ease,color .35s ease}.loading-steps div.on{opacity:1;color:var(--text)}.interview{display:flex;flex-direction:column;height:calc(100vh - 58px);min-height:0}.stage-bar{display:flex;gap:5px;align-items:center;padding:11px 20px;border-bottom:1px solid var(--line);background:var(--surface);overflow-x:auto;flex-shrink:0;scrollbar-width:none}.stage-bar::-webkit-scrollbar{display:none}.stage-pill{font-size:12px;font-weight:540;padding:4px 11px;border-radius:999px;white-space:nowrap;border:1px solid transparent;color:var(--text-3);transition:all .2s ease}.stage-pill.done{color:var(--text-2)}.stage-pill.on{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.timer{font-variant-numeric:tabular-nums;font-size:13px;color:var(--text-3);white-space:nowrap}.transcript{flex:1;overflow-y:auto;padding:32px 20px;min-height:0}.transcript-inner{max-width:700px;margin:0 auto}.turn{margin-bottom:26px;animation:rise .28s ease both}@keyframes rise{0%{opacity:0;transform:translateY(5px)}}.turn .who{font-size:11.5px;font-weight:660;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}.turn.interviewer .who{color:var(--accent)}.turn .body{white-space:pre-wrap;line-height:1.65}.turn.candidate .body{color:var(--text-2)}.turn .body pre{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;overflow-x:auto;font-family:var(--mono);font-size:12.5px;line-height:1.55;margin:12px 0;white-space:pre;color:var(--text)}.composer{border-top:1px solid var(--line);background:var(--surface);padding:16px 20px;flex-shrink:0}.composer-inner{max-width:700px;margin:0 auto;display:flex;gap:10px;align-items:flex-end}.composer textarea{flex:1;resize:none;min-height:44px;max-height:200px;background:var(--bg);border:1px solid var(--line-strong);border-radius:10px;padding:11px 13px;line-height:1.5}.composer textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.mic-wrap{max-width:700px;margin:0 auto;text-align:center}.mic-btn{width:66px;height:66px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);font-size:23px;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:all .16s ease}.mic-btn:hover:not(:disabled){transform:scale(1.04)}.mic-btn.rec{border-color:var(--bad);background:var(--bad-soft);color:var(--bad);animation:pulse 1.6s ease-in-out infinite}.mic-btn:disabled{opacity:.4;cursor:not-allowed;animation:none;transform:none}@keyframes pulse{50%{box-shadow:0 0 0 14px color-mix(in srgb,var(--bad) 8%,transparent)}}.mic-hint{color:var(--text-2);font-size:13.5px;margin-top:12px;min-height:20px}.status-line{color:var(--text-3);font-size:13.5px;padding:6px 0;display:flex;align-items:center;gap:8px}.status-line:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:blink 1.3s ease-in-out infinite}@keyframes blink{50%{opacity:.25}}.orb{width:92px;height:92px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--line);transition:background .3s ease,border-color .3s ease}.orb-core{width:44px;height:44px;border-radius:50%;background:var(--text-3);transition:background .3s ease,transform .09s ease-out}.orb.listening{border-color:var(--accent-line);background:var(--accent-soft)}.orb.listening .orb-core{background:var(--accent)}.orb.speaking{border-color:var(--good);background:var(--good-soft)}.orb.speaking .orb-core{background:var(--good);animation:breathe 1.5s ease-in-out infinite}.orb.thinking .orb-core,.orb.processing .orb-core{animation:breathe 1.1s ease-in-out infinite}@keyframes breathe{50%{transform:scale(.78);opacity:.55}}.score-hero{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.score-big{font-size:54px;font-weight:680;line-height:1;letter-spacing:-.04em}.score-big small{font-size:19px;color:var(--text-3);font-weight:500;letter-spacing:-.01em}.rec-badge{font-size:13px;font-weight:620;padding:6px 14px;border-radius:999px;border:1px solid var(--line-strong);display:inline-block;white-space:nowrap}.rec-badge.good{color:var(--good);border-color:color-mix(in srgb,var(--good) 32%,transparent);background:var(--good-soft)}.rec-badge.mid{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 32%,transparent);background:var(--warn-soft)}.rec-badge.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 32%,transparent);background:var(--bad-soft)}.stage-card{border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:10px;background:var(--surface);box-shadow:var(--shadow-sm)}.stage-card-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.stage-card-head h3{margin:0;flex:1}.dots{display:flex;gap:4px}.dot{width:8px;height:8px;border-radius:50%;background:var(--line-strong)}.dot.on{background:var(--accent)}.fb-block{margin-bottom:12px}.fb-block:last-child{margin-bottom:0}.fb-label{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px}.moments{margin:6px 0 0;padding-left:18px}.moments li{margin-bottom:6px;color:var(--text-2);font-size:14px}.actions-list{counter-reset:a;list-style:none;padding:0;margin:0}.actions-list li{counter-increment:a;position:relative;padding-left:38px;margin-bottom:14px}.actions-list li:last-child{margin-bottom:0}.actions-list li:before{content:counter(a);position:absolute;left:0;top:1px;width:25px;height:25px;border-radius:50%;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-line);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:680}.banner{border-radius:var(--r-sm);padding:13px 16px;margin-bottom:18px;font-size:14px;line-height:1.55;border:1px solid var(--line-strong);background:var(--surface-2)}.banner.error{border-color:color-mix(in srgb,var(--bad) 30%,transparent);background:var(--bad-soft);color:var(--bad)}.banner.warn{border-color:color-mix(in srgb,var(--warn) 30%,transparent);background:var(--warn-soft);color:var(--warn)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1280;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:5vh 20px 40px;z-index:60;overflow-y:auto;animation:fade .16s ease}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;width:100%;max-width:580px;box-shadow:var(--shadow-lg);animation:pop .2s cubic-bezier(.16,1,.3,1)}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.985)}}.modal-head{display:flex;align-items:center;margin-bottom:20px}.modal-head h2{margin:0;flex:1;font-size:20px}.modal-foot{display:flex;align-items:center;gap:10px;padding-top:18px;border-top:1px solid var(--line);margin-top:4px}.meta-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:var(--text-2);font-size:13.5px}.meta-row .sep{color:var(--text-3)}.meta-row b{color:var(--text);font-weight:600}hr.rule{border:none;border-top:1px solid var(--line);margin:32px 0}.list-clean{padding-left:20px;margin:0;color:var(--text-2)}.list-clean li{margin-bottom:8px}.list-clean li:last-child{margin-bottom:0}@media print{body{background:#fff;color:#111}.topbar,.btn,.btn-row,.no-print,.icon-btn{display:none!important}.card,.stage-card{border-color:#ddd;background:#fff;box-shadow:none;break-inside:avoid}.dim,.faint,.fb-label,.moments li{color:#444}h1,h2,h3,.score-big{color:#111}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
