@font-face{font-family:"Press Start 2P";src:url(/play/fonts/press-start-2p.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:VT323;src:url(/play/fonts/vt323.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;size-adjust:122%}:root{--ink: #05070a;--bone: #ded7c6;--bone-dim: #9a9384;--moss: #6f8f6a;--blood: #a81f28;--gold: #e0b849;--silver: #c7cbd6;--panel: rgba(6, 9, 12, .82);--edge: rgba(199, 203, 214, .16);--serif: "Press Start 2P", "VT323", ui-monospace, monospace;--mono: "VT323", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--hud-pad: max(10px, env(safe-area-inset-top)) 12px 0 12px;--bezel-x: 13px;--chrome-x: 26px;--chrome-y: 20px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html.tuning,html.tuning body{touch-action:auto}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:#04050a;color:var(--bone);font-family:var(--serif);overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none}#app{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 44%,#60262c8c,#140f15e6 52%,#08080c),repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px),#090a0e}#cab{position:relative;display:flex;flex-direction:column;gap:7px;padding:9px var(--bezel-x) 11px;border-radius:22px;background-image:radial-gradient(circle,#565b6b 0 2.2px,#1b1d24 2.2px 4px,transparent 4px),radial-gradient(circle,#565b6b 0 2.2px,#1b1d24 2.2px 4px,transparent 4px),radial-gradient(circle,#565b6b 0 2.2px,#1b1d24 2.2px 4px,transparent 4px),radial-gradient(circle,#565b6b 0 2.2px,#1b1d24 2.2px 4px,transparent 4px),linear-gradient(180deg,#2b2f3a,#1b1e26 46%,#101218);background-repeat:no-repeat;background-size:9px 9px,9px 9px,9px 9px,9px 9px,100% 100%;background-position:7px 7px,calc(100% - 16px) 7px,7px calc(100% - 16px),calc(100% - 16px) calc(100% - 16px),0 0;box-shadow:inset 0 1px #ffffff12,inset 0 0 0 1px #0000008c,0 0 0 2px #0a0b0f,0 28px 70px #000000d9,0 0 110px #ff2d3a1a}#stage{position:relative;width:min(calc(100vw - var(--chrome-x)),calc((100vh - var(--chrome-y)) * 9 / 16));height:min(calc(100vh - var(--chrome-y)),calc((100vw - var(--chrome-x)) * 16 / 9));width:min(calc(100vw - var(--chrome-x)),calc((100dvh - var(--chrome-y)) * 9 / 16));height:min(calc(100dvh - var(--chrome-y)),calc((100vw - var(--chrome-x)) * 16 / 9));overflow:hidden;background:#000;border-radius:8px;box-shadow:0 0 0 1px #c7cbd621,inset 0 0 44px #000000d9,0 0 70px #ff3c4621,0 18px 60px #000000d9}#game{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges}#glass{position:absolute;inset:0;pointer-events:none;z-index:5;background:linear-gradient(180deg,#ffffff09,#fff0 22%),repeating-linear-gradient(0deg,#0000000d 0 1px,#0000 1px 3px);mix-blend-mode:screen;opacity:.4}#glass:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,#0000 68%,#00000017);mix-blend-mode:multiply}.pixel{image-rendering:pixelated;image-rendering:crisp-edges;width:34px;height:34px;filter:drop-shadow(0 0 6px rgba(0,0,0,.85))}.pixel.big{width:min(30vw,132px);height:min(30vw,132px)}.pixel.mid{width:64px;height:64px}#hud{position:absolute;inset:0;z-index:10;pointer-events:none;display:flex;flex-direction:column;font-family:var(--mono)}.hud-top{display:flex;justify-content:space-between;align-items:flex-start;padding:max(8px,env(safe-area-inset-top)) 10px 0 max(8px,env(safe-area-inset-left))}.hud-left,.hud-right{display:flex;flex-direction:column;gap:6px}.hud-right{align-items:flex-end}.lives{display:flex;align-items:center;gap:6px;padding:0;background:none;border:0}.lives img,.lives-count #livesNum{filter:drop-shadow(0 1px 3px #000) drop-shadow(0 0 10px rgba(0,0,0,.85))}.lives-count{display:flex;align-items:baseline;gap:2px;font-weight:700}.lives-count .x{font-size:13px;color:var(--bone-dim)}.lives-count #livesNum{font-size:24px;line-height:1;color:var(--bone);text-shadow:0 0 10px rgba(0,0,0,.9)}.lives.last{animation:pulse 1.05s ease-in-out infinite;border-color:#a81f288c}@keyframes pulse{0%,to{transform:scale(1);filter:none}50%{transform:scale(1.06);filter:drop-shadow(0 0 10px rgba(168,31,40,.75))}}.lives.hurt{animation:shake .4s ease-out}@keyframes shake{0%{transform:translate(0) rotate(0)}25%{transform:translate(-6px) rotate(-3deg)}60%{transform:translate(5px) rotate(2deg)}to{transform:translate(0) rotate(0)}}.lives.gain{animation:gain .6s ease-out}@keyframes gain{0%{transform:scale(1)}40%{transform:scale(1.22);filter:drop-shadow(0 0 14px rgba(111,143,106,.9))}to{transform:scale(1)}}.meters{display:flex;flex-direction:column;gap:2px;font-size:11px;letter-spacing:.06em}.meter{display:flex;gap:6px;align-items:baseline;opacity:.92}.meter .k{color:var(--bone-dim);font-size:9px}.meter b{color:var(--bone);font-size:13px;font-variant-numeric:tabular-nums}.chip{display:flex;align-items:center;gap:6px;padding:0;background:none;border:0}.chip .pixel{width:22px;height:22px;filter:drop-shadow(0 1px 3px #000) drop-shadow(0 0 8px rgba(0,0,0,.8))}.chip b{font-size:15px;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000,0 0 8px rgba(0,0,0,.8)}.chip.bump{animation:bump .34s ease-out}@keyframes bump{0%{transform:scale(1)}35%{transform:scale(1.16);border-color:#e0b849cc}to{transform:scale(1)}}.hud-buttons{display:flex;gap:6px;pointer-events:auto}.ghost{pointer-events:auto;width:34px;height:34px;display:grid;place-items:center;background:#080a0e80;color:var(--bone-dim);border:1px solid var(--edge);border-radius:4px;font-size:13px;font-family:var(--mono);cursor:pointer}.ghost:active{transform:scale(.94)}.ghost.off{color:var(--blood);text-decoration:line-through}.hud-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding-bottom:20vh}#loading{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,#12151d,#080a0f 58%,#030405);transition:opacity .5s ease}#loading.done{opacity:0}.cross{position:relative;display:block;width:26px;height:26px}.cross:before,.cross:after{content:"";position:absolute;background:var(--bone);box-shadow:0 0 10px #ffffff38}.cross:before{left:50%;top:0;width:4px;height:100%;transform:translate(-50%)}.cross:after{top:38%;left:0;width:100%;height:4px}.load-bar{width:170px;height:4px;overflow:hidden;background:#ffffff24}.load-bar i{display:block;height:100%;width:0%;background:var(--bone);transition:width .2s linear}.boot-error{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9999;max-width:min(86vw,520px);padding:16px 18px;text-align:center;background:#12070a;border:2px solid var(--blood);color:#fff;font-family:var(--mono);font-size:15px;line-height:1.5;box-shadow:0 10px 40px #000c}.hud-level{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px auto 0;width:min(94%,430px);padding:4px 2px;font-family:var(--mono);font-size:11px}.hud-level .badge{color:var(--bone-dim);letter-spacing:.1em;white-space:nowrap;text-shadow:0 1px 3px #000,0 0 8px rgba(0,0,0,.8)}.hud-level .badge b{color:var(--bone);font-size:14px}.hud-level .clock{font-size:17px;font-variant-numeric:tabular-nums;color:var(--bone);min-width:40px;text-align:right;text-shadow:0 0 10px rgba(0,0,0,.9)}.hud-level.danger{animation:pulse 1.05s ease-in-out infinite}.hud-level.danger .clock{color:#ff9384}.tagline2{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--moss);margin:0 0 6px}.hints{position:absolute;inset:0;pointer-events:none;opacity:1;transition:opacity .8s}.hints.hide{opacity:0}#hud.paused .hud-top,#hud.paused .hud-level,#hud.paused .hints{opacity:0;pointer-events:none}.btn.play{min-width:92px;font-size:22px;line-height:1;padding:14px 30px;letter-spacing:0}.level-name{position:absolute;left:0;right:0;bottom:12px;margin:0;text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--bone-dim);text-shadow:0 1px 4px #000}.board{margin-top:14px;width:min(92%,340px);font-family:var(--mono)}.board-title{font-size:10px;letter-spacing:.18em;color:var(--bone-dim);margin:0 0 5px;text-align:center}.board-list{list-style:none;margin:0;padding:0;font-size:13px}.board-list li{display:grid;grid-template-columns:16px 1fr 32px 56px;gap:6px;padding:3px 4px;border-bottom:1px solid rgba(199,203,214,.12)}.board-list li.me{color:#fff;background:#a81f2833}.board-list li span:first-child{color:var(--bone-dim)}.board-list li span:last-child{text-align:right}.alias-row{display:flex;gap:6px;margin-top:9px;align-items:center;justify-content:center}.alias{width:84px;padding:6px 8px;background:#00000080;color:#fff;border:1.5px solid #454d63;border-radius:0;font-family:var(--mono);font-size:14px;letter-spacing:.2em;text-transform:uppercase;text-align:center}.rewards{margin-top:12px;display:flex;flex-direction:column;align-items:center;gap:7px}.rw-title{font-size:10px;letter-spacing:.18em;color:var(--bone-dim);margin:0}.rw-stock{font-size:12px;color:var(--bone);margin:0;text-align:center}.rw-code{font-size:14px;color:#fff;letter-spacing:.12em;text-align:center;min-height:18px;margin:0}.hint{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;color:#ded7c68c;font-family:var(--mono);font-size:10px;letter-spacing:.1em;animation:hintPulse 2.1s ease-in-out infinite}.hint span{font-size:26px;line-height:1}.hint em{font-style:normal;text-transform:uppercase}.hint.done{opacity:.18;animation:none}@keyframes hintPulse{0%,to{transform:translateY(0);opacity:.42}50%{transform:translateY(-5px);opacity:.85}}.hint-up{top:15%;left:50%;transform:translate(-50%)}.hint-down{bottom:12%;left:50%;transform:translate(-50%);animation-delay:.5s}.hint-left{left:7%;top:47%;animation-delay:.25s}.hint-right{right:7%;top:47%;animation-delay:.75s}.stun-bar{position:absolute;left:50%;bottom:6%;width:min(44vw,260px);height:4px;transform:translate(-50%);background:#05070a99;border:1px solid var(--edge);border-radius:2px;opacity:0;transition:opacity .25s;overflow:hidden}.stun-bar.on{opacity:1}.stun-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--blood),#d8a13a)}.overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;overflow-y:auto;background:radial-gradient(ellipse at 50% 40%,#0a0e1229,#03040685);backdrop-filter:blur(1.5px);opacity:0;pointer-events:none;transition:opacity .35s ease}.overlay.show{opacity:1;pointer-events:auto}.screen{display:none;width:100%;max-width:560px;padding:20px;text-align:center}.screen.show{display:block;animation:rise .4s ease-out}#screen-clear.show{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;flex:1}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.title{font-size:clamp(15px,4.6vw,27px);margin:8px 0 2px;letter-spacing:.08em;font-weight:400;color:#fff;text-shadow:0 0 26px rgba(168,31,40,.5),0 3px 0 #000}.tagline{color:var(--bone-dim);font-size:clamp(11px,3vw,14px);margin:0 0 18px;font-style:italic}.floaty{animation:floaty 4.5s ease-in-out infinite}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.start-line{font-family:var(--mono);font-size:clamp(13px,4vw,17px);letter-spacing:.2em;color:#fff;animation:blink 1.6s steps(2,end) infinite;margin:14px 0;text-align:center}.start-line.big{font-size:clamp(18px,6vw,30px);letter-spacing:.26em;text-shadow:0 0 22px rgba(224,184,73,.5),0 2px 6px #000}#screen-title{margin:auto}#screen-title .title{font-size:clamp(15px,4.2vw,24px);margin:4px 0 8px}#screen-title .title-kicker{font-family:var(--mono);font-size:9px;letter-spacing:.3em;color:var(--gold);margin:0 0 10px}#screen-title .tagline{margin:0 0 20px;font-size:clamp(10.5px,2.8vw,12.5px);line-height:1.45}#screen-title .menu-block{width:min(100%,360px);margin:0 auto 7px;padding:13px 0 15px;border-top:1px solid rgba(199,203,214,.14);text-align:left}#screen-title .menu-label{margin:0 0 9px;font-family:var(--mono);font-size:9.5px;letter-spacing:.26em;color:var(--gold)}#screen-title .menu-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}#screen-title .menu-controls span{display:flex;flex-direction:column;align-items:center;gap:6px}#screen-title .menu-controls b{width:40px;height:34px;display:grid;place-items:center;border:1px solid rgba(199,203,214,.26);border-radius:4px;background:#c7cbd60d;color:var(--bone);font-size:14px;line-height:1}#screen-title .menu-controls em{font-style:normal;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--bone-dim)}#screen-title .goal-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin:0 0 6px;font-family:var(--mono);font-size:13px;color:var(--bone)}#screen-title .goal-row b{font-weight:700}#screen-title .goal-row i{font-style:normal;color:var(--bone-dim)}#screen-title .menu-note{margin:0;font-family:var(--mono);font-size:9.5px;line-height:1.5;color:var(--bone-dim)}#screen-title .menu-prizes{border-top-color:#e0b8496b}#screen-title .prize-row{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin:0 0 6px;font-family:var(--mono);font-size:14px}#screen-title .prize-row b{color:#f0d79a;font-weight:700}#screen-title .prize-row i{font-style:normal;color:var(--bone-dim);font-size:9px;letter-spacing:.1em}#screen-title .menu-record{min-height:12px;margin:14px auto 0;max-width:360px;font-family:var(--mono);font-size:9px;line-height:1.6;color:var(--bone-dim);text-align:center}#screen-title .menu-record b{color:var(--bone)}#screen-title .start-btn{min-width:190px;margin-top:16px;padding:13px 22px;font-size:13px;letter-spacing:.2em}#screen-title .start-line{margin:10px 0 0;font-size:9.5px;letter-spacing:.18em;color:var(--bone-dim);animation:none}#screen-title .level-name{margin-top:8px;font-size:9px;letter-spacing:.14em}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.keys{display:grid;gap:6px;margin:18px auto 0;max-width:380px;font-family:var(--mono);font-size:11px;color:var(--bone-dim);letter-spacing:.05em}.keys .wide{margin-top:8px;font-size:10.5px;line-height:1.6;color:var(--bone-dim)}.keys .wide b{color:var(--bone)}kbd{display:inline-block;min-width:22px;padding:1px 5px;margin:0 2px;border:1px solid var(--edge);border-bottom-width:2px;border-radius:3px;background:#c7cbd60f;color:var(--bone);font-size:11px;font-family:var(--mono)}.panel{background:#04060cdb;border:2px solid #3d4358;border-radius:0;padding:20px 16px;box-shadow:inset 0 0 0 2px #080a12,inset 0 0 0 3px #6b7492,0 18px 44px #000000d9}.panel h2{font-weight:400;letter-spacing:.08em;font-size:clamp(10px,3vw,15px);line-height:1.7;margin:6px 0 4px;color:#fff}.panel h2.dead{color:#e8c9c9;text-shadow:0 0 22px rgba(168,31,40,.8)}.panel h2.cleared{color:#d8f0dc;text-shadow:0 0 22px rgba(63,212,132,.75)}.muted{color:var(--bone-dim);font-size:12px;font-family:var(--mono)}.record{font-family:var(--mono);font-size:11px;color:var(--bone);min-height:16px;margin-bottom:8px;letter-spacing:.06em}.best{margin-top:16px;font-family:var(--mono);font-size:11px;color:var(--bone-dim);line-height:1.8}.best b{color:var(--bone)}.row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:14px}.btn{font-family:var(--mono);font-size:13px;letter-spacing:.16em;padding:10px 18px;cursor:pointer;border-radius:0;color:#fff;background:#262b3a;border:2px solid #05070c;box-shadow:inset 2px 2px #ffffff2e,inset -2px -2px #000000b3;transition:background .15s}.btn:active{box-shadow:inset -2px -2px #ffffff24,inset 2px 2px #000000b3}.btn.primary{background:#86151f}.btn.ghost{background:#12151d;color:var(--bone-dim)}.tune{position:fixed;z-index:40;right:max(4px,env(safe-area-inset-right));top:max(4px,env(safe-area-inset-top));bottom:max(4px,env(safe-area-inset-bottom));width:min(310px,42vw);border:1px solid var(--edge);border-radius:6px;box-shadow:0 12px 40px #000000b3;padding:8px 10px 10px;background:#06090ced;border-top:1px solid var(--edge);font-family:var(--mono);font-size:11px;color:var(--bone);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:auto;pointer-events:auto}.tune input[type=range]{touch-action:auto;pointer-events:auto}.tune[hidden]{display:none}@media (max-width: 640px){.tune{inset:auto 0 0;width:auto;max-height:42%;border-radius:6px 6px 0 0}.tune-body{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.tune-group{grid-column:1 / -1}}.tune-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.tune-head b{letter-spacing:.2em}.tune-mod{margin-left:auto;color:var(--bone);font-size:10px}.tune-scene{color:var(--bone-dim);font-size:10px}.tune-val.mod{color:#fff}.tune-row.mod .tune-k{color:var(--bone)}.tune-row{display:flex;align-items:center;gap:8px;margin:3px 0}.tune-k{color:var(--bone-dim);font-size:10px;min-width:96px}.tune-val{min-width:46px;text-align:right;font-variant-numeric:tabular-nums;color:var(--bone)}.tune input[type=range]{flex:1;min-width:40px;height:18px;accent-color:var(--gold);background:transparent}.tune-group{margin:8px 0 2px;color:var(--moss);letter-spacing:.14em;font-size:10px}.tune-quick{display:flex;flex-wrap:wrap;gap:4px}.tune-quick button.on{border-color:var(--bone);color:#fff}.tune-foot{display:flex;justify-content:flex-end;margin-top:8px}.ghost.mini{width:auto;min-width:26px;height:24px;padding:0 6px;font-size:11px}.load-box{display:grid;place-items:center;gap:6px}.bar{width:min(64vw,300px);height:5px;margin-top:14px;background:#c7cbd61a;border-radius:3px;overflow:hidden}.bar i{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--moss),var(--gold));transition:width .3s ease-out}.damage{position:absolute;inset:0;z-index:12;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,#a81f2800 35%,#a81f289e);transition:opacity .4s ease-out}.damage.on{opacity:1;transition:opacity .06s ease-in}#rotate{position:absolute;inset:0;display:none;place-items:center;background:var(--ink);z-index:50;text-align:center;padding:24px}#app{background:#090a0e url(/play/backgrounds/red-moon-exterior.jpg) center center / cover no-repeat}#app{--room-top:clamp(100px,21dvh,230px);--room-bottom:max(16px,env(safe-area-inset-bottom));padding:var(--room-top) 0 var(--room-bottom);align-items:flex-end}#stage{width:min(calc(100vw - var(--chrome-x)),calc((100vh - var(--room-top) - var(--room-bottom) - var(--chrome-y))*9/16));height:min(calc(100vh - var(--room-top) - var(--room-bottom) - var(--chrome-y)),calc((100vw - var(--chrome-x))*16/9));width:min(calc(100vw - var(--chrome-x)),calc((100dvh - var(--room-top) - var(--room-bottom) - var(--chrome-y))*9/16));height:min(calc(100dvh - var(--room-top) - var(--room-bottom) - var(--chrome-y)),calc((100vw - var(--chrome-x))*16/9))}@media (max-width:760px) and (orientation:portrait){#app{--room-top:max(42px,6dvh);--room-bottom:max(16px,env(safe-area-inset-bottom))}}
