.drive-world{max-width:760px;margin:auto;padding:0 20px 30px}.drive-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:20px}.drive-heading h2{font-size:64px;margin:0}.drive-heading small{font-size:10px;letter-spacing:.16em;color:#aac8c9}.drive-layout{display:grid;grid-template-columns:minmax(0,390px) minmax(0,250px);gap:24px;align-items:start}.drive-phone{padding:10px;background:linear-gradient(120deg,#718284,#1a262b 20%,#0b1014 80%,#536162);border:1px solid #667a7a;border-radius:34px;box-shadow:0 25px 55px #0007}.drive-glass{overflow:hidden;border-radius:25px;background:#080f14}.drive-hud{display:flex;justify-content:space-between;padding:16px 16px 10px;font-size:9px;letter-spacing:.1em;color:#abc8c6}.drive-hud b{display:block;font-size:19px;color:#f0ebda;letter-spacing:0}.drive-glass canvas{display:block;width:100%;height:auto;aspect-ratio:390/560;touch-action:none;outline-offset:-3px}.drive-steer{display:flex;gap:6px;padding:9px 12px}.drive-steer button{flex:1;border:1px solid #567373;background:#172a32;border-radius:8px;min-height:48px;font-size:20px}.drive-actions{display:flex;gap:6px;padding:0 12px 14px}.drive-actions button{flex:1;min-height:42px;border:1px solid #adcecc;background:#b4ceca;color:#071115;border-radius:6px;font-size:12px}.drive-actions #drive-music{background:transparent;color:#b4ceca;flex:.65}.drive-side{padding-top:8px}.drive-side h3{font:30px 'Bebas Neue',sans-serif;margin:0 0 10px}.drive-side p,.drive-side label{font-size:12px;color:#b8cac8}.drive-side label{display:block;margin:12px 0}.drive-side input:not([type=checkbox]){width:100%;background:#0b1a21;color:#eee8d8;border:1px solid #607879;padding:12px;font:16px sans-serif;border-radius:4px}.drive-side .drive-opt{display:flex;gap:8px;align-items:flex-start}.drive-side input[type=checkbox]{width:18px;min-width:18px;height:18px}.drive-side button{width:100%;padding:12px;border:1px solid #b8ceca;background:#b8ceca;color:#0b1a21;min-height:44px}.drive-side button:disabled{opacity:.55}.drive-side #drive-final{font:64px 'Bebas Neue',sans-serif;display:block;color:#e6b874}.drive-board{padding:0;list-style:none;margin:20px 0}.drive-board li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #536a6c66;font-size:12px}.drive-help{border-top:1px solid #536a6c66;padding-top:18px;margin-top:20px}.drive-side [hidden],.drive-world [hidden]{display:none!important}.drive-trap{position:absolute;left:-10000px}.scene .arcade{left:89%;top:86%}.arcade .hotspot-label{min-width:100px}dialog.in-game{width:100%;max-width:100%;background:radial-gradient(ellipse at top,#183039,#060e15 75%)}.in-game .panel-top{max-width:760px;margin:0 auto 20px}.drive-heading a{font-size:11px;color:#b6caca;text-decoration:underline}.drive-status{min-height:36px}
@media(max-width:600px){.drive-world{padding:0 0 20px}.drive-heading h2{font-size:48px}.drive-layout{display:block}.drive-phone{max-width:340px;margin:auto}.drive-side{max-width:340px;margin:24px auto}.drive-glass canvas{max-height:48svh;object-fit:contain}.drive-hud{padding:10px 14px 6px}.drive-hud b{font-size:16px}.scene .hotspot.arcade{left:auto!important;right:3%!important;top:84%!important;transform:translateY(-50%)}.scene .arcade .hotspot-label{min-width:0}.in-game .panel-top{margin-bottom:15px}}
dialog.in-game{padding:0 20px 30px}dialog.in-game .panel-top{position:relative;inset:auto;width:100%;max-width:760px;padding:16px 0;margin:0 auto 12px;background:none}dialog.in-game .drive-world{padding:0 0 30px}.drive-phone{width:min(100%,calc((100svh - 220px)*.62));min-width:245px}.drive-layout{grid-template-columns:minmax(245px,390px) minmax(0,250px)}.drive-heading{margin-bottom:12px}.drive-side a{text-decoration:underline}.scene .arcade .hotspot-label{position:relative;left:auto;right:auto;top:auto}
@media(max-width:600px){dialog.in-game{padding:0 14px 20px}dialog.in-game .panel-top{padding:12px 0}.drive-heading{align-items:center}.drive-heading h2{font-size:42px}.drive-heading small{font-size:8px}.drive-heading a{max-width:120px;text-align:right;font-size:10px}.drive-phone{width:min(100%,calc((100svh - 180px)*.62));min-width:220px}.drive-glass canvas{max-height:none}.drive-side{max-width:360px}.drive-heading{max-width:360px;margin:0 auto 12px}}
@media(min-width:601px){.scene .arcade{left:auto;right:3%;top:89%;width:auto;height:auto;transform:none}.scene .arcade .hotspot-label{font-size:13px}}
.drive-side .drive-updates{background:transparent;color:#ddbd8a;border-color:#ddbd8a77;margin:0 0 14px}.drive-side .game-claim{display:block;padding:15px;border:1px solid #e4b572;background:#e4b572;color:#081419;text-align:center;text-decoration:none;font-weight:900;letter-spacing:.08em}.drive-side .game-claim[hidden]{display:none}.drive-side #drive-signout{background:none;color:#b8cac8;border-color:#526467;font-size:11px}

@media(min-width:601px){.scene .hotspot.arcade{transform:translate(-100%,-50%)}}

.drive-challenge{padding:14px;border:1px solid #bb8d51;color:#f2d09a!important;line-height:1.5!important}.drive-challenge.complete{border-color:#a9d9cb;color:#a9d9cb!important;background:#a9d9cb0d}

/* Phone arcade: use the viewport for the road and thumb controls. */
@media(max-width:600px){
 dialog.in-game{padding:0 8px max(12px,env(safe-area-inset-bottom));}
 dialog.in-game .panel-top{padding:8px 0;margin-bottom:2px;}
 .in-game .panel-top>span{font-size:10px;letter-spacing:.12em;}
 .in-game #close{width:38px;height:38px;min-height:38px;}
 .drive-heading{max-width:none;margin:0 0 6px;}
 .drive-heading h2{font-size:32px;line-height:1;}
 .drive-heading small{font-size:7px;}
 .drive-phone{width:100%;max-width:none;min-width:0;padding:4px;border-radius:18px;}
 .drive-glass{border-radius:14px;}
 .drive-glass canvas{height:clamp(220px,calc(100svh - 340px),560px);width:100%;aspect-ratio:auto;object-fit:fill;}
 .drive-hud{padding:7px 12px 5px;}
 .drive-steer{gap:10px;padding:8px;}
 .drive-steer button{min-height:72px;font-size:36px;border-width:2px;border-radius:12px;touch-action:manipulation;}
 .drive-steer button:active{background:#41646b;border-color:#d2ece5;}
 .drive-actions{padding:0 8px 8px;}
 .drive-actions button{min-height:44px;}
 .drive-side{max-width:none;margin:18px 6px;}
}

.arcade-tabs{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#aac8c9;margin-bottom:8px}.arcade-tabs button{padding:6px 12px;border:1px solid #67868a;border-radius:6px;min-height:32px;background:#152b33;color:#ede8d8}@media(max-width:600px){.drive-glass canvas{height:clamp(200px,calc(100svh - 380px),560px)}}

/* Preserve the road's proportions rather than stretching cars on phones. */
.drive-glass canvas{object-fit:contain!important;aspect-ratio:390 / 560!important}
@media(max-width:600px){.drive-glass canvas{width:min(100%,calc((100svh - 290px) * .6964));min-width:175px;height:auto!important;max-height:none;margin-inline:auto}}