:root{font-family:var(--brand-font-body);color:var(--brand-text);background:var(--brand-background)}*{box-sizing:border-box}body{margin:0;overflow:hidden}#viewport{touch-action:none;width:100%;height:100%;position:fixed;inset:0}header,main,footer,#bench,#toast{z-index:1;position:fixed}header{background:linear-gradient(180deg, var(--brand-background), transparent);justify-content:space-between;align-items:center;gap:24px;padding:22px 28px;display:flex;inset:0 0 auto}.brand-link{color:var(--brand-text);align-items:center;gap:18px;min-width:0;text-decoration:none;display:flex}.brand-wordmark{font:700 19px/1 var(--brand-font-display);letter-spacing:-.025em;white-space:nowrap}#brand-logo{object-fit:contain;width:min(170px,32vw);max-height:45px}.brand-label{border-left:1px solid var(--brand-border);font:700 10px/1.45 var(--brand-font-body);letter-spacing:.15em;color:var(--brand-muted);padding-left:17px}[hidden]{display:none!important}button{border:1px solid var(--brand-accent);background:var(--brand-accent);color:var(--brand-accent-text);font:700 13px/1.2 var(--brand-font-body);cursor:pointer;border-radius:7px;padding:10px 16px;transition:transform .15s,box-shadow .15s}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 20px #0004}button:focus-visible,a:focus-visible{outline:3px solid var(--brand-accent);outline-offset:4px}button:disabled{opacity:.55;cursor:default}main{width:min(470px,100vw - 48px);color:var(--brand-text);background:color-mix(in srgb, var(--brand-background) 87%, transparent);border:1px solid var(--brand-border);border-top:4px solid var(--brand-accent);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:10px;max-height:46dvh;padding:28px;top:18vh;left:clamp(24px,6vw,88px);overflow:auto;box-shadow:0 15px 45px #0004}.eyebrow{color:var(--brand-accent);font:700 10px/1.3 var(--brand-font-body);letter-spacing:.18em}h1{font:700 clamp(34px, 3.8vw, 56px)/1.05 var(--brand-font-display);letter-spacing:-.04em;margin:17px 0}h1 em{color:var(--brand-accent);font-style:normal}.lede{color:var(--brand-muted);font-size:15px;line-height:1.6}.card{border:1px solid var(--brand-border);background:var(--brand-surface);border-radius:7px;gap:7px;margin-top:25px;padding:16px 18px;font-size:13px;line-height:1.45;display:grid}.card b{color:var(--brand-accent);text-transform:uppercase;letter-spacing:.13em;font-size:10px}.card span{color:var(--brand-muted)}#bench{width:min(360px,42vw);max-height:calc(100dvh - 190px);color:var(--brand-text);background:color-mix(in srgb, var(--brand-background) 87%, transparent);border:1px solid var(--brand-border);border-top:4px solid var(--brand-accent);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:10px;padding:18px;top:96px;right:clamp(16px,2vw,26px);overflow:auto;box-shadow:0 15px 45px #0004}#readout{border:1px solid var(--brand-border);background:var(--brand-surface);border-radius:7px;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;padding:14px 16px;font-size:12px;display:grid}#readout dt{color:var(--brand-muted);letter-spacing:.06em;text-transform:uppercase;align-self:center;font-size:10px}#readout dd{color:var(--brand-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}#stations{gap:2px;margin:18px 0 0;padding:0;list-style:none;display:grid}#stations li{color:var(--brand-muted);border-radius:5px;grid-template-columns:20px max-content 1fr;align-items:baseline;gap:4px 10px;padding:6px 8px;font-size:12px;display:grid}#stations .mark{color:var(--brand-muted);font-size:13px}#stations b{color:var(--brand-muted);font-weight:600}#stations .hint{color:var(--brand-muted);opacity:.75}#stations li.done{background:color-mix(in srgb, var(--brand-accent) 12%, transparent)}#stations li.done .mark,#stations li.done b{color:var(--brand-accent)}#stations li.done .hint{display:none}footer{color:var(--brand-text);background:var(--brand-background);border:1px solid var(--brand-border);border-radius:7px;padding:10px 13px;font-size:12px;bottom:20px;left:28px}#toast{background:var(--brand-background);border:1px solid var(--brand-border);max-width:280px;color:var(--brand-text);opacity:0;border-radius:7px;padding:12px 14px;transition:opacity .2s,transform .2s;bottom:22px;right:26px;transform:translateY(8px)}#toast.visible{opacity:1;transform:none}@media (width<=900px){main{max-height:28dvh}#bench{width:auto;max-height:40dvh;inset:auto clamp(16px,2vw,26px) 74px clamp(24px,6vw,88px)}}@media (width<=650px){header{gap:12px;padding:16px}.brand-label{display:none}main{width:calc(100vw - 32px);max-height:26dvh;padding:20px;top:14vh;left:16px}#bench{padding:14px;bottom:66px;left:16px;right:16px}footer{text-align:center;bottom:14px;left:16px;right:16px}#toast{right:16px}}@media (prefers-reduced-motion:reduce){button,#toast{transition:none}}@font-face{font-family:Aptos Display;src:url(../brand/protogen/AptosDisplay.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url(../brand/protogen/Montserrat.ttf)format("truetype");font-weight:100 900;font-display:swap}:root{--brand-background:#003d4c;--brand-surface:#145968;--brand-text:#f8fcfc;--brand-muted:#d3e5e5;--brand-accent:#00bb31;--brand-accent-text:#002e27;--brand-border:#87b9b5;--brand-font-body:"Aptos Display", sans-serif;--brand-font-display:"Montserrat", serif}
