/* Site pages (home, guides, legal). Same palette and rules as the game: hard pixel shadows, square corners, no gradients.
   Press Start 2P for headings and UI; VT323 for sentences so long pages read comfortably on a phone. */
:root{
  color-scheme:dark;
  --bg:#0d0b1e; --panel:#1b1840; --panel2:#2a2660; --line:#3a3570;
  --text:#f2f0ff; --dim:#a9a3d9; --yellow:#ffd93b; --red:#e83b3b; --blue:#3b63e8; --green:#3be887;
  --px:"Press Start 2P",ui-monospace,monospace;
  --rd:"VT323",ui-monospace,monospace;
}
*{box-sizing:border-box}
html,body{background:var(--bg);margin:0}
body{color:var(--text);font-family:var(--rd);font-size:22px;line-height:1.3;letter-spacing:.01em;-webkit-font-smoothing:none;-webkit-text-size-adjust:100%}
a{color:var(--yellow)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
h1,h2,h3{font-family:var(--px);font-weight:400;margin:0;line-height:1.6}
p{margin:0}
.wrap{max-width:430px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.blink{animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.blink{animation:none}}
.skip{position:absolute;left:-999px;top:0;background:var(--yellow);color:var(--bg);font-family:var(--px);font-size:10px;padding:14px;z-index:30}
.skip:focus{left:16px}

/* Header */
.top{border-bottom:4px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:20}
.top .wrap{display:flex;align-items:center;gap:8px;min-height:64px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--yellow);font-family:var(--px);font-size:10px;line-height:1.5;text-shadow:2px 2px 0 var(--red);margin-right:auto;min-height:44px}
.brand img{width:24px;height:24px;image-rendering:pixelated}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;font-family:var(--px);font-size:9px;color:var(--text);border:2px solid var(--dim);min-height:44px;min-width:44px;padding:0 10px;display:flex;align-items:center;gap:6px}
.menu summary::-webkit-details-marker{display:none}
.menu summary i{display:block;width:12px;height:2px;background:currentColor;box-shadow:0 -4px 0 currentColor,0 4px 0 currentColor}
.menu[open] summary{background:var(--panel2);border-color:var(--yellow)}
.menu nav{position:absolute;right:0;top:calc(100% + 8px);width:min(260px,calc(100vw - 32px));background:var(--panel);border:4px solid var(--text);box-shadow:6px 6px 0 var(--blue);display:flex;flex-direction:column;padding:6px}
.menu nav a{font-family:var(--px);font-size:9px;color:var(--text);text-decoration:none;min-height:44px;display:flex;align-items:center;padding:0 10px}
.menu nav a:hover,.menu nav a[aria-current]{background:var(--panel2);color:var(--yellow)}
.hplay{font-family:var(--px);font-size:9px;background:var(--yellow);color:var(--bg);text-decoration:none;box-shadow:3px 3px 0 var(--red);min-height:44px;padding:0 12px;display:flex;align-items:center}
.hplay:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--red)}

