*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#63bcec;color:#f9f3dd;font-family:system-ui,Arial,sans-serif;touch-action:none;user-select:none}#game,#scene{position:fixed;inset:0;width:100%;height:100%}#scene{display:block;background:#78c7f5}button{font:inherit;cursor:pointer;touch-action:none}#hud{position:fixed;z-index:3;top:env(safe-area-inset-top);left:env(safe-area-inset-left);right:env(safe-area-inset-right);height:42px;display:flex;align-items:center;gap:12px;padding:0 12px;background:linear-gradient(90deg,rgba(14,44,42,.88),rgba(14,44,42,.58));font-size:12px;font-weight:900;letter-spacing:.08em}#level{white-space:nowrap}#speed{color:#ffdb77;margin-left:auto}#time{min-width:52px;text-align:right}#pause{width:35px;height:33px;border:1px solid #c6d8c6;border-radius:9px;background:#164a4a;color:white}#boostTrack{position:fixed;z-index:3;top:calc(44px + env(safe-area-inset-top));right:15px;width:130px;height:14px;border:1px solid #fff8bd;border-radius:9px;background:#243d38;overflow:visible}#boostFill{display:block;width:0;height:100%;border-radius:9px;background:linear-gradient(90deg,#ef9839,#fff27b)}#boostTrack b{position:absolute;right:0;top:16px;font-size:10px;letter-spacing:.12em;text-shadow:0 2px 3px #132b2b}#move,#actions{position:fixed;z-index:4;bottom:max(12px,env(safe-area-inset-bottom));display:flex;gap:8px}#move{left:max(12px,env(safe-area-inset-left))}#actions{right:max(12px,env(safe-area-inset-right))}#move button,#actions button{height:clamp(54px,15vh,72px);border:1px solid rgba(238,255,243,.55);border-radius:17px;background:rgba(15,63,60,.57);color:white;font-weight:950;box-shadow:inset 0 1px rgba(255,255,255,.12);backdrop-filter:blur(4px)}#move button{width:clamp(54px,10vw,75px);font-size:22px}#actions button{min-width:clamp(58px,10vw,86px);font-size:13px}#actions #boost{border-color:#ffdc80;background:rgba(143,73,20,.76)}button:active,.pressed{transform:scale(.95);filter:brightness(1.25)}#overlay{position:fixed;z-index:8;inset:0;display:none;place-items:center;padding:10px;background:rgba(5,28,27,.68)}#overlay.visible{display:grid}.card{width:min(550px,96vw);max-height:95dvh;overflow:auto;padding:clamp(14px,3vh,26px);display:grid;gap:9px;border:1px solid #a5d7a9;border-radius:20px;background:linear-gradient(145deg,#173e38,#0d292c);text-align:center;box-shadow:0 15px 50px #071e1f}.card small{color:#b1e9b9;font-weight:900;letter-spacing:.12em}.card h1{margin:0;font-size:clamp(24px,5vw,42px);line-height:1}.card em{color:#ffc06b;font-style:normal}.card p{margin:0;font-size:clamp(13px,2vw,16px);line-height:1.3}.card button{min-height:44px;border:0;border-radius:12px;background:#f9bd55;color:#142923;font-weight:950}.card span{font-size:12px;color:#cbded1}#rotate{display:none}@media(max-height:360px){#hud{height:36px}#boostTrack{top:38px}.card{gap:5px;padding:10px}.card p{font-size:12px}.card button{min-height:36px}}@media(orientation:portrait){#rotate{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:30px;background:#153b37;text-align:center;font-size:22px;font-weight:900}}

#stats{white-space:nowrap;color:#f8efc8;font-size:13px}#level,#speed,#time{display:none}@media(max-width:760px){#hud{gap:5px;padding:0 8px;font-size:11px;letter-spacing:0}#stats{font-size:12px}#actions button{min-width:56px}#move button{width:54px}}
html.rocket-hud-hidden #hud,html.rocket-hud-hidden #powerTrack,html.rocket-hud-hidden #boostTrack{display:none!important}

