.arcade-page{--mint:#9cf5df;--ink:#0c111c;color:#f7efe1;background:radial-gradient(at 82% 25%,#20304670,#0000 50%),#0b1019;min-height:100svh;padding:0 clamp(20px,5vw,80px);font-family:Arial,Helvetica,sans-serif}.arcade-header{letter-spacing:1.6px;border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:20px;min-height:84px;font-size:12px;font-weight:700;display:flex}.arcade-header>span b{color:#8692a6;margin-left:12px;font-weight:400}.arcade-back{align-items:center;min-height:44px;display:flex}.arcade-header .sound-button{color:#9aa7ba;letter-spacing:1px;min-height:44px;padding:8px;font-size:11px}.arcade-layout{grid-template-columns:1fr minmax(300px,480px);align-items:center;gap:clamp(32px,6vw,90px);max-width:1160px;margin:0 auto;padding:40px 0 48px;display:grid}.arcade-kicker{letter-spacing:2px;color:var(--mint);align-items:center;gap:10px;margin:0 0 28px;font-family:monospace;font-size:12px;display:flex}.arcade-kicker>span{background:var(--mint);width:7px;height:7px;box-shadow:0 0 14px #9cf5df70}.arcade-story h1{letter-spacing:-.01em;margin:0 0 24px;font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(66px,7.7vw,110px);font-weight:900;line-height:.89}.arcade-story h1 em{color:#ff854c;font-style:normal}.arcade-dot{color:var(--mint)}.arcade-deck{color:#e3dccf;margin:0 0 32px;font-size:24px;line-height:1.4}.race-ticket{background:#f8ead00a;border:1px solid #cabdaa55;max-width:380px;padding:22px 24px;position:relative;transform:rotate(-1deg)}.race-ticket>span{letter-spacing:2px;color:#ff9f6c;font-family:monospace;font-size:11px}.race-ticket strong{letter-spacing:-.6px;margin:10px 0;font-size:23px;display:block}.race-ticket p{color:#adb5c1;margin:0 0 18px;font-size:15px;line-height:1.6}.ticket-bottom{letter-spacing:1px;border-top:1px dashed #ffffff35;justify-content:space-between;gap:8px;padding-top:12px;font-family:monospace;font-size:10px;display:flex}.arcade-legend{color:#b4c1cf;letter-spacing:1px;flex-wrap:wrap;gap:20px;margin:26px 0 16px;font-family:monospace;font-size:11px;display:flex}.arcade-legend span{align-items:center;gap:8px;display:flex}.arcade-legend i{background:var(--mint);width:8px;height:8px;display:inline-block}.arcade-legend .legend-case{background:#9babc3}.arcade-controls-note{color:#8190a4;font-size:14px;line-height:1.8}.arcade-record{letter-spacing:2px;color:#9aa7ba;margin-top:26px;font-family:monospace;font-size:12px}.arcade-record strong{color:var(--mint);letter-spacing:0;margin-left:16px;font-size:26px}.arcade-record small{letter-spacing:0;color:#8490a2;margin-top:6px;font-family:Arial,sans-serif;font-size:12px;display:block}.arcade-machine{background:#1b2431;border:1px solid #485263;border-radius:14px;min-width:0;padding:12px;box-shadow:0 22px 70px #0008,inset 0 2px #ffffff30}.machine-top{color:#9ba9bb;letter-spacing:1.5px;justify-content:space-between;align-items:center;padding:5px 6px 14px;font-family:monospace;font-size:10px;display:flex}.machine-top>span:first-child{align-items:center;gap:8px;display:flex}.machine-top i{background:var(--mint);width:6px;height:6px;box-shadow:0 0 9px var(--mint);border-radius:50%}.race-hud{background:#0a101b;border:1px solid #344050;border-bottom:0;border-radius:6px 6px 0 0;justify-content:space-between;gap:12px;padding:13px 18px 12px;display:flex}.race-hud>div{flex-direction:column;gap:5px;display:flex}.race-hud span{letter-spacing:1.2px;color:#9aacc0;font-family:monospace;font-size:10px}.race-hud strong{color:var(--mint);font-family:monospace;font-size:26px;line-height:1}.race-hud strong small{margin-left:2px;font-size:14px}.race-hud .time-low strong{color:#ff9a6a}.health-pips{align-items:center;gap:5px;min-height:26px;display:flex}.health-pips i{background:#283241;width:12px;height:17px;transform:skew(-10deg)}.health-pips i.active{background:#ff8652}.race-screen{aspect-ratio:3/4;background:#0c1524;border:1px solid #344050;position:relative;overflow:hidden}.race-screen canvas{touch-action:none;outline-offset:-4px;width:100%;height:100%;image-rendering:pixelated;display:block}.race-screen canvas:focus-visible{outline:2px solid var(--mint)}.chase-progress{color:#a7bccb;letter-spacing:1px;pointer-events:none;align-items:center;gap:10px;font-family:monospace;font-size:10px;display:flex;position:absolute;bottom:13px;left:18px;right:18px}.chase-progress>div{background:#fff2;flex:1;height:4px}.chase-progress i{background:var(--mint);height:100%;transition:width .12s linear;display:block}.combo-badge{color:#101b25;background:var(--mint);letter-spacing:1px;pointer-events:none;padding:7px 10px;font-family:monospace;font-size:12px;position:absolute;top:12px;left:12px}.race-overlay{background:#080f20ba;justify-content:center;align-items:center;padding:22px;display:flex;position:absolute;inset:0}.overlay-card{text-align:center;max-width:340px}.overlay-eyebrow{color:var(--mint);letter-spacing:2px;font-family:monospace;font-size:11px}.overlay-card h2{letter-spacing:0;color:#fff2df;margin:18px 0 14px;font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(32px,4vw,48px);font-weight:900;line-height:1.05}.overlay-card p{color:#c4ccda;max-width:270px;margin:0 auto 24px;font-size:15px;line-height:1.65}.overlay-card .arcade-start{color:#101726;letter-spacing:1px;background:#ff8652;border:1px solid #ffb088;border-radius:4px;min-height:54px;padding:15px 28px;font-size:14px;font-weight:800;box-shadow:0 4px #9c431f}.overlay-card .arcade-start:hover{background:#ffad7c}.overlay-card a{text-decoration:underline}.result-score{margin:-6px 0 22px}.result-score strong{color:var(--mint);font-family:monospace;font-size:38px;display:block}.result-score span{letter-spacing:2px;color:#bbc7d5;font-family:monospace;font-size:11px}.result-back{color:#aab9ca;margin-top:22px;font-size:13px;display:block}.machine-controls{grid-template-columns:1fr 60px 1fr;gap:12px;padding:13px 10px 0;display:grid}.machine-controls button{color:#f7efe1;touch-action:manipulation;background:#293545;border:1px solid #506079;border-bottom:3px solid #070d16;border-radius:6px;height:48px}.machine-controls button:hover{background:#3b4e64}.machine-controls button svg{width:24px;height:24px}.machine-controls .pause-button{background:0 0;border:1px solid #485569}.machine-caption{letter-spacing:1.2px;color:#8697ad;text-align:center;margin:13px 0 4px;font-family:monospace;font-size:9px}.arcade-footer{color:#7d8fa6;border-top:1px solid #ffffff24;flex-wrap:wrap;justify-content:space-between;gap:16px;max-width:1160px;margin:0 auto;padding:22px 0 28px;font-size:12px;display:flex}.arcade-footer a{color:#b4cfca;letter-spacing:1px;font-family:monospace;font-size:11px}.arcade-page a:focus-visible{outline:2px solid var(--mint);outline-offset:5px}.arcade-page button:focus-visible{outline:2px solid var(--mint);outline-offset:3px}@media (max-width:800px){.arcade-page{padding:0 16px}.arcade-header{letter-spacing:1px;gap:10px;min-height:66px;font-size:10px}.arcade-header>span{display:none}.arcade-layout{flex-direction:column;gap:24px;padding:26px 0;display:flex}.arcade-story{width:100%;max-width:480px}.arcade-kicker{margin-bottom:12px;font-size:10px}.arcade-story h1{font-size:52px;line-height:1}.arcade-story h1 br{display:none}.arcade-story h1 em{margin-left:10px}.arcade-deck{margin:0;font-size:16px}.arcade-deck br,.race-ticket,.arcade-legend,.arcade-controls-note,.arcade-record{display:none}.arcade-machine{width:100%;max-width:480px}.overlay-card h2{font-size:38px}.arcade-header .sound-button{font-size:10px}.race-hud{padding:12px}.race-hud strong{font-size:23px}}@media (max-width:380px){.arcade-story h1{font-size:43px}.arcade-machine{padding:8px}.race-overlay{padding:12px}.overlay-card h2{font-size:31px}.overlay-card p{margin-bottom:18px;font-size:14px}.race-hud span{font-size:9px}.health-pips i{width:10px}.machine-caption{font-size:8px}}.leaderboard{background:#101a28;border:1px solid #405269;max-width:1160px;margin:0 auto 40px;padding:30px clamp(16px,3vw,36px);scroll-margin-top:20px}.board-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.board-heading .arcade-kicker{margin-bottom:12px}.board-heading h2{letter-spacing:0;margin:0;font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(28px,4vw,42px);font-weight:900}.board-heading h2 span{color:#ff8652}.board-heading button{color:#d4e5ef;border-color:#4b6579;min-height:44px}.board-intro,.board-footnote{color:#9eb0c3;margin:16px 0;font-size:14px;line-height:1.6}.leaderboard table{margin:22px 0;font-family:monospace;font-size:16px}.leaderboard th{color:#9fb5c9;letter-spacing:1px;font-size:12px}.leaderboard td{border-color:#34465a;height:48px}.score-column{color:#9cf5df;font-weight:700;text-align:right!important}.rank{color:#ff9c63}.driver-name{color:#f7efe1;font-weight:700}.score-form{background:#1b2b3b;border-left:3px solid #ff8652;margin:24px 0;padding:22px}.score-form strong{margin-bottom:18px;font-size:20px;display:block}.score-form label{color:#c5d2df;margin-bottom:8px;font-size:14px;display:block}.score-input-row{gap:12px;max-width:460px;display:flex}.score-input-row input{letter-spacing:2px;text-transform:uppercase;border:1px solid #6d8497;border-radius:4px;max-width:240px;height:48px;font-size:20px!important}.score-input-row button{color:#111b25;background:#ff8652;min-height:48px;padding:10px 18px;font-weight:800}.score-form p{color:#9fb5c9;margin:12px 0 0;font-size:13px;line-height:1.6}.board-error{font-size:14px;color:#ffc3ab!important}.board-success{color:#9cf5df;border:1px solid #9cf5df66;margin-top:20px;padding:20px}.board-empty{color:#9fb5c9;padding:32px 0}.board-footnote{border-top:1px solid #34465a;padding-top:16px;font-size:12px}.save-score-link{color:#9cf5df;margin-top:22px;font-size:14px;font-weight:700;display:block}.start-error p{margin:18px auto 10px!important;font-size:13px!important}.start-error button{white-space:normal;min-height:40px;font-size:12px}.race-overlay:has(.start-error){align-items:flex-start;padding-top:24px;overflow-y:auto}.overlay-card:has(.save-score-link) h2{font-size:34px}.overlay-card:has(.save-score-link) p{margin-bottom:12px}.overlay-card:has(.save-score-link) .result-score{margin-bottom:12px}.overlay-card:has(.save-score-link) .result-back{margin-top:12px}@media (max-width:450px){.score-form{padding:16px}.score-input-row{flex-wrap:wrap}.score-input-row input{max-width:100%}.board-heading{align-items:flex-start}.board-heading .arcade-kicker{letter-spacing:1px;font-size:9px}.leaderboard table{font-size:14px}.score-form strong{font-size:18px}}