/* Shared blocks */
main{display:flex;flex-direction:column;gap:28px;padding-block:24px 40px}
.btn{display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--px);font-size:12px;line-height:1.6;background:var(--yellow);color:var(--bg);text-decoration:none;box-shadow:5px 5px 0 var(--red);min-height:64px;padding:14px;text-align:center}
.btn:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--red)}
.panel{background:var(--panel);border:4px solid var(--text);padding:14px 12px;display:flex;flex-direction:column;gap:12px}
.sec{display:flex;justify-content:space-between;align-items:center;gap:8px;font-family:var(--px);font-size:9px;color:var(--dim);border-bottom:3px dashed var(--line);padding-bottom:8px}
.sec h2{font-size:10px;color:var(--text)}
.sec a{color:var(--yellow);min-height:44px;display:flex;align-items:center;margin-block:-14px}
.soon{font-family:var(--px);font-size:8px;color:var(--bg);background:var(--dim);padding:3px 5px;line-height:1.4}
.tick{background:#000;border:4px solid var(--blue);padding:10px 12px;color:var(--green);font-size:22px;line-height:1.2;min-height:82px}
.tick .hd{color:var(--yellow);display:block}
.sq{display:flex;gap:6px}
.sq i{display:block;width:22px;height:22px;border:3px solid #000;background:var(--c)}
.g{--c:var(--green)} .y{--c:var(--yellow)} .o{--c:#ff8c3b} .r{--c:var(--red)} .e{--c:var(--panel2)}

/* Home */
.hero{text-align:center;display:flex;flex-direction:column;gap:14px;padding-top:6px}
.kicker{font-family:var(--px);font-size:8px;color:var(--dim);letter-spacing:.08em}
.title{font-size:26px;line-height:1.35;color:var(--yellow);text-shadow:4px 4px 0 var(--red)}
.hook{font-size:24px;line-height:1.2;max-width:22ch;margin:0 auto}
.matchup{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);border:4px solid var(--text);background:#000;box-shadow:4px 4px 0 var(--blue)}
.team{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px 10px}
.team b{font-family:var(--px);font-weight:400;font-size:20px;line-height:1}
.team .nm{font-size:19px;color:var(--dim);line-height:1;text-align:center}
.team .bar{display:block;width:56px;height:10px;background:var(--tc,var(--panel2));border:3px solid var(--text)}
.team.me{background:var(--red)} .team.me .nm{color:#ffd1d1}
.team .you{font-family:var(--px);font-size:8px;line-height:1;color:var(--bg);background:var(--yellow);padding:3px 4px;visibility:hidden}
.team.me .you{visibility:visible}
.at{font-family:var(--px);font-size:10px;color:var(--dim);display:flex;align-items:center;padding:0 4px;border-inline:4px solid var(--text)}
.meta{font-size:19px;color:var(--dim)}
.streak{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:center}
.streak .n{font-family:var(--px);font-size:28px;color:var(--yellow);text-shadow:3px 3px 0 var(--red);grid-row:span 2;min-width:2.2ch;text-align:center}
.streak .l{font-family:var(--px);font-size:9px;color:var(--dim)}
.streak p{font-size:21px;line-height:1.15}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.steps li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;background:var(--panel);border:3px solid var(--line);padding:12px}
.steps .n{font-family:var(--px);font-size:14px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--blue);color:var(--text);box-shadow:3px 3px 0 #000}
.steps h3{font-size:10px;margin-bottom:6px}
.steps p{font-size:21px;line-height:1.15;color:var(--dim)}
.steps .sq{margin-top:8px}
.modes{display:flex;flex-direction:column;gap:10px}
.card{display:flex;flex-direction:column;gap:6px;background:var(--panel);border:3px solid var(--line);padding:12px;text-decoration:none;color:var(--text)}
a.card{border-color:var(--dim);box-shadow:4px 4px 0 var(--blue);min-height:44px}
a.card:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--blue)}
.card .hd{display:flex;justify-content:space-between;align-items:center;gap:8px;font-family:var(--px);font-size:10px;line-height:1.5}
.card .hd .go{color:var(--yellow)}
.card p{font-size:20px;line-height:1.15;color:var(--dim)}
.card.locked{opacity:.8}

/* Inner pages */
.ph{display:flex;flex-direction:column;gap:12px;padding-top:6px}
.ph h1{font-size:17px;line-height:1.5;color:var(--yellow);text-shadow:3px 3px 0 var(--red)}
.ph p{font-size:23px;line-height:1.2}
.ph .upd{font-size:19px;color:var(--dim)}
.prose{display:flex;flex-direction:column;gap:14px}
.prose h2{font-size:12px;line-height:1.7;color:var(--yellow);padding-top:12px;border-top:3px dashed var(--line);scroll-margin-top:80px}
.prose h2:first-child{border-top:0;padding-top:0}
.prose h3{font-size:10px;line-height:1.7;color:var(--text);margin-top:4px}
.prose p,.prose li{font-size:22px;line-height:1.3}
.prose ul,.prose ol{margin:0;padding-left:26px;display:flex;flex-direction:column;gap:8px}
.prose li::marker{color:var(--yellow)}
.prose b,.prose strong{color:var(--yellow);font-weight:400}
.prose a{min-height:44px}
.callout{background:var(--panel);border:4px solid var(--text);box-shadow:4px 4px 0 var(--blue);padding:12px;display:flex;flex-direction:column;gap:8px}
.callout .k{font-family:var(--px);font-size:9px;color:var(--yellow)}
.callout.warn{box-shadow:4px 4px 0 var(--red)}
.draft{font-family:var(--px);font-size:10px;line-height:1.8;color:var(--bg);background:var(--red);padding:12px;box-shadow:4px 4px 0 #000;text-align:center}
.toc{background:var(--panel);border:3px solid var(--line);padding:12px;display:flex;flex-direction:column}
.toc .k{font-family:var(--px);font-size:9px;color:var(--dim);margin-bottom:4px}
.toc a{font-size:21px;color:var(--text);min-height:44px;display:flex;align-items:center;text-decoration:none}
.toc a::before{content:"\25B6";color:var(--yellow);font-size:12px;margin-right:10px}
.tbl{width:100%;border-collapse:collapse;background:#000;border:4px solid var(--text)}
.tbl th{font-family:var(--px);font-weight:400;font-size:8px;color:var(--dim);text-align:left;padding:8px;border-bottom:3px solid var(--line)}
.tbl td{font-size:20px;line-height:1.15;padding:8px;border-top:2px solid var(--line);vertical-align:top}
.tbl td:first-child{font-family:var(--px);font-size:10px;color:var(--yellow);width:34px}
.grade{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start}
.grade i{display:block;width:40px;height:40px;border:4px solid #000;background:var(--c);box-shadow:3px 3px 0 #000}
.grade h3{color:var(--c)}
.mock{background:#000;border:4px solid var(--line);padding:12px;font-size:21px;line-height:1.3;white-space:pre-wrap;font-family:var(--rd);color:var(--text);margin:0}
.arch{display:flex;flex-direction:column;gap:10px}
.arch .card .hd span:last-child{font-size:9px;color:var(--yellow)}
.arch .card.today{border-color:var(--yellow);box-shadow:4px 4px 0 var(--red)}
.oops{text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;padding-block:30px}
.oops .big{font-family:var(--px);font-size:44px;color:var(--yellow);text-shadow:5px 5px 0 var(--red);line-height:1}
.oops h1{font-size:15px;color:var(--text)}
.oops p{font-size:23px;max-width:24ch}
.oops .btn{align-self:stretch}

/* Charts (how-the-model-works) */
.fig{margin:0;background:var(--panel);border:4px solid var(--text);box-shadow:4px 4px 0 var(--blue);padding:12px 8px 10px;display:flex;flex-direction:column;gap:8px}
.fig figcaption{font-family:var(--px);font-size:9px;line-height:1.6;color:var(--yellow);padding:0 4px}
.cwrap{position:relative}
.chart{display:block;width:100%;height:auto;background:#000;touch-action:pan-y;outline-offset:2px}
.chart text{font-family:var(--rd);font-size:15px;fill:var(--dim)}
.chart .lbl{fill:var(--text);font-size:16px}
.chart .exl{font-family:var(--px);font-size:7px;fill:var(--dim)}
.chart .ex{fill:var(--panel2);opacity:.55}
.chart .grid{stroke:var(--line);stroke-width:1;stroke-dasharray:2 3}
.chart .ln{fill:none;stroke:var(--yellow);stroke-width:2;stroke-linejoin:round}
.chart .best{fill:var(--yellow);stroke:#000;stroke-width:2}
.chart .never{fill:var(--bg);stroke:var(--yellow);stroke-width:2}
.chart .xh{stroke:var(--text);stroke-width:1}
.chart .xd{fill:var(--text);stroke:#000;stroke-width:2}
.tip{position:absolute;top:6px;width:150px;background:var(--bg);border:3px solid var(--text);box-shadow:3px 3px 0 #000;padding:6px 8px;display:flex;flex-direction:column;gap:2px;pointer-events:none;font-size:18px;line-height:1.1}
.tip[hidden]{display:none}
.tip b{font-family:var(--px);font-weight:400;font-size:8px;color:var(--yellow);line-height:1.6}
.gchip{display:inline-block;width:12px;height:12px;border:2px solid #000;background:var(--c);margin-right:6px;vertical-align:-1px}
.tview summary{font-family:var(--px);font-size:8px;color:var(--dim);cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 4px}
.tview .tbl td{font-size:19px}
.tview .tbl td:first-child{font-family:var(--px);font-size:9px}

/* Footer */
.foot{border-top:4px solid var(--line);padding-block:24px max(32px,env(safe-area-inset-bottom,0px));background:#08071a}
.foot .wrap{display:flex;flex-direction:column;gap:18px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.foot li a{font-family:var(--px);font-size:8px;line-height:1.5;color:var(--text);text-decoration:none;min-height:44px;display:flex;align-items:center}
.foot li a:hover{color:var(--yellow)}
.disc{font-size:18px;line-height:1.2;color:var(--dim)}
.copy{font-family:var(--px);font-size:8px;color:var(--dim)}
