:root{color-scheme:dark;--bg:#071526;--panel:#0e2138;--line:#27415d;--ink:#eff7ff;--muted:#aabbd0;--teal:#1cc4ca;--blue:#3b82f6;--gold:#d5b34b;--danger:#ff9c9c;--warning:#f8d585}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 75% 0,#103b55 0,transparent 36%),var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select{font:inherit}
button{border:0;border-radius:10px;background:linear-gradient(120deg,var(--teal),var(--blue));color:#04111e;padding:.78rem 1rem;font-weight:800;cursor:pointer}
button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}
button:disabled{opacity:.55;cursor:wait}
input,select{width:100%;margin:.35rem 0 1rem;padding:.78rem;border:1px solid var(--line);border-radius:9px;background:#07182a;color:var(--ink)}
label{display:block;font-weight:700}label span{font-weight:400;color:var(--muted)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:var(--gold);color:#111;padding:.5rem;z-index:10}
.topbar{display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding:1rem max(1rem,calc((100vw - 1050px)/2))}.topbar p{margin:0;color:var(--muted)}
.brand{color:var(--ink);text-decoration:none;font-size:1.35rem;font-weight:900;letter-spacing:.08em}.brand span{color:var(--teal)}.mark{color:var(--gold);margin-right:.5rem}
main{width:min(1050px,calc(100% - 2rem));margin:clamp(2rem,6vw,5rem) auto}.panel{background:color-mix(in srgb,var(--panel) 93%,transparent);border:1px solid var(--line);border-radius:18px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 22px 60px #0005}.panel>h1,.panel>h2{margin-top:0}
#login{max-width:500px;margin:auto}.status{text-align:center;max-width:620px;margin:auto}.status p{color:var(--muted)}
.spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--teal);border-radius:50%;margin:0 auto 1rem;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.eyebrow{margin:0 0 .4rem;color:var(--teal);font-size:.78rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.muted{color:var(--muted)}
.workspace-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.workspace-head h1{margin:.1rem 0}.workspace-head p{margin:0}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.warning{border-color:#7c6334;color:var(--warning)}.result{margin-top:1.25rem}.result-head{display:flex;justify-content:space-between;gap:1rem;align-items:center}.result-head h2{margin:0}.result-head span{color:var(--muted);font-size:.85rem}
.message{min-height:1.5rem;color:var(--danger)}.score{font-size:2rem;font-weight:900;color:var(--teal)}.badge{display:inline-block;padding:.2rem .55rem;border:1px solid var(--line);border-radius:999px;margin:.2rem;color:var(--muted)}
.result-list{padding-left:1.25rem}.result-list li{margin:.45rem 0}footer{text-align:center;color:var(--muted);padding:2rem 1rem;font-size:.85rem}.noscript{margin:1rem;color:var(--danger)}
[hidden]{display:none!important}
@media(max-width:720px){.grid{grid-template-columns:1fr}.topbar p{display:none}.workspace-head{align-items:center}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
