@font-face{font-family:IBM Plex Sans;src:url(../fonts/plex-sans-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(../fonts/plex-sans-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(../fonts/plex-sans-600.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(../fonts/plex-mono-400.woff2)format("woff2");font-weight:400;font-display:swap}:root{--bg:#f6f7f9;--surface:#fff;--sunk:#eff1f4;--hairline:#e2e5ea;--field:#848d9b;--text:#101318;--text2:#434b58;--text3:#5a6370;--ink:#101318;--onInk:#fff;--accent:#1a5bcc;--onAccent:#fff;--accentSoft:#e9f0fc;--crit:#b3261e;--critSoft:#fdecea;--ok:#17734a;--okSoft:#e4f5ec;--warn:#8a5300;--warnSoft:#fff3dc;--nice:#5a6370;--niceSoft:#eff1f4;--letterX:#b3261e;--letterXSoft:#fdecea;--letterA:#8a5300;--letterASoft:#fff3dc;--letterB:#0f766e;--letterBSoft:#e0f4f1;--letterC:#17734a;--letterCSoft:#e4f5ec;--letterD:#4146b8;--letterDSoft:#edeefc;--letterE:#434b58;--letterESoft:#eff1f4}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font:400 16px/24px IBM Plex Sans,ui-sans-serif,system-ui,Segoe UI,sans-serif}button,input{font:inherit}.mono{font-family:IBM Plex Mono,ui-monospace,Menlo,monospace}a{color:var(--accent);text-decoration:none}a.card{color:inherit;text-decoration:none}a.card .ct{color:var(--text)}a:focus-visible,button:focus-visible,.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--hairline);z-index:30;align-items:center;gap:12px;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.topbar .title{flex:1;min-width:0;font:600 16px/24px inherit}.topbar .back{color:var(--text2);cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px;padding:8px;font:500 14px/20px inherit}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 16px;font:600 14px/20px inherit;display:inline-flex}.btn-primary{background:var(--ink);color:var(--onInk)}.btn-ghost{color:var(--text2);border-color:var(--hairline);background:0 0}.btn-block{width:100%;height:44px}.main{flex:1;width:100%;max-width:800px;margin:0 auto;padding:16px 16px 32px}@media (width>=768px){.main{padding:24px 24px 48px}}.strip{background:var(--surface);border-bottom:1px solid var(--hairline);z-index:20;gap:4px;padding:8px 12px;display:flex;position:sticky;top:56px;overflow-x:auto}.strip .L{cursor:pointer;min-width:44px;height:44px;color:var(--text2);background:0 0;border:0;border-radius:6px;flex:1;font:600 14px/20px inherit}.strip .L[data-letter=X].current{background:var(--letterXSoft);color:var(--letterX);box-shadow:inset 0 -2px 0 var(--letterX)}.strip .L[data-letter=A].current{background:var(--letterASoft);color:var(--letterA);box-shadow:inset 0 -2px 0 var(--letterA)}.strip .L[data-letter=B].current{background:var(--letterBSoft);color:var(--letterB);box-shadow:inset 0 -2px 0 var(--letterB)}.strip .L[data-letter=C].current{background:var(--letterCSoft);color:var(--letterC);box-shadow:inset 0 -2px 0 var(--letterC)}.strip .L[data-letter=D].current{background:var(--letterDSoft);color:var(--letterD);box-shadow:inset 0 -2px 0 var(--letterD)}.strip .L[data-letter=E].current{background:var(--letterESoft);color:var(--letterE);box-shadow:inset 0 -2px 0 var(--letterE)}.strip .L.done{color:var(--text3)}.h1{letter-spacing:-.015em;margin:0 0 8px;font:600 24px/32px inherit}.h2{margin:24px 0 12px;font:600 15px/22px inherit}.lead{color:var(--text2);margin:0 0 16px}.th{color:var(--text3);font:400 13px/18px inherit}.meta{color:var(--text3);font:400 12px/16px IBM Plex Mono,monospace}.grid{gap:12px;display:grid}.grid-2{grid-template-columns:1fr 1fr}@media (width>=768px){.grid-mods{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:1fr 1fr}}.grid-mods{grid-template-columns:1fr 1fr}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;padding:16px;position:relative}.card.rail-X{box-shadow:inset 3px 0 0 var(--letterX)}.card.rail-A{box-shadow:inset 3px 0 0 var(--letterA)}.card.rail-B{box-shadow:inset 3px 0 0 var(--letterB)}.card.rail-C{box-shadow:inset 3px 0 0 var(--letterC)}.card.rail-D{box-shadow:inset 3px 0 0 var(--letterD)}.card.rail-E{box-shadow:inset 3px 0 0 var(--letterE)}.card .ct{margin:0 0 4px;font:600 15px/22px inherit}.card .cg{margin:0}.badge{border-radius:4px;align-items:center;height:20px;padding:0 6px;font:500 12px/16px inherit;display:inline-flex}.badge-must{background:var(--warnSoft);color:var(--warn)}.badge-nice{background:var(--niceSoft);color:var(--nice)}.badge-should{border:1px solid var(--hairline);color:var(--text3)}.checklist{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;overflow:hidden}.checklist .hd{border-bottom:1px solid var(--hairline);padding:12px 16px;font:600 15px/22px inherit}.checklist label{border-bottom:1px solid var(--hairline);cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;padding:12px 16px;display:flex}.checklist label:last-child{border-bottom:0}.checklist input{width:20px;height:20px;accent-color:var(--ink);margin-top:2px}.checklist .n{color:var(--text3);min-width:1.5ch;font:600 14px/20px IBM Plex Mono,monospace}.stop{background:var(--critSoft);border-left:3px solid var(--crit);border-radius:8px;margin:16px 0;padding:12px 16px}.stop .t{color:var(--crit);margin:0 0 4px;font:600 15px/22px inherit}.stop p{color:var(--text);margin:0}.rsn{flex-wrap:wrap;align-items:baseline;gap:6px 8px;max-width:100%;display:inline-flex}.rsn-src{color:var(--text3);font:400 12px/16px IBM Plex Mono,monospace}.rsn-note{background:var(--critSoft);height:22px;color:var(--crit);border-radius:4px;align-items:center;padding:0 8px;font:500 12px/16px inherit;display:inline-flex}.rsn.block{flex-direction:column;align-items:flex-start;gap:6px;margin-top:6px;display:flex}.flash{background:var(--surface);border:1px solid var(--hairline);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;min-height:200px;padding:24px;display:flex}.flash .cue{text-align:center;font:600 20px/28px inherit}.flash .ans{text-align:center;font:400 16px/24px inherit}.flash .hint{text-align:center;color:var(--text3);margin-top:12px;font-size:13px}.quiz{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;padding:16px}.quiz label{color:var(--text3);margin-bottom:8px;font:500 13px/18px inherit;display:block}.quiz input[type=text]{border:1px solid var(--field);background:var(--surface);border-radius:6px;width:100%;height:44px;padding:0 12px}.quiz .why{background:var(--sunk);border-radius:6px;margin-top:12px;padding:12px;font-size:14px;line-height:20px}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--hairline);border-radius:8px;width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--hairline);vertical-align:top;padding:12px 16px}.table th{color:var(--text3);background:var(--sunk);font:500 12px/16px inherit}.table tr:last-child td{border-bottom:0}.table .val{font:500 15px/22px IBM Plex Mono,monospace}@media (width<=600px){.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table{min-width:520px}}.diagram{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;margin:16px 0;padding:8px}.diagram img,.diagram svg{width:100%;height:auto;display:block}.diagram .cap{color:var(--text3);padding:8px 8px 4px;font:400 13px/18px inherit}.progress{background:var(--sunk);border-radius:2px;height:4px;margin:8px 0 16px;overflow:hidden}.progress>i{background:var(--ink);width:44%;height:100%;display:block}.footer-safe{border-top:1px solid var(--hairline);color:var(--text3);width:100%;max-width:800px;margin-top:auto;margin-left:auto;margin-right:auto;padding:16px;font:400 13px/18px inherit}.steps{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.steps span{color:var(--text3);background:var(--sunk);border-radius:4px;padding:4px 8px;font:500 12px/16px inherit}.steps span.on{background:var(--ink);color:var(--onInk)}.hero-cta{margin:16px 0 24px}.phone{border:1px solid var(--hairline);background:var(--bg);width:390px;min-height:844px;margin:0 auto;box-shadow:0 8px 24px #1013180f}.desktop{max-width:1280px;margin:0 auto}.bullets{margin:0;padding-left:20px}.bullets li{margin:0 0 8px}.row-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.subnav{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.subnav a{color:var(--text3);background:var(--sunk);border-radius:4px;align-items:center;min-height:44px;padding:8px 12px;font:500 12px/16px inherit;display:inline-flex}.subnav a.on{background:var(--ink);color:var(--onInk)}.chip-row{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.chip{border:1px solid var(--hairline);background:var(--surface);height:36px;color:var(--text2);cursor:pointer;border-radius:4px;min-height:44px;padding:0 12px;font:500 13px/18px inherit}.chip.on{background:var(--accentSoft);color:var(--accent);border-color:#0000}.overflow{position:relative}.overflow-menu{background:var(--surface);border:1px solid var(--hairline);z-index:40;border-radius:8px;min-width:160px;padding:8px;position:absolute;top:100%;right:0;box-shadow:0 1px 2px #1013180f}.overflow-menu a{color:var(--text);border-radius:4px;padding:10px 12px;font:500 14px/20px inherit;display:block}.overflow-menu a:hover{background:var(--sunk)}.letter-pill{border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;margin-right:8px;font:600 13px/16px inherit;display:inline-flex}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.quiz .choices{flex-direction:column;gap:8px;margin:8px 0;display:flex}.quiz .choices button{text-align:left;border:1px solid var(--hairline);background:var(--surface);cursor:pointer;border-radius:6px;min-height:44px;padding:12px 16px}.quiz .choices button.sel{border-color:var(--accent);background:var(--accentSoft)}.banner-ok{background:var(--okSoft);color:var(--ok);border-radius:6px;margin-top:12px;padding:8px 12px;font:500 14px/20px inherit}.banner-bad{background:var(--critSoft);color:var(--crit);border-radius:6px;margin-top:12px;padding:8px 12px;font:500 14px/20px inherit}.step-card{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;margin:0 0 12px;padding:16px}.step-card .n{color:var(--text3);font:600 12px/16px IBM Plex Mono,monospace}.seq ol{margin:0;padding-left:20px}.seq li{margin:0 0 8px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}a.L{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.strip a.L{min-width:44px;height:44px;color:var(--text2);border-radius:6px;flex:1;font:600 14px/20px inherit}
