:root{--bg:#f3f4f2;--surface:#fff;--ink:#1d2a33;--muted:#5b6a73;--line:#d6dbd9;--accent:#e0a100;--accent-ink:#1d2a33;--slate:#2f4858;--good:#1f7a4d;--good-bg:#e3f2ea;--bad:#b3362c;--bad-bg:#f8e4e1;--retry:#7a4fb0;--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100;--s5:#e87ba4;--s6:#008300;--s7:#4a3aa7;--display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;--body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141b20;--surface:#1d262d;--ink:#e7ecee;--muted:#9aa9b2;--line:#33424c;--accent:#f2b630;--accent-ink:#141b20;--slate:#9cc3d9;--good:#5cc98f;--good-bg:#183326;--bad:#f08a80;--bad-bg:#3a1f1c;--retry:#c4a3f0;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181;--s6:#008300;--s7:#9085e9;color-scheme:dark}}:root[data-theme=dark]{--bg:#141b20;--surface:#1d262d;--ink:#e7ecee;--muted:#9aa9b2;--line:#33424c;--accent:#f2b630;--accent-ink:#141b20;--slate:#9cc3d9;--good:#5cc98f;--good-bg:#183326;--bad:#f08a80;--bad-bg:#3a1f1c;--retry:#c4a3f0;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181;--s6:#008300;--s7:#9085e9;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:16px/1.55 var(--body);padding:24px 16px 48px}.wrap{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:20px}header h1{font:700 2.4rem/1 var(--display);letter-spacing:.01em;text-transform:uppercase;margin:0;text-wrap:balance}header h1 span{background:var(--accent);color:var(--accent-ink);padding:0 .25em}header p{margin:.6rem 0 0;color:var(--muted);max-width:62ch;font-size:.95rem}.bar{flex-wrap:wrap;gap:10px;align-items:end}.bar,.field{display:flex}.field{flex-direction:column;gap:4px;min-width:0;flex:1 1 150px}label.lbl{font:600 .72rem var(--body);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}button,select{font:500 .95rem var(--body);border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:.6rem .7rem}button{cursor:pointer}button.primary{background:var(--slate);border-color:var(--slate);color:var(--bg);font-weight:600}button:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.strip{display:flex;flex-wrap:wrap;gap:8px 20px;font:500 .85rem var(--mono);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.strip b{color:var(--ink)}.meter{height:6px;background:var(--line);border-radius:3px;overflow:hidden}.meter i{display:block;height:100%;background:var(--accent);width:0;transition:width .3s}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px 20px;display:flex;flex-direction:column;gap:16px}.tag{font:600 .72rem var(--body);text-transform:uppercase;letter-spacing:.08em;color:var(--slate)}.q{font:600 1.15rem/1.45 var(--body);margin:0}.opts{flex-direction:column;gap:8px}.opt,.opts{display:flex}.opt{text-align:left;gap:12px;align-items:flex-start;padding:.75rem .85rem;line-height:1.4}.opt .k{font:500 .85rem var(--mono);color:var(--muted);min-width:1.2em}.opt:hover:not(:disabled){border-color:var(--slate)}.opt:disabled{cursor:default}.opt.right{background:var(--good-bg);border-color:var(--good)}.opt.wrong{background:var(--bad-bg);border-color:var(--bad)}.why{border-left:4px solid var(--accent);padding:.2rem 0 .2rem .9rem;color:var(--ink);font-size:.95rem}.why strong{display:block;margin-bottom:.2rem}.nav{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}.done h2{font:700 2rem/1 var(--display);text-transform:uppercase;margin:0}.big{font:700 3.4rem/1 var(--display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.note{font-size:.85rem;color:var(--muted)}.guide{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;font-size:.92rem}.guide summary{cursor:pointer;font-weight:600;color:var(--slate)}.guide ul{margin:.6rem 0 0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.35rem;max-width:65ch}.note a{color:var(--slate)}.qnav{flex-wrap:wrap;gap:8px}.qnav #fwdQ,.qnav #next{margin-left:auto}.past{border-style:dashed}.past .pill{margin-left:.4rem;vertical-align:1px}.resume{border-color:var(--accent);border-width:2px}.progress h2{font:700 1.8rem/1 var(--display);text-transform:uppercase;margin:0}.progress h3{font:600 .78rem var(--body);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:.4rem 0 0}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:10px;gap:10px}.stats div{border:1px solid var(--line);border-radius:8px;padding:.6rem .75rem;display:flex;flex-direction:column;gap:2px}.stats span{font-size:.75rem;color:var(--muted)}.stats b{font:700 1.8rem/1 var(--display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chartbox{overflow-x:auto}.chartbox svg{width:100%;min-width:320px;height:auto;display:block}.chartbox .g{stroke:var(--line);stroke-width:1}.chartbox .tgt{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:5 4}.chartbox .t{fill:var(--muted);font:11px var(--mono)}.chartbox .ln{fill:none;stroke:var(--slate);stroke-width:2.5;stroke-linejoin:round}.chartbox .ar{fill:var(--slate);opacity:.12}.chartbox .dot{fill:var(--surface);stroke:var(--slate);stroke-width:2}.chartbox .rln{fill:none;stroke:var(--retry);stroke-width:2.5;stroke-dasharray:7 5;stroke-linejoin:round}.chartbox .rdot{fill:var(--surface);stroke:var(--retry);stroke-width:2}.chartbox .rdotl{fill:var(--retry)}.legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.8rem;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:6px}.lg{display:inline-block;width:22px;height:0;border-top:3px solid var(--slate)}.lg-retry{border-top:3px dashed var(--retry)}.chartbox .dotl{fill:var(--accent);stroke:var(--slate);stroke-width:2}.topics{display:flex;flex-direction:column;gap:8px}.trow{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(60px,1fr) auto;grid-gap:10px;gap:10px;align-items:center;font-size:.9rem}.tn{min-width:0}.tlink{cursor:pointer;border-radius:6px;padding:.25rem .35rem;margin:0 -.35rem}.tlink:hover{background:color-mix(in srgb,var(--slate) 8%,transparent)}.tlink:hover .tn{text-decoration:underline;text-underline-offset:2px}.tlink:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.tlink .tp:after{content:" ›";color:var(--muted)}.exb{display:inline-block;font:600 .66rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:0 .3rem;margin-right:.4rem;vertical-align:1px}.bar2,.exb{border-radius:4px}.bar2{height:8px;background:var(--line);overflow:hidden}.bar2 i{display:block;height:100%}.bar2 .ok{background:var(--good)}.bar2 .mid{background:var(--accent)}.bar2 .low{background:var(--bad)}.tp{font:500 .85rem var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.tp small{color:var(--muted)}.tablewrap{overflow-x:auto;max-height:420px;overflow-y:auto;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;font-size:.88rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td,th{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;background:var(--surface);position:-webkit-sticky;position:sticky;top:0}.pill,td small,th{color:var(--muted)}.pill{display:inline-block;font-size:.72rem;font-weight:600;padding:.1rem .45rem;border-radius:999px;border:1px solid var(--line);margin-right:.3rem}.pill.mock{border-color:var(--accent);color:var(--ink);background:color-mix(in srgb,var(--accent) 22%,transparent)}.unf{color:var(--muted);font-weight:500}.okt{color:var(--good)}.midt{color:var(--ink)}.lowt{color:var(--bad)}.arow{cursor:pointer}.arow:hover td{background:color-mix(in srgb,var(--slate) 8%,transparent)}.arow:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.arow td:nth-last-child(2):after{content:"›";float:right;color:var(--muted);font-weight:600;margin-left:.5rem}.hint{font:400 .8rem var(--body);color:var(--muted);text-transform:none;letter-spacing:0}.seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;align-self:flex-start}.seg button{border:0;border-radius:0;padding:.45rem .8rem;font-size:.85rem}.seg button.on{background:var(--slate);color:var(--bg)}.review{list-style:none;margin:0;padding:0;gap:10px}.review,.rv{display:flex;flex-direction:column}.rv{border:1px solid var(--line);border-left-width:4px;border-radius:8px;padding:.75rem .9rem;gap:.35rem}.rv-ok{border-left-color:var(--good)}.rv-bad{border-left-color:var(--bad)}.rq{font-weight:600}.ra,.rq{margin:0}.ra{font-size:.92rem}.rx{margin:0;font-size:.88rem;color:var(--muted)}.progress{scroll-margin-top:16px}.del{width:1%;white-space:nowrap;text-align:right}.xbtn{padding:.25rem .5rem;font-size:.8rem;color:var(--muted);background:transparent}.xbtn:hover{color:var(--bad);border-color:var(--bad)}.confirm{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.85rem}.confirm button{padding:.3rem .6rem;font-size:.82rem}.danger{background:var(--bad);border-color:var(--bad);color:var(--surface);font-weight:600}.ghostdanger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,var(--line));background:transparent}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.srcline{margin-top:.45rem;font-size:.85rem;color:var(--muted)}a.src{color:var(--slate);font-weight:500;text-underline-offset:2px;overflow-wrap:anywhere}.wrongbtn b{display:inline-block;min-width:1.6em;margin-left:.3rem;padding:0 .35rem;border-radius:999px;background:var(--bad);color:var(--surface);font:600 .8rem/1.5 var(--mono);text-align:center}.wrongcard{border:1px dashed color-mix(in srgb,var(--bad) 50%,var(--line));border-radius:8px;padding:.6rem .8rem;font-size:.9rem;display:flex;flex-direction:column;gap:.2rem}.revealrow{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}[hidden]{display:none!important}.opt.picked{border-color:var(--slate);background:color-mix(in srgb,var(--slate) 12%,var(--surface));box-shadow:inset 0 0 0 1px var(--slate)}.opt.picked .k{color:var(--slate);font-weight:700}.answerbtn{text-transform:uppercase;letter-spacing:.08em;padding:.65rem 1.6rem;order:2;margin-left:auto}.revealrow #pickNote{order:1;flex:1 1 180px;min-width:0}.answerbtn:disabled{opacity:.45;cursor:not-allowed}.revealbtn{font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;border-style:dashed;border-color:var(--slate);color:var(--slate);background:transparent}.revealbtn:hover{background:color-mix(in srgb,var(--slate) 10%,transparent)}.opt.right,.opt.right:disabled{background:var(--good-bg);border:2px solid var(--good);color:var(--ink);font-weight:600}.opt.right .k,.opt.right:after{color:var(--good);font-weight:700}.opt.right:after{content:"✓";margin-left:auto}.opt.wrong,.opt.wrong:disabled{background:var(--bad-bg);border:2px solid var(--bad);color:var(--ink);font-weight:600}.opt.wrong .k,.opt.wrong:after{color:var(--bad);font-weight:700}.opt.wrong:after{content:"✗";margin-left:auto}.opt:disabled:not(.right):not(.wrong){opacity:.6}.why-ok{border-left-color:var(--good);background:var(--good-bg);border-radius:0 8px 8px 0;padding:.6rem .9rem}.why-ok strong{color:var(--good)}.why-bad{border-left-color:var(--bad);background:var(--bad-bg);border-radius:0 8px 8px 0;padding:.6rem .9rem}.why-bad strong{color:var(--bad)}.contbtn{padding:.25rem .55rem;font-size:.78rem;font-weight:600;margin-top:.35rem;border-color:var(--slate);color:var(--slate);background:transparent;white-space:nowrap}.contbtn:hover{background:var(--slate);color:var(--bg)}.pill.part{border-color:var(--slate);color:var(--slate)}.tcwrap summary{cursor:pointer;list-style:none}.tcwrap summary::-webkit-details-marker{display:none}.tcwrap summary h3{display:inline}.tcwrap summary:before{content:"▸";color:var(--muted);margin-right:.4rem;display:inline-block;transition:transform .15s}.tcwrap[open] summary:before{transform:rotate(90deg)}.tcgroup{display:flex;flex-direction:column;gap:8px;margin-top:12px}.tcg{font:700 1.05rem/1 var(--display);text-transform:uppercase;letter-spacing:.03em;color:var(--slate)}.tcgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px;gap:10px}.tc{border:1px solid var(--line);border-radius:8px;padding:.6rem .7rem;display:flex;flex-direction:column;gap:4px;min-width:0;cursor:pointer;transition:border-color .15s,background .15s}.tc:hover{border-color:var(--slate);background:color-mix(in srgb,var(--slate) 5%,transparent)}.tc:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.tc.empty{opacity:.75}.tch .tct:after{content:" ›";color:var(--muted)}.tch{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.tct{font-weight:600;font-size:.88rem;min-width:0}.tch b{font:700 1.4rem/1 var(--display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tcs{font-size:.75rem}.tcq,.tcs{color:var(--muted)}.tcq{font-size:.78rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tcq b{color:var(--ink);font-weight:600}.tc svg{width:100%;height:auto;display:block}.tc .g{stroke:var(--line);stroke-width:1}.tc .tgt{stroke:var(--accent);stroke-width:1.2;stroke-dasharray:4 3}.tc .t{fill:var(--muted);font:9px var(--mono)}.tc .ln{fill:none;stroke:var(--slate);stroke-width:2;stroke-linejoin:round}.tc .ar{fill:var(--slate);opacity:.12}.tc .dot{fill:var(--surface)}.tc .dot,.tc .dotl{stroke:var(--slate);stroke-width:1.5}.tc .dotl{fill:var(--accent)}.tlseg{margin-top:.2rem}.tlchips{display:flex;flex-wrap:wrap;gap:6px;margin:.6rem 0 .2rem}.tlchip{display:inline-flex;align-items:center;gap:6px;padding:.3rem .6rem;font-size:.8rem;border-radius:999px;opacity:.55;background:transparent}.tlchip.on{opacity:1;border-color:var(--slate)}.tlchip:disabled{opacity:.35;cursor:not-allowed}.tlchip i{width:10px;height:10px;border-radius:50%;background:var(--c);flex:none}.tlchip:not(.on) i{background:transparent;box-shadow:inset 0 0 0 2px var(--c)}.tlchip b{font:600 .78rem var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tlchart{position:relative;max-width:620px}.tlchart svg{touch-action:pan-y}.tlhit{cursor:crosshair}.tlguide{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.tlg{transition:opacity .12s}.tlg.dim{opacity:.25}.tlavg.dim{opacity:.45}.ttavg{border-bottom:1px solid var(--line);padding-bottom:4px;margin-bottom:2px}.avgchip,.ttavg{font-weight:600}.avgchip i{border-radius:2px;width:14px;height:4px}.avgchip:not(.on) i{box-shadow:none;background:var(--muted)}.tlg.hot .tlp{stroke-width:3.5}.tltip{position:absolute;z-index:3;pointer-events:none;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.18);padding:.5rem .6rem;font-size:.8rem;min-width:180px;max-width:240px;display:flex;flex-direction:column;gap:3px}.tth{font-weight:600;color:var(--muted);font-size:.74rem;margin-bottom:2px}.ttr{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;grid-gap:6px;gap:6px;align-items:center}.ttr i{width:10px;height:10px;border-radius:50%}.ttr span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ttr b{font:600 .8rem var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ttr small{color:var(--muted);font:.72rem var(--mono)}.ttr.hot{font-weight:600}.ttr.hot span{text-decoration:underline;text-underline-offset:2px}.top{flex-direction:column;gap:12px}.tabs,.top{display:flex}.tabs{gap:4px;border-bottom:2px solid var(--line)}.tabs button{border:0;border-radius:6px 6px 0 0;background:transparent;padding:.55rem 1rem;font-weight:600;color:var(--muted);margin-bottom:-2px;border-bottom:3px solid transparent}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.tabs button:hover{color:var(--ink)}.view{display:flex;flex-direction:column;gap:20px}.intro{color:var(--muted);font-size:.95rem;max-width:62ch}.rdgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:12px;gap:12px}.rd{border:1px solid var(--line);border-top:4px solid var(--line);border-radius:10px;padding:.8rem .9rem;display:flex;flex-direction:column;gap:8px;min-width:0}.rd-ok{border-top-color:var(--good)}.rd-mid{border-top-color:var(--accent)}.rd-low{border-top-color:var(--bad)}.rdh{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.rdn{font:700 1.05rem/1 var(--display);text-transform:uppercase;letter-spacing:.03em}.rdpill{font-size:.75rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.rd-ok .rdpill{color:var(--good);border-color:var(--good);background:var(--good-bg)}.rd-mid .rdpill{color:var(--ink);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}.rd-low .rdpill{color:var(--bad);border-color:var(--bad);background:var(--bad-bg)}.rdbig{font:700 2.6rem/1 var(--display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rdbig small{font:400 .8rem var(--body);color:var(--muted);margin-left:.3rem}.rdbar{position:relative;height:10px;background:var(--line);margin:4px 0 18px}.rdbar,.rdbar i{border-radius:5px}.rdbar i{display:block;height:100%;background:var(--slate)}.rd-ok .rdbar i{background:var(--good)}.rd-mid .rdbar i{background:var(--accent)}.rd-low .rdbar i{background:var(--bad)}.rdbar b{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink);transform:translateX(-1px)}.rdbar em{position:absolute;top:14px;transform:translateX(-50%);font:500 .68rem var(--mono);font-style:normal;white-space:nowrap}.rdbar em,.rdnote{color:var(--muted)}.rdnote{margin:0;font-size:.82rem}.rdnote a{color:var(--slate);font-weight:600}.rdhow{font-size:.85rem;color:var(--muted)}.rdhow summary{cursor:pointer;color:var(--slate);font-weight:600}.rdhow p{margin:.5rem 0 0;max-width:68ch}.duo{gap:16px}.duo,.duo>section{display:flex;flex-direction:column}.duo>section{gap:10px;min-width:0}@media (min-width:1000px){body{padding:28px 32px 56px}.wrap{max-width:1180px;gap:24px}.top{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:2px solid var(--line);padding-bottom:0}.top h1{font-size:2.2rem;padding-bottom:12px}.tabs{border-bottom:0}.tabs button{padding:.7rem 1.3rem;font-size:1rem}#viewPractice{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:28px;gap:28px;align-items:start}.side{position:-webkit-sticky;position:sticky;top:20px;display:flex;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}.side,.side .bar{flex-direction:column}.side .bar{align-items:stretch;gap:12px}.side .field{flex:none}.side .bar button{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center}.side .bar #start{justify-content:center;text-align:center}.sidestat{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:14px}.side select{width:100%;min-width:0}.side .strip{display:flex;flex-direction:column;gap:6px;font-size:.82rem}.side .strip span{display:block}.duo-b .trow{grid-template-columns:minmax(0,1.3fr) minmax(50px,.8fr) auto}.mainq{min-width:0}.mainq .card{padding:28px 30px;gap:20px}.mainq .q{font-size:1.35rem}.mainq .opt{padding:.95rem 1.1rem;font-size:1.02rem}.mainq .done .big{font-size:4.2rem}#viewProgress{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:24px;gap:24px;align-items:start}#viewProgress .intro{grid-column:1;grid-row:1}#viewProgress .guide{grid-column:2;grid-row:1/span 1}#viewProgress .progress,#viewProgress .wrongcard{grid-column:1/-1}.progress{padding:28px 30px}.progress h2{font-size:2.2rem}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.duo{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-gap:32px;gap:32px;align-items:start}.duo>section{display:flex;flex-direction:column;gap:10px;min-width:0}.tlchart{max-width:none}.tcgrid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (min-width:1000px) and (max-width:1180px){.duo{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.meter i{transition:none}}.sitenav{max-width:1180px;margin:0 auto 22px;display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;justify-content:space-between}.brand{font:700 1.45rem/1 var(--display);text-transform:uppercase;letter-spacing:.02em;color:var(--ink);text-decoration:none}.brand:before{content:"";display:inline-block;width:.7em;height:.7em;background:var(--accent);margin-right:.35em;vertical-align:.02em}.navlinks{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}.navlinks a{color:var(--ink);text-decoration:none;font-weight:500}.navlinks a:hover{text-decoration:underline;text-underline-offset:3px}.navcta{background:var(--slate);color:var(--bg)!important;padding:.45rem .9rem;border-radius:6px}.trialchip{font-size:.8rem;border:1px solid var(--accent);border-radius:999px;padding:.15rem .6rem;background:color-mix(in srgb,var(--accent) 18%,transparent)}.sitemain{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.sitefoot{max-width:1180px;margin:48px auto 0;border-top:1px solid var(--line);padding-top:16px;font-size:.82rem}.sitefoot,.sitefoot a{color:var(--muted)}.pagetitle{font:700 2.2rem/1.05 var(--display);text-transform:uppercase;margin:0;text-wrap:balance}.lede{font-size:1.1rem;color:var(--muted);max-width:60ch;margin:0}.btnlink{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:.7rem 1.2rem;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font-weight:600}.btnlink.primary{background:var(--slate);border-color:var(--slate);color:var(--bg)}.btnrow{display:flex;flex-wrap:wrap;gap:10px}.hero{display:grid;grid-gap:18px;gap:18px;padding:12px 0 8px}.hero h1{font:700 clamp(2.4rem,6vw,4.4rem)/.95 var(--display);text-transform:uppercase;margin:0;max-width:16ch;text-wrap:balance}.hero h1 em{font-style:normal;background:var(--accent);color:var(--accent-ink);padding:0 .15em}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:14px;gap:14px}.features .card h3{margin:0;font:700 1.15rem/1.1 var(--display);text-transform:uppercase;letter-spacing:.02em}.features .card p{margin:0;color:var(--muted)}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px;max-width:860px}.plan{display:flex;flex-direction:column;gap:12px}.plan.best{border:2px solid var(--accent)}.plan .price{font:700 2.2rem/1 var(--display)}.plan ul{margin:0;padding-left:1.1rem;color:var(--muted);display:flex;flex-direction:column;gap:4px}.plan form{margin-top:auto}.plan button{width:100%}.flash{border-radius:8px;padding:.6rem .8rem;margin:0}.flash.ok{background:var(--good-bg);color:var(--ink);border:1px solid var(--good)}.flash.err{background:var(--bad-bg);color:var(--ink);border:1px solid var(--bad)}.cat{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:10px;gap:10px;align-items:start}.course{display:flex;gap:12px;align-items:center;padding:.8rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);text-decoration:none;min-width:0}a.course:hover{border-color:var(--slate)}.course .code{flex:none;font:700 1.05rem/1 var(--display);background:var(--slate);color:var(--bg);border-radius:6px;padding:.4rem .5rem;min-width:3.3em;text-align:center}.course.soon{opacity:.6}.course.soon .code{background:var(--line);color:var(--muted)}.course .nm{min-width:0;font-weight:500;line-height:1.3}.course small{display:block;color:var(--muted);font-size:.75rem}.authbox{max-width:420px;margin:0 auto;width:100%}.authform{display:flex;flex-direction:column;gap:8px}.authform input{font:inherit;padding:.65rem .7rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}.authform button{margin-top:8px}.googlebtn{justify-content:center;font-weight:600;padding:.7rem}.googlebtn,.orline{display:flex;align-items:center;gap:10px}.orline{color:var(--muted);font-size:.8rem}.orline:after,.orline:before{content:"";flex:1 1;border-top:1px solid var(--line)}.authlinks{display:flex;flex-wrap:wrap;gap:8px 16px}.linkbtn{border:0;background:none;padding:0;color:var(--slate);text-decoration:underline;cursor:pointer;font:inherit}.loadingcard{color:var(--muted)}.legal{max-width:72ch}.legal h2{font:700 1.3rem/1.1 var(--display);text-transform:uppercase;margin:1.4rem 0 .4rem}.legal li,.legal p{color:var(--ink)}.draft{border:1px dashed var(--accent);padding:.6rem .8rem;border-radius:8px;font-size:.88rem}.sitemain .wrap{max-width:none;width:100%}.catsec{display:flex;flex-direction:column;gap:12px}.catsec>.lbl,.crumbs{font-size:.85rem;margin:0}.crumbs,.crumbs a{color:var(--muted)}.stategrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:8px;gap:8px}.statecard{display:flex;flex-direction:column;gap:2px;padding:.65rem .8rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);text-decoration:none}.statecard b{font-weight:600;color:var(--ink)}.statecard small{font-size:.75rem}.statecard.live{border-color:var(--slate);border-left:4px solid var(--accent)}.statecard.live small{color:var(--good);font-weight:600}.statecard:hover{border-color:var(--slate)}details.course{display:block;padding:0}details.course summary{display:flex;gap:12px;align-items:center;padding:.8rem .9rem;cursor:pointer;list-style:none}details.course summary::-webkit-details-marker{display:none}details.course[open]{opacity:1}.wlform{display:flex;gap:6px;padding:0 .9rem .9rem;flex-wrap:wrap}.wlform input{flex:1 1 160px;min-width:0;font:inherit;padding:.5rem .6rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}.oauthlist{display:flex;flex-direction:column;gap:8px}.oauthbtn{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:600;padding:.7rem;width:100%}.oauth-apple{background:#000;color:#fff;border-color:#000}.oauth-apple:hover{background:#1f1f1f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .oauth-apple{background:#fff;color:#000;border-color:#fff}}:root[data-theme=dark] .oauth-apple{background:#fff;color:#000;border-color:#fff}.oauth-facebook{background:#1877f2;color:#fff;border-color:#1877f2}.oauth-facebook svg circle{fill:#fff}.oauth-facebook svg path{fill:#1877f2}