/* Crisp arcade framing. The scene, rather than menu cards, is the home screen. */
:root{--lime:#f7d34f;--ink:#283845;--white:#fff7da}
body.arcade{font-family:"Courier New","PingFang SC",monospace;background:#b9cc80}
body.arcade:not(.playing):before{display:none}
.arcade button{border-radius:0!important}
.arcade button:focus-visible{outline:3px solid #fff8bf;outline-offset:4px}
.arcade>header{top:20px;left:22px;right:22px;gap:10px;pointer-events:none}
.arcade>header>*{pointer-events:auto}
.arcade .logo{color:#ffda57;font-size:31px;text-shadow:2px 2px #2d3d50;gap:8px}
.arcade .logo>span{font-size:18px;font-weight:900;letter-spacing:0;text-shadow:2px 2px #2d3d50}
.arcade .logo .lime{color:#ffda57}.arcade .logo small{color:#fff4c3;font-size:10px;letter-spacing:3px}
.arcade .badge{display:none}
.arcade header>.qualityControl{margin-left:auto;min-width:120px;width:120px;padding:7px 10px;background:#35445a;border:2px solid #f7edcc;border-radius:0;box-shadow:3px 3px #233240}
.arcade #qualityRange{accent-color:#ffda57}
.arcade .languageSwitch,.arcade #sound,.arcade #fullscreen{border:2px solid #f7edcc;border-radius:0;background:#35445a;box-shadow:3px 3px #233240;color:#fff8d9}
.arcade .languageSwitch button[aria-pressed=true]{background:#f7d34f;color:#293847}
.arcade .lobbySide{top:auto;bottom:112px;width:284px;max-height:calc(100dvh - 208px);padding:22px;background:#34445bef;border:3px solid #f9eccd;border-radius:0;backdrop-filter:none;box-shadow:5px 5px #233343;overflow:auto}
.arcade .lobbyLeft{left:22px}.arcade .lobbyRight{right:22px}
.arcade .drawerClose{float:right;border:0;background:none;color:#f5dc8a;font-size:25px;line-height:22px;padding:0 0 10px 12px}
.arcade .lobbySide p,.arcade .lobbySide small,.arcade .lobbySide #difficultyDescription{color:#e2e6d6}
.arcade .lobbyGarage h2{color:#ffdc61;font-size:20px}
.arcade .lobbySide .garageSwitch{color:#f9e7b5;font-size:11px}
.arcade .lobbySide button:not(.drawerClose){border-color:#a6b7b5}
.arcade .lobbySide #wallet{color:#a9e77d}
.arcade .dailyReward button,.arcade .challengeEntry>button{background:#f7d34f;color:#2e3b4e;border:2px solid #fff0b4}
.arcade .lobbyStart{bottom:32px}
.arcade .lobbyStart #start{min-width:255px;border:3px solid #fff1bb;border-radius:0;background:#f7d34f;color:#293949;font-size:21px;font-weight:900;box-shadow:4px 4px #344456;padding:15px 24px;margin-top:9px}
.arcade .lobbyStart #start:hover{background:#ffe574;transform:translateY(-2px)}
.arcade .lobbyStart>small{font-size:11px;letter-spacing:1px;color:#fffbe7;text-shadow:2px 2px #344456}
.arcade .lobbyStart p{font-size:10px;color:#fff6d3;text-shadow:1px 1px #344456;margin-top:9px}
.arcadeStats{position:absolute;right:22px;top:96px;display:grid;gap:8px;pointer-events:none}
.arcadeStats>span{display:flex;align-items:center;gap:38px;justify-content:space-between;background:#35445bef;border:3px solid #f6ecc9;box-shadow:3px 3px #263642;padding:7px 11px;min-width:155px}
.arcadeStats b{color:#aff080;font-size:20px}.arcadeStats strong{color:#f7d34f;font-size:21px;font-weight:900}
.arcadeDock{position:absolute;bottom:30px;display:flex;gap:10px;pointer-events:auto}
.arcadeDockLeft{left:22px}.arcadeDockRight{right:22px}
.arcadeDock button{display:grid;place-items:center;gap:3px;min-width:64px;height:65px;padding:6px 8px;background:#35445b;border:3px solid #f7edcc;box-shadow:4px 4px #243342;color:#fff7d7}
.arcadeDock button:hover,.arcadeDock button[aria-expanded=true]{background:#536c7b;transform:translateY(-3px)}
.arcadeDock button>span{font-size:26px;line-height:28px;color:#fff6d6}.arcadeDock button>small{font-size:10px;white-space:nowrap}
.arcade #footer{bottom:8px;font-size:8px;left:24px;right:24px;color:#eaf0da;text-shadow:1px 1px #455b4c;pointer-events:none}
.arcade #footer a{pointer-events:auto}
.arcade .health,.arcade #skillButton,.arcade #palmButton,.arcade #routeHud,.arcade #taskToggle,.arcade #challengeHud,.arcade #challengeToggle,.arcade #pause{background:#34445beb;border:2px solid #f3e8c4;border-radius:0;box-shadow:3px 3px #22344155;color:#fff6d4;backdrop-filter:none}
.arcade #routeHud{border-left:0}.arcade #taskToggle{border-left:0;box-shadow:none}
.arcade .wanted{background:#34445bd9;border:2px solid #f4e7bf;padding:12px;right:22px;top:105px}
.arcade .wanted div{font-size:21px;letter-spacing:4px;color:#ffda58}.arcade .wanted small{letter-spacing:1px;font-size:10px}.arcade .wanted p{font-size:10px;margin:7px 0 0}
.arcade .score{left:24px;top:108px;text-shadow:2px 2px #273b43}.arcade .score strong{font-size:39px}
.arcade #pause{top:285px;right:22px;padding:8px 13px}
.arcade #toast{color:#fff5ce;text-shadow:2px 2px #273c46}
.arcade .panel,.arcade .storyChoicePanel{border:3px solid #f3e7c0;border-radius:0;background:#34445bf5;box-shadow:8px 8px #1f2c3c66;backdrop-filter:none}
.arcade #overlay,.arcade #storyChoiceModal,.arcade #challengeMenu{backdrop-filter:none;background:#273c4bc7}
.arcade .challengeShell{background:#f4eacf;border:4px solid #fff4d9;border-radius:0;color:#2e4053;box-shadow:8px 8px #21354566;padding:24px 28px;max-width:1040px;width:94vw}
.arcade .challengeHeading h2{font-size:26px}.arcade .challengeHeading p{font-size:12px;margin-bottom:5px}
.arcade #challengeList{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
.arcade .challengeCard{display:block;border:2px solid #a4afa5;padding:0;overflow:hidden;background:#fff9e6;border-radius:0;box-shadow:3px 3px #b4bba8}
.arcade .challengeCard>span:last-child{display:block;padding:12px}
.arcade .challengeCard:hover{background:#fff0b5;outline:2px solid #d2a448;transform:translateY(-3px)}
.arcade .challengeIcon{display:block;width:100%;font-size:0;min-height:70px;background:#aac793}
.arcade .challengeIcon svg{width:100%;display:block;height:auto}
.arcade .challengeCard strong{font-size:15px;line-height:1.5;color:#2e4053}
.arcade .challengeCard small{font-size:10px;line-height:1.8;min-height:56px;color:#596d70;margin:6px 0}
.arcade .challengeCard b{font-size:10px;color:#697843}
.arcade #challengeAction{border:3px solid #fff0b6;box-shadow:4px 4px #344456}
.arcade #worldEventPrompt{position:fixed;left:50%;bottom:155px;transform:translateX(-50%);width:max-content;max-width:70vw;white-space:pre-line;pointer-events:auto;z-index:14;border:3px solid #fff0b6;box-shadow:4px 4px #263649;background:#f7d34f;color:#283b4c;padding:12px 22px;font-size:13px;line-height:1.8;font-weight:700}
.arcade #returnWorldEvent{background:#afe094;box-shadow:0 4px #627b67;max-width:100%}
.arcade.challenge-playing .wanted{display:none!important}
@media(max-width:1000px){.arcade #challengeList{grid-template-columns:repeat(2,minmax(0,1fr))}.arcade .challengeCard{display:flex}.arcade .challengeIcon{width:100px;flex-shrink:0;display:flex;align-items:center}.arcade .challengeIcon svg{height:80px;object-fit:cover}.arcade .challengeCard small{min-height:0}.arcade .challengeCard strong{font-size:13px}.arcade .lobbyStart #start{min-width:210px;font-size:18px}.arcadeDock{gap:6px}.arcadeDock button{min-width:55px;padding:6px}.arcade>header .logo>span{font-size:15px}}
@media(max-width:720px){.arcade>header{left:12px;right:12px;top:12px;gap:6px}.arcade>header .logo{display:none}.arcade header>.qualityControl{margin-left:0;width:110px;min-width:110px}.arcadeStats{right:13px;top:84px}.arcadeDockLeft{left:12px}.arcadeDockRight{right:12px}.arcadeDock{bottom:20px}.arcadeDock button{min-width:44px;height:58px;padding:4px}.arcadeDock button>small{font-size:8px}.arcade .lobbyStart{bottom:102px}.arcade .lobbyStart #start{font-size:16px;padding:11px 15px;min-width:190px}.arcade .lobbySide{bottom:90px;width:260px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 175px)}.arcade .lobbyLeft{left:12px}.arcade .lobbyRight{right:12px}.arcade #footer{display:none}.arcade #challengeList{grid-template-columns:1fr}.arcade .challengeShell{padding:18px}.arcade .challengeCard small{font-size:10px}.arcade #worldEventPrompt{max-width:90vw;font-size:11px;bottom:160px}}
@media(prefers-reduced-motion:reduce){.arcade button{transition:none!important}}

/* Long driver rosters scroll independently of the draw button and preview. */
.arcade #poolRoster{max-height:48vh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:8px}
.arcade .lotteryShell{padding-top:24px}.arcade .lotteryTabs{margin:18px 0}.arcade .machine{margin-top:0;width:255px;border-radius:0;box-shadow:5px 5px #bcc9b2}.arcade .machineGlass{height:174px;border-radius:0}.arcade #machinePreview svg{height:136px}.arcade .machineSlot{margin-top:10px}.arcade .lootResult h3{margin:19px 0 8px}.arcade .lootResult p{margin-bottom:12px;min-height:0}.arcade #machineDraw{padding:14px 22px}.arcade .lootFineprint{margin-top:16px}
@media(max-width:800px){.arcade #poolRoster{max-height:230px}.arcade .machine{width:230px}.arcade .lotteryShell{padding:18px}}
