/* Desktop arcade flow. One primary action, contained art, generous click space. */
.season-zero { font-size:16px; }
.season-zero *, .season-zero *::before, .season-zero *::after { box-sizing:border-box; }
.season-zero [hidden] { display:none !important; }
.season-zero img { max-width:100%; }
.season-zero button, .season-zero .button-link { font-size:14px; line-height:1.4; min-height:44px; }
.season-zero button { background:#10212a; color:#e7f3f5; border:1px solid #55717b; padding:12px 18px; }
.season-zero button.primary, .season-zero .button-link.primary { background:#d8ff42; color:#152014; border-color:#d8ff42; }
.season-zero button.secondary, .season-zero .ghost { background:#10212a; color:#e7f3f5; border-color:#55717b; }
.season-zero button.quiet { border-color:transparent; background:transparent; color:#9fc2cb; text-decoration:underline; }
.season-zero .actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.season-zero .actions > * { margin:0; }
.season-zero .eyebrow { font-size:12px; }
.season-zero .hero-note, .season-zero .device-note { font-size:14px; }
.season-zero .arcade-hero { min-height:470px; }
.season-zero .hero-content { padding:46px 38px; }
.season-zero .airdrop-feature { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; padding:0; min-height:0; overflow:hidden; gap:0; isolation:auto; }
.season-zero .airdrop-feature::before { content:none; }
.season-zero .airdrop-feature > img { position:static; width:100%; height:100%; max-height:350px; min-width:0; object-fit:cover; object-position:center; z-index:auto; }
.season-zero .airdrop-copy { min-width:0; max-width:none; padding:32px; align-self:center; }
.season-zero .airdrop-feature h2 { font-size:32px; margin:10px 0; }
.season-zero .airdrop-feature p { font-size:16px; line-height:1.6; }
.season-zero .airdrop-feature small { font-size:13px; line-height:1.6; }
.season-zero .challenge-tags { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.season-zero .challenge-tags span { font-size:12px; }
.season-zero .token-path { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:22px 0; }
.season-zero .token-path a { min-width:0; display:flex; flex-direction:column; gap:10px; padding:20px; text-decoration:none; background:#10212a; border:1px solid #37525e; border-radius:5px; }
.season-zero .token-path b { font-size:14px; color:#d8ff42; letter-spacing:.06em; }
.season-zero .token-path span { font-size:15px; color:#d6e3e6; line-height:1.5; }
.season-zero .token-path a:hover { border-color:#72e0e8; }
.season-zero .funding-actions { display:flex; flex-wrap:wrap; gap:16px; padding:20px; margin:20px 0 28px; align-items:center; }
.season-zero .funding-actions p { flex-basis:100%; margin:0 0 4px; line-height:1.65; }
.season-zero .funding-actions a { margin:0; padding:12px 4px; }
.season-zero .funding-actions a.primary { padding:14px 20px; }
.season-zero .tier-choice[aria-pressed=true] { color:#efffca; background:#233429; border:2px solid #d8ff42; }
.season-zero .tier-choice small { font-size:13px; }
.season-zero .room button { background:transparent; color:#9de8f0; border:1px solid #43606c; }
.season-zero .room.gathering { border-left:3px solid #72e0e8; padding-left:16px; }
.season-zero .room-history { margin-top:24px; }
.season-zero .room-history summary { padding:12px 0; font-size:15px; }
.season-zero #selected { margin:20px 0; padding:30px; }
.lobby-topline { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.season-zero #selected-label { overflow-wrap:anywhere; }
.season-zero #room-heading { font-size:34px; margin:20px 0 10px; }
.season-zero #lobby-countdown { font-size:clamp(28px,4vw,48px); font-weight:850; color:#d8ff42; margin:12px 0; letter-spacing:-.03em; line-height:1.2; }
.season-zero #lobby-step { font-size:16px; color:#d2e0e5; line-height:1.6; font-weight:400; }
.season-zero #invite { background:transparent; padding:0; margin:24px 0; }
.season-zero #invite details { margin:12px 0; }
.season-zero #lobby-details { padding-top:18px; border-top:1px solid #304752; }
.season-zero .room-focus > .launch-console > .section-heading,
.season-zero .room-focus > .launch-console > #next-step,
.season-zero .room-focus > .launch-console > .token-path,
.season-zero .room-focus > .launch-console > #risk,
.season-zero .room-focus > .launch-console > .balance-bar,
.season-zero .room-focus > .launch-console > .reserve-details,
.season-zero .room-focus > .launch-console > p:not(#status) { display:none; }
.season-zero .room-focus > .launch-console > #status:empty { display:none; }
.season-zero .result-card { margin:14px 0 24px; padding:30px; }
.season-zero .result-card h3 { font-size:36px; }
.season-zero .result-card .result-metrics { gap:24px; margin:28px 0; }
.season-zero .result-metrics span { font-size:14px; }
.season-zero .result-metrics strong { font-size:clamp(24px,3vw,36px); }
.season-zero .result-card .actions { margin-top:28px; }
.season-zero .result-tools { margin:20px 0 0; }
.season-zero .result-tools summary { color:#a8c2ca; font-size:14px; }
.season-zero .score-row small { display:block; font-size:13px; margin-top:7px; }
.season-zero .category-switch button { background:#10212a; color:#deeff1; }
.season-zero .category-switch button[aria-pressed=true] { background:#d8ff42; color:#152014; }
.season-zero .category-switch { gap:12px; }
.season-zero .challenge-layout { grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr); }
/* Wallet controls live outside the game section. Hide them only during play. */
body.rnnr-playing #wallet-dock, body.rnnr-playing > .wallet-controls, body.rnnr-playing .wallet-control,
body.rnnr-playing [data-wallet-controls], body.rnnr-playing #wallet-controls,
body.rnnr-playing .player-wallet { display:none !important; }
body.rnnr-playing .arcade-header, body.rnnr-playing > .legal-footer { display:none !important; }
#play .hud-actions button { background:#0d202ce8; color:#e5f3f6; border-color:#537480; }
#play .play-menu .primary { background:#d8ff42; color:#152014; }
#play .play-menu h2 { font-size:28px; }
#play .abandon-option { margin:20px 0 0; }
#play .abandon-option summary { font-size:14px; color:#b3c5cd; }
#play #extract-button { padding:12px 20px; margin:0; border:1px solid #72e0e8; color:#effffe; background:#10242cef; pointer-events:auto; width:100%; }
#play #prompt { pointer-events:auto; bottom:26%; max-width:calc(100vw - 32px); }
#play #prompt .meter { height:9px; }
#play #practice-banner { position:absolute; z-index:5; top:0; left:0; right:0; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:18px; background:#1d3527; padding:10px 16px; color:#e6ffd7; }
#play.is-practice .hud { top:68px; }
#play.is-practice #map-wrap { top:220px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:800px) {
 .season-zero .airdrop-feature, .season-zero .token-path, .season-zero .challenge-layout { grid-template-columns:1fr; }
 .season-zero .airdrop-feature > img { height:230px; }
 .season-zero .airdrop-copy, .season-zero #selected, .season-zero .result-card { padding:22px; }
 .season-zero .result-card .result-metrics { grid-template-columns:1fr 1fr; }
 .season-zero .hero-content { padding:36px 22px; }
 .lobby-topline { align-items:flex-start; }
}
/* September 30: the wallet, the bag and the next drop. */
.season-zero .balance-bar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:24px; align-items:center; }
.season-zero .balance-bar div { min-width:0; font-size:14px; letter-spacing:.02em; }
.season-zero .balance-bar strong { font-size:clamp(22px,2.2vw,32px); overflow-wrap:anywhere; }
.season-zero .balance-bar span { display:block; margin-top:8px; font-size:14px; line-height:1.5; letter-spacing:0; color:#b7cbd1; }
.season-zero .balance-bar span b { color:#e5f3f6; }
.season-zero #dev-controls { color:#d8ff42; }
.season-zero .progressive-hub { padding:28px; margin:24px 0; border:1px solid #49636a; background:#0e2028; }
.season-zero .progressive-hub h2 { margin:4px 0; font-size:30px; }
.season-zero .progressive-intro { margin:10px 0; }
.season-zero [data-progressive-status] { font-size:14px; color:#aac3ca; }
.season-zero .progressive-tiers { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:24px 0; }
.season-zero .progressive-tier { min-width:0; background:#132c31; border:1px solid #34555a; border-radius:6px; padding:20px; }
.season-zero .progressive-tier p { font-size:14px; line-height:1.6; margin:12px 0; }
.season-zero .progressive-tier .eyebrow { min-height:40px; color:#b7d8db; }
.season-zero .drop-amount { display:block; color:#d8ff42; font-size:26px; line-height:1.25; overflow-wrap:anywhere; }
.season-zero .drop-caption { display:block; font-size:14px; color:#b7cbd1; margin:4px 0 20px; }
.season-zero progress { display:block; width:100%; height:10px; margin:18px 0; accent-color:#d8ff42; border:0; border-radius:6px; }
.season-zero progress::-webkit-progress-bar { background:#294148; border-radius:6px; }
.season-zero progress::-webkit-progress-value { background:#d8ff42; border-radius:6px; }
.season-zero .drop-state { font-size:14px; color:#85ebed; }
.season-zero .progressive-tier small { display:block; font-size:13px; line-height:1.5; color:#b7cbd1; }
.season-zero .progressive-win { display:flex; gap:16px; flex-wrap:wrap; padding:12px 0; border-top:1px solid #294148; }
.season-zero .progressive-win strong { color:#d8ff42; margin-left:auto; }
.season-zero .share-community { display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px 24px; padding:28px; margin:24px 0; border-left:3px solid #d8ff42; background:#192c24; }
.season-zero .share-community h2 { margin:6px 0; font-size:26px; }
.season-zero .share-community p { margin:8px 0; }
.season-zero [data-share-note]:empty { display:none; }
#play .cache-block #bag-total { color:#d8ff42; display:block; font-size:clamp(20px,2.4vw,32px); line-height:1.2; }
#play .cache-block #loot, #play .cache-block #cache-remaining { display:inline-block; font-size:14px; margin-right:10px; }
#play #bag-note { display:block; margin-top:5px; }
@media(max-width:1050px){ .season-zero .progressive-tiers { grid-template-columns:repeat(2,minmax(0,1fr)); } .season-zero .share-community { grid-template-columns:1fr; } }
@media(max-width:650px){ .season-zero .balance-bar { grid-template-columns:1fr; gap:18px; } .season-zero .progressive-tiers { grid-template-columns:1fr; } .season-zero .progressive-hub,.season-zero .share-community { padding:20px; } }
