button{font:inherit;cursor:pointer;border:0;padding:0}
a{color:#5CE1E6}a:hover{color:#FFC23D}
.ps{font-family:'Press Start 2P',monospace}
.pxbtn{transition:none}
@media (hover:hover){.pxbtn:hover{transform:translate(-2px,-2px)}.node:hover{filter:brightness(1.25)}}
.pxbtn:active{transform:translate(2px,2px)}
.pxbtn:focus-visible,.node:focus-visible{outline:4px solid #5CE1E6;outline-offset:6px}
@keyframes blink{50%{opacity:0}}
.blink{animation:blink 1s steps(1) infinite}
@keyframes twinkle{0%,100%{opacity:.25}50%{opacity:1}}
.star{animation:twinkle 2.4s steps(3) infinite}
@keyframes crtOn{0%{clip-path:inset(50% 0 50% 0);filter:brightness(3)}55%{clip-path:inset(0 0 0 0);filter:brightness(1.8)}100%{clip-path:inset(0 0 0 0);filter:none}}
.screen{animation:crtOn .5s steps(6)}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.bob{animation:bob .9s steps(2) infinite}
.float{animation:bob 1.8s steps(2) infinite}
.sel{animation:bob .6s steps(2) infinite}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(-1600px)}}
.cloud{animation:drift 60s steps(200) infinite}
@keyframes flick{50%{opacity:.8}}
.scan{background:repeating-linear-gradient(to bottom,rgba(0,0,0,.28) 0 2px,transparent 2px 4px);animation:flick .16s steps(2) infinite}
.dev{font-family:'Noto Sans Devanagari',sans-serif;font-weight:800}
@keyframes neon{0%,18%,22%,60%,64%,100%{opacity:1}20%,62%{opacity:.25}}
.neon{animation:neon 5s steps(1) infinite}
.key{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;box-sizing:border-box;background:#141130;color:#F4F1E6;box-shadow:inset 0 -5px 0 #05040C,0 0 0 2px #F4F1E6;font-family:'Press Start 2P',monospace;font-size:12px}
@keyframes water{from{background-position:0 0}to{background-position:32px 0}}
.water{animation:water 1.6s steps(4) infinite}
.bld{background-image:linear-gradient(#141130 50%,transparent 50%),repeating-linear-gradient(90deg,#141130 0 10px,#6B5520 10px 18px);background-size:100% 18px,auto}
.glyph{font-family:'VT323',monospace;font-size:1.9em;line-height:0;vertical-align:-0.12em}
@keyframes hop{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hop{animation:hop .23s steps(2) infinite}
@keyframes jumpA{0%,100%{transform:translateY(0)}35%{transform:translateY(-22px)}70%{transform:translateY(-6px)}}
@keyframes jumpB{0%,100%{transform:translateY(0)}35%{transform:translateY(-22px)}70%{transform:translateY(-6px)}}
.jumpA{animation:jumpA .45s steps(5)}
.jumpB{animation:jumpB .45s steps(5)}
@keyframes ballb{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.ballb{animation:ballb .44s steps(2) infinite}
.pxbtn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;line-height:1}
.key{gap:0}
.blink{display:inline-flex;align-items:center}
.tri-r,.tri-l,.tri-d,.tri-u{display:block;flex-shrink:0;width:0;height:0}
.tri-r{border-top:.42em solid transparent;border-bottom:.42em solid transparent;border-left:.6em solid currentColor}
.tri-l{border-top:.42em solid transparent;border-bottom:.42em solid transparent;border-right:.6em solid currentColor}
.tri-d{border-left:.42em solid transparent;border-right:.42em solid transparent;border-top:.6em solid currentColor}
.tri-r+.tri-r{margin-left:-.45em}
.glyph{line-height:1;vertical-align:baseline}
.tri-r,.tri-l{border-top-width:.5em;border-bottom-width:.5em}
.tri-r{border-left-width:.72em}.tri-l{border-right-width:.72em}
.tri-d{border-left-width:.5em;border-right-width:.5em;border-top-width:.72em}
.pxbtn{gap:.7em}
@keyframes rise{0%{transform:translateY(60px);opacity:0}60%{opacity:1}100%{transform:translateY(0);opacity:1}}
.rise{animation:rise 1.2s steps(8)}
@keyframes flash{0%{opacity:.9}100%{opacity:0}}
.flash{animation:flash .6s steps(4) forwards}
.spark{opacity:0}
@keyframes s0{0%{transform:translate(0,0);opacity:1}100%{transform:translate(0,-120px);opacity:0}}
@keyframes s1{0%{transform:translate(0,0);opacity:1}100%{transform:translate(85px,-85px);opacity:0}}
@keyframes s2{0%{transform:translate(0,0);opacity:1}100%{transform:translate(120px,0);opacity:0}}
@keyframes s3{0%{transform:translate(0,0);opacity:1}100%{transform:translate(85px,85px);opacity:0}}
@keyframes s4{0%{transform:translate(0,0);opacity:1}100%{transform:translate(0,120px);opacity:0}}
@keyframes s5{0%{transform:translate(0,0);opacity:1}100%{transform:translate(-85px,85px);opacity:0}}
@keyframes s6{0%{transform:translate(0,0);opacity:1}100%{transform:translate(-120px,0);opacity:0}}
@keyframes s7{0%{transform:translate(0,0);opacity:1}100%{transform:translate(-85px,-85px);opacity:0}}
.s0{animation:s0 1.1s steps(6) infinite}.s1{animation:s1 1.1s steps(6) infinite}.s2{animation:s2 1.1s steps(6) infinite}.s3{animation:s3 1.1s steps(6) infinite}
.s4{animation:s4 1.1s steps(6) infinite}.s5{animation:s5 1.1s steps(6) infinite}.s6{animation:s6 1.1s steps(6) infinite}.s7{animation:s7 1.1s steps(6) infinite}
@keyframes steam{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(-16px);opacity:0}}
.steam{animation:steam 1.2s steps(4) infinite}
.tri-u{border-left:.5em solid transparent;border-right:.5em solid transparent;border-bottom:.72em solid currentColor}
html,body{background:#0D0B1E;overscroll-behavior:none}
.game-root{-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.game-root a,.game-root button{-webkit-touch-callout:none}
.scroll-y{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#5B5580 transparent}
@keyframes tilt{0%,35%{transform:rotate(-90deg)}65%,100%{transform:rotate(0)}}
.tilt{animation:tilt 2.2s steps(3) infinite}
@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.nudge{animation:nudge .8s steps(2) infinite}
