*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0b1a10;font-family:Segoe UI,system-ui,sans-serif;color:#e6f5e6;-webkit-user-select:none;user-select:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}body.playing{touch-action:none}#game,#game canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.hidden{display:none!important}#hud>*{position:fixed;pointer-events:none}.panelish{background:#08180e9e;border:1px solid #3c6b45;border-radius:6px}#stats{top:calc(10px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));background:#08180e9e;border:1px solid #3c6b45;border-radius:6px;padding:8px 10px;font-size:12px;letter-spacing:1px;width:250px}#stats .row{display:flex;align-items:center;gap:8px;margin:3px 0}#stats .row span{width:44px;color:#9fd0a4}#stats .row span.gap{width:auto;margin-left:8px}#stats .small{font-size:10px;color:#9fd0a4}body:not(.mode-fly) .fly-only{display:none!important}body:not(.mode-foot) .foot-only{display:none!important}.bar{flex:1;height:8px;background:#10261a;border:1px solid #3c6b45}.bar>div{height:100%;width:100%;background:linear-gradient(90deg,#3bf28f,#c4ff6a)}#boostbar{background:linear-gradient(90deg,#ff9f43,#ffd166)}#quests{top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));background:#08180e9e;border:1px solid #3c6b45;border-radius:6px;padding:8px 10px;font-size:12px;width:250px}#quests h3{margin:0 0 4px;font-size:11px;letter-spacing:2px;color:#ffd166;display:flex;justify-content:space-between}#quests .q{margin:5px 0}#quests .q .t{display:flex;justify-content:space-between}#quests .q.done{opacity:.5;text-decoration:line-through}#quests .q.track .t b{color:#ffd166}#quests .pb{height:4px;background:#10261a;margin-top:2px}#quests .pb div{height:100%;background:#ffd166}#quests .inv{margin-top:6px;border-top:1px solid #2d5235;padding-top:5px;font-size:11px;color:#cfe8cf;display:flex;flex-wrap:wrap;gap:4px 10px}#quests .inv i{display:inline-block;width:8px;height:8px;transform:rotate(45deg);margin-right:4px}body.qmin #quests .q:not(.track),body.qmin #quests .inv{display:none}#feed{right:calc(10px + env(safe-area-inset-right));bottom:190px;text-align:right;font-size:13px}#feed div{background:#00000073;padding:2px 8px;margin-top:3px;border-radius:3px}#crosshair{left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border:2px solid rgba(230,255,230,.85);border-radius:50%}#crosshair:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;background:#fff;border-radius:50%}#stick{left:50%;top:50%;width:10px;height:10px;margin:-5px;border:2px solid #ffd166;border-radius:50%}body:not(.mode-fly) #stick,body.touch #stick,body.mode-helm #stick{display:none}#lead{width:14px;height:14px;margin:-7px;border:2px solid #ff5d73;transform:rotate(45deg);display:none}#wp{width:0;height:0;display:none}#wp .d{position:absolute;width:16px;height:16px;margin:-8px;border:2px solid #ffd166;background:#ffd16640;transform:rotate(45deg)}#wp span{position:absolute;top:12px;left:0;transform:translate(-50%);white-space:nowrap;font-size:11px;color:#ffd166;text-shadow:0 0 4px #000}#center-msg{left:0;right:0;top:26%;text-align:center;font-size:26px;font-weight:600;letter-spacing:3px;text-shadow:0 0 10px #000;padding:0 10px}#center-msg small{display:block;font-size:14px;letter-spacing:1px;font-weight:400;margin-top:8px;color:#cfe8cf}#prompt{left:0;right:0;bottom:calc(190px + env(safe-area-inset-bottom));text-align:center;font-size:15px;color:#fff;text-shadow:0 0 6px #000}#prompt:not(:empty) span{background:#00000073;padding:4px 12px;border-radius:4px;border:1px solid #ffd166}#warn{left:0;right:0;top:60%;text-align:center;font-size:16px;color:#ff4d5e;font-weight:700;letter-spacing:3px;text-shadow:0 0 6px #000}#radar{left:50%;bottom:calc(12px + env(safe-area-inset-bottom));margin-left:-80px;border-radius:50%;background:#08180e99;border:1px solid #3c6b45}#help{left:calc(10px + env(safe-area-inset-left));bottom:10px;font-size:11px;color:#cfe8cf;text-shadow:0 0 4px #000}body.touch #help{display:none}#labels{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.lbl{position:absolute;transform:translate(-50%,-100%);font-size:11px;text-align:center;white-space:nowrap;color:#ffd0d0;text-shadow:0 0 4px #000}.lbl.ship{color:#bfe9ff}.lbl .hp{width:44px;height:3px;background:#300;margin:2px auto 0}.lbl .hp div{height:100%;background:#ff5d73}.lbl.locked{color:#ff4060;font-weight:700}.lbl.boss{color:#ffb0b0;font-size:13px;font-weight:700}.lbl.boss .hp{width:90px;height:4px}.lbl.portal{color:#eaffff;font-size:12px;font-weight:700;letter-spacing:1px;background:#0a1e2873;padding:2px 6px;border-radius:4px}#bossbar{display:none;left:50%;transform:translate(-50%);top:calc(12px + env(safe-area-inset-top));width:min(520px,46vw);text-align:center}#bossbar b{display:block;font-size:13px;letter-spacing:2px;color:#ffd0c0;text-shadow:0 0 6px #000;margin-bottom:4px}#bossbar .bar{height:10px;background:#280000b3;border:1px solid #ff6a50;border-radius:5px;overflow:hidden}#bossbar .fill{height:100%;width:100%;background:linear-gradient(90deg,#ff3b2f,#ffb347);transition:width .15s}#warp{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;z-index:6;background:radial-gradient(circle,#fff,#aafff0d9 35%,#2878a000 80%)}#warp.on{animation:warp 1s ease-out}@keyframes warp{0%{opacity:1}to{opacity:0}}#menu{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;overflow-y:auto;background:radial-gradient(ellipse at center,#0a281473,#000a04d9);padding:calc(12px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left))}.panel{margin:auto;width:min(620px,100%);padding:26px 30px;background:#06160cdb;border:1px solid #4b8a55;border-radius:10px;box-shadow:0 0 40px #64ff8c1f}h1{margin:0;font-size:44px;letter-spacing:8px;color:#effff0}h1 span{color:#7dff9a;margin-left:10px}.tag{margin:4px 0 10px;color:#ffd166;letter-spacing:2px;font-size:13px}.story{color:#cfe8cf;font-size:14px;line-height:1.5;margin:0 0 16px}button{width:100%;padding:12px;font-size:18px;letter-spacing:4px;font-weight:700;background:linear-gradient(90deg,#2bd47d,#c4ff6a);border:0;color:#06200f;border-radius:6px;cursor:pointer}.controls{margin-top:14px;font-size:12px;color:#b6d8b9;line-height:1.7}.touch-controls{display:none}body.touch .touch-controls{display:block}body.touch .desk-controls{display:none}.alt-link{display:inline-block;margin-top:12px;font-size:12px;color:#8fd0ff}#touch{display:none;top:0;right:0;bottom:0;left:0;pointer-events:none}body.touch #touch{display:block}#lzone{position:absolute;left:calc(10px + env(safe-area-inset-left));bottom:calc(10px + env(safe-area-inset-bottom));width:190px;height:190px;border-radius:50%;pointer-events:auto;touch-action:none}#rzone{position:absolute;right:0;top:18%;width:60%;height:82%;pointer-events:auto;touch-action:none}.hint{position:absolute;font-size:10px;color:#dcffdc80;letter-spacing:2px}#lbase .hint{left:0;right:0;bottom:-16px;text-align:center}#rzone .hint{left:auto;right:40%;bottom:55%}#lbase{position:absolute;left:50%;top:50%;width:136px;height:136px;margin:-68px;border-radius:50%;border:2px solid rgba(200,255,200,.45);background:#143c1e47}#lbase.on{border-color:#e6ffe6d9;background:#285a3259}#lknob{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px;border-radius:50%;background:#7dff9a66;border:2px solid rgba(230,255,230,.7)}.tb{position:absolute;pointer-events:auto;touch-action:none;width:64px;height:64px;padding:0;border-radius:50%;font-size:12px;letter-spacing:1px;font-weight:700;background:#0f2d1980;color:#e6ffe6;border:2px solid rgba(160,255,180,.5);user-select:none;-webkit-user-select:none}.tb.on{background:#7dff9a8c;color:#06200f}.tb.big{width:90px;height:90px;font-size:15px;background:#781e2880;border-color:#ff7882b3}.tb.big.on{background:#ff5d73bf}.tb.small{width:54px;height:40px;border-radius:10px;font-size:11px}.tb.use{background:#785a0a8c;border-color:#ffd166;color:#ffd166}.tb.use.ready{background:#ffd166cc;color:#2a1d00}#t-fire{right:calc(16px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom))}#t-jump{right:calc(118px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom))}#t-sprint{right:calc(28px + env(safe-area-inset-right));bottom:calc(122px + env(safe-area-inset-bottom))}#t-use{right:calc(118px + env(safe-area-inset-right));bottom:calc(96px + env(safe-area-inset-bottom))}#t-msl{right:calc(116px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom))}#t-msl2{right:calc(116px + env(safe-area-inset-right));bottom:calc(86px + env(safe-area-inset-bottom))}.tb.fw{background:#6e288c8c;border-color:#ff8cff;color:#ffd6ff}.tb.fw.on{background:#ff8cffbf;color:#2a0030}#t-boost{right:calc(26px + env(safe-area-inset-right));bottom:calc(118px + env(safe-area-inset-bottom))}#t-thrup{right:calc(190px + env(safe-area-inset-right));bottom:calc(118px + env(safe-area-inset-bottom))}#t-thrdn{right:calc(190px + env(safe-area-inset-right));bottom:calc(70px + env(safe-area-inset-bottom))}body.mode-fly #t-use{right:calc(190px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));width:54px;height:48px;border-radius:10px;font-size:11px}#t-rolll{left:calc(10px + env(safe-area-inset-left));bottom:calc(206px + env(safe-area-inset-bottom))}#t-rollr{left:calc(140px + env(safe-area-inset-left));bottom:calc(206px + env(safe-area-inset-bottom))}#rotate{display:none}@media (orientation: portrait){body.touch.playing #rotate{display:block;left:0;right:0;top:46%;text-align:center;font-size:13px;color:#ffd166;opacity:.85}}body.touch #radar{width:104px;height:104px;margin-left:-52px;bottom:calc(8px + env(safe-area-inset-bottom))}body.touch #feed{bottom:auto;top:calc(130px + env(safe-area-inset-top));font-size:11px}body.touch #prompt{bottom:calc(122px + env(safe-area-inset-bottom));font-size:13px}body.touch #quests{pointer-events:auto}@media (orientation: portrait){body.touch #radar{left:calc(10px + env(safe-area-inset-left));margin-left:0;bottom:auto;top:calc(168px + env(safe-area-inset-top))}}@media (max-width: 900px),(max-height: 500px){#stats{width:180px;padding:5px 8px;font-size:10px}#stats .row{margin:2px 0;gap:5px}#stats .row span{width:36px}#quests{width:200px;font-size:10px;padding:5px 8px;max-width:46vw}#center-msg{font-size:18px;letter-spacing:2px}#center-msg small{font-size:12px}#warn{font-size:12px;letter-spacing:1px}#bossbar{width:40vw}#bossbar b{font-size:10px;letter-spacing:1px}}@media (max-width: 560px){.panel{padding:16px 14px}h1{font-size:30px;letter-spacing:4px}.story{font-size:13px}button{font-size:16px}.controls{font-size:11px}}@media (max-height: 500px) and (orientation: landscape){.panel{padding:12px 18px}h1{font-size:28px}.story{margin-bottom:10px;font-size:12px}.tb.big{width:78px;height:78px}#t-boost,#t-sprint{bottom:calc(104px + env(safe-area-inset-bottom))}.tb{width:58px;height:58px}.tb.small{width:52px;height:38px}#t-msl2{bottom:calc(80px + env(safe-area-inset-bottom))}#t-thrup{bottom:calc(106px + env(safe-area-inset-bottom))}#t-thrdn{bottom:calc(62px + env(safe-area-inset-bottom))}#t-use{bottom:calc(86px + env(safe-area-inset-bottom))}#lzone{width:160px;height:160px}#lbase{width:116px;height:116px;margin:-58px}#lknob{width:46px;height:46px;margin:-23px}#t-rolll,#t-rollr{bottom:calc(180px + env(safe-area-inset-bottom))}#t-rolll{left:calc(14px + env(safe-area-inset-left))}#t-rollr{left:calc(110px + env(safe-area-inset-left))}}@media (orientation: portrait){body.touch #lzone{width:150px;height:150px;left:calc(8px + env(safe-area-inset-left))}body.touch #lbase{width:116px;height:116px;margin:-58px}body.touch #t-thrdn{right:calc(30px + env(safe-area-inset-right));bottom:calc(196px + env(safe-area-inset-bottom))}body.touch #t-thrup{right:calc(30px + env(safe-area-inset-right));bottom:calc(244px + env(safe-area-inset-bottom))}body.touch.mode-fly #t-use{right:calc(116px + env(safe-area-inset-right));bottom:calc(160px + env(safe-area-inset-bottom))}body.touch #t-rolll{left:calc(10px + env(safe-area-inset-left));bottom:calc(172px + env(safe-area-inset-bottom))}body.touch #t-rollr{left:calc(96px + env(safe-area-inset-left));bottom:calc(172px + env(safe-area-inset-bottom))}}
