body{margin:0}[hidden]{display:none!important}:root{--bg:#f4f6fb;--surface:#fff;--ink:#111a38;--muted:#56607f;--line:#d9deec;--accent:#3b4fd9;--accent-ink:#fff;--brand:#12a876;--track:#e3e7f2;--code-bg:#eef1f8;--good:#0f7a55;--good-bg:#ddf5ea;--warn:#8a5a00;--warn-bg:#fcefcb;--bad:#b3261e;--bad-bg:#fbe3e0;--display:"Space Grotesk", "Trebuchet MS", sans-serif;--body:"IBM Plex Sans", "Segoe UI", Arial, sans-serif;--mono:"JetBrains Mono", "Courier New", monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a1026;--surface:#131c3d;--ink:#f1f4fb;--muted:#a9b4d2;--line:#27325c;--accent:#8c9bff;--accent-ink:#0a1026;--brand:#3ddc97;--track:#222c52;--code-bg:#0e1634;--good:#5fe0a8;--good-bg:#12382e;--warn:#ffc857;--warn-bg:#3d3112;--bad:#ff9a8f;--bad-bg:#44201f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0a1026;--surface:#131c3d;--ink:#f1f4fb;--muted:#a9b4d2;--line:#27325c;--accent:#8c9bff;--accent-ink:#0a1026;--brand:#3ddc97;--track:#222c52;--code-bg:#0e1634;--good:#5fe0a8;--good-bg:#12382e;--warn:#ffc857;--warn-bg:#3d3112;--bad:#ff9a8f;--bad-bg:#44201f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55}.wrap{flex-direction:column;gap:28px;max-width:900px;margin-inline:auto;padding-block:20px 56px;padding-inline:20px;display:flex}#main{flex-direction:column;gap:24px;min-width:0;display:flex}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.15}p,dl,dd,ul{margin:0}a{color:var(--accent)}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.top{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.brand{font-family:var(--display);background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:18px;font-weight:700;display:flex}.brand svg{flex:none}.nav{flex-wrap:wrap;gap:6px;display:flex}.tab{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 13px;font-weight:500}.tab[aria-current=page]{border-color:var(--line);background:var(--surface);color:var(--ink)}.lead{flex-direction:column;gap:10px;display:flex}.lead h1{font-size:clamp(28px,5vw,40px)}.lead p{color:var(--muted);max-width:65ch}.eyebrow{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px}.h2{font-size:22px}.doors{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.door{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;min-width:0;padding:24px;display:flex}.door:hover{border-color:var(--accent)}.door h2{font-size:24px}.door p{color:var(--muted)}.door .go{color:var(--accent);margin-top:auto;padding-top:8px;font-weight:600}.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;min-width:0;padding:16px 18px;display:flex}.stat b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:30px;line-height:1.1}.stat span{color:var(--muted);font-size:14px}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-block}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.small{padding:6px 12px;font-size:14px;font-weight:500}.btn[disabled]{opacity:.5;cursor:not-allowed}.linkbtn{color:var(--accent);background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.domain{border-top:2px solid var(--ink);flex-direction:column;gap:12px;padding-top:22px;display:flex}.domain-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 16px;display:flex}.bar{background:var(--track);border-radius:5px;height:10px;display:flex;overflow:hidden}.bar i{height:100%;display:block}.bar .no{background:var(--bad)}.note{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.rows{flex-direction:column;padding:0;list-style:none;display:flex}.row{border-top:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:4px 12px;padding:14px 0;display:grid}.row .id{font-family:var(--mono);color:var(--muted);padding-top:2px;font-size:14px}.row h3{font-size:17px;font-family:var(--body);font-weight:600;line-height:1.3}.row .idea{color:var(--muted);max-width:65ch;margin-top:4px;font-size:15px}.row .side{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.pill{white-space:nowrap;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-block}.pill.solid,.pill.going,.pill.high{background:var(--good-bg);color:var(--good);border-color:#0000}.pill.shaky,.pill.mid{background:var(--warn-bg);color:var(--warn);border-color:#0000}.pill.weak,.pill.low{background:var(--bad-bg);color:var(--bad);border-color:#0000}@media (width<=560px){.row{grid-template-columns:40px minmax(0,1fr)}.row .side{grid-column:2;justify-content:flex-start}}.picker{border-top:1px solid var(--line);flex-direction:column;display:flex}.pick{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;display:grid}.pick input{width:18px;height:18px;accent-color:var(--accent)}.pick b{font-weight:600}.check{color:var(--muted);cursor:pointer;align-items:center;gap:10px;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:16px;min-width:0;padding:clamp(18px,4vw,28px);display:flex}.exam{align-items:start;gap:16px;display:grid}.scen{background:var(--code-bg);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:18px;display:flex}.scen h3{font-size:17px;line-height:1.3}.scen p:last-child{color:var(--muted);font-size:15px;line-height:1.5}@media (width>=860px){.exam{grid-template-columns:minmax(0,5fr) minmax(0,9fr)}}.timer{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.timer.low{color:var(--bad)}.opt.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.qnav{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;margin-top:10px;display:grid}.qn{border:1px solid var(--line);background:var(--surface);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:8px;padding:8px 0;font-size:13px}.qn.ans{background:var(--track);color:var(--ink)}.qn.cur{border-color:var(--accent);color:var(--ink);font-weight:700}.revs{flex-direction:column;margin-top:10px;display:flex}.rev{border-top:1px solid var(--line);padding:12px 0}.rev summary{cursor:pointer;font-size:15px}.rev[open]{flex-direction:column;gap:12px;display:flex}.rev div.opt{cursor:default}.quiz{flex-direction:column;gap:18px;display:flex}.quiz-top{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:14px;display:flex}.stem{font-family:var(--body);font-size:clamp(16px,2.2vw,18px);font-weight:500;line-height:1.5}.opts{flex-direction:column;gap:10px;display:flex}.opt{text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:10px;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;padding:12px 14px;display:grid}.opt .letter{font-family:var(--mono);color:var(--muted)}.opt .mark{margin-top:2px;font-size:13px;font-weight:600;display:block}.opt.right{border-color:var(--good);background:var(--good-bg)}.opt.right .mark{color:var(--good)}.opt.wrong{border-color:var(--bad);background:var(--bad-bg)}.opt.wrong .mark{color:var(--bad)}.opt[disabled]{cursor:default;color:var(--ink);opacity:1}.feedback{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:14px;display:flex}.verdict{font-family:var(--display);font-size:18px;font-weight:700}.verdict.ok{color:var(--good)}.verdict.no{color:var(--bad)}.muted{color:var(--muted);font-size:15px}.advice{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;gap:10px;padding:20px 22px;display:flex}.advice h2{font-size:22px}.advice.low{border-color:var(--bad)}.advice.mid{border-color:var(--warn)}.advice.high{border-color:var(--good)}.advice p{max-width:68ch}.lesson{flex-direction:column;gap:22px;display:flex}.lesson section,.terms{flex-direction:column;gap:10px;display:flex}.terms dt{font-weight:600;font-family:var(--mono);font-size:14px}.terms dd{color:var(--muted);max-width:68ch}.codewrap{background:var(--code-bg);border:1px solid var(--line);border-radius:10px;overflow-x:auto}.codewrap pre{font-family:var(--mono);color:var(--ink);white-space:pre;margin:0;padding:16px 18px;font-size:13.5px;line-height:1.6}.anti{flex-direction:column;padding:0;list-style:none;display:flex}.anti li{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding:12px 0;display:flex}.anti b{font-weight:600}.anti span{color:var(--muted)}.empty{color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:10px;padding:18px}.foot{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:10px;max-width:75ch;padding-top:16px;font-size:13px;display:flex}.confirm{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (prefers-reduced-motion:no-preference){.bar i{transition:width .3s}}:root{--grad-a:#3b4fd9;--grad-b:#7a4fe0;--s1:#12a876;--s2:#e09600;--s3:#7a4fe0;--s4:#0e9fc2;--c1:#0f7a55;--c2:#8a5a00;--c3:#6b3fd4;--c4:#0b7896;--shadow:0 1px 2px #111a380f, 0 8px 24px #111a3814;--shadow-lift:0 2px 4px #111a3814, 0 16px 36px #3b4fd92e;--code-ink:#e6ecff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--grad-a:#8c9bff;--grad-b:#b79cff;--s1:#3ddc97;--s2:#ffc857;--s3:#b79cff;--s4:#7ce7ff;--c1:#3ddc97;--c2:#ffc857;--c3:#b79cff;--c4:#7ce7ff;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000047;--shadow-lift:0 2px 4px #0000004d, 0 16px 36px #8c9bff33}}:root[data-theme=dark]{--grad-a:#8c9bff;--grad-b:#b79cff;--s1:#3ddc97;--s2:#ffc857;--s3:#b79cff;--s4:#7ce7ff;--c1:#3ddc97;--c2:#ffc857;--c3:#b79cff;--c4:#7ce7ff;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000047;--shadow-lift:0 2px 4px #0000004d, 0 16px 36px #8c9bff33}body{background:radial-gradient(900px 520px at 105% -10%, color-mix(in srgb, var(--s3) 15%, transparent), transparent 62%), radial-gradient(800px 520px at -10% 8%, color-mix(in srgb, var(--s1) 13%, transparent), transparent 62%), var(--bg);background-attachment:fixed}.brand:hover svg{transform:rotate(40deg)}.tab:hover{background:var(--track);color:var(--ink)}.tab[aria-current=page],.tab[aria-current=page]:hover{background:linear-gradient(120deg, var(--grad-a), var(--grad-b));color:var(--accent-ink);box-shadow:0 4px 14px color-mix(in srgb, var(--grad-a) 35%, transparent);border-color:#0000}@media (width>=760px){.top{z-index:5;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-top:-12px;padding-top:12px;position:sticky;top:0}}.hero{isolation:isolate;color:#f4f7fb;box-shadow:var(--shadow);background:linear-gradient(135deg,#0a1026 0%,#152562 52%,#0b4150 100%);border-radius:20px;padding:clamp(24px,5vw,46px);position:relative;overflow:hidden}.hero:before,.hero:after{content:"";z-index:-1;pointer-events:none;border-radius:50%;position:absolute}.hero:before{background:radial-gradient(circle,#3ddc976b,#3ddc9700 68%);width:520px;height:520px;top:-260px;right:-200px}.hero:after{border:3px solid #3ddc978c;width:300px;height:300px;bottom:-150px;right:-90px;box-shadow:0 0 0 46px #ffffff0d,-560px 40px 160px 40px #966eff73}.hero h1{max-width:20ch}.hero p{color:#c9d3ee}.hero .eyebrow{color:#3ddc97}.door{--s:var(--s1);--c:var(--c1);border-top:4px solid var(--s);box-shadow:var(--shadow);background-image:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--s) 18%, transparent), transparent 58%)}.door:nth-child(2){--s:var(--s2);--c:var(--c2)}.door:nth-child(3){--s:var(--s3);--c:var(--c3)}.door .eyebrow,.door .go{color:var(--c)}button.door:hover{border-color:var(--s);box-shadow:var(--shadow-lift);transform:translateY(-4px)}button.door:active{transform:translateY(-1px)}.door .go:after{content:" →";margin-left:4px;display:inline-block}button.door:hover .go:after{transform:translate(5px)}.stat{--s:var(--s1);border-top:3px solid var(--s);box-shadow:var(--shadow)}.stat:nth-child(2){--s:var(--s4)}.stat:nth-child(3){--s:var(--s2)}.stat b{background:linear-gradient(120deg, var(--grad-a), var(--grad-b));color:#0000;-webkit-background-clip:text;background-clip:text}.btn:hover:not([disabled]){border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.btn:active:not([disabled]){box-shadow:none;transform:translateY(0)}.btn.primary{background:linear-gradient(120deg, var(--grad-a), var(--grad-b));border-color:#0000}.btn.primary:hover:not([disabled]){box-shadow:0 8px 22px color-mix(in srgb, var(--grad-a) 40%, transparent);border-color:#0000}.linkbtn:hover{text-decoration-thickness:2px}.domain{border-top:3px solid var(--s3)}.domain:nth-of-type(5n+1){border-top-color:var(--s1)}.domain:nth-of-type(5n+2){border-top-color:var(--s2)}.domain:nth-of-type(5n+3){border-top-color:var(--s3)}.domain:nth-of-type(5n+4){border-top-color:var(--s4)}.domain:nth-of-type(5n+5){border-top-color:var(--accent)}.row .id{background:var(--track);color:var(--ink);text-align:center;border-radius:6px;padding:2px 0;font-size:13px}.row:hover .id{background:linear-gradient(120deg, var(--grad-a), var(--grad-b));color:var(--accent-ink)}.bar{border-radius:6px;height:12px}.bar .ok{background:linear-gradient(90deg, var(--good), var(--brand))}.pick{border-radius:10px;padding-inline:12px}.pick:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.pick:has(input:checked){background:color-mix(in srgb, var(--accent) 9%, transparent)}.pick:has(input:checked) b{color:var(--accent)}.card{box-shadow:var(--shadow)}.scen{border-left:4px solid var(--s3);background:linear-gradient(160deg, color-mix(in srgb, var(--s3) 12%, var(--code-bg)), var(--code-bg) 60%)}.scen .eyebrow{color:var(--c3)}.quiz-top .timer{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px 12px}.quiz-top .timer.low{border-color:var(--bad)}.opt .letter{background:var(--track);width:26px;height:26px;color:var(--ink);border-radius:50%;place-items:center;font-size:13px;display:grid}button.opt:hover:not([disabled]){border-color:var(--accent);background:var(--surface);transform:translate(3px)}button.opt:hover:not([disabled]) .letter,.opt.sel .letter{background:linear-gradient(120deg, var(--grad-a), var(--grad-b));color:var(--accent-ink)}.opt.sel{background:color-mix(in srgb, var(--accent) 9%, var(--surface))}.opt.right .letter{background:var(--good);color:var(--surface)}.opt.wrong .letter{background:var(--bad);color:var(--surface)}.qn:hover{border-color:var(--accent);color:var(--ink)}.qn.ans{background:color-mix(in srgb, var(--accent) 16%, var(--surface));border-color:#0000}.qn.cur{background:linear-gradient(120deg, var(--grad-a), var(--grad-b));color:var(--accent-ink);border-color:#0000}.rev summary:hover{color:var(--accent)}.advice{box-shadow:var(--shadow);border-left-width:5px}.advice.low{background:color-mix(in srgb, var(--bad-bg) 55%, var(--surface))}.advice.mid{background:color-mix(in srgb, var(--warn-bg) 55%, var(--surface))}.advice.high{background:color-mix(in srgb, var(--good-bg) 55%, var(--surface))}.terms dt{color:var(--c3)}.codewrap{box-shadow:var(--shadow);border-color:#27325c;border-top:3px solid var(--s1);background:#0e1634}.codewrap pre{color:var(--code-ink)}.anti li{border-top:0;border-left:3px solid var(--bad);background:color-mix(in srgb, var(--bad-bg) 45%, transparent);border-radius:0 8px 8px 0;margin-top:8px;padding:10px 14px}@media (prefers-reduced-motion:no-preference){.brand svg,.tab,.btn,.door,.door .go:after,.opt,.opt .letter,.qn,.pick,.row .id{transition:transform .18s,box-shadow .18s,border-color .18s,background-color .18s,color .18s}.brand svg{transition-duration:.4s}.enter>*{animation:.42s cubic-bezier(.2,.7,.2,1) both rise}.enter>:nth-child(2){animation-delay:60ms}.enter>:nth-child(3){animation-delay:.12s}.enter>:nth-child(4){animation-delay:.18s}.enter>:nth-child(n+5){animation-delay:.22s}button.opt.right{animation:.38s pop}button.opt.wrong{animation:.38s shake}.timer.low{animation:1.2s ease-in-out infinite pulse}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.025)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}60%{transform:translate(4px)}}@keyframes pulse{50%{opacity:.55}}}.acct{align-items:center;gap:10px;min-width:0;display:flex}.acct-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:22ch;font-size:14px;overflow:hidden}.auth{border:1px solid var(--line);background:var(--surface);width:min(420px,100vw - 32px);color:var(--ink);box-shadow:var(--shadow-lift);border-radius:14px;padding:24px}.auth::backdrop{background:#0a102673}.auth form{flex-direction:column;gap:14px;display:flex}.auth h2{font-size:22px}.field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.field input{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:16px;font-weight:400}.field input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.auth-msg{background:var(--track);border-radius:8px;padding:10px 12px;font-size:14px}.auth-msg.good{background:var(--good-bg);color:var(--good)}.auth-msg.bad{background:var(--bad-bg);color:var(--bad)}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.auth-links:empty{display:none}a.door,a.btn{color:inherit;text-decoration:none}a.door{color:var(--ink)}a.btn.primary{color:var(--accent-ink)}.skip{position:absolute;left:-9999px}.skip:focus{z-index:10;background:var(--surface);border-radius:8px;padding:8px 12px;top:12px;left:16px}.notfound{flex-direction:column;gap:14px;display:flex}a.brand{color:var(--ink);text-decoration:none}a.tab{text-decoration:none}
