html,body{overscroll-behavior:none}#world{touch-action:none}.touch-controls{display:none}.touch-mode .touch-controls.playing{display:flex;position:fixed;inset:0;z-index:6;pointer-events:none;user-select:none;-webkit-user-select:none}.touch-controls button{pointer-events:auto;touch-action:none;-webkit-touch-callout:none;border:1px solid #fff8;background:#123e42dc;color:#fffbed;border-radius:18px;min-height:56px;min-width:56px;font-weight:700;font-size:14px;box-shadow:0 3px 0 #062c3450}.touch-controls button.held{background:#068e93;transform:translateY(2px);box-shadow:none}.touch-controls button:disabled{opacity:.45}.touch-controls .touch-skill.ready{background:#397fc1;box-shadow:0 0 18px #8ac8ff}.touch-steer{position:absolute;left:max(16px,env(safe-area-inset-left));bottom:calc(26px + env(safe-area-inset-bottom));display:flex;gap:10px}.touch-steer button{width:62px;height:70px;font-size:27px}.touch-actions{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));display:grid;grid-template-columns:64px 64px;gap:8px}.touch-actions .gas{background:#007e79ed}.touch-actions .boost-button{background:#aa6235e8}.touch-rescue{position:absolute;right:max(16px,env(safe-area-inset-right));top:calc(220px + env(safe-area-inset-top));font-size:11px!important;min-height:40px!important;border-radius:10px!important}.touch-mode #warning{display:none!important}.touch-mode .race-help{display:none}.touch-mode .card{max-height:calc(100dvh - 32px);overflow-y:auto}.touch-mode .menu-footer{display:none}.touch-mode .menu{padding:calc(80px + env(safe-area-inset-top)) 24px calc(20px + env(safe-area-inset-bottom));align-items:flex-start}.touch-mode .menu-copy{max-width:100%;width:370px;max-height:calc(100dvh - 110px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;scrollbar-width:thin;padding-bottom:12px}.touch-mode h1{font-size:65px;margin:18px 0;line-height:.85}.touch-mode .description{display:none}.touch-mode .subtitle{font-size:15px;letter-spacing:4px;margin-bottom:12px}.touch-mode .specs{margin:18px 0}.touch-mode .hint{margin-top:12px}.touch-mode .item-guide{font-size:10px}.touch-mode .location{display:none}.touch-mode .top{left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));top:calc(12px + env(safe-area-inset-top))}.touch-mode .brand .mark{width:28px;height:28px;font-size:19px}.touch-mode .brand{gap:7px}.touch-mode .brand b{font-size:11px;letter-spacing:1px}.touch-mode .brand small{font-size:7px;letter-spacing:1px}.touch-mode .tools{gap:4px}.touch-mode .tool{font-size:10px;padding:9px 8px;min-height:36px}.touch-mode .leaderboard{display:none}.touch-mode .race-top{top:calc(60px + env(safe-area-inset-top));gap:18px;padding:8px 14px;white-space:nowrap}.touch-mode .race-top .label{font-size:8px;letter-spacing:1px}.touch-mode .race-top .value{font-size:17px}.touch-mode .toast{top:calc(118px + env(safe-area-inset-top));font-size:11px;width:max-content;max-width:90vw}.touch-mode .map-box{top:calc(119px + env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));padding:6px}.touch-mode .map-box canvas{width:100px;height:76px}.touch-mode .map-caption{font-size:7px;letter-spacing:0}.touch-mode .bottom-hud{left:max(16px,env(safe-area-inset-left));bottom:calc(173px + env(safe-area-inset-bottom));right:auto}.touch-mode .speed-box{padding:9px 12px;width:135px}.touch-mode .speed{font-size:34px}.touch-mode .speed small{font-size:8px;margin-left:6px;letter-spacing:0}.touch-mode .speed-box>.label{display:none}.touch-mode .boost-label{font-size:8px;letter-spacing:0;margin-top:8px}.touch-mode .systems{left:auto;right:max(16px,env(safe-area-inset-right));bottom:calc(173px + env(safe-area-inset-bottom));transform:none;width:190px;padding:9px 12px}.touch-mode .system-row{font-size:8px;letter-spacing:0}.touch-mode .meter{height:5px;margin-bottom:7px}.touch-mode .effects{font-size:9px;line-height:1.3;min-height:12px}.touch-mode .center-message{top:42%}.touch-mode .count{font-size:95px}
@media(orientation:landscape){.touch-mode .menu{padding-top:60px;padding-left:max(28px,env(safe-area-inset-left));background:linear-gradient(90deg,#f6f3e6ed,#f6f3e6a0 45%,transparent 75%)}.touch-mode .menu-copy{width:420px;max-height:calc(100dvh - 78px)}.touch-mode h1{font-size:48px;margin:12px 0}.touch-mode h1 br{display:none}.touch-mode h1 span{display:inline}.touch-mode .eyebrow{font-size:8px;letter-spacing:2px}.touch-mode .subtitle{font-size:12px;margin-bottom:4px}.touch-mode .specs{display:none}.touch-mode .primary{padding:12px 20px;min-width:230px}.touch-mode .hint{font-size:10px;margin-top:7px}.touch-mode .item-guide{margin-top:6px}.touch-mode .race-top{top:calc(9px + env(safe-area-inset-top));padding:6px 12px;gap:16px}.touch-mode .brand small{display:none}.touch-mode .map-box{top:calc(62px + env(safe-area-inset-top))}.touch-mode .map-box canvas{width:85px;height:60px}.touch-mode .map-caption{display:none}.touch-mode .bottom-hud{bottom:auto;top:calc(64px + env(safe-area-inset-top))}.touch-mode .speed-box{width:120px;padding:8px 10px}.touch-mode .speed{font-size:29px}.touch-mode .touch-steer{bottom:calc(14px + env(safe-area-inset-bottom))}.touch-mode .touch-actions{bottom:calc(14px + env(safe-area-inset-bottom));grid-template-columns:58px 58px;gap:6px}.touch-mode .touch-actions button{min-height:48px;min-width:58px;font-size:12px}.touch-mode .touch-steer button{width:58px;height:60px}.touch-mode .systems{left:50%;right:auto;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom));width:230px;padding:8px 12px}.touch-mode .touch-rescue{top:calc(133px + env(safe-area-inset-top));min-height:34px!important}.touch-mode .toast{top:calc(65px + env(safe-area-inset-top))}.touch-mode .center-message{top:43%}.touch-mode .count{font-size:72px}.touch-mode .count-label{font-size:8px;margin-top:8px;padding:6px}.touch-mode .card{padding:20px;width:420px}.touch-mode .card h2{font-size:25px;margin:10px 0}.touch-mode .card p{margin:8px 0}.touch-mode .card .primary{margin-top:12px}.touch-mode .card .secondary{padding:9px;margin-top:8px}}
@media(orientation:portrait) and (max-width:360px){.touch-mode .brand small{display:none}.touch-mode .systems{width:170px}.touch-mode .speed-box{width:118px}.touch-mode .touch-steer{gap:6px;left:12px}.touch-mode .touch-steer button{width:55px;min-width:55px}.touch-mode .touch-actions{right:12px;grid-template-columns:58px 58px}.touch-mode h1{font-size:58px}}
/* Thumb diamond: throttle north, brake south, boost west, skill east. */
.touch-mode .touch-actions{grid-template-columns:repeat(3,56px);grid-template-rows:repeat(3,56px);gap:4px}
.touch-mode .touch-actions button{min-width:56px;min-height:56px;padding:3px;font-size:12px}
.touch-actions .gas{grid-column:2;grid-row:1}.touch-actions .boost-button{grid-column:1;grid-row:2}.touch-actions .touch-skill{grid-column:3;grid-row:2}.touch-actions [data-hold="brake"]{grid-column:2;grid-row:3}
.touch-actions .gas.held{background:#006b56;outline:3px solid #baf4b0}
@media(orientation:portrait){.touch-mode .systems,.touch-mode .bottom-hud{bottom:calc(222px + env(safe-area-inset-bottom))}}
@media(orientation:landscape){.touch-mode .touch-actions{grid-template-columns:repeat(3,50px);grid-template-rows:repeat(3,48px);gap:4px}.touch-mode .touch-actions button{min-width:50px;min-height:48px}.touch-mode .touch-rescue{right:calc(195px + env(safe-area-inset-right));top:calc(64px + env(safe-area-inset-top))}}
