*{box-sizing:border-box;margin:0;padding:0}body{background:#0f172a;font-family:Segoe UI,system-ui,sans-serif;overflow:hidden}#ui{pointer-events:none;z-index:10;position:fixed;inset:0}#vignette{pointer-events:none;z-index:5;background:radial-gradient(#0000 50%,#00000073 100%);position:fixed;inset:0}#crosshair{mix-blend-mode:difference;background:#fff;width:6px;height:6px;margin:-3px;display:none;position:absolute;top:50%;left:50%}#crosshair.aim{width:2px;height:18px;margin:-9px 0 0 -1px}#lock-mark{border:3px solid #facc15;border-radius:50%;width:34px;height:34px;margin:-17px 0 0 -17px;display:none;position:absolute;top:0;left:0;box-shadow:0 0 6px #facc15}#crosshair.aim:after{content:"";background:#fff;width:18px;height:2px;position:absolute;top:8px;left:-8px}#bow-meter{background:#00000080;border:2px solid #000;width:46px;height:7px;margin-left:-23px;display:none;position:absolute;top:calc(50% + 18px);left:50%}#bow-fill{background:#fde68a;width:0;height:100%}#bow-meter.weak #bow-fill{background:#9ca3af}#bow-meter.full #bow-fill{background:#f87171}#hud{color:#fff;gap:12px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.hud-box{text-align:center;background:#00000073;border:2px solid #000;padding:8px 12px;box-shadow:inset 0 0 0 2px #ffffff26}.hud-box b{font-family:"Press Start 2P",monospace;font-size:.95rem;display:block}.hud-box span{text-transform:uppercase;letter-spacing:2px;color:#a3a3a3;font-size:.55rem}#biome-label{color:#fff;text-shadow:2px 2px #3f3f3f;opacity:0;font-family:"Press Start 2P",monospace;font-size:.8rem;transition:opacity 1s;position:absolute;top:70px;left:50%;transform:translate(-50%)}#message{color:#fff;text-shadow:2px 2px #3f3f3f;text-align:center;width:max-content;max-width:min(92vw,60rem);font-family:"Press Start 2P",monospace;font-size:1rem;line-height:1.6;transition:opacity .4s;position:absolute;top:22%;left:50%;transform:translate(-50%)}#start-screen,#win-screen,#death-screen{pointer-events:all;color:#fff;text-align:center;image-rendering:pixelated;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#win-screen,#death-screen{display:none}h1{letter-spacing:4px;color:#ffff54;text-shadow:4px 4px #3f3f3f;font-family:"Press Start 2P",monospace;font-size:2.8rem}.tag{color:#e0e0e0;text-shadow:2px 2px #3f3f3f;margin:14px 0 20px}.controls{background:#00000080;border:2px solid #000;margin-bottom:24px;padding:14px 26px;font-size:.85rem;line-height:2;box-shadow:inset 0 0 0 2px #ffffff1f}.controls kbd{color:#fff;text-shadow:1px 1px #3f3f3f;background:#7a7a7a;border:2px solid #000;margin:0 2px;padding:2px 9px;font-family:inherit;font-weight:700;box-shadow:inset 0 -3px #00000059,inset 0 2px #ffffff4d}.btn{color:#fff;cursor:pointer;text-shadow:2px 2px #3f3f3f;background:linear-gradient(#a3a3a3,#6f6f6f);border:2px solid #000;margin:6px;padding:14px 36px;font-family:"Press Start 2P",monospace;font-size:.9rem;box-shadow:inset 0 -5px #0000004d,inset 0 3px #ffffff59}.btn:hover{background:linear-gradient(#8fd48f,#5da35d)}.btn.hard{background:linear-gradient(#d48f8f,#a35d5d)}.btn.hard:hover{background:linear-gradient(#e06a6a,#b04040)}#mode-note{color:#fbbf24;margin-top:10px;font-family:"Press Start 2P",monospace;font-size:.7rem}#splits{color:#e2e8f0;text-shadow:1px 1px #3f3f3f;opacity:.9;font-family:"Press Start 2P",monospace;font-size:.55rem;line-height:2.4;position:absolute;top:90px;left:14px}.split-row.done{color:#4ade80}.split-row.current{color:#ffff54}.end-splits{color:#cbd5e1;background:#00000073;border:2px solid #000;margin-bottom:22px;padding:12px 22px;font-family:"Press Start 2P",monospace;font-size:.6rem;line-height:2.2;box-shadow:inset 0 0 0 2px #ffffff1f}#settings{pointer-events:all;gap:8px;display:flex;position:absolute;top:14px;right:14px}.set-btn{color:#fff;cursor:pointer;background:#00000073;border:2px solid #000;padding:6px 10px;font-size:1rem;box-shadow:inset 0 0 0 2px #ffffff26}.set-btn:hover{background:#3c3c3c99}#flight-hud{color:#fff;gap:12px;display:none;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}#flight-hud .hud-box{min-width:96px}#flight-hud.stall #hud-speed{color:#f87171}#flight-tip{white-space:nowrap;color:#ffe066;text-shadow:2px 2px #3f3f3f;font-family:"Press Start 2P",monospace;font-size:.6rem;display:none;position:absolute;bottom:92px;left:50%;transform:translate(-50%)}#boss{text-align:center;color:#f5d0fe;text-shadow:2px 2px #1a0b24;width:min(520px,80vw);font-family:"Press Start 2P",monospace;font-size:.6rem;display:none;position:absolute;top:84px;left:50%;transform:translate(-50%)}#boss-track{background:#1e0a28b3;border:2px solid #1a0b24;height:12px;margin-top:6px}#boss-fill{background:linear-gradient(#f0abfc,#a21caf);width:100%;height:100%;transition:width .25s}#gate-arrow{width:36px;height:36px;image-rendering:pixelated;filter:drop-shadow(2px 2px #0009);background-size:100% 100%;margin:-18px 0 0 -18px;display:none;position:absolute;top:0;left:0}body:not(.touch) .touch-only,body.touch .desktop-only{display:none!important}body.touch{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}body.touch input{-webkit-user-select:text;user-select:text}#touch{z-index:8;touch-action:none;display:none;position:fixed;inset:0}body.touch.playing #touch{display:block}.t-stick{pointer-events:none;background:#0000002e;border:3px solid #ffffff59;border-radius:50%;width:124px;height:124px;margin:-62px 0 0 -62px;display:none;position:absolute}.t-stick.sprint{border-color:#fde68ad9;box-shadow:0 0 0 4px #fde68a40}.t-knob{background:#ffffff73;border:2px solid #0006;border-radius:50%;width:54px;height:54px;margin:-27px 0 0 -27px;position:absolute;top:50%;left:50%}#t-stick-hint{left:calc(14% + env(safe-area-inset-left));opacity:.35;display:block;position:absolute;bottom:22%}.t-btn{color:#fff;pointer-events:auto;text-shadow:2px 2px #3f3f3f;background:#00000059;border:3px solid #fff6;border-radius:50%;justify-content:center;align-items:center;font-family:"Press Start 2P",monospace;display:flex;position:absolute}.t-btn.down{background:#ffffff4d;border-color:#fde68a}.t-btn.off{display:none}#t-jump{right:calc(26px + env(safe-area-inset-right));width:92px;height:92px;font-size:.6rem;bottom:30px}#t-bow{right:calc(134px + env(safe-area-inset-right));width:78px;height:78px;font-size:1.7rem;bottom:36px}#t-use{right:calc(40px + env(safe-area-inset-right));width:64px;height:64px;font-size:1.5rem;bottom:140px}#t-lock{right:calc(146px + env(safe-area-inset-right));width:58px;height:58px;font-size:1.4rem;bottom:128px}#t-lock.on{background:#facc1559;border-color:#facc15}#rotate{z-index:100;color:#fff;text-align:center;background:#0f172a;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;font-family:"Press Start 2P",monospace;font-size:.8rem;line-height:1.8;display:none;position:fixed;inset:0}#rotate b{font-size:3rem}@media (orientation:portrait){body.touch #rotate{display:flex}}body.touch #settings{right:calc(10px + env(safe-area-inset-right));top:8px}body.touch .set-btn{padding:8px 11px}@media (max-height:520px){#hud{gap:6px;top:8px}.hud-box{padding:4px 7px}.hud-box b{font-size:.62rem}.hud-box span{letter-spacing:1px;font-size:.42rem}#biome-label{font-size:.62rem;top:52px}#message{font-size:.62rem;top:27%}#splits{top:62px;left:calc(10px + env(safe-area-inset-left));font-size:.42rem}#boss{top:56px}#flight-hud{bottom:8px}#flight-tip{bottom:64px}#start-screen,#win-screen,#death-screen{justify-content:flex-start;padding:14px 0 20px;overflow-y:auto}#start-screen>*,#win-screen>*,#death-screen>*{flex-shrink:0}h1{font-size:1.6rem}.tag{margin:8px 0 10px;font-size:.8rem}.controls{margin-bottom:12px;padding:8px 16px;font-size:.72rem;line-height:1.8}.btn{padding:11px 26px;font-size:.75rem}.end-splits{margin-bottom:12px;padding:8px 16px}#pause-screen h1{font-size:1.4rem!important}}@media (max-width:760px){body.touch #hud .hud-box:last-child{display:none}}#hearts{bottom:calc(14px + env(safe-area-inset-bottom));filter:drop-shadow(2px 2px #0009);align-items:center;gap:2px;display:none;position:absolute;left:50%;transform:translate(-50%)}#hearts img{width:21px;height:18px;image-rendering:pixelated}#hearts.shake{animation:.3s hshake}@keyframes hshake{25%{transform:translate(calc(-50% - 4px))}75%{transform:translate(calc(4px - 50%))}}#tired{bottom:calc(40px + env(safe-area-inset-bottom));color:#c4b5fd;text-shadow:2px 2px #1e1b4b;white-space:nowrap;font-family:"Press Start 2P",monospace;font-size:.5rem;display:none;position:absolute;left:50%;transform:translate(-50%)}#hurt{pointer-events:none;z-index:6;opacity:0;background:radial-gradient(#0000 45%,#dc14148c 100%);position:fixed;inset:0}@media (max-height:520px){#hearts img{width:16px;height:14px}#tired{bottom:32px}}#set-panel{z-index:80;pointer-events:all;background:#0000008c;justify-content:center;align-items:center;padding:10px;display:none;position:fixed;inset:0}#set-panel.open{display:flex}.sp-box{color:#e5e5e5;background:#26262b;border:2px solid #000;width:min(620px,100%);max-height:100%;padding:16px 20px;overflow-y:auto;box-shadow:inset 0 0 0 2px #ffffff1f}.sp-box h2{color:#ffff54;text-shadow:2px 2px #3f3f3f;text-align:center;margin-bottom:12px;font-family:"Press Start 2P",monospace;font-size:.9rem}.sp-row{flex-wrap:wrap;align-items:center;gap:12px;margin:9px 0;display:flex}.sp-row>span{color:#cbd5e1;width:150px;font-family:"Press Start 2P",monospace;font-size:.55rem}.seg{flex-wrap:wrap;gap:4px;display:flex}.seg button{color:#fff;cursor:pointer;background:#3a3a3a;border:2px solid #000;padding:7px 10px;font-family:"Press Start 2P",monospace;font-size:.5rem;box-shadow:inset 0 -3px #0000004d}.seg button.on{background:linear-gradient(#8fd48f,#5da35d)}.seg button.auto{outline-offset:-4px;outline:2px dashed #8fd48f}.seg button:disabled{cursor:default;opacity:.55}.seg button:disabled.auto{opacity:.9}.sp-note{color:#a3a3a3;margin:2px 0 8px 162px;font-size:.72rem;line-height:1.5}.sp-note.warn{color:#fbbf24}#sp-done{margin:14px auto 0;display:block}@media (max-width:560px){.sp-row>span{width:100%}.sp-note{margin-left:0}}@media (max-height:520px){.sp-box{padding:10px 14px}.sp-row{margin:6px 0}.sp-box h2{margin-bottom:6px}}
