
*{box-sizing:border-box}html,body{margin:0;background:#1c2d32;color:#f2e8ce;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}body{min-height:100svh;background:radial-gradient(ellipse at 50% 0,#344b50,#1c2d32 70%)}button{font:inherit;color:inherit;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}button:focus-visible,canvas:focus-visible{outline:3px solid #f7cd82;outline-offset:3px}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}.app{max-width:1060px;margin:auto;padding:18px 20px max(18px,env(safe-area-inset-bottom))}.masthead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.brand{font-size:11px;letter-spacing:.16em;color:#bdcfce}.brand strong{display:block;color:#f3d398;font-size:22px;letter-spacing:.055em;margin-top:5px}.top-controls{display:flex;gap:8px}.small-button{border:1px solid #52616a;background:#2b4248;border-radius:5px;min-height:44px;padding:0 12px;font-size:11px;letter-spacing:.04em}.hud{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;background:#2b4147;border:1px solid #486166;border-bottom:0}.hud>div{padding:10px 15px;border-right:1px solid #354956}.hud>div:last-child{border:0}.hud small{display:block;color:#c0cac6;font-size:10px;letter-spacing:.08em;margin-bottom:3px}.hud strong{font-size:21px;white-space:nowrap}.hud .ride-state{font-size:9px;color:#e4cba1;margin:3px 0 0}.hud .gold{color:#e4cba1}.world strong{font-size:16px}.playfield{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid #586e70;background:#4e7d9a}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:none}.overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:18px;background:#10213479;overflow:auto}.panel{margin:auto;width:min(420px,100%);padding:27px 25px 25px;background:#2a4147fa;border:1px solid #8b8d78;box-shadow:7px 7px 0 #101b2780;text-align:center}.eyebrow{color:#f6ce87;font-size:11px;letter-spacing:.15em}.panel h1,.panel h2{font-size:clamp(30px,5vw,46px);line-height:1.04;letter-spacing:-.03em;margin:13px 0;color:#efdfbf}.panel p{font-size:13px;line-height:1.65;color:#d0d7ce;margin:14px 0}.legend{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;color:#e9d7b1;font-size:11px;margin:16px 0}.legend i{font-style:normal;color:#f5d28a}.legend .solid{color:#ec8974}.primary{background:#d8bb8d;color:#172532;border:1px solid #e4d4b6;box-shadow:0 4px 0 #84613c;font-weight:800;min-height:48px;padding:0 26px;border-radius:3px;font-size:14px;letter-spacing:.05em}.primary:active{box-shadow:0 1px 0 #84613c;transform:translateY(3px)}.panel .fine{font-size:11px;color:#aabfbe;line-height:1.6;margin:18px 0 0}.finish-cash{font-size:36px!important;color:#ffdc99!important;margin:20px 0 8px!important}.track{background:#283f43;border:1px solid #486166;border-top:0;padding:10px 14px 12px}.stages{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;font-size:10px;letter-spacing:.05em;color:#9eafb0;margin-bottom:8px}.stages span:last-child{text-align:right}.stages .active{color:#ffdc97}.route{height:4px;background:#334551;overflow:hidden}.route>div{height:100%;background:#f4cb83;width:0}.ride-controls{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:10px;margin-top:12px}.ride-controls button{min-height:62px;border:1px solid #66807f;border-bottom:4px solid #354955;background:#365159;border-radius:5px;color:#f3e9d1;font-size:15px;font-weight:700;user-select:none}.ride-controls button.held{background:#4b6570;border-bottom-width:1px;transform:translateY(2px)}.ride-controls .jump{background:#d6b98c;border-color:#e0cfac;border-bottom-color:#9d713e;color:#1a2b36}.ride-controls small{font-size:10px;font-weight:400;display:block;margin-top:3px;opacity:.8}.bottom{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#bbc9c5;font-size:10px;letter-spacing:.045em;margin:12px 2px}.flow{height:3px;width:112px;background:#2e414e;margin-top:5px}.flow>div{height:100%;width:0;background:#91c6be}.help{font-size:11px;color:#b5c4be;line-height:1.7;margin:13px 0 0;text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:850px){.app{max-width:960px}.masthead{margin-bottom:18px}.hud>div{padding:12px 18px}.ride-controls{grid-template-columns:140px 140px 220px;justify-content:center}.bottom{margin-top:18px}}
@media(max-width:599px){.app{padding:10px 10px max(12px,env(safe-area-inset-bottom))}.masthead{margin-bottom:9px;gap:6px}.brand{font-size:8px;letter-spacing:.10em}.brand strong{font-size:17px}.small-button{font-size:9px;min-height:44px;padding:0 8px}.top-controls{gap:5px}.hud>div{padding:8px 8px}.hud small{font-size:8px;letter-spacing:.025em}.hud strong{font-size:17px}.world strong{font-size:11px}.playfield{aspect-ratio:3/4;max-height:calc(100svh - 266px);min-height:260px}.panel{padding:20px 17px}.panel h1{font-size:30px}.panel h2{font-size:28px}.panel p{font-size:12px}.panel .fine{font-size:10px}.legend{font-size:10px;gap:12px}.track{padding:8px 9px 10px}.stages{font-size:8px}.ride-controls{gap:7px;margin-top:9px}.ride-controls button{min-height:62px;font-size:12px}.ride-controls small{font-size:9px}.bottom{font-size:8px;margin-top:10px}.help{font-size:9px}.flow{width:90px}.eyebrow{font-size:9px}}
#assetStatus:empty{display:none}
@media(max-width:599px){#startOverlay .legend{display:none}#startOverlay .panel{padding:16px 14px}#startOverlay .panel h1{font-size:28px;margin:8px 0}}
@media(max-width:599px) and (max-height:700px){#startIntro{display:none}#startOverlay .panel h1{font-size:25px;margin:6px 0}#startOverlay .fine{margin-top:10px;line-height:1.45}}
.run-strip{display:flex;justify-content:space-between;gap:6px;padding:8px 14px;background:#263b41;color:#c3d0c6;font-size:11px;border-inline:1px solid #486166}.run-strip b{color:#ebd7b3;font-weight:500;font-variant-numeric:tabular-nums}.finish-breakdown{margin:12px 0 20px;font-size:12px;line-height:1.6}.finish-breakdown div{display:flex;justify-content:space-between;gap:12px;padding:3px 0}.finish-breakdown dt{color:#baccbf}.finish-breakdown dd{margin:0;color:#efdfbf}.panel{border-color:#7a9187;box-shadow:0 12px 28px #101e2840}.help{color:#b8c9c0}.playfield{border-color:#536e70}
@media(max-width:599px){.run-strip{font-size:9px;padding:7px 8px}.help{font-size:10px}.finish-breakdown{font-size:11px;margin:8px 0 12px}.panel h2{font-size:26px}}
@media(max-width:599px) and (max-height:700px){#finishOverlay .panel{padding:14px}#finishOverlay h2,#finishOverlay .fine{display:none}#finishOverlay .finish-cash{font-size:30px!important;line-height:1.1;margin:10px 0!important}#finishStats{font-size:10px;line-height:1.4;margin:8px 0}#finishOverlay .finish-breakdown{font-size:10px;line-height:1.3;margin:8px 0 10px}#finishOverlay .finish-breakdown div{padding:1px 0}}
.brand strong{color:#ecc0cb;text-shadow:2px 2px 0 #354059}.primary,.ride-controls .jump{background:linear-gradient(135deg,#dec29a,#dba8bf);border-color:#e6c8d7}.route>div{background:linear-gradient(90deg,#96d8cb,#dbabc9,#e9cb91)}.flow>div{background:#b7a2d9}#lootStatus{color:#d5b9ed}.hud .gold{color:#ecd296}.masthead{border-bottom:1px solid #9d78a335;padding-bottom:12px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.playfield{width:100%}
/* Level one cabinet: red shirt, warm deck wood, cream highlights. */
@font-face{font-family:HillDisplay;src:url('./arcade-display-3cefbe4a60.otf') format('opentype');font-weight:800;font-style:italic;font-display:swap}
html,body{background:#231216;color:#ffedd4}body{background:radial-gradient(ellipse at 50% 15%,#64252b 0,#35181e 48%,#201116 100%)}
.app{position:relative;isolation:isolate;max-width:960px}.masthead{border-bottom:2px solid #b64642;padding-bottom:14px}.brand{color:#eab8a1;font-size:10px;letter-spacing:.14em}.brand strong{font-family:HillDisplay,Impact,sans-serif;font-style:italic;font-size:42px;line-height:1;color:#ffe4b8;letter-spacing:.015em;text-shadow:2px 2px 0 #b73b3f,4px 4px 0 #240f17;margin:7px 0}.level-tag{display:block;font-size:9px;letter-spacing:.18em;color:#e89783;margin-top:9px}
.top-controls{flex-wrap:wrap;justify-content:flex-end;max-width:230px}.small-button{background:#4b222a;border-color:#98504d;color:#ffdfc6}.small-button[aria-pressed=true]{border-color:#e68b69;color:#ffdba6}.small-button:hover{background:#71303a}
.hud{background:#4c222a;border-color:#8b4645}.hud>div{border-color:#74383d}.hud small{color:#e4ac9e}.hud strong{color:#ffe7c5}.hud .gold{color:#ffca78}.hud .ride-state{color:#f3ad8a}.run-strip{background:#371d25;border-color:#8b4645;color:#dfa999}.run-strip b{color:#ffe3bc}
.playfield{border:2px solid #b35b4e;box-shadow:0 0 0 4px #321920,0 16px 40px #12080c55}.overlay{background:#2b101651}.panel{background:#381e27f7;border:2px solid #b76b56;box-shadow:7px 7px 0 #190f1980}.eyebrow{color:#f4ad7b}.panel h1,.panel h2{font-family:HillDisplay,Impact,sans-serif;font-style:italic;font-size:52px;letter-spacing:.025em;color:#ffe3b1;text-shadow:3px 3px 0 #b03b42;line-height:.98}.panel p{color:#ecc6b4}.panel .fine{color:#d8a899}.legend{color:#e9bb9d}.primary,.ride-controls .jump{background:linear-gradient(135deg,#f06450,#bd343e);border-color:#ffac79;color:#fff0d6;box-shadow:0 4px 0 #7c2535;text-shadow:1px 1px #852236}.primary:hover{background:#e35248}.track{background:#412029;border-color:#8b4645}.stages{color:#c79994}.stages .active{color:#ffd591}.route{background:#6c323d}.route>div{background:linear-gradient(90deg,#b53143,#ff7650,#ffd180)}
.ride-controls button{background:#602b34;border-color:#a65550;border-bottom-color:#351720;color:#ffe2c4}.ride-controls button.held{background:#94404a}.ride-controls .jump{border-bottom-color:#782433}.bottom,.help{color:#d9a99e}.flow{background:#67333e}.flow>div{background:#ff9668}#lootStatus{color:#f9c284}.finish-breakdown dt{color:#dba999}.finish-breakdown dd{color:#ffdfb3}.sound-credit{font-size:9px;letter-spacing:.12em;text-align:center;color:#dfa48f;margin:16px 0 0}
.side-art{position:absolute;pointer-events:none;user-select:none;image-rendering:pixelated;z-index:-1;object-fit:contain;filter:drop-shadow(0 12px 12px #10090c66)}.skater-art{width:190px;height:340px;left:-182px;top:270px}.palm-art{width:165px;height:340px;right:-155px;top:255px;opacity:.8}
@media(max-width:1320px){.side-art{position:relative;float:left;top:auto;left:auto;right:auto;z-index:0;margin:2px 14px 4px 0;width:62px;height:103px}.palm-art{float:right;margin:2px 0 4px 12px;width:57px;height:103px}.masthead{min-height:112px}.brand strong{font-size:36px}.top-controls{max-width:150px}}
@media(max-width:599px){.app{padding-top:10px}.side-art{position:absolute;top:8px;width:46px;height:75px;margin:0}.skater-art{left:8px}.palm-art{right:8px;width:40px}.masthead{display:block;min-height:0;padding:0 0 9px;margin-bottom:9px;text-align:center}.brand{padding:0 42px;font-size:7px;letter-spacing:.06em}.brand strong{font-size:30px;margin:5px 0;text-shadow:2px 2px #a4323b}.level-tag{font-size:7px;letter-spacing:.08em;margin-top:5px}.top-controls{max-width:none;justify-content:center;margin-top:11px;gap:6px}.small-button{min-height:36px;font-size:9px;padding:0 12px}.playfield{max-height:calc(100svh - 315px);min-height:260px}.panel h1,.panel h2{font-size:38px}#startOverlay .panel h1{font-size:36px}.sound-credit{font-size:8px;margin-top:12px}.hud strong{font-size:16px}.hud>div{padding:8px 6px}}
@media(max-width:599px) and (max-height:700px){#startOverlay .panel h1{font-size:29px;margin:6px 0}.panel{padding:12px}#startOverlay .fine{font-size:9px}.brand strong{font-size:27px}}

@media(max-width:599px) and (max-height:700px){.playfield{min-height:235px;max-height:calc(100svh - 330px)}.ride-controls button{min-height:54px}.track{padding:7px 9px}.hud>div{padding:6px}.masthead{padding-bottom:7px}.top-controls{margin-top:8px}#startOverlay .panel{padding:10px}#startOverlay .fine{font-size:9px;margin-top:8px}.panel .primary{min-height:42px}}

/* Mirage palette splash scenes; gameplay retains the red cabinet. */
.cinematic{padding:0;isolation:isolate;overflow:hidden;background:#29223e;align-items:flex-end}.splash-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;z-index:-2}.cinematic:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(transparent 42%,#211a34dd 100%)}
.intro-scene .splash-art{width:102%;height:102%;max-width:none;inset:-1%;animation:overlook-sway 12s ease-in-out infinite alternate}.intro-glimmer{position:absolute;inset:28% 10% 43% 35%;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 15px,#ffdc8120 16px 18px,transparent 19px 28px);opacity:.15;animation:sea-glimmer 7s steps(12) infinite alternate}
#startOverlay .panel{background:none;border:0;box-shadow:none;margin:0 auto;padding:25px;width:100%;position:relative}#startOverlay h1,#startIntro,#startOverlay .legend,#startOverlay .fine{display:none}#startOverlay .eyebrow{color:#ffe5a1;text-shadow:1px 2px #29213e;margin-bottom:14px;font-size:12px}#startBtn{font-family:HillDisplay,Impact,sans-serif;font-size:38px;letter-spacing:.05em;min-height:66px;padding:5px 35px;background:#f2bc58;color:#29243d;border:2px solid #ffedaa;box-shadow:0 5px #a9533f;text-shadow:none}
#splashCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-2}#finishOverlay .panel{width:100%;margin:0;padding:18px 25px;background:linear-gradient(0deg,#29223ef7,#29223e55);border:0;box-shadow:none;animation:score-arrive .7s ease-out 2s both}#finishOverlay h2{display:none}#finishOverlay .eyebrow{color:#ffe398}#finishOverlay .finish-cash{font-family:HillDisplay,Impact,sans-serif;font-size:44px!important;line-height:1;margin:8px 0!important;color:#ffde80!important}#finishStats{margin:6px 0;font-size:11px}#finishOverlay .finish-breakdown{display:flex;justify-content:center;gap:22px;margin:8px 0 12px;font-size:10px}#finishOverlay .finish-breakdown div{display:block}#finishOverlay .fine{display:none}#finishOverlay .primary{background:#efab54;color:#29243d;border-color:#ffdf8c;text-shadow:none}
.app[data-scene=intro] .hud,.app[data-scene=intro] .run-strip,.app[data-scene=finish] .hud,.app[data-scene=finish] .run-strip,.app[data-scene=intro] .track,.app[data-scene=finish] .track,.app[data-scene=intro] .ride-controls,.app[data-scene=finish] .ride-controls,.app[data-scene=intro] .bottom,.app[data-scene=finish] .bottom,.app[data-scene=intro] .help,.app[data-scene=finish] .help{display:none}
@keyframes overlook-sway{from{transform:translate(-.35%,0) scale(1.01)}to{transform:translate(.35%,.3%) scale(1.015)}}@keyframes sea-glimmer{from{opacity:.08;transform:translateY(0)}to{opacity:.25;transform:translateY(3px)}}@keyframes score-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:599px){.app[data-scene=intro] .playfield,.app[data-scene=finish] .playfield{height:calc(100svh - 175px);min-height:380px;max-height:720px;aspect-ratio:auto}#startOverlay .panel{padding:25px 12px}#startOverlay .eyebrow{font-size:9px}#startBtn{font-size:34px;min-height:60px}#finishOverlay .panel{padding:14px 10px}#finishOverlay .finish-breakdown{font-size:9px;gap:14px}#finishOverlay .finish-cash{font-size:36px!important}#finishStats{font-size:9px}}
@media(prefers-reduced-motion:reduce){.intro-scene .splash-art,.intro-glimmer,#finishOverlay .panel{animation:none!important}}


/* Standalone game page within the band website. */
.masthead{min-height:0}.brand{padding:0}.top-controls{max-width:none}.side-art{display:none}
.site-home{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}
.site-home:focus-visible{outline:3px solid #f7cd82;outline-offset:3px}
.finish-actions{text-align:center;margin:18px auto;max-width:650px}
#shareStatus{font-size:11px;line-height:1.6;color:#dab5a4;overflow-wrap:anywhere}
#shareStatus:empty{display:none}
#finishOverlay .finish-personal-best{margin:6px 0 12px;font-size:10px;color:#edc99f;line-height:1.4}
.finish-personal-best strong{display:inline-block;color:#ffe398;white-space:nowrap}
@media(max-width:599px){.top-controls{gap:4px}.small-button{padding:0 8px}.app[data-scene=finish] .playfield{min-height:350px}.brand strong{font-size:30px}#finishOverlay .finish-personal-best{font-size:9px}}
