@charset "UTF-8";
:root{color-scheme:dark;--bg:#0d1a24;--surface:rgba(22,44,58,.74);--ink:#f1fbff;--muted:#a8c4d1;--line:rgba(140,205,220,.2);--accent:#5ee2e6;--accent-text:#092d39;--input:#122b3b;--shadow:0 24px 80px #0004;--danger:#ffab95;--good:#83efbe}
:root[data-theme=light]{color-scheme:light;--bg:#f0fcfd;--surface:rgba(255,255,255,.8);--ink:#102d41;--muted:#496977;--line:rgba(27,67,114,.2);--accent:#1b637b;--accent-text:#fff;--input:#fff;--shadow:0 24px 80px #1b43721a;--danger:#9e3a26;--good:#16603c}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;transition:background .25s,color .25s}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:active:not(:disabled){transform:scale(.975)}a{color:inherit;text-decoration:none}button{transition:transform .16s,background .2s,border .2s}button:hover:not(:disabled){filter:brightness(1.1)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}input{width:100%;color:var(--ink);background:var(--input);border:1px solid var(--line);border-radius:14px;padding:13px 16px}input:focus{border-color:var(--accent)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.skip{position:fixed;top:-80px;left:15px;z-index:10;background:var(--accent);color:var(--accent-text);padding:10px}.skip:focus{top:10px}.ambient{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 15% 45%,#2b8eab23,transparent 50%),radial-gradient(ellipse at 100% 10%,#3567a521,transparent 45%);z-index:-1}.topbar,footer{max-width:1240px;margin:auto;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:13px;font-size:12px;font-weight:800;letter-spacing:.15em}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:400;letter-spacing:.02em;margin-top:3px}.brand-icon{border:1px solid var(--line);border-radius:14px;padding:12px 10px;font-size:18px;letter-spacing:-.1em}.brand-icon span{color:var(--accent)}.top-actions{display:flex;align-items:center;gap:15px}.version{font-size:11px;letter-spacing:.16em;color:var(--muted)}.icon-btn{background:var(--surface);color:var(--ink);border:1px solid var(--line);width:42px;height:42px;border-radius:50%;font-size:24px}main{max-width:1176px;margin:25px auto 60px;padding:0 28px;min-height:70vh}.welcome{display:grid;grid-template-columns:1.06fr 1fr;gap:68px;align-items:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.2em;color:var(--accent);margin:0 0 18px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:7px;box-shadow:0 0 16px var(--accent)}h1,h2,p{margin-top:0}h1{font-size:clamp(43px,5.2vw,70px);line-height:1.03;letter-spacing:-.055em;margin-bottom:22px;font-weight:850}h1>span{color:var(--accent)}h2{font-size:25px;letter-spacing:-.03em;margin-bottom:24px}.lead{font-size:17px;line-height:1.6;color:var(--muted)}.glass{background:var(--surface);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.start-form{padding:34px}.phase-picker{display:grid;grid-template-columns:1fr 1fr;border:0;padding:0;margin:0 0 25px;gap:12px}.phase-picker label{position:relative;cursor:pointer}.phase-picker input{position:absolute;opacity:0;width:1px;height:1px}.phase-picker label>span{display:block;padding:17px;border:1px solid var(--line);border-radius:18px}.phase-picker input:checked+span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent);box-shadow:inset 0 0 0 1px var(--accent)}.phase-picker input:focus-visible+span{outline:3px solid var(--accent);outline-offset:4px}.phase-picker small{display:block;color:var(--accent);font-size:12px;margin-bottom:13px}.phase-picker strong{display:block;font-size:17px}.phase-picker em{display:block;font-style:normal;color:var(--muted);font-size:11px;margin-top:4px}.field-label{display:block;font-weight:650;font-size:13px;margin-bottom:8px}.code-row{display:flex;gap:10px}.code-row input{font-family:ui-monospace,monospace;font-size:18px;letter-spacing:.1em;text-transform:uppercase;min-width:0}.code-row button{white-space:nowrap;font-size:12px}.hint{font-size:12px;color:var(--muted);line-height:1.65;margin:8px 0 16px}.rules{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin:18px 0}.rules strong{color:var(--ink)}.primary,.secondary{border:0;border-radius:14px;padding:14px 20px;font-weight:750;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px}.primary{color:var(--accent-text);background:var(--accent);box-shadow:0 7px 22px #0002}.secondary{color:var(--ink);background:var(--input);border:1px solid var(--line)}.start-form>.primary{width:100%;justify-content:space-between}.text-btn{background:none;color:var(--accent);border:0;padding:10px;font-size:13px}.privacy{font-size:11px;color:var(--muted);line-height:1.6;margin:17px 0 0}.warning{font-size:12px;color:var(--danger)}.baseline-hint{font-size:12px;color:var(--good);min-height:0;margin-bottom:0}.orbit{position:relative;width:300px;height:185px;margin:5px 0 15px 70px;perspective:600px}.orb{position:absolute;left:90px;top:37px;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;font-weight:500;font-size:39px;letter-spacing:-.08em;color:#d9ffff;border:1px solid #5ee2e688;background:radial-gradient(circle at 35% 25%,#93eeef99,#176589aa 50%,#102d4488 80%);box-shadow:inset -14px -15px 30px #00243eaa,inset 6px 6px 18px #c3ffff55,0 0 70px #43a9b844}.orbit-ring{position:absolute;inset:15px 0;border:1px solid #43a9b87a;border-radius:50%;transform:rotate(-25deg);box-shadow:0 0 20px #5ee2e60c}.orbit-ring.two{inset:25px 10px;transform:rotate(35deg)}.orb-label{font-size:8px;letter-spacing:.17em;color:var(--muted);position:absolute;background:var(--bg);padding:4px 7px}.label-a{left:6px;top:40px}.label-b{right:0;top:64px}.label-c{bottom:0;left:115px}.facts{display:flex;gap:35px}.facts>div{display:flex;flex-direction:column}.facts strong{font-size:30px;font-weight:700;letter-spacing:-.05em}.facts strong span{font-size:17px;letter-spacing:0}.facts>div>span{font-size:11px;color:var(--muted)}footer{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;padding-bottom:22px}.exam-view{max-width:850px;margin:0 auto}.exam-top{display:flex;align-items:center;justify-content:space-between}.exam-top .eyebrow{margin-bottom:6px}.timer{font-size:22px;font-variant-numeric:tabular-nums;white-space:nowrap;background:var(--surface);padding:10px 18px;border:1px solid var(--line);border-radius:14px}.timer.urgent{color:var(--danger)}.progress{height:4px;background:var(--line);border-radius:10px;margin:16px 0 25px;overflow:hidden}.progress>div{background:var(--accent);height:100%;transition:width .2s}.question-nav{display:flex;gap:8px;margin:0 0 24px;flex-wrap:wrap}.question-nav button{background:var(--surface);color:var(--muted);width:40px;height:40px;border-radius:12px;border:1px solid var(--line);font-size:12px}.question-nav button.answered{background:color-mix(in srgb,var(--accent) 20%,var(--bg));color:var(--ink)}.question-nav button[aria-current=true]{border:2px solid var(--accent);color:var(--accent)}.question-panel{padding:36px}.question-meta{display:flex;gap:20px;justify-content:space-between;color:var(--muted);font-size:12px;margin-bottom:25px}.question-meta span:first-child{color:var(--accent)}.question-panel h1{font-size:clamp(23px,2.6vw,32px);letter-spacing:-.025em;line-height:1.4;margin-bottom:28px}.question-panel fieldset{padding:0;border:0;margin:0}.option{display:block;position:relative;margin-bottom:11px;cursor:pointer}.option input{position:absolute;opacity:0;width:1px;height:1px}.option>span{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:16px;padding:15px 18px;transition:background .2s,border .2s;background:var(--input);font-size:14px}.option b{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border:1px solid var(--line);border-radius:9px;font-size:12px;font-weight:500;color:var(--muted)}.option input:checked+span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--input))}.option input:checked+span b{background:var(--accent);color:var(--accent-text)}.option input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.question-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:30px}.question-actions .hint{margin:0}.finish-btn{display:block;margin:20px auto}.result-view{max-width:800px;margin:auto;text-align:center}.result-view>h1{font-size:44px}.result-card{padding:35px}.score-ring{width:180px;height:180px;margin:0 auto 30px;border-radius:50%;background:conic-gradient(var(--accent) var(--score,0%),var(--line) 0);display:grid;place-items:center}.score-ring>div{width:158px;height:158px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column}.score-ring strong{font-size:60px;line-height:1.1;letter-spacing:-.055em}.score-ring span{font-size:13px;color:var(--muted)}.result-numbers{display:flex;justify-content:center;gap:58px}.result-numbers>div{display:flex;flex-direction:column}.result-numbers strong{font-size:30px}.result-numbers span{font-size:12px;color:var(--muted)}.result-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:26px}.comparison{padding:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0 20px}.comparison strong{display:block;color:var(--accent);font-size:28px;letter-spacing:-.03em}.comparison p{font-size:13px;color:var(--muted);margin:5px 0}.review{text-align:left;margin-top:28px}.review article{padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:20px;margin-bottom:15px}.review h2{font-size:17px;line-height:1.5;margin:12px 0}.review p{font-size:13px}.review-status{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.06em}.review .explanation{color:var(--muted);margin-bottom:0}.email-section{text-align:left;margin:28px 0;padding:24px}.email-section summary{font-size:14px;cursor:pointer;font-weight:600}.email-section summary+p{margin-top:15px}.email-section form{max-width:460px}.email-section input{margin-bottom:12px}.consent{display:flex;align-items:flex-start;gap:12px;font-size:11px;color:var(--muted);margin:10px 0 20px}.consent input{width:18px;height:18px;margin:2px 0 0}.email-section button{width:100%}dialog{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:24px;padding:30px;max-width:450px;width:calc(100% - 32px);box-shadow:var(--shadow)}dialog::backdrop{background:#00101dbb;backdrop-filter:blur(5px)}dialog h2{font-size:23px}dialog p{color:var(--muted);font-size:14px}.dialog-actions{display:flex;justify-content:space-between;gap:12px;margin-top:25px}
@media(prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--bg:#f0fcfd;--surface:rgba(255,255,255,.8);--ink:#102d41;--muted:#496977;--line:rgba(27,67,114,.2);--accent:#1b637b;--accent-text:#fff;--input:#fff;--shadow:0 24px 80px #1b43721a;--danger:#9e3a26;--good:#16603c}}
@media(max-width:900px){.welcome{gap:28px}.start-form{padding:25px}.orbit{margin-left:20px;transform:scale(.9);transform-origin:left center}.facts{gap:25px}.intro .eyebrow{font-size:8px}}
@media(max-width:680px){.topbar,footer{padding:20px}.brand{font-size:10px}.brand-icon{font-size:17px;padding:10px 8px}.version{display:none}main{padding:0 18px;margin:18px auto 40px}.welcome{grid-template-columns:1fr;gap:27px}.intro{position:relative}.intro h1{font-size:51px;max-width:300px}.lead{font-size:15px}.desktop{display:none}.orbit{position:absolute;right:0;top:20px;transform:scale(.43);transform-origin:100% 0;opacity:.5;pointer-events:none}.facts{margin-top:22px;gap:34px}.facts strong{font-size:26px}.facts>div>span{font-size:10px}.start-form{padding:24px}.question-panel{padding:23px 18px;border-radius:24px}.question-meta{font-size:10px;margin-bottom:20px}.option>span{padding:13px 12px;font-size:13px;gap:12px}.question-actions{flex-wrap:wrap}.question-actions .hint{order:3;width:100%;text-align:center;margin-top:12px}.question-nav{gap:6px}.question-nav button{width:calc((100% - 54px)/10);height:34px;border-radius:9px;min-width:24px}.exam-top .eyebrow{font-size:8px}.timer{font-size:20px;padding:8px 12px}.result-card{padding:25px 16px}.result-view>h1{font-size:36px}.result-numbers{gap:40px}.result-actions{flex-direction:column}.result-actions button{width:100%}footer{font-size:10px}.email-section{padding:20px}.question-panel h1{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Participant recovery uses only records on this browser. */
.recovery{margin:6px 0 18px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--input)}.recovery-options{display:flex;flex-direction:column;gap:8px}.recovery-options button{text-align:left;justify-content:flex-start;overflow-wrap:anywhere}.recovery .hint{margin-top:0}#participant-name{margin-bottom:0}#exam-sync:empty,#result-sync:empty{display:none}#result-sync[data-state=error],#exam-sync[data-state=error]{color:var(--danger)}#result-sync[data-state=saved]{color:var(--good)}
