:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}body{margin:0;font:14px system-ui,sans-serif}img{max-width:100%}[hidden]{display:none!important}:root{--bg:#eef2ee;--card:#fff;--ink:#14201a;--muted:#56655c;--line:#d3dbd5;--guide:#0b6b45;--guide-ink:#fff;--sign:#ffc72c;--sign-ink:#1a1400;--good:#1d7a46;--good-bg:#e2f3e8;--bad:#b3261e;--bad-bg:#fbe6e4;--warn-bg:#fff3cf;--plate:#fff;--f-display:"Overpass","Highway Gothic","Arial Narrow",system-ui,sans-serif;--f-body:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;--r:12px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d1411;--card:#16201b;--ink:#e7eee9;--muted:#9daea4;--line:#2a3830;--guide:#0e7a4f;--guide-ink:#fff;--sign:#ffc72c;--sign-ink:#1a1400;--good:#5bd08e;--good-bg:#14301f;--bad:#ff8a80;--bad-bg:#3a1714;--warn-bg:#332a0c;--plate:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0d1411;--card:#16201b;--ink:#e7eee9;--muted:#9daea4;--line:#2a3830;--guide:#0e7a4f;--guide-ink:#fff;--sign:#ffc72c;--sign-ink:#1a1400;--good:#5bd08e;--good-bg:#14301f;--bad:#ff8a80;--bad-bg:#3a1714;--warn-bg:#332a0c;--plate:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:17px/1.5 var(--f-body);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:16px 48px}.wrap{flex-direction:column;gap:20px;max-width:760px;margin:0 auto;display:flex}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.15}h2{font-size:1.45rem;font-weight:800}h3{font-size:1.1rem;font-weight:800}p{margin:0}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,.opt:focus-visible{outline:3px solid var(--sign);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.88rem}.guide{background:var(--guide);color:var(--guide-ink);border-radius:14px;padding:6px}.guide-in{border:3px solid var(--guide-ink);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;padding:14px 18px;display:flex}.guide h1{letter-spacing:.01em;font-size:clamp(1.6rem,5vw,2.3rem);font-weight:900}.guide .exit{background:var(--guide-ink);color:var(--guide);font-family:var(--f-display);letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:2px 9px;font-size:.8rem;font-weight:800}.guide .sub{font-family:var(--f-display);opacity:.92;font-size:.95rem;font-weight:600}.unofficial{background:var(--sign);color:var(--sign-ink);font-family:var(--f-display);letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:2px 9px;font-size:.78rem;font-weight:800;display:inline-block}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:14px;min-width:0;padding:18px;display:flex}.banner{background:var(--warn-bg);border-radius:var(--r);flex-wrap:wrap;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.92rem;display:flex}.banner[hidden]{display:none}.topics{flex-direction:column;gap:6px;display:flex}.trow{text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:28px minmax(0,1fr) 110px 52px;align-items:center;gap:10px;padding:6px;display:grid}.trow:hover{background:var(--bg)}.trow .nm{overflow-wrap:anywhere;font-size:.95rem}.bar{background:var(--bg);border:1px solid var(--line);border-radius:6px;height:10px;overflow:hidden}.bar i{background:var(--guide);border-radius:6px;height:100%;display:block}.bar i.low{background:var(--bad)}.bar i.mid{background:var(--sign)}.pct{font-family:var(--f-display);text-align:right;font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:800}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{font-family:var(--f-display);background:var(--guide);color:var(--guide-ink);border:0;border-radius:10px;padding:12px 18px;font-size:1rem;font-weight:800}.btn.ghost{color:var(--ink);border:2px solid var(--line);background:0 0}.btn.yellow{background:var(--sign);color:var(--sign-ink)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.danger{background:var(--bad);color:#fff}.btn.sm{padding:8px 12px;font-size:.9rem}.qtop{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.chip{background:var(--bg);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.82rem;display:inline-flex}.prog{background:var(--line);border-radius:6px;height:8px;overflow:hidden}.prog i{background:var(--guide);height:100%;transition:width .25s;display:block}.plate{background:var(--plate);border:1px solid var(--line);border-radius:12px;justify-content:center;padding:12px;display:flex}.plate img{object-fit:contain;width:auto;max-height:220px}.plate.wide img{max-height:200px}.scene{background:var(--plate);border:1px solid var(--line);border-radius:12px;justify-content:center;padding:10px;display:flex}.hook{background:var(--sign);color:var(--sign-ink);border-radius:8px;padding:8px 12px;font-size:.95rem;font-weight:700}.backbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.linkbtn{color:var(--guide);background:0 0;border:0;padding:4px 0;font-weight:700;text-decoration:underline}kbd{font-family:var(--f-display);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:0 5px;font-size:.8rem}.pillar{text-align:left;background:var(--card);border:2px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:18px;transition:border-color .12s,transform .12s;display:flex}.pillar:hover{border-color:var(--guide);transform:translateY(-2px)}.pillar .pic{background:var(--sign);border-radius:12px;place-items:center;width:56px;height:56px;font-size:1.8rem;display:grid}.pillar .t{font-family:var(--f-display);font-size:1.3rem;font-weight:900}.pillar .d{color:var(--muted);font-size:.92rem;line-height:1.4}.pillar .meta{color:var(--guide);font-size:.82rem;font-weight:700}.tally{flex-wrap:wrap;gap:14px;font-size:.9rem;display:flex}.tally b{font-family:var(--f-display);font-size:1.1rem}.tally .k{color:var(--good)}.tally .l{color:var(--bad)}[data-section=home] .facts{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}[data-section=home] .fact{background:var(--card);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;padding:10px 12px;display:flex}[data-section=home] .fact b{font-family:var(--f-display);font-size:1.6rem;font-weight:900;line-height:1}[data-section=home] .fact span{color:var(--muted);font-size:.8rem}@media (width<=560px){[data-section=home] .facts{grid-template-columns:repeat(2,1fr)}}[data-section=home] .modes{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (width<=560px){[data-section=home] .modes{grid-template-columns:1fr}}[data-section=home] .mode{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:44px 1fr;align-items:center;gap:4px 12px;padding:14px 16px;transition:transform .12s,border-color .12s;display:grid}[data-section=home] .mode:hover{border-color:var(--guide);transform:translateY(-1px)}[data-section=home] .mode .ic{background:var(--bg);border-radius:10px;grid-row:span 2;place-items:center;width:44px;height:44px;font-size:1.4rem;display:grid}[data-section=home] .mode .t{font-family:var(--f-display);font-size:1.05rem;font-weight:800}[data-section=home] .mode .d{color:var(--muted);font-size:.86rem;line-height:1.35}[data-section=home] .mode:disabled{opacity:.45;cursor:not-allowed;transform:none}[data-section=home] .chk{border:2px solid var(--line);border-radius:6px;place-items:center;width:22px;height:22px;font-size:.8rem;display:grid}[data-section=home] .trow[aria-pressed=true] .chk{background:var(--guide);border-color:var(--guide);color:#fff}[data-section=home] .source{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--guide);border-radius:var(--r);flex-direction:column;gap:6px;padding:14px 16px;font-size:.95rem;display:flex}[data-section=home] .source a{color:var(--guide);font-weight:700}[data-section=home] .pillars{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width<=560px){[data-section=home] .pillars{grid-template-columns:1fr}}[data-section=home] .resume{background:var(--guide);color:var(--guide-ink);border-radius:var(--r);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}[data-section=home] .resume .btn{background:var(--sign);color:var(--sign-ink)}[data-section=home] .resume .linkbtn{color:var(--guide-ink)}[data-section=home] .savebar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:.86rem;display:flex}[data-section=home] .confirm{background:var(--bad-bg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}[data-section=practice-test] .choose{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width<=560px){[data-section=practice-test] .choose{grid-template-columns:1fr}}[data-section=practice-test] .chip.tk{background:var(--warn-bg);border-color:#0000;font-weight:700}[data-section=practice-test] .qtext{font-family:var(--f-display);font-size:clamp(1.25rem,3.6vw,1.6rem);font-weight:800;line-height:1.25}[data-section=practice-test] .instr{background:var(--warn-bg);border-radius:10px;padding:8px 12px;font-size:.9rem}[data-section=practice-test] .opts{flex-direction:column;gap:10px;display:flex}[data-section=practice-test] .opt{text-align:left;background:var(--card);border:2px solid var(--line);border-radius:12px;grid-template-columns:34px 1fr;align-items:center;gap:12px;min-height:56px;padding:12px 14px;font-size:1.02rem;display:grid}[data-section=practice-test] .opt:hover:not(:disabled){border-color:var(--guide)}[data-section=practice-test] .opt .k{background:var(--bg);width:34px;height:34px;font-family:var(--f-display);border-radius:8px;place-items:center;font-weight:800;display:grid}[data-section=practice-test] .opt.right{border-color:var(--good);background:var(--good-bg)}[data-section=practice-test] .opt.right .k{background:var(--good);color:#fff}[data-section=practice-test] .opt.wrong{border-color:var(--bad);background:var(--bad-bg)}[data-section=practice-test] .opt.wrong .k{background:var(--bad);color:#fff}[data-section=practice-test] .opt:disabled{cursor:default}[data-section=practice-test] .fb{border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}[data-section=practice-test] .fb.ok{background:var(--good-bg)}[data-section=practice-test] .fb.no{background:var(--bad-bg)}[data-section=practice-test] .fb .head{font-family:var(--f-display);font-size:1.2rem;font-weight:900}[data-section=practice-test] .fb.ok .head{color:var(--good)}[data-section=practice-test] .fb.no .head{color:var(--bad)}[data-section=practice-test] .fb .plate img{max-height:200px}[data-section=practice-test] .pop{animation:.3s pop}@keyframes pop{0%{transform:scale(.97)}60%{transform:scale(1.02)}to{transform:scale(1)}}[data-section=practice-test] .shake{animation:.35s shake}@keyframes shake{25%{transform:translate(-6px)}50%{transform:translate(6px)}75%{transform:translate(-3px)}}[data-section=practice-test] .streak{font-family:var(--f-display);font-weight:800}@media (prefers-reduced-motion:reduce){[data-section=practice-test] .pop,[data-section=practice-test] .shake{animation:none}}[data-section=practice-test] .score{flex-wrap:wrap;align-items:center;gap:20px;display:flex}[data-section=practice-test] .ring{flex:none;width:130px;height:130px}[data-section=practice-test] .verdict{font-family:var(--f-display);font-size:1.6rem;font-weight:900}[data-section=practice-test] .miss{flex-direction:column;gap:10px;display:flex}[data-section=practice-test] .mi{border-top:1px solid var(--line);grid-template-columns:64px 1fr;gap:12px;padding-top:10px;display:grid}[data-section=practice-test] .mi .th{background:var(--plate);border:1px solid var(--line);border-radius:8px;place-items:center;width:64px;height:64px;padding:4px;display:grid}[data-section=practice-test] .mi .th img{max-height:56px}[data-section=practice-test] .mi .ans{color:var(--good);font-weight:700}[data-section=practice-test] .mi .your{color:var(--bad);font-size:.9rem;text-decoration:line-through}[data-section=flashcards]{--fc-front-bg:var(--card);--fc-front-ink:var(--ink);--fc-front-border:var(--line);--fc-back-bg:var(--guide);--fc-back-ink:var(--guide-ink);--fc-back-border:var(--guide)}[data-section=flashcards] .card3d{perspective:1200px}[data-section=flashcards] .fc{width:100%;min-height:340px;transform-style:preserve-3d;cursor:pointer;background:0 0;border:0;padding:0;transition:transform .45s;position:relative}[data-section=flashcards] .fc.flip{transform:rotateY(180deg)}[data-section=flashcards] .face{backface-visibility:hidden;text-align:center;border:1px solid var(--fc-front-border);background:var(--fc-front-bg);color:var(--fc-front-ink);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;position:absolute;inset:0}[data-section=flashcards] .face.back{background:var(--fc-back-bg);color:var(--fc-back-ink);border-color:var(--fc-back-border);transform:rotateY(180deg)}[data-section=flashcards] .face .big{font-family:var(--f-display);font-size:clamp(1.2rem,3.4vw,1.55rem);font-weight:800;line-height:1.25}[data-section=flashcards] .face .plate img{max-height:170px}[data-section=flashcards] .face.back .hook{max-width:520px}[data-section=flashcards] .face .hint{opacity:.75;font-size:.82rem}@media (prefers-reduced-motion:reduce){[data-section=flashcards] .fc{transition:none}}[data-section=flashcards] .fcbar{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}[data-section=flashcards] .fcbar .btn{padding:12px 8px;font-size:.95rem;line-height:1.2}@media (width<=480px){[data-section=flashcards] .fcbar{grid-template-columns:1fr}}[data-section=flashcards] .badge{background:var(--good-bg);color:var(--good);border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:700;display:inline-block}[data-section=flashcards] .badge.l{background:var(--bad-bg);color:var(--bad)}[data-section=road-signs] .legend{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}[data-section=road-signs] .lg{background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}[data-section=road-signs] .lg .plate{flex:none;align-items:center;width:58px;height:58px;padding:4px}[data-section=road-signs] .lg .plate img{max-height:48px}[data-section=road-signs] .lg b{font-family:var(--f-display);font-size:.95rem;display:block}[data-section=road-signs] .lg span{color:var(--muted);font-size:.8rem;line-height:1.25;display:block}[data-section=road-signs] .gal{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}[data-section=road-signs] .gi{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:12px;flex-direction:column;align-items:stretch;gap:8px;padding:10px;display:flex}[data-section=road-signs] .gi .plate{align-items:center;height:120px;padding:8px}[data-section=road-signs] .gi .plate img{max-height:100px}[data-section=road-signs] .gi .lab{min-height:2.6em;font-size:.88rem;line-height:1.3}[data-section=road-signs] .gi .lab.hid{color:var(--muted);background:var(--bg);border-radius:6px;font-style:italic}[data-section=road-signs] .toggle{border:2px solid var(--line);border-radius:10px;display:inline-flex;overflow:hidden}[data-section=road-signs] .toggle button{font-family:var(--f-display);background:0 0;border:0;padding:8px 14px;font-weight:800}[data-section=road-signs] .toggle button[aria-pressed=true]{background:var(--guide);color:var(--guide-ink)}[data-section=numbers] .nums{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}[data-section=numbers] .num{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:2px;padding:12px;display:flex}[data-section=numbers] .num b{font-family:var(--f-display);color:var(--guide);font-size:2rem;font-weight:900;line-height:1}[data-section=numbers] .num span{font-size:.9rem;line-height:1.3}[data-section=numbers] .num em{color:var(--muted);font-size:.78rem;font-style:normal}[data-section=numbers] .num.tk{border-color:var(--sign);box-shadow:inset 0 0 0 1px var(--sign)}[data-section=numbers] .speeds{flex-wrap:wrap;gap:10px;display:flex}[data-section=numbers] .sl{background:var(--plate);color:#111;text-align:center;width:92px;font-family:var(--f-display);border:3px solid #111;border-radius:8px;padding:6px 4px;font-weight:800;line-height:1}[data-section=numbers] .sl small{letter-spacing:.06em;font-size:.62rem;display:block}[data-section=numbers] .sl b{margin:2px 0;font-size:2rem;font-weight:900;display:block}[data-section=numbers] .sl i{margin-top:4px;font-size:.68rem;font-style:normal;font-weight:600;line-height:1.15;display:block}[data-section=numbers] .vis{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}[data-section=numbers] .vi{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}[data-section=numbers] .vi .plate{padding:6px}[data-section=numbers] .vi .plate img{max-height:120px}
