*{box-sizing:border-box}html,body{margin:0;overflow:hidden;width:100%;height:100%;background:#101c28;color:#eff9f8;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;overscroll-behavior:none}canvas{display:block;width:100%;height:100dvh;touch-action:none}header{position:absolute;left:25px;top:24px;pointer-events:none;padding:17px 20px;border:1px solid #ffffff12;border-radius:18px;background:linear-gradient(135deg,#102433ee,#10243399);box-shadow:0 10px 30px #0002}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:800;color:#9bb8c1}h1{font-size:27px;line-height:1;letter-spacing:-1.5px;margin:9px 0}h1 span{color:#dfff84;margin-left:6px}em{font-style:normal;color:#dfff84}#zone{font-size:10px;font-weight:800;letter-spacing:2px;color:#71e3d5;margin:12px 0}.badge{display:inline-block;font-size:8px;letter-spacing:1.4px;color:#8faab5}.badge:before{content:'●';color:#6de7ad;margin-right:6px}#score{position:absolute;right:25px;top:24px;text-align:right;pointer-events:none;padding:15px 20px;border:1px solid #ffffff12;border-radius:18px;background:#102433d9}#score strong{display:block;font-size:39px;line-height:1.2;color:#dfff84}#damage{display:block;font-size:10px;font-weight:800}#leaders{margin-top:12px;font-size:10px;line-height:1.8;color:#c4dbe1}#announcement{position:absolute;top:28%;left:15%;width:70%;text-align:center;font-size:clamp(20px,3vw,35px);font-weight:950;letter-spacing:-1px;text-shadow:0 3px 5px #081821;pointer-events:none;color:#dfff84}#status{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;border:1px solid #90bcba33;border-radius:16px;padding:13px 22px;background:linear-gradient(135deg,#152e3bf5,#102432ed);min-width:290px;box-shadow:0 10px 30px #0004}#action{display:block;font-size:10px;letter-spacing:1.6px;font-weight:900;color:#dfff84}#hint{display:block;font-size:10px;color:#9cb8c5;margin-top:4px}#health{height:5px;background:#3b5462;border-radius:6px;overflow:hidden;margin-top:9px}#healthFill{display:block;height:100%;width:100%;background:#dfff84;transition:width .1s}#ammo{display:block;margin-top:7px;font-size:9px;font-weight:800;letter-spacing:1px;color:#c9dfe2}footer{position:absolute;bottom:27px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:end;font-size:10px;color:#a3becb;line-height:1.9}b{color:#eff9f8}button{font-family:inherit;cursor:pointer;border:0}.utility{display:flex;gap:7px}#pause,#sound{color:#cce2e5;background:#142c3be8;border:1px solid #ffffff20;border-radius:9px;padding:10px 14px;font-size:11px}#touchControls{display:none;position:absolute;right:20px;bottom:22px;gap:8px}#touchControls button{touch-action:none;border-radius:50%;width:65px;height:65px;background:#1c4557e8;color:#ddf5f4;font-size:9px;font-weight:900;border:2px solid #4a7b8c;box-shadow:0 5px 0 #071c28}#intro{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:#071923ab;backdrop-filter:blur(9px)}section{width:min(490px,100%);padding:35px;background:linear-gradient(145deg,#1b394a,#112736);border:1px solid #71bbbc55;border-radius:26px;box-shadow:0 30px 100px #0007}h2{font-size:clamp(34px,6vw,49px);line-height:1.04;letter-spacing:-2.5px;margin:18px 0}section p{font-size:14px;line-height:1.7;color:#adc6cf}.instructions{font-size:12px;line-height:2.5;border-block:1px solid #a3c9d322;padding:12px 0}.instructions span{color:#6999a9;margin-right:12px;font-size:10px}#play{width:100%;padding:19px 15px;border-radius:11px;background:#dfff84;font-size:12px;font-weight:950;color:#132a2c;display:flex;justify-content:space-between;box-shadow:0 5px 0 #93ba53}section small{display:block;text-align:center;font-size:9px;color:#83a4b2;margin-top:19px}.mobileNote{font-size:11px}button:focus-visible{outline:3px solid white;outline-offset:4px}@media(pointer:coarse),(max-width:650px){#touchControls{display:flex}footer>span{display:none}footer{bottom:104px;right:15px;justify-content:end}header{left:12px;top:12px;padding:11px 13px;border-radius:13px}.eyebrow{font-size:7px;letter-spacing:1.2px}h1{font-size:20px}h1 span{margin-left:4px}#zone{font-size:8px;margin:8px 0}.badge{font-size:6px}#score{right:12px;top:12px;padding:10px 13px;border-radius:13px}#score strong{font-size:30px}#score .eyebrow{font-size:6px}#leaders{display:none}#status{bottom:115px;left:12px;transform:none;min-width:0;padding:10px 12px;max-width:205px}#action{font-size:8px}#hint{font-size:8px;max-width:180px}#ammo{font-size:8px}#announcement{top:28%}section{padding:25px}#pause,#sound{padding:8px 10px;font-size:9px}}@media(max-height:600px){header{padding:10px 14px}h1{font-size:22px}#leaders{display:none}section{padding:20px}h2{font-size:33px;margin:8px 0}section p{margin:8px 0}.instructions{padding:6px 0;line-height:2}#status{bottom:14px}footer>span{display:none}}
#scene{position:absolute;inset:0;z-index:0}#game{position:absolute;inset:0;z-index:1}header,#score,#announcement,#status,footer,#touchControls{z-index:2}#intro{z-index:5}body:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 130px #03101b55;z-index:1}#camera{color:#dfff84;background:#142c3be8;border:1px solid #dfff8433;border-radius:9px;padding:10px 12px;font-size:10px}#camera[hidden]{display:none}@media(pointer:coarse),(max-width:650px){#camera{padding:8px 9px;font-size:8px}.utility{gap:4px}footer{bottom:96px}#status{bottom:135px}}
#goal{position:absolute;top:24px;left:50%;transform:translateX(-50%);z-index:2;text-align:center;background:#0e2334df;border:1px solid #dfff8433;border-radius:12px;padding:11px 23px;pointer-events:none}#goal strong{display:block;font-size:11px;letter-spacing:1.4px;color:#dfff84}#goal span{display:block;font-size:9px;color:#a9c6cf;margin-top:5px}#score strong{font-size:29px}#results{position:absolute;inset:0;display:grid;place-items:center;z-index:6;background:#061927aa;backdrop-filter:blur(8px);padding:20px}#results[hidden]{display:none}#results section{text-align:center}#resultTitle{color:#dfff84}#playAgain{border-radius:10px;padding:16px 22px;background:#dfff84;font-weight:900;color:#102a35}.skins{margin:15px 0}.skins>div{display:flex;gap:6px;margin-top:8px}.skins button{flex:1;border:1px solid #557080;background:#173343;color:#adc7cf;padding:11px 5px;border-radius:8px;font-size:10px;font-weight:900}.skins button[aria-pressed=true]{background:#dfff84;color:#102a35;border-color:#dfff84}#sprint,#jump{font-size:9px}#jump{border-color:#8bbfaf;background:#275c60}section{max-height:calc(100dvh - 30px);overflow:auto}@media(pointer:coarse),(max-width:650px){#goal{top:126px;left:12px;transform:none;padding:8px 12px;text-align:left;max-width:210px}#goal strong{font-size:8px}#goal span{font-size:8px}#score strong{font-size:25px}.skins button{font-size:8px}.skins{margin:12px 0}.instructions{font-size:10px}h2{font-size:34px}section p{font-size:12px}}@media(max-height:600px){#goal{top:12px;padding:7px 12px}.skins{margin:8px 0}.skins button{padding:7px}.instructions{line-height:1.9}}
#aimMode{color:#dfff84;background:#142c3be8;border:1px solid #dfff8444;border-radius:9px;padding:10px 12px;font-size:10px}#target{border-color:#c6df80;background:#52683b}@media(pointer:coarse),(max-width:650px){#aimMode{padding:8px 7px;font-size:8px}#touchControls{gap:7px}#touchControls button{width:58px;height:58px;font-size:8px}.utility{gap:3px}#hint{font-size:8px}}
#touchControls #fire{width:72px;height:72px;background:#dfff84;color:#142c32;border-color:#f0ffbf;font-size:12px;align-self:end;user-select:none;-webkit-user-select:none}#touchControls #fire.active{background:#ffbd75;border-color:#ffe4bb;transform:translateY(3px);box-shadow:0 2px 0 #071c28}#touchControls #target[hidden]{display:none}

#jumpState,#streak{display:block;font-size:8px;font-weight:800;letter-spacing:.5px;margin-top:5px;color:#a5c3ce}#streak{color:#ddff83}@media(max-width:650px){#status{max-width:215px}#jumpState,#streak{font-size:7px;letter-spacing:0}}

#status{max-width:390px}#streak{line-height:1.4}#announcement{font-style:italic;-webkit-text-stroke:1px #173343;text-shadow:3px 4px 0 #102234}h1{filter:drop-shadow(2px 3px 0 #102234)}@media(max-width:650px){#status{max-width:215px}}
h1 span{margin-left:0!important}h1{letter-spacing:-1px}
