/* Entry copy belongs to the white website, never to the iPod interface. */
html.entry-redirect body{visibility:hidden!important}
html.entry-locked body> :not(#page-top):not(script):not(style){display:none!important}
html.entry-locked #page-top> :not(#ipod-player):not(#entry-gate-note):not(#entry-welcome):not(#entry-game){display:none!important}
html.entry-locked #ipod-player{display:block!important}
html.entry-locked.entry-intro #ipod-player{display:none!important}
html.entry-locked #menu,html.entry-locked #now-return{visibility:hidden!important;pointer-events:none!important}
html.entry-locked .screen-content> :not(#pocket-racer){display:none!important}
.entry-copy{width:min(100%,354px);margin:0 auto 24px;text-align:left;font:14px/1.5 "Times New Roman",Times,serif;color:#000}
.entry-copy[hidden]{display:none!important}
.entry-copy h1,.entry-copy h2{font:700 20px/1.25 "Times New Roman",Times,serif;letter-spacing:normal;margin:0 0 16px;color:#000}
.entry-copy p{margin:0 0 16px}
.entry-copy .entry-kicker{font-weight:bold;margin-bottom:32px}
.entry-copy button{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#00e;font:14px/1.5 "Times New Roman",Times,serif;text-decoration:underline;cursor:pointer}
.entry-copy button:hover{color:#000}
.entry-copy button:disabled{opacity:.5;cursor:wait}
.entry-copy button:focus-visible{outline:2px solid #00e;outline-offset:4px}
.entry-actions{display:flex;gap:8px 24px;flex-wrap:wrap}
#entry-welcome{padding:28px 0}
#entry-gate-note{margin-bottom:20px}
#entry-gate-note h1{font-size:16px;margin-bottom:8px}
#entry-gate-note p{margin-bottom:8px}
html.entry-locked .wg-help,html.entry-locked .player-hint{font-size:0!important}
html.entry-locked .wg-help::after{content:"Steer · Collect $1,000 to enter";font-size:10px}
@media(max-width:380px){.entry-copy{width:calc(100% - 40px)}}

/* The intro is its own arcade cabinet. Every rule is scoped to the gate;
   the original iPod, game physics, and music experience remain untouched. */
html.entry-driving,html.entry-driving body{overflow:hidden;overscroll-behavior:none}
html.entry-driving #ipod-player{display:none!important}
#entry-game[hidden]{display:none!important}
html.entry-driving #entry-game{position:fixed;inset:0;z-index:10000;height:100dvh;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:14px max(12px,env(safe-area-inset-right)) max(0px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 24%,#48393050,transparent 62%),radial-gradient(ellipse at 50% 100%,#38202470,transparent 75%),#080909;color:#e8e4df;font-family:Arial,sans-serif;touch-action:none}
html.entry-driving #entry-game *,html.entry-driving #entry-game *::before,html.entry-driving #entry-game *::after{box-sizing:border-box}
html.entry-driving #entry-game .entry-cabinet{display:flex;flex-direction:column;width:min(100%,820px);height:100%;max-height:1120px;min-height:0;position:relative;border:solid #322e2b;border-width:2px 12px 0;border-radius:24px 24px 0 0;background:linear-gradient(90deg,#100f0e,#242322 5%,#1c1c1b 95%,#0e0e0e);box-shadow:0 0 0 2px #080909,0 0 0 4px #63534270,0 14px 100px #000,7px 0 0 #121211,-7px 0 0 #151412;overflow:hidden}
html.entry-driving #entry-game .entry-game-header{position:relative;inset:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 84px;gap:3px;min-height:0;margin:11px 12px 0;border:5px solid #141313;border-radius:10px 10px 3px 3px;background:repeating-linear-gradient(0deg,#5d271706 0 2px,transparent 2px 4px),radial-gradient(ellipse,#ffdb92,#c78152);box-shadow:inset 0 0 16px #633b18aa,0 1px 1px #ffffff40,0 0 26px #eab57816;color:#49241e;text-align:center}
html.entry-driving #entry-game .entry-marquee-title{font:900 italic clamp(31px,5vw,53px)/.98 Arial,sans-serif;letter-spacing:-2px;transform:skew(-5deg);color:#682d29;text-shadow:1px 1px #ffdba5,3px 3px #8b55354a}
html.entry-driving #entry-game .entry-screen-bezel{display:flex;flex-direction:column;flex:1;min-height:0;padding:16px 22px 20px;background:linear-gradient(110deg,#262523,#151615 38%,#242422);position:relative}
html.entry-driving #entry-game .entry-crt{position:relative;display:flex;flex:1;min-height:0;border:6px solid #090b0a;border-radius:28px;overflow:hidden;box-shadow:0 0 0 2px #3b3a36,0 6px 4px #0009,0 -5px 12px #0008;background:#090f15}
html.entry-driving #entry-game .entry-crt::after{content:"";position:absolute;inset:0;z-index:4;border-radius:20px;pointer-events:none;background:repeating-linear-gradient(0deg,#0000000b 0 1px,transparent 1px 3px),linear-gradient(125deg,#d1ead610,transparent 30%,transparent 70%,#d1ead604);box-shadow:inset 0 0 32px #0008,inset 0 0 3px #ffffff45}
html.entry-driving #page-top #entry-game #pocket-racer{position:relative;inset:auto;display:flex;flex:1;min-height:0;width:100%;height:auto;padding:0;flex-direction:column;background:#101a20;color:#e8e4df;overflow:hidden;touch-action:none;user-select:none}
html.entry-driving #entry-game .wg-hud{display:flex;padding:13px 17px 10px;font:11px/15px monospace;gap:8px;flex-shrink:0;color:#c8d1bd;text-shadow:0 0 5px #c8d1bd35;background:#0c1419}
html.entry-driving #entry-game .wg-cash{color:#d7e6a5;font-weight:bold}
html.entry-driving #entry-game .wg-field{flex:1;min-height:0;border:0}
html.entry-driving #entry-game .wg-field>canvas{display:block;width:100%;height:100%}
html.entry-driving #entry-game .wg-overlay{gap:18px;padding:24px;background:linear-gradient(#0e1b25ed,#18232eeb)}
html.entry-driving #entry-game .wg-overlay h2{font:700 clamp(26px,4vw,43px)/1.1 monospace;letter-spacing:-1.5px;text-transform:uppercase;color:#f2ce96;text-shadow:0 0 15px #e2ab4230}
html.entry-driving #entry-game .wg-overlay p{font:12px/1.6 monospace;max-width:300px;color:#c8cfcb}
html.entry-driving #entry-game button{touch-action:none;color:#e8e4df;border:1px solid #596567;border-radius:4px;background:#1a2930;font:12px monospace;min-height:44px;padding:10px 16px;cursor:pointer}
html.entry-driving #entry-game button:focus-visible{outline:2px solid #ffe5a3;outline-offset:4px}
html.entry-driving #entry-game .ah-car-picker{width:min(400px,100%);gap:10px}
html.entry-driving #entry-game .ah-car-picker button{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 10px;min-width:0;background:#17222a;border-color:#586058;border-radius:3px}
html.entry-driving #entry-game .ah-car-picker button[aria-pressed=true]{border-color:#eed097;background:#394037;box-shadow:inset 0 -3px #d8bb7d}
html.entry-driving #entry-game .ah-car-thumb{width:26px;height:52px}
html.entry-driving #entry-game .ah-car-name{font:10px/16px monospace;text-align:left}
html.entry-driving #entry-game .ah-car-name b{font-size:11px}
html.entry-driving #entry-game .wg-action{color:#241e13;background:linear-gradient(#f7df9f,#c6a359);border:2px solid #e4cd95;border-radius:5px;box-shadow:0 4px 0 #73572e,0 6px 6px #0008,inset 0 1px #fff9;min-width:155px;min-height:46px;font:bold 13px monospace;text-transform:uppercase;letter-spacing:2px}
html.entry-driving #entry-game .wg-action:active{transform:translateY(3px);box-shadow:0 1px 0 #73572e}
html.entry-driving #entry-game .wg-help{display:none!important}
html.entry-driving #entry-game .ah-fuel-controls{height:auto;flex:0 0 auto;padding:7px 16px;font:10px/18px monospace;background:#0c1419}
html.entry-driving #entry-game .ah-refuel{font-size:10px;min-height:32px;padding:4px 8px}
html.entry-driving #entry-game .ah-refuel:disabled{opacity:.4;cursor:default}
html.entry-driving #entry-game .entry-drive-controls{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(15px,5vw,56px);padding:13px 28px 22px;flex:0 0 110px;border-top:2px solid #a18d6566;border-bottom:9px solid #0c0c0c;background:repeating-linear-gradient(100deg,#ffffff02 0 1px,transparent 1px 5px),linear-gradient(#43413a,#252521 55%,#191a18);box-shadow:inset 0 2px #b5ad8933,0 4px 8px #000a}
html.entry-driving #entry-game .entry-drive-controls::before,html.entry-driving #entry-game .entry-drive-controls::after{content:"";position:absolute;top:10px;width:6px;height:6px;border-radius:50%;background:linear-gradient(45deg,#807b69 45%,#242621 45% 58%,#807b69 58%);box-shadow:0 1px 2px #000}
html.entry-driving #entry-game .entry-drive-controls::before{left:12px}
html.entry-driving #entry-game .entry-drive-controls::after{right:12px}
html.entry-driving #entry-game .entry-drive-controls>button{flex:0 0 68px;width:68px;height:68px;padding:0;min-height:0;border:5px solid #151815;border-radius:50%;font:bold 30px/1 Arial,sans-serif;color:#442a1a;background:radial-gradient(circle at 40% 25%,#f9d390,#dba356 64%,#a9743c);box-shadow:0 7px 0 #76512e,0 9px 0 4px #0b0d0b,0 12px 10px #000b,inset 0 2px 3px #ffefb5,inset 0 -4px 3px #9e672b}
html.entry-driving #entry-game .entry-drive-controls>button:active{transform:translateY(5px);box-shadow:0 2px 0 #76512e,0 4px 0 4px #0b0d0b,0 6px 8px #000b,inset 0 2px 3px #ffefb5}
html.entry-driving #entry-game .entry-deck-copy{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font:bold 9px/1.4 monospace;letter-spacing:1px;color:#c4b99e}
html.entry-driving #entry-game .entry-deck-copy small{font:9px/1.4 Arial,sans-serif;letter-spacing:0;color:#9e9d8f}
html.entry-driving #entry-game #entry-pause{min-height:30px;padding:5px 14px;border-radius:3px;border:2px solid #111611;background:linear-gradient(#c1c8ae,#929c82);color:#262f23;box-shadow:0 3px 0 #515a47,0 4px 3px #000;min-width:76px;font:bold 10px monospace;text-transform:uppercase}
html.entry-driving #entry-game #entry-pause[hidden]{display:none}
@media(max-width:600px){
html.entry-driving #entry-game{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);background:#141513}
html.entry-driving #entry-game .entry-cabinet{border-width:0 5px;border-radius:0;box-shadow:none}
html.entry-driving #entry-game .entry-game-header{flex-basis:65px;margin:7px 5px 0;border-width:4px;gap:3px}
html.entry-driving #entry-game .entry-marquee-title{font-size:36px;letter-spacing:-1.6px}
html.entry-driving #entry-game .entry-screen-bezel{padding:12px 10px 15px}
html.entry-driving #entry-game .entry-crt{border-width:4px;border-radius:22px}
html.entry-driving #entry-game .wg-hud{padding:10px 10px 8px;font-size:9px;gap:4px}
html.entry-driving #entry-game .wg-overlay{gap:15px;padding:14px}
html.entry-driving #entry-game .wg-overlay h2{font-size:27px}
html.entry-driving #entry-game .wg-overlay p{font-size:10px;line-height:1.5}
html.entry-driving #entry-game .ah-car-picker button{gap:7px;padding:11px 7px}
html.entry-driving #entry-game .ah-car-name{font-size:8px;line-height:14px}
html.entry-driving #entry-game .ah-car-name b{font-size:9px}
html.entry-driving #entry-game .ah-car-thumb{width:22px;height:44px}
html.entry-driving #entry-game .entry-drive-controls{flex-basis:105px;padding:11px 14px 22px;gap:18px}
html.entry-driving #entry-game .entry-drive-controls>button{flex-basis:60px;width:60px;height:60px;font-size:27px}
html.entry-driving #entry-game .entry-deck-copy{font-size:7px;letter-spacing:.5px;gap:6px}
html.entry-driving #entry-game .entry-deck-copy small{font-size:8px}
html.entry-driving #entry-game .ah-fuel-controls{padding:5px 10px;font-size:9px}
}
@media(max-height:560px){
html.entry-driving #entry-game{padding:0 max(0px,env(safe-area-inset-right)) 0 max(0px,env(safe-area-inset-left))}
html.entry-driving #entry-game .entry-cabinet{max-width:960px;border-radius:0;border-width:0 8px}
html.entry-driving #entry-game .entry-game-header{flex-basis:39px;margin:3px 7px 0;border-width:3px;gap:0}
html.entry-driving #entry-game .entry-marquee-title{font-size:27px;letter-spacing:-1px}
html.entry-driving #entry-game .entry-screen-bezel{padding:6px 18px 10px}
html.entry-driving #entry-game .entry-crt{border-radius:15px;border-width:3px}
html.entry-driving #entry-game .wg-hud{padding:4px 14px;font-size:9px;line-height:12px}
html.entry-driving #entry-game .wg-overlay{gap:6px;padding:8px}
html.entry-driving #entry-game .wg-overlay h2{font-size:22px}
html.entry-driving #entry-game .wg-overlay p{font-size:9px;line-height:1.3;max-width:400px}
html.entry-driving #entry-game .ah-car-picker{width:360px;gap:9px}
html.entry-driving #entry-game .ah-car-picker button{padding:4px 8px;min-height:36px}
html.entry-driving #entry-game .ah-car-thumb{width:14px;height:28px}
html.entry-driving #entry-game .ah-car-name{font-size:8px;line-height:11px}
html.entry-driving #entry-game .ah-car-name b{font-size:9px}
html.entry-driving #entry-game .wg-action{min-height:32px;padding:5px 14px;font-size:11px}
html.entry-driving #entry-game .entry-drive-controls{flex-basis:68px;padding:4px 18px 12px;border-bottom-width:5px;gap:65px}
html.entry-driving #entry-game .entry-drive-controls>button{width:44px;height:44px;flex-basis:44px;font-size:23px;border-width:3px}
html.entry-driving #entry-game .entry-deck-copy{gap:2px;font-size:7px}
html.entry-driving #entry-game .entry-deck-copy small{font-size:7px}
html.entry-driving #entry-game #entry-pause{min-height:22px;padding:2px 10px;font-size:8px}
html.entry-driving #entry-game .ah-fuel-controls{padding:2px 14px;font-size:9px}
html.entry-driving #entry-game .ah-refuel{min-height:25px;padding:2px 8px}
}

/* Entry car selection starts the run; retry/resume keep the game's action. */
html.entry-driving #entry-game #pocket-racer[data-phase=ready] .wg-action{display:none}
html.entry-driving #entry-game #pocket-racer[data-phase=ready] .wg-overlay h2{font-size:clamp(22px,3.2vw,31px);letter-spacing:-1px;text-transform:none}
html.entry-driving #entry-game .ah-car-name{font-size:11px;line-height:18px}
html.entry-driving #entry-game .ah-car-name b{font-size:12px}
html.entry-driving #entry-game .ah-car-picker button{padding:18px 12px}
html.entry-driving #entry-game .entry-ride-cue{display:block;margin-top:8px;font:700 11px/1.4 monospace;color:#efd294}
html.entry-driving #entry-game #pocket-racer:not([data-phase=ready]) .entry-ride-cue{display:none}
@media(max-width:600px){
html.entry-driving #entry-game .ah-car-picker{gap:9px}
html.entry-driving #entry-game .ah-car-picker button{flex-direction:column;gap:10px;padding:15px 7px}
html.entry-driving #entry-game .ah-car-name{font-size:10px;line-height:17px;text-align:center}
html.entry-driving #entry-game .ah-car-name b{font-size:11px}
html.entry-driving #entry-game .ah-car-thumb{width:28px;height:56px}
html.entry-driving #entry-game .entry-ride-cue{font-size:11px}
}
@media(max-height:560px){
html.entry-driving #entry-game .ah-car-picker button{flex-direction:row;padding:7px 10px;gap:10px}
html.entry-driving #entry-game .ah-car-name{font-size:9px;line-height:13px;text-align:left}
html.entry-driving #entry-game .ah-car-name b{font-size:10px}
html.entry-driving #entry-game .ah-car-thumb{width:20px;height:40px}
html.entry-driving #entry-game .entry-ride-cue{font-size:9px;margin-top:3px}
html.entry-driving #entry-game #pocket-racer[data-phase=ready] .wg-overlay h2{font-size:22px}
}

/* The original on-site arrival heading, briefly present then gently removed. */
#entry-arrival.entry-copy{height:25px;overflow:hidden;margin:0 auto 24px;transition:height .5s ease,margin-bottom .5s ease}
#entry-arrival.entry-copy h2{margin:0;font:700 20px/1.25 "Times New Roman",Times,serif;letter-spacing:normal;color:#000;opacity:1;transition:opacity .5s ease;outline:none}
#entry-arrival.entry-copy.is-leaving{height:0;margin-bottom:0}
#entry-arrival.entry-copy.is-leaving h2{opacity:0}
@media(prefers-reduced-motion:reduce){#entry-arrival.entry-copy,#entry-arrival.entry-copy h2{transition:none}}

/* Branding is part of the CRT welcome, never printed on cabinet hardware. */
html.entry-driving #entry-game .entry-screen-brand{font:900 clamp(38px,5vw,54px)/1 Arial,sans-serif;letter-spacing:-2px;color:#f2ce96;text-shadow:0 0 18px #e2ab4238}
html.entry-driving #entry-game #pocket-racer:not([data-phase=ready]) .entry-screen-brand{display:none}
html.entry-driving #entry-game #pocket-racer[data-phase=ready] .wg-overlay h2{font-size:clamp(19px,2.6vw,25px);letter-spacing:-.5px}
@media(max-height:560px){
html.entry-driving #entry-game .entry-screen-brand{font-size:29px;letter-spacing:-1px}
html.entry-driving #entry-game #pocket-racer[data-phase=ready] .wg-overlay h2{font-size:18px}
}
/* Press-and-hold steers without selecting arrows or opening iOS copy callouts.
   These rules do not leak into the normal unlocked website. */
html.entry-driving #entry-game,html.entry-driving #entry-game *,html.entry-locked #entry-welcome,html.entry-locked #entry-welcome *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}

/* A silent, code-painted Miami pixel scene boots inside the actual CRT. */
html.entry-driving #entry-game #entry-scene{position:absolute;inset:0;z-index:3;overflow:hidden;background:#101725;display:flex;align-items:flex-end;justify-content:center}
html.entry-driving #entry-game #entry-scene>canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;animation:entry-crt-boot 1.25s ease-out both}
html.entry-driving #entry-game .entry-scene-actions{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:clamp(24px,7vh,72px)}
html.entry-driving #entry-game #entry-scene-start{min-height:48px;padding:12px 25px;border:2px solid #efd3a0;border-radius:2px;background:#17212beb;color:#f2d7a7;font:bold 15px/1.3 monospace;text-transform:uppercase;letter-spacing:2px;box-shadow:4px 4px 0 #080e19;cursor:pointer}
html.entry-driving #entry-game #entry-scene-skip{min-height:32px;padding:6px 12px;border:0;background:#111b26d9;color:#c1c6c6;font:10px/1.4 monospace;text-decoration:underline;border-radius:0}
html.entry-driving #entry-game.entry-scene-active #pocket-racer{visibility:hidden}
html.entry-driving #entry-game.entry-scene-active .entry-drive-controls>button{opacity:.55}
@keyframes entry-crt-boot{0%{opacity:.25;clip-path:inset(49% 0)}35%{opacity:.7;clip-path:inset(0)}100%{opacity:1;clip-path:inset(0)}}
@media(max-height:560px){html.entry-driving #entry-game .entry-scene-actions{margin-bottom:12px;gap:2px}html.entry-driving #entry-game #entry-scene-start{min-height:38px;padding:7px 18px;font-size:12px}html.entry-driving #entry-game #entry-scene-skip{min-height:25px;padding:4px 10px;font-size:9px}}
@media(prefers-reduced-motion:reduce){html.entry-driving #entry-game #entry-scene>canvas{animation:none}}

/* Press Start begins the short driving cinematic, not the car picker. */
html.entry-driving #entry-game #entry-scene[data-phase=cutscene]>canvas{animation:none}
html.entry-driving #entry-game #entry-scene[data-phase=cutscene] #entry-scene-start{display:none}
html.entry-driving #entry-game #entry-scene[data-phase=cutscene] .entry-scene-actions{margin-bottom:18px}
html.entry-driving #entry-game #entry-scene[data-phase=cutscene] #entry-scene-skip{background:#101725bd;min-height:36px;padding:8px 14px}

/* Custom code-painted wordmark remains crisp on the ride selection screen. */
html.entry-driving #entry-game .entry-screen-brand canvas{display:block;width:clamp(168px,23vw,230px);height:auto;image-rendering:pixelated;margin:0 auto 6px}
@media(max-height:560px){html.entry-driving #entry-game .entry-screen-brand canvas{width:150px;margin-bottom:2px}}
