@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2) format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff) format("woff")}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2) format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff) format("woff")}:root{--bg: #00081c;--panel: #031a52;--line: #1a3f9e;--base: #0052ff;--base-hi: #4d8bff;--base-lo: #0033a3;--ink: #eaf1ff;--dim: #8fa6d9;--coin: #ffd60a;--btc: #f7931a;--win: #33ff99;--lose: #ff4d79;--pixel: "Press Start 2P", "Courier New", monospace;--crt: "VT323", "Courier New", monospace;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);color:var(--ink);font-family:var(--crt);font-size:20px;-webkit-font-smoothing:none;overscroll-behavior:none}#app{display:flex;gap:16px;align-items:center;justify-content:center;min-height:100%;padding:16px}.slot{display:flex;align-items:center;justify-content:center}#stage{position:relative;line-height:0;border:4px solid var(--line);box-shadow:0 0 0 4px var(--bg),0 0 40px #0052ff59}#game canvas{display:block;image-rendering:pixelated}#hud{width:200px;align-self:stretch;display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--panel);border:4px solid var(--line)}#hud h1{margin:0;font-family:var(--pixel);font-size:16px;line-height:1.4;color:var(--coin);text-shadow:3px 3px 0 var(--btc)}#hud dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;margin:0}#hud dl>div.wide{grid-column:span 2}#hud dt{font-family:var(--pixel);font-size:8px;color:var(--dim);margin-bottom:4px}#hud dd{margin:0;font-size:24px;line-height:1;white-space:nowrap}.coin{color:var(--coin)}.fee{color:var(--btc)}.goal{margin:0;padding:8px;font-size:20px;line-height:1.15;border:2px solid var(--coin);background:var(--bg)}.goal b{color:var(--coin);font-weight:400}.goal .done{color:var(--win)}.bar{display:block;height:12px;background:var(--bg);border:2px solid var(--line)}#power,#s-power{display:block;height:100%;width:100%;background:var(--coin)}#power.low,#s-power.low{background:var(--lose);animation:blink .4s steps(2) infinite}.keys{margin:auto 0 0;font-size:18px;line-height:1.3;color:var(--dim)}.sound{font-family:var(--pixel);font-size:8px;padding:8px;color:var(--ink);background:var(--bg);border:2px solid var(--line);cursor:pointer}.sound[aria-pressed=false]{color:var(--dim)}.sound:hover{border-color:var(--base-hi)}#banner{position:absolute;left:0;right:0;top:6%;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}#banner .toast{padding:8px 10px;font-family:var(--pixel);font-size:10px;line-height:1.6;text-align:center;background:#00081cd9;border:2px solid var(--base-hi);animation:toast 2.2s ease-out forwards}#banner .toast.long{animation-duration:5s;border-color:var(--lose)}#banner .toast b{color:var(--coin);font-weight:400}#overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:16px;background:#00081cd1;font-family:var(--pixel);font-size:10px;line-height:1.8;text-align:center}#overlay[hidden]{display:none}#overlay h2{margin:0;font-size:16px;color:var(--coin)}#overlay p{margin:0}#overlay .how{font-family:var(--crt);font-size:22px;line-height:1.2}#overlay .how.dim{font-size:18px;color:var(--dim)}#overlay .how b{color:var(--coin);font-weight:400}.sprite{width:auto;height:1.2em;vertical-align:-.25em;image-rendering:pixelated}#overlay button,.sheet button{padding:10px 12px;font-family:var(--pixel);font-size:9px;color:var(--ink);background:var(--panel);border:2px solid var(--base-hi);box-shadow:inset -3px -3px 0 var(--bg);cursor:pointer}#overlay button:hover,.sheet button:hover{border-color:var(--coin)}#overlay .install{border-color:var(--coin);color:var(--coin)}#overlay .more{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}#banner .coach{max-width:min(94%,440px);padding:6px 12px 10px;font-family:var(--crt);font-size:20px;line-height:1.15;text-align:center;background:#00081ceb;border:2px solid var(--coin);pointer-events:auto}#banner .coach.new{animation:coach .3s ease-out}body:not(.touch) #banner:has(.coach),body.touch.landscape #banner:has(.coach){top:auto;bottom:12px;flex-direction:column-reverse}#banner .coach p{margin:0}#banner .coach .coach-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;font-family:var(--pixel);font-size:8px;color:var(--dim)}#banner .coach .skip{padding:4px 0 4px 8px;font:inherit;color:var(--dim);background:none;border:0;cursor:pointer}#banner .coach b{color:var(--coin);font-weight:400}#banner .coach em{color:var(--lose);font-style:normal}#banner .coach kbd{display:inline-block;min-width:1.3em;padding:0 3px;font-family:inherit;line-height:1;color:var(--ink);background:var(--panel);border:2px solid var(--base-hi)}#banner .coach.waiting kbd{animation:press .9s steps(2) infinite}@keyframes press{50%{color:var(--bg);background:var(--coin);border-color:var(--coin)}}@keyframes coach{0%{opacity:0;transform:translateY(-8px)}}.sheet{position:fixed;inset:0;z-index:25;display:flex;align-items:center;justify-content:center;padding:16px;background:#00081ccc}.sheet[hidden]{display:none}.sheet-box{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:360px;padding:20px 16px;text-align:center;background:var(--bg);border:3px solid var(--coin)}.sheet h2{margin:0;font-family:var(--pixel);font-size:13px;color:var(--coin)}.sheet .how{margin:0;font-family:var(--crt);font-size:20px;line-height:1.2}.sheet ol{padding-left:1.4em;text-align:left}.sheet li+li{margin-top:8px}.sheet b{color:var(--coin);font-weight:400}.sheet .dim{color:var(--dim)}.sheet .icon{width:.8em;height:.95em;vertical-align:-.1em}.blink{animation:blink 1s steps(2) infinite}@keyframes blink{to{visibility:hidden}}@keyframes toast{0%{opacity:0;transform:translateY(8px)}10%,80%{opacity:1;transform:none}to{opacity:0}}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:288px;max-width:calc(100vw - 40px);height:416px;max-height:calc(100vh - 160px);font-family:var(--pixel);font-size:10px;line-height:1.6;color:var(--dim);text-align:center}.loading p{margin:0}.loading svg{width:64px;height:64px;animation:bob .8s steps(2) infinite}.loading .bar{position:relative;width:160px;height:12px;overflow:hidden;background:var(--bg);border:2px solid var(--line)}#load-bar{position:absolute;inset:0 auto 0 0;width:30%;background:var(--coin);animation:sweep 1.2s steps(12) infinite}.loading.counting #load-bar{animation:none;transition:width .15s}.loading.failed{color:var(--lose);cursor:pointer}.loading.failed #load-bar{animation:none;background:var(--lose)}@keyframes bob{50%{transform:translateY(-4px)}}@keyframes sweep{0%{left:-30%}to{left:100%}}.pad,.strip{display:none}body.touch{overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}body.touch #app{position:fixed;inset:0;display:block;height:var(--vh, 100vh);padding:0}body.touch #hud{display:none}body.touch .slot{position:absolute;inset:0}body.touch #stage{width:100%;height:100%;border:0;box-shadow:none}body.touch #game{display:flex;justify-content:center}body.touch .loading{margin:0 auto;height:100%;max-height:none}body.touch .strip{display:block;position:absolute;top:0;left:0;right:0;z-index:5;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));background:#00081cdb;border-bottom:2px solid var(--line);pointer-events:none}.strip-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.strip p{margin:0}.strip-sats{font-size:28px;line-height:.9;color:var(--coin)}.strip-fees{display:block;font-size:16px;color:var(--btc)}.strip-mid{font-family:var(--pixel);font-size:9px;line-height:1.8;text-align:center}.strip-lives{white-space:nowrap}.strip-lives i{display:inline-block;width:12px;height:12px;margin-left:4px;background:var(--base-hi);box-shadow:inset -3px -3px 0 var(--base-lo)}.strip .bar{height:8px}body.touch .pad{display:block;position:absolute;inset:0;z-index:5;pointer-events:none;touch-action:none;-webkit-touch-callout:none}body.touch .pad .dpad,body.touch .pad .actions{position:absolute;left:0;top:0;pointer-events:auto}body.touch .pad.settled .actions{transition:left .2s,top .2s}.key{display:flex;align-items:center;justify-content:center;padding:0;font-family:var(--pixel);font-size:10px;color:var(--dim);background:var(--panel);border:3px solid var(--line);box-shadow:inset -3px -3px 0 var(--bg)}.key svg{width:24px;height:24px;fill:currentColor}.key.on{color:var(--ink);background:var(--base);border-color:var(--base-hi);box-shadow:inset 3px 3px 0 var(--base-lo)}.dpad{display:grid;grid-template:repeat(3,56px) / repeat(3,56px);transition:transform .12s}.dpad:before{content:"";position:absolute;inset:-20px;z-index:-1;background:radial-gradient(closest-side,#00081cb3 60%,#00081c00);pointer-events:none}.dpad .grip{grid-area:2 / 2;display:flex;align-items:center;justify-content:center;color:var(--line);pointer-events:none}.dpad .grip:before{content:"";width:12px;height:12px;background:linear-gradient(currentColor 0 0) left top / 4px 4px no-repeat,linear-gradient(currentColor 0 0) right top / 4px 4px no-repeat,linear-gradient(currentColor 0 0) left bottom / 4px 4px no-repeat,linear-gradient(currentColor 0 0) right bottom / 4px 4px no-repeat;transition:transform .15s}.dpad.holding .grip{color:var(--dim)}.dpad.holding .grip:before{transform:scale(2);transition:transform .35s linear .15s}.dpad.lifted{transform:scale(1.08)}.dpad.lifted .key{border-color:var(--coin)}.dpad.lifted .grip{color:var(--coin)}.dpad.lifted .grip:before{transform:scale(2)}.dpad .up{grid-area:1 / 2}.dpad .left{grid-area:2 / 1}.dpad .right{grid-area:2 / 3}.dpad .down{grid-area:3 / 2}.actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.actions .small{display:flex;flex-direction:column;gap:8px}.actions .small .key{width:44px;height:40px}.actions .small svg .off,.actions .small [aria-pressed=false] svg .on{display:none}.actions .small [aria-pressed=false] svg .off{display:inline}@media (max-height: 700px){.dpad{grid-template:repeat(3,48px) / repeat(3,48px)}}body.touch.landscape #app{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto 1fr;column-gap:12px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}body.touch.landscape .slot{position:static;grid-column:2;grid-row:1 / 3}body.touch.landscape #stage{width:auto}body.touch.landscape .strip{position:static;grid-column:3;grid-row:1;padding:max(10px,env(safe-area-inset-top)) 0 0;background:none;border:0}body.touch.landscape .strip-row{flex-wrap:wrap}body.touch #banner{top:calc(var(--strip-h, 0px) + 12px)}body.touch #overlay{position:fixed;z-index:20;overflow-y:auto;touch-action:pan-y;background:#00081cf0}body.touch #overlay .how{font-size:19px}.safe-probe{position:fixed;visibility:hidden;pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.debug{position:fixed;left:4px;top:50%;z-index:30;padding:6px 8px;font-size:14px;line-height:1.2;white-space:pre;color:var(--win);background:#000c;pointer-events:none}@media (max-width: 640px){#app{flex-direction:column;gap:8px;padding:8px}#hud{order:-1;width:100%;padding:8px}#hud h1,.keys{display:none}#hud dl{grid-template-columns:repeat(4,1fr)}#hud dl>div.wide{grid-column:span 4}}
