:root{--bg:#132633;--paper:#1a3441;--panel:#203d48;--ink:#fff0c9;--muted:#a6b5a9;--line:#557779;--blue:#80c7df;--yellow:#f2ce68;--coral:#e98575;--mint:#8fd2a4;--shadow:#09151d}
[data-theme="light"]{--bg:#fff7e7;--paper:#fffdf5;--panel:#fff0c9;--ink:#3f3a34;--muted:#8b806d;--line:#d8c59d;--blue:#6aa9c4;--yellow:#eebd4e;--coral:#e98575;--mint:#8abf93;--shadow:#ccb995}
[data-theme="dark"]{--bg:#132633;--paper:#1a3441;--panel:#203d48;--ink:#fff0c9;--muted:#a6b5a9;--line:#557779;--blue:#80c7df;--yellow:#f2ce68;--coral:#ed927e;--mint:#8fd2a4;--shadow:#09151d}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:12px ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold",system-ui,sans-serif}body{display:flex;justify-content:center}button,a{-webkit-tap-highlight-color:transparent}.page{width:min(780px,100%);padding:14px 14px max(22px,env(safe-area-inset-bottom))}.topbar{min-height:60px;border-bottom:2px dashed var(--line);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:12px}.topbar>a,.topbar button{min-height:44px;border:0;background:none;color:var(--muted);font:900 9px inherit;letter-spacing:.08em;text-decoration:none;cursor:pointer}.brand{text-align:center;min-width:0}.brand h1{margin:0;font-size:clamp(19px,4vw,28px);font-weight:950;letter-spacing:.08em;white-space:nowrap;transform:rotate(-1deg)}.brand span{display:block;margin-top:5px;color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.07em;white-space:nowrap}.hud{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.hud div{padding:9px 11px;border:2px solid var(--ink);border-radius:12px 9px 14px 10px;background:var(--panel);box-shadow:2px 3px var(--shadow);color:var(--muted);font-size:8px;font-weight:950;letter-spacing:.08em}.hud div:nth-child(2){text-align:center}.hud div:last-child{text-align:right}.hud b{display:block;margin-top:4px;color:var(--ink);font-size:14px}.hud div:first-child b{color:var(--yellow)}.hud div:nth-child(2) b{color:var(--mint)}.hud div:last-child b{color:var(--blue)}.screen{position:relative;width:100%;padding:7px;border:3px solid var(--ink);border-radius:23px 17px 25px 18px;background:var(--paper);box-shadow:7px 8px var(--shadow);transform:rotate(-.12deg)}.screen canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;border:2px solid var(--ink);border-radius:15px 11px 18px 12px;background:#07131c;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.overlay{position:absolute;inset:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:15px 11px 18px 12px;background:color-mix(in srgb,var(--paper) 91%,transparent);text-align:center}.overlay.hidden{display:none}.glow-mark{color:var(--yellow);font-size:49px;line-height:1;text-shadow:0 0 22px var(--yellow);transform:rotate(12deg)}.overlay b{font-size:clamp(24px,6vw,42px);font-weight:950;letter-spacing:.07em}.overlay span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.08em}.overlay button,.thrust{min-height:46px;padding:12px 20px;border:2px solid var(--ink);border-radius:13px 10px 15px 11px;background:var(--yellow);color:var(--ink);box-shadow:3px 4px var(--ink);font:950 10px inherit;letter-spacing:.08em;cursor:pointer}.overlay button:hover,.thrust:hover{background:var(--mint)}.thrust{display:block;width:100%;height:55px;margin-top:11px;background:var(--panel);color:var(--yellow);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.thrust.active{background:var(--yellow);color:var(--ink)}.instructions{display:flex;justify-content:space-around;gap:8px;margin:10px 0 6px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.06em;text-align:center}footer{margin-top:13px;padding-top:11px;border-top:2px dashed var(--line);color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.07em;text-align:center;line-height:1.5}@media(max-width:520px){.page{padding:10px 10px max(18px,env(safe-area-inset-bottom))}.topbar{min-height:52px;gap:6px}.brand h1{font-size:16px}.brand span{display:none}.screen{padding:5px;border-width:2px;border-radius:18px 14px 21px 15px;box-shadow:5px 6px var(--shadow)}.screen canvas{border-width:1.5px}.overlay{inset:5px}.hud div{padding:7px 6px;font-size:7px}.hud b{font-size:12px}.thrust{min-height:50px}.instructions{font-size:7px}footer{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
