:root{--ground:#e9ecf1;--surface:#fff;--surface-2:#f3f5f9;--sunken:#e4e8ee;--ink:#121721;--ink-2:#4b5566;--ink-3:#7a8496;--rule:#d2d8e1;--red:#c4161c;--red-soft:#fbecec;--blue:#10508c;--blue-soft:#e8f0f8;--good:#17703c;--good-soft:#e6f3eb;--asphalt:#9aa2ae;--sign-red:#c4161c;--sign-yellow:#efb700;--sign-blue:#10508c;--sign-white:#fff;--sign-black:#16181c;--sign-grey:#8a8f98;--signal-green:#2e9e4f;--car-body:#d8dce2;--car-glass:var(--sign-grey);--display:"Avenir Next Condensed", "Roboto Condensed", "Arial Narrow", sans-serif;--body:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0e1218;--surface:#161c25;--surface-2:#1b222c;--sunken:#10161d;--ink:#e6ebf2;--ink-2:#9ba6b5;--ink-3:#6f7a89;--rule:#2a323e;--red:#ec5a5f;--red-soft:#2a1518;--blue:#6ea8de;--blue-soft:#14212e;--good:#4cb87a;--good-soft:#12241a;--asphalt:#3a424e}}:root[data-theme=dark]{--ground:#0e1218;--surface:#161c25;--surface-2:#1b222c;--sunken:#10161d;--ink:#e6ebf2;--ink-2:#9ba6b5;--ink-3:#6f7a89;--rule:#2a323e;--red:#ec5a5f;--red-soft:#2a1518;--blue:#6ea8de;--blue-soft:#14212e;--good:#4cb87a;--good-soft:#12241a;--asphalt:#3a424e}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}
.topbar{background:var(--surface);border-bottom:1px solid var(--rule);z-index:20;position:sticky;top:0}.topbar-inner{flex-wrap:wrap;align-items:center;gap:1.5rem;max-width:68rem;min-height:3.75rem;margin:0 auto;padding:0 1.25rem;display:flex}.wordmark{font-family:var(--display);color:var(--ink);align-items:center;min-height:44px;margin-right:auto;font-size:1.4375rem;font-weight:600;text-decoration:none;display:inline-flex}.topbar nav{flex-wrap:wrap;gap:1rem;display:flex}.topbar nav a{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);justify-content:center;align-items:center;min-width:44px;min-height:44px;text-decoration:none;display:inline-flex}.topbar nav a:hover{color:var(--ink)}main{flex-direction:column;gap:2.25rem;max-width:68rem;margin:0 auto;padding:2.5rem 1.25rem 5rem;display:flex}section{flex-direction:column;gap:.9rem;display:flex}h1{font-family:var(--display);text-wrap:balance;margin:0;font-size:2.5rem;font-weight:600;line-height:1.05}h2{font-family:var(--display);margin:0;font-size:1.875rem;font-weight:600;line-height:1.1}h3{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:1rem}p{margin:0}.lede{color:var(--ink-2);max-width:44rem}.cite{font-family:var(--display);letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase;font-size:.8125rem}.tracks{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;display:grid}.track{background:var(--surface);border:1px solid var(--rule);color:var(--ink);border-radius:4px;flex-direction:column;gap:.7rem;padding:1.3rem;text-decoration:none;display:flex}.track:hover{border-color:var(--ink-3)}.track b{font-family:var(--display);font-size:1.4375rem}.track p{color:var(--ink-2);font-size:.8125rem}.qty{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:.8125rem}.explainer{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.stage,.panel{background:var(--surface);border:1px solid var(--rule);border-radius:4px;flex-direction:column;gap:.9rem;padding:1.2rem;display:flex}.stage--sign{justify-content:center;align-items:center;min-height:17rem}.junction-scene{background:var(--surface-2);border-radius:3px;width:100%;height:auto;display:block}.prompt{font-family:var(--display);font-size:1.4375rem;line-height:1.2}.stage-foot{color:var(--ink-3);font-size:.8125rem}.car--pickable rect:first-of-type{cursor:pointer}.car--pickable:hover rect:first-of-type{stroke:var(--red);stroke-width:3px}.car--pickable:focus-visible{outline:2px solid var(--blue)}.ladder{background:var(--rule);border:1px solid var(--rule);border-radius:3px;flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.rung{background:var(--surface-2);border-left:3px solid #0000;grid-template-columns:1.6rem 1fr;align-items:baseline;gap:.2rem .8rem;padding:.7rem .9rem;display:grid}.rung b{font-family:var(--display);font-size:1.1875rem}.rung-n{font-family:var(--display);color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:1.1875rem}.rung-result{color:var(--ink-2);grid-column:2;font-size:.8125rem}.rung--decides{background:var(--red-soft);border-left-color:var(--red)}.rung--decides .rung-n,.rung--decides b{color:var(--red)}.rung--decides .rung-result{color:var(--ink)}.outside{border:1px dashed var(--rule);background:var(--surface-2);border-radius:3px;flex-direction:column;gap:.25rem;padding:.8rem .9rem;display:flex}.outside b{font-family:var(--display);color:var(--red)}.outside span{color:var(--ink-2);font-size:.8125rem}.verdict{border-radius:3px;align-items:baseline;gap:.6rem;padding:.75rem .9rem;font-size:.8125rem;display:flex}.verdict--right{background:var(--good-soft)}.verdict--wrong{background:var(--red-soft)}.verdict-mark{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.verdict--right .verdict-mark{color:var(--good)}.verdict--wrong .verdict-mark{color:var(--red)}.cat-grid{grid-template-columns:repeat(2,1fr);gap:.6rem;display:grid}.cat{background:var(--surface-2);border:1px solid var(--rule);text-align:left;cursor:pointer;font:inherit;color:inherit;border-radius:3px;flex-direction:column;gap:.15rem;padding:.8rem;display:flex}.cat:hover:not(:disabled){border-color:var(--ink-3)}.cat:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.cat b{font-family:var(--display);font-size:1.1875rem}.cat span{color:var(--ink-3);font-size:.8125rem}.reveal{flex-direction:column;gap:.5rem;display:flex}.reveal-name{font-family:var(--display);font-size:1.4375rem;font-weight:600}.reveal-de{color:var(--ink-3);font-size:.8125rem}.reveal-means{color:var(--ink-2);font-size:.8125rem}.speedread{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:2.5rem;line-height:1}.speedread small{color:var(--ink-3);font-size:1.1875rem}input[type=range]{width:100%;accent-color:var(--red)}.measures{flex-direction:column;gap:.9rem;display:flex}.measure{flex-direction:column;gap:.3rem;display:flex}.measure-top{justify-content:space-between;align-items:baseline;display:flex}.measure-top b{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}.measure-top .m{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:1.4375rem}.track-bar{background:var(--sunken);border-radius:2px;height:12px;display:flex;overflow:hidden}.track-bar i{height:100%;display:block}.seg-react{background:var(--blue)}.seg-brake{background:var(--red)}.seg-emerg{background:var(--sign-yellow)}.compare{background:var(--blue-soft);color:var(--ink-2);border-radius:3px;padding:.85rem 1rem;font-size:.8125rem}.practice{background:var(--surface);border:1px solid var(--rule);border-radius:4px;flex-direction:column;gap:.9rem;padding:1.3rem;display:flex}.practice-weight{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-size:.8125rem}.practice-warning{background:var(--red-soft);border-radius:3px;padding:.6rem .8rem;font-size:.8125rem}.practice-stem{font-size:1.1875rem}.practice-options{border:0;flex-direction:column;gap:.5rem;margin:0;padding:0;display:flex}.practice-option{cursor:pointer;align-items:baseline;gap:.6rem;display:flex}.practice-result{flex-direction:column;gap:.6rem;display:flex}.practice-cost{color:var(--red);font-family:var(--display)}.practice-explanation{color:var(--ink-2);font-size:.8125rem}.practice-progress{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:.8125rem}.practice-total{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:1.4375rem}.result-list{background:var(--rule);border:1px solid var(--rule);border-radius:3px;flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.result-list li{background:var(--surface-2);flex-direction:column;gap:.2rem;padding:.7rem .9rem;display:flex}.result-list b{color:var(--ink-2);font-size:.8125rem;font-weight:400}.result-list span{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-size:.8125rem}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{background:var(--ink);color:var(--surface);border:1px solid var(--ink);font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border-radius:3px;align-self:flex-start;padding:.5rem 1rem}.btn:disabled{opacity:.35;cursor:default}.btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.btn.ghost{color:var(--ink-2);border-color:var(--rule);background:0 0}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:.55rem .75rem;font-size:.8125rem}th{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);white-space:nowrap;font-weight:600}td{color:var(--ink-2)}.scroll-x{overflow-x:auto}.checklist{background:var(--rule);border:1px solid var(--rule);border-radius:4px;flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.checklist li{background:var(--surface);grid-template-columns:2rem 1fr;align-items:baseline;gap:1rem;padding:1rem 1.2rem;display:grid}.checklist-n{font-family:var(--display);color:var(--red);font-variant-numeric:tabular-nums;font-size:1.4375rem}.checklist li b{font-family:var(--display);margin-right:.6rem;font-size:1.1875rem}.checklist li p{color:var(--ink-2);margin-top:.25rem;font-size:.8125rem}@media (max-width:56rem){.explainer{grid-template-columns:1fr}}@media (max-width:40rem){h1{font-size:2rem}.cat-grid{grid-template-columns:1fr}.topbar nav{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.topbar nav::-webkit-scrollbar{display:none}.topbar nav a{white-space:nowrap;flex:none}.topbar-inner{gap:0 1rem;padding-bottom:.25rem}main{padding-top:1.5rem}}