/* Thumb controls: one analog stick and one jump target. */
#move{left:max(20px,env(safe-area-inset-left));bottom:max(15px,env(safe-area-inset-bottom))}
#actions{right:max(22px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
#move #joystick,#actions #jump{width:clamp(86px,17vh,122px);height:clamp(86px,17vh,122px);min-width:0;border-radius:50%;border:2px solid rgba(221,255,240,.63);background:rgba(20,79,68,.27);box-shadow:inset 0 0 20px rgba(143,238,193,.12),0 2px 14px rgba(4,34,24,.18);backdrop-filter:blur(3px);color:#fff}
#move #joystick{display:grid;place-items:center;padding:0;touch-action:none}
#stickKnob{display:block;width:38%;height:38%;border-radius:50%;border:2px solid rgba(225,255,236,.77);background:rgba(138,226,190,.5);box-shadow:0 0 18px rgba(25,87,64,.4);pointer-events:none;transition:transform .05s linear}
#actions #jump{font-size:clamp(14px,3vh,20px);letter-spacing:.04em}
@media(max-height:360px){#move #joystick,#actions #jump{width:78px;height:78px}}
#runnerSelect[hidden]{display:none}#runnerSelect{display:grid;gap:6px;padding:6px 0;color:#e2f4dc;font-size:12px;letter-spacing:.08em}.runnerChoices{display:flex;gap:8px}.runnerChoices button{flex:1;background:#204d43;color:#f6f6e6;border:1px solid #78ab8b;min-height:38px}.runnerChoices button.selected{background:#9bdd9f;color:#17342d;border-color:#f7e9a7}#speed{opacity:0;min-width:76px;max-width:76px;height:23px;margin-left:auto;padding:3px 5px;border:1px solid #d4ecc1;border-radius:7px;background:linear-gradient(90deg,rgba(255,202,83,.7) var(--speed-fill,0%),rgba(10,50,44,.55) var(--speed-fill,0%));transition:opacity .3s ease}#speed.fast{opacity:1}#speed.extreme{box-shadow:0 0 9px rgba(255,218,90,.65)}@media(max-width:700px){#hud{gap:5px;padding:0 5px;font-size:10px;letter-spacing:0}#level{max-width:29vw;overflow:hidden;text-overflow:ellipsis}#stats{white-space:nowrap}#time{min-width:42px}}
#actions #jump.sliding{border-color:#d6eda5;background:rgba(51,91,71,.66)}#speed.fast{display:block}#speed:not(.fast){display:none}
#actions{align-items:flex-end}#actions #tailFlap{width:clamp(66px,13vh,88px);height:clamp(66px,13vh,88px);min-width:0;border-radius:50%;border:2px solid rgba(255,219,143,.75);background:rgba(105,68,31,.56);font-size:clamp(11px,2.2vh,15px);line-height:1.1}#actions #tailFlap[hidden]{display:none}.runnerChoices button{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;padding:5px}.runnerChoices button strong{font-size:12px}.runnerChoices button small{flex-basis:100%;color:inherit;font-size:9px;letter-spacing:.01em}.runnerChoices img{width:40px;height:36px;object-fit:contain}#runnerSelect{letter-spacing:0}
#actions #tailFlap.recovering{opacity:.58;border-color:rgba(220,201,166,.4)}
#actions #climb{width:clamp(62px,12vh,82px);height:clamp(62px,12vh,82px);min-width:0;border-radius:50%;border:2px solid #d7eab1;background:rgba(43,88,52,.7);font-size:clamp(11px,2.3vh,15px)}#actions #climb[hidden]{display:none}
@keyframes rocket-meter-pulse{0%,100%{transform:translateX(0)}25%{transform:translateX(-1px)}75%{transform:translateX(1px)}}#speed.extreme{animation:rocket-meter-pulse .15s linear infinite}
#boostTrack{padding:0;text-align:left;color:#fff;cursor:pointer;touch-action:manipulation}
#boostTrack.ready{border-color:#ffe18b;box-shadow:0 0 12px rgba(255,216,111,.78);animation:rocket-ready 1.1s ease-in-out infinite}
#boostTrack.ready b{color:#fff5c7;white-space:nowrap;font-size:11px}
#boostTrack.active{border-color:#f3e0a2;box-shadow:0 0 10px rgba(208,174,116,.65)}
#powerTrack{position:fixed;z-index:3;top:calc(44px + env(safe-area-inset-top));left:15px;width:130px;height:14px;border:1px solid #d4efbf;border-radius:9px;background:#243d38;pointer-events:none}
#powerFill{display:block;width:100%;height:100%;border-radius:9px;background:linear-gradient(90deg,#5cba68,#b8e882);transition:width .18s ease}
#powerTrack.low #powerFill{background:linear-gradient(90deg,#dc5149,#f3a864)}
#powerTrack b{position:absolute;left:0;top:16px;white-space:nowrap;color:#fff9d8;font-size:10px;font-weight:900;letter-spacing:.1em;text-shadow:0 2px 3px #132b2b}
@media(max-height:360px){#powerTrack{top:38px}}
@keyframes rocket-ready{50%{box-shadow:0 0 20px rgba(255,224,138,.95)}}
.card h1{font-size:clamp(19px,3.7vw,34px);line-height:1.08;text-wrap:balance}
.runnerChoices button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;font-size:13px;white-space:nowrap}
.runnerChoices img{width:37px;height:33px;object-fit:cover;object-position:70% 35%;filter:drop-shadow(0 2px 2px #17342d)}
.runnerChoices button:disabled{opacity:.68;cursor:default;filter:saturate(.7)}
/* Forest art pass: quiet earth tones keep the landscape readable behind touch controls. */
#overlay .card{border-color:#b7bf81;background:radial-gradient(circle at 78% 12%,rgba(110,151,80,.32),transparent 39%),linear-gradient(150deg,#314c37,#172d29 70%);box-shadow:0 20px 52px rgba(12,27,19,.65),inset 0 1px rgba(253,236,178,.19)}
#overlay .card h1{text-shadow:0 3px 8px rgba(8,28,20,.65)}
#overlay .card #play{background:linear-gradient(#f2d288,#d79b53);box-shadow:inset 0 2px rgba(255,248,210,.38),0 4px 0 #805b37}
#move #joystick,#actions #jump{border-color:rgba(234,237,190,.71);background:rgba(31,57,42,.32);box-shadow:inset 0 0 18px rgba(207,224,156,.14),0 4px 16px rgba(21,44,29,.28)}
#stickKnob{border-color:rgba(244,236,198,.84);background:rgba(150,184,118,.56)}
.runnerChoices small{font-size:9px;white-space:normal;max-width:94px;line-height:1.05}
@media(max-height:360px){.runnerChoices img{width:27px;height:25px}.runnerChoices button{min-height:30px;font-size:11px}.runnerChoices small{font-size:8px}}
/* P75 compact pursuit reminder shares the existing HUD, including Clean Screen. */
#pursuitStatus{margin-left:auto;font-size:10px;letter-spacing:0;color:#ffe3a2;max-width:48%;text-align:right}
#pursuitStatus.closing{color:#ffe097}
#pursuitStatus.danger{color:#ffc263;text-shadow:0 0 7px rgba(255,139,48,.8)}
@keyframes rocket-move-warning{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.62;transform:scale(1.08)}}
#pursuitStatus.almost{color:#fff3bd;font-size:15px;letter-spacing:.08em;text-shadow:0 0 10px #ff642e;animation:rocket-move-warning .34s ease-in-out infinite}

.build-stamp{position:fixed;bottom:max(5px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);color:#f6edccaa;font-size:8px;letter-spacing:.08em;pointer-events:none;z-index:2}

/* Compact music control, separate from movement and global corner controls. */
#chaseMusicToggle{position:fixed;z-index:4;left:50%;transform:translateX(-50%);bottom:max(20px,env(safe-area-inset-bottom));min-width:44px;min-height:40px;padding:5px 9px;border:1px solid #e4dcaaaa;border-radius:12px;color:#fff5d2;background:#17382bd9;font-size:16px}
html.rocket-hud-hidden #chaseMusicToggle{display:none!important}
