/* Shared game menus — owner-selected bowling / Hitz direction, 2026-09-30.
   Presentation only. Existing hosts own navigation, catalogues, saves and play.
   ART-DIRECTION §3.1, .2 and .7: strong silhouettes, flat colour, recognizable art. */
:root { --menu-ink:#090b0d; --menu-paper:#fffbed; --menu-accent:#ffd800; }
body :is(.arcmenu,.gpause,#bigs-front,.sports-club) {
  color:var(--menu-paper); font-family:Arial,Helvetica,sans-serif;
  text-shadow:none; background:linear-gradient(100deg,#090b0dfc 0%,#090b0ded 50%,#090b0d99 100%);
  border:0; border-radius:0; box-shadow:none; backdrop-filter:none;
}
body :is(.arcmenu,.gpause,#bigs-front) {position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;transform:none;align-items:flex-start;justify-content:flex-start;padding:clamp(24px,5vh,64px) max(24px,6vw);overflow:auto;box-sizing:border-box;}
body :is(.arcmenu__wrap,.gpause__wrap,#bigs-front .fw) {width:min(1100px,100%);max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:none;align-items:stretch;text-align:left;gap:20px;}
body :is(.arcmenu__title,.gpause__title,#bigs-front h1) {font:900 clamp(34px,6vw,88px)/.96 Arial,Helvetica,sans-serif;font-style:italic;letter-spacing:-.055em;color:var(--menu-paper);text-shadow:none;margin:0 0 12px;}
body :is(.arcmenu__list,.gpause__list) {align-items:flex-start;gap:2px;}
body :is(.arcmenu__row,.gpause__row,#bigs-front button,.sports-club button) {min-height:44px;border:0;border-radius:0;box-shadow:none;background:none;color:var(--menu-paper);text-shadow:none;font:800 clamp(15px,2.4vw,25px)/1.2 Arial,Helvetica,sans-serif;letter-spacing:-.015em;padding:10px 16px;text-align:left;justify-content:flex-start;cursor:pointer;}
body :is(.arcmenu__row,.gpause__row) {width:min(540px,100%);}
body :is(.arcmenu__row,.gpause__row)::before,body :is(.arcmenu__row,.gpause__row)::after {display:none;}
body :is(.arcmenu__row.is-sel,.gpause__row.is-sel,#bigs-front button.on,#bigs-front button.gold,.sports-club .sc-primary) {background:var(--menu-accent);color:var(--menu-ink);filter:none;box-shadow:none;}
body :is(.arcmenu button,.gpause button,#bigs-front button,.sports-club button):focus-visible {outline:3px solid var(--menu-paper);outline-offset:3px;}
body :is(.arcmenu__row,.gpause__row,#bigs-front button,.sports-club button):hover {background:#ffffff18;}
body :is(.arcmenu__row.is-sel,.gpause__row.is-sel,#bigs-front button.gold,.sports-club .sc-primary):hover {background:#ffe65b;color:#090b0d;}
body :is(.arcmenu__hd,#bigs-front h2,.sports-club .sc-eyebrow) {color:var(--menu-accent);letter-spacing:.12em;font-weight:800;}
body :is(.arcmenu__tag,.arcmenu__hint,.arcmenu__legend,.gpause__legend) {text-align:left;max-width:650px;color:#b9bcbf;text-shadow:none;}
body .arcmenu__panel[data-panel=home]>.arcmenu__tag,body .arcmenu__panel[data-panel=home]>.arcmenu__hint {display:none;}
body :is(.arcmenu__result,.arcmenu__how,.arcmenu__setting,.arcmenu__settings,#bigs-front .how,#bigs-front .team,#bigs-front .opt) {background:none;border:0;border-radius:0;box-shadow:none;}
body :is(.arcmenu__how,.arcmenu__settings) {max-width:850px;line-height:1.6;}
body .arcmenu__panel button:not(.arcmenu__row) {border:0;border-radius:0;background:none;color:var(--menu-paper);min-height:44px;box-shadow:none;}
body .arcmenu__panel button:is(.is-on,[aria-pressed=true]) {color:var(--menu-accent);}
body .gpause__detail {max-width:740px;white-space:pre-line;font-size:clamp(16px,2vw,22px);line-height:1.7;color:#d5d5d1;}
body .gpause__gear {border:0;border-radius:50%;background:#090b0dcc;box-shadow:none;}
body #bigs-front .sports-col {display:flex!important;align-items:flex-start;width:min(540px,100%);}
body #bigs-front .sports-col button {width:100%;}
body #bigs-front .team {padding:12px 0;border-bottom:1px solid #ffffff30;}
body #bigs-front .team .nm {font:900 clamp(20px,3vw,42px)/1 Arial,Helvetica,sans-serif;}
body #bigs-front .team .team-mark {width:clamp(100px,13vw,190px);height:clamp(105px,14vw,200px);margin:12px auto;display:grid;place-items:center;clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%);background:var(--team-color);border-top:14px solid var(--team-trim);font:900 clamp(18px,3vw,38px)/1 Arial;color:#fff;text-shadow:0 2px 6px #000;overflow:hidden;}
body #bigs-front .team ol {columns:2;list-style:none;padding:10px;font:14px/1.5 Arial;}
body #bigs-front .row,body #bigs-front .opts {justify-content:flex-start;}
body #bigs-front .legend {text-align:left;}
body .sports-club {background:#090b0d;}
body .sports-club header,body .sports-club nav,body .sports-club .sc-status {background:none;border:0;}
body .sports-club header {padding:20px 5vw;}
body .sports-club nav {padding:0 5vw;gap:20px;}
body .sports-club nav button {font-size:15px;padding:12px 0;border-bottom:0;}
body .sports-club nav button[aria-selected=true] {background:none;color:var(--menu-accent);}
body .sports-club main {padding:30px 5vw;}
body .sports-club h1 {font-size:clamp(30px,5vw,64px);font-style:italic;}
body .sports-club .sc-card {padding:0;border:0;border-radius:0;background:none;}
body .sports-club .sc-badge {width:clamp(150px,20vw,260px);height:clamp(170px,22vw,286px);box-shadow:none;border-top-width:24px;}
body .sports-club .sc-badge span {font-size:clamp(22px,3vw,38px);}
body .sports-club input {background:none;border:0;border-bottom:1px solid #ffffff50;border-radius:0;padding:10px 0;}
body .sports-club input[type=color] {width:100%;padding:0;border:0;cursor:pointer;}
body .sports-club .sc-editor-nav {display:flex;gap:18px;margin-bottom:18px;}
body .sports-club .sc-editor-nav button {padding:8px 0;font-size:15px;border-bottom:0;}
body .sports-club .sc-editor-nav button[aria-selected=true] {background:none;color:var(--menu-accent);}
body .sports-club .sc-status {color:#a4a4a0;font-size:11px;}
/* Activity menus use the same full screen, leaving actual gameplay HUDs alone. */
body :is(.street-card,.bigs-card,.bowl-card,#beach-panel,#beach-result,#race-results,#tipping-results,.ap-shade) {position:fixed;inset:0;transform:none;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(20px,5vh,56px) max(20px,5vw);overflow:auto;box-sizing:border-box;background:linear-gradient(105deg,#090b0dfc,#090b0de8);color:var(--menu-paper);border:0;border-radius:0;box-shadow:none;font-family:Arial,Helvetica,sans-serif;}
body :is(.street-card,.bigs-card,.bowl-card,#beach-panel,#race-results,#tipping-results,.ap-sheet) :is(h1,h2) {font-family:Arial,Helvetica,sans-serif;font-weight:900;font-style:italic;letter-spacing:-.045em;}
body :is(.street-card,.bigs-card,.bowl-card,#beach-panel,#race-results,#tipping-results,.ap-sheet) button {background:none;color:var(--menu-paper);border:0;border-radius:0;box-shadow:none;min-height:44px;font-family:Arial,Helvetica,sans-serif;font-weight:800;cursor:pointer;}
body :is(.street-card,.bigs-card,.bowl-card,#beach-panel,#race-results,#tipping-results,.ap-sheet) button:is(.primary,[aria-pressed=true],.is-on) {background:none;color:var(--menu-accent);}
body :is(.street-card,.bigs-card,.bowl-card,#beach-panel,#race-results,#tipping-results,.ap-sheet) button:focus-visible {outline:3px solid var(--menu-accent);outline-offset:3px;}
body #beach-next {background:none;border:0;padding:0;grid-template-columns:100px 1fr;}
body #beach-next-mark {background:none;width:100px;height:100px;}
body #beach-next-mark svg {width:90px;height:90px;}
body #beach-frogs {flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 0;gap:24px;}
body #beach-frogs button {width:clamp(160px,21vw,260px);flex:0 0 auto;scroll-snap-align:center;}
body #beach-frogs .beach-portrait {width:100%;height:clamp(130px,19vh,210px);}
body #beach-panel #beach-sit {background:var(--menu-accent);color:#090b0d;padding:14px 24px;}
body #beach-panel :is(#beach-choose,#beach-armoury) {border:0;}
body .street-teams button {background:none;border:0;border-radius:0;}
body .street-teams button.on {color:var(--menu-accent)!important;}
body .ap-shade {place-items:start;backdrop-filter:none;}
body .ap-sheet {width:min(1050px,100%);max-height:none;background:none;border:0;border-radius:0;box-shadow:none;padding:0;}
body .ap-sheet select:focus {border-bottom-color:var(--menu-accent);}
body .ap-sheet select {border:0;border-bottom:1px solid #fff8dc59;border-radius:0;background:#181a1b;color:var(--menu-paper);}
body .ap-result {background:none;border-radius:0;border-left:0;border-bottom:1px solid #ffffff30;}
body .pkr-done {background:#090b0ded;font-family:Arial,Helvetica,sans-serif;}
body .pkr-card {max-width:1100px;text-align:left;}
body .pkr-card button {border:0;border-radius:0;background:none;color:#fffbed;min-height:44px;}
body.game-gauntlet #dead {background:#090b0df2;text-align:left;font-family:Arial,Helvetica,sans-serif;}
body.game-gauntlet #dead>div {width:90%;max-width:1100px;}
body.game-gauntlet #dead h1 {font-size:clamp(40px,8vw,110px);font-style:italic;letter-spacing:-.04em;}
body.game-gauntlet #dead :is(button,a) {border:0!important;border-radius:0!important;background:none!important;box-shadow:none;color:#fffbed!important;min-height:44px;}
body.game-gauntlet #dead #again {background:#ffd800!important;color:#090b0d!important;}
@media(max-height:500px) {
 body :is(.arcmenu,.gpause,#bigs-front,.street-card,.bigs-card,.bowl-card,#beach-panel,#race-results,#tipping-results) {padding:16px max(20px,4vw);}
 body :is(.arcmenu__wrap,.gpause__wrap,#bigs-front .fw) {gap:8px;}
 body :is(.arcmenu__title,.gpause__title,#bigs-front h1) {font-size:38px;margin-bottom:4px;}
 body :is(.arcmenu__row,.gpause__row,#bigs-front button) {font-size:17px;min-height:44px;padding:9px 14px;}
 body .sports-club header {padding:8px 4vw;} body .sports-club main {padding:16px 4vw;}
 body .sports-club .sc-badge {width:140px;height:158px;}
 body #bigs-front .team .team-mark {width:82px;height:90px;border-top-width:10px;margin:4px auto;font-size:18px;}
 body #bigs-front .team ol {font-size:11px;line-height:1.2;}
 body #beach-frogs .beach-portrait {height:105px;}
}
@media(max-width:600px) {
 body :is(.arcmenu,.gpause,#bigs-front) {padding:24px 20px;}
 body .sports-club .sc-grid {grid-template-columns:1fr;}
 body .sports-club .sc-grid>div:first-child {display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;}
 body .sports-club .sc-badge {grid-row:1/4;width:100px;height:114px;margin:0;border-top-width:12px;}
 body .sports-club .sc-grid>div:first-child>.sc-eyebrow {display:none;}
 body .sports-club .sc-grid>div:first-child>h1 {font-size:30px;margin:0;}
 body .sports-club header button {font-size:15px;padding:10px;}
 body #bigs-front .team ol {columns:1;}
}
@media(prefers-reduced-motion:reduce) {body :is(.arcmenu,.gpause,.sports-club,#bigs-front) * {animation:none!important;transition:none!important;}}

body .maul__menu {position:fixed;inset:0;width:100%;height:100dvh;padding:clamp(20px,5vh,60px) 6vw;background:#090b0df5;justify-content:flex-start;font-family:Arial,Helvetica,sans-serif;}
body .maul__menuwrap {max-width:1000px;width:100%;margin:0;text-align:left;}
body .maul__menutitle {font:italic 900 clamp(36px,6vw,80px)/1 Arial;letter-spacing:-.04em;text-shadow:none;}
body .maul__menu button {background:none;border:0;border-radius:0;box-shadow:none;color:#fffbed;min-height:44px;text-shadow:none;font-family:Arial,Helvetica,sans-serif;font-weight:800;}
body .maul__menu button:is(.is-on,.is-sel),body .maul__menu button:hover {color:#ffd800;}
body .maul__menu .maul__play {background:#ffd800;color:#090b0d;}
body :is(.maul__result,.maul__setting,.maul__keys) {background:none;border:0;border-radius:0;}

/* Explicit screen descendants override old cabinet skins without touching HUDs. */
body .arcmenu .arcmenu__row {width:min(540px,100%);background:none;border:0;border-radius:0;}
body .arcmenu .arcmenu__row.is-sel {background:#ffd800;color:#090b0d;}
body .arcmenu .arcmenu__list {width:100%;align-items:flex-start;}
body :is(#bigs-front,.sports-club) nav button,body :is(#bigs-front,.sports-club) .sc-editor-nav button {font-size:15px;padding:12px 0;}
body :is(#bigs-front,.sports-club) button[aria-selected=true] {background:none;color:#ffd800;}
body #pause-panel {position:fixed;inset:0;transform:none;width:100%;height:100dvh;max-height:none;max-width:none;box-sizing:border-box;padding:clamp(20px,5vh,56px) max(24px,6vw);border:0;border-radius:0;background:#090b0df5;z-index:20;overflow:auto;font-family:Arial,Helvetica,sans-serif;}
body #pause-panel [hidden] {display:none!important;}
/* (the pause HOME wears Combat Center's MW2 menu by class -- js/sports-menu.js's mw-menu and hzmw__ classes, its rows also .world-pause-word and its title .world-pause-name -- and
   elgin-astra/src/ui/menus/pause-map.css lays it out: these older rules stay on the pause's other screens only) */
body #pause-panel h1:where(:not(.world-pause-name)) {font:italic 900 clamp(36px,6vw,80px)/1 Arial;margin:0 0 24px;letter-spacing:-.05em;}
body #pause-panel :is(button,a):where(:not(.world-pause-word)) {display:block;min-height:44px;width:min(540px,100%);padding:12px 16px;box-sizing:border-box;border:0;border-radius:0;background:none;color:#fffbed;font:800 22px/1.2 Arial;text-decoration:none;text-align:left;}
body #pause-panel button:where(:not(.world-pause-word)):focus-visible {background:#ffd800;color:#090b0d;}
body #pause-panel :is(.world-pause-home,.world-pause-settings,.world-pause-controls) {max-width:1050px;}
body #pause-panel .world-pause-back {margin-top:24px;}
body #pause-panel .controls {display:flex;flex-direction:column;align-items:flex-start;gap:20px;font-size:18px;margin:0;}
/* CONTROLS on a phone (owner, 2026-10-09: "reminder no scrolling on movile"; and he plays on a keyboard or a phone, so a phone is not shown
   W A S D, Tab or Right-click). Where the game stands its touch pad (elgin-astra/src/style.css #touch, this same media query) the key list
   goes and the touch list comes: eight short rows, two columns on a landscape phone and one on a portrait one, sized to fit 844x390,
   667x375 and Safari's 390x664 with BACK on screen and nothing to scroll. Each list is NAMED: a row a module appends to the key list at
   runtime (the radio's ". skip the song", js/frost-radio.js) stays a key row and goes with it. No boxes and no bars: a control's name is
   the yellow word. Held by elgin-astra/scripts/pause-controls-browser-check.cjs. */
body #pause-panel .touch-controls {display:none;}
@media(pointer:coarse),(max-height:500px){
 body #pause-panel .controls {display:none;}
 body #pause-panel .touch-controls {display:grid;grid-template-columns:1fr;gap:12px 32px;margin:0;font-size:clamp(14px,4.3vh,17px);line-height:1.25;}
 body #pause-panel .touch-controls b {color:#ffd800;font-weight:800;text-transform:uppercase;margin-right:.3em;}
}
@media(pointer:coarse) and (min-width:520px),(max-height:500px) and (min-width:520px){body #pause-panel .touch-controls {grid-template-columns:1fr 1fr;}}
body #pause-panel .effects-volume {max-width:650px;display:flex;gap:20px;align-items:center;margin:20px 0;}
@media(max-height:500px){body #pause-panel{padding:16px 4vw;}body #pause-panel h1:where(:not(.world-pause-name)){font-size:36px;margin-bottom:10px;}body #pause-panel :is(button,a):where(:not(.world-pause-word)){font-size:17px;padding:10px 14px;}body #pause-panel .world-pause-back{margin-top:12px;}}

body .street-menu {grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:5vw;}
body .street-menu .street-row {justify-content:flex-start;}
body .street-teams {display:flex;flex-wrap:nowrap;overflow-x:auto;gap:22px;scroll-snap-type:x mandatory;padding-bottom:8px;}
body .street-teams button {flex:0 0 clamp(140px,18vw,240px);scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;color:#fffbed!important;min-width:0;}
body .street-team-preview {display:grid;place-items:center;width:100%;height:clamp(110px,18vh,180px);background:var(--c1);border-top:16px solid var(--c2);clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%);font:900 25px/1 Arial;text-shadow:0 2px 4px #000;}
body .street-pause .street-pause-home {display:flex;flex-direction:column;align-items:flex-start;}
body .street-pause .street-pause-home button {font-size:clamp(18px,3vw,30px);width:min(540px,100%);text-align:left;}
body .street-pause .street-pause-home button.primary {background:#ffd800;color:#090b0d;}
body .street-pause-detail {white-space:pre-line;font-size:18px;line-height:1.8;}
body #beach-panel:not([data-screen=next]) :is(#beach-next,#beach-frogs,#beach-dial,#beach-best,#beach-sit) {display:none;}
body #beach-panel .beach-actions {margin:18px 0;}
body #beach-panel .beach-armoury-grid {display:flex;overflow-x:auto;gap:28px;}
@media(max-width:600px){body .street-menu {grid-template-columns:1fr;}body .street-teams button {flex-basis:180px;}}

/* Canonical arcade catalogue screenshots retain each game’s identity. */
body #bs-menu { --menu-shot:url("../img/arcade/brick.jpg"); }
body #sn-menu { --menu-shot:url("../img/arcade/snake.jpg"); }
body #pb-menu { --menu-shot:url("../img/arcade/pinball.jpg"); }
body #hl-menu { --menu-shot:url("../img/arcade/heli.jpg"); }
body #sl-menu { --menu-shot:url("../img/arcade/sled.jpg"); }
body #wm-menu { --menu-shot:url("../img/arcade/maul.jpg"); }
body #bigs-front { --menu-shot:url("../img/arcade/bigs.jpg"); }
body .pkr-done { --menu-shot:url("../img/arcade/peak.jpg"); }
body :is(.arcmenu,.maul__menu,#bigs-front,.pkr-done) {background-image:linear-gradient(90deg,#090b0d 0%,#090b0df2 35%,#090b0d60 100%),var(--menu-shot,none);background-position:center,right center;background-size:cover;background-repeat:no-repeat;}
body #bigs-front:has(.vs) {background-image:linear-gradient(90deg,#090b0df5,#090b0ddd),var(--menu-shot,none);}
body .maul__builders {display:flex;overflow-x:auto;gap:24px;scroll-snap-type:x mandatory;}
body .maul__builders .maul__bcard {flex:0 0 240px;min-height:170px;scroll-snap-align:center;border:0;text-align:left;padding:18px 0;background:none;}
body .maul__builders .maul__bcard[aria-pressed=true] {color:#ffd800;}
body .maul__builders .maul__bcard b {font-size:28px;color:var(--bc);}
body .maul__panel[data-panel=home] :is(.maul__tag,.maul__hint2) {display:none;}
body .maul__menutabs {justify-content:flex-start;}
body.game-roofs #done {border:0;border-radius:0;background:linear-gradient(90deg,#090b0df0,#090b0d70);font:italic 900 clamp(28px,5vw,66px)/1.1 Arial;letter-spacing:-.03em;padding:24px;text-align:left;}
body.game-roofs #exit {border:0;border-radius:0;background:#090b0dc9;}

body .bigs-menu {grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:5vw;}
body .bigs-teams {display:flex;overflow-x:auto;gap:22px;scroll-snap-type:x mandatory;}
body .bigs-teams button {flex:0 0 180px;display:flex;flex-direction:column;align-items:center;gap:10px;scroll-snap-align:center;}
body .bigs-teams button.on {color:#ffd800;}
body .bigs-team-preview {width:150px;height:160px;background:var(--c1);border-top:16px solid var(--c2);clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%);display:grid;place-items:center;font:900 24px/1 Arial;color:#fff;text-shadow:0 2px 4px #000;}
@media(max-width:600px){body .bigs-menu{grid-template-columns:1fr;}}

body :is(.street-teams,.bigs-teams) button.on {outline:none;box-shadow:none;}
body :is(.street-card,.bigs-card,.bowl-card) button:is(.primary,.bigs-go,.bowl-go) {background:#ffd800;color:#090b0d;border:0;padding:12px 24px;}
body .street-card .eyebrow,body .bigs-card .eyebrow {color:#ffd800;}
body .street-skill button.on {color:#ffd800;}
body :is(.arcmenu,.maul__menu,#bigs-front,.pkr-done) {background-image:linear-gradient(0deg,#090b0d 0%,#090b0da0 28%,transparent 60%),linear-gradient(90deg,#090b0d 0%,#090b0df2 35%,#090b0d60 100%),var(--menu-shot,none);}
body #beach-armoury {display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:24px;overflow-x:auto;}
body #beach-armoury[hidden] {display:none;}
body #beach-armoury .beach-armoury-head {grid-column:1/-1;}
body #beach-armoury button {display:flex;flex-direction:column;text-align:left;align-items:flex-start;gap:16px;min-height:220px;padding:16px 0;background:none;border:0;}
body #beach-armoury .beach-part-mark {width:100%;height:140px;}
body #beach-armoury .beach-part-price {font-weight:900;color:#ffd800;}

/* Maul retains its canonical builder browser; a paused run has four exits. */
body #wm-pause-home:not([hidden]) {display:flex;flex-direction:column;align-items:stretch;width:min(480px,100%);gap:6px;}
body #wm-pause-home button,body #wm-back {background:none;border:0;border-radius:0;color:#fffbed;text-align:left;font:900 24px Arial;min-height:48px;padding:10px 12px;cursor:pointer;}
body #wm-pause-home button:is(:hover,:focus-visible) {background:#ffd800;color:#090b0d;}
body #wm-menu[data-paused=true] #wm-resume {display:none;}
body #wm-menu [hidden] {display:none!important;}
body .bigs-team-preview .bigs-glyph {width:60%;height:60%;}

body :is(#map-table,#armoury-rack) {position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;padding:24px 5vw;overflow:auto;border:0;border-radius:0;background:#090b0d;color:#fffbed;font-family:Arial,Helvetica,sans-serif;}
body :is(#map-table,#armoury-rack) h2 {font-size:clamp(34px,5vw,68px);font-weight:900;font-style:italic;letter-spacing:-.04em;}
body :is(#map-table,#armoury-rack) .armoury-rack-close {position:static;display:block;width:auto;min-height:44px;border:0;background:none;color:#fffbed;}
body :is(#map-table,#armoury-rack) .beach-armoury {display:flex;gap:24px;overflow-x:auto;}
body :is(#map-table,#armoury-rack) .beach-armoury button {flex:0 0 clamp(190px,26vw,330px);min-height:250px;padding:14px 0;display:flex;flex-direction:column;align-items:flex-start;background:none;border:0;border-radius:0;color:#fffbed;}
body :is(#map-table,#armoury-rack) .beach-part-mark {width:100%;height:150px;}
body :is(#map-table,#armoury-rack) button[aria-pressed=true] {color:#ffd800;}
/* Short landscape screens keep the launch action and both team shelves in view. */
body .bigs-menu .bigs-sub {display:none;}
body .bigs-team-preview .bigs-glyph {display:none;}
body .bigs-team-preview b {position:static;font-size:32px;}
@media(max-height:500px) and (min-width:601px) {
 body .bigs-menu .bigs-row {margin-top:8px;padding-bottom:10px;}
 body .bigs-menu .bigs-row button,body .bigs-menu .bigs-row button.bigs-go {width:50px;height:44px;min-height:44px;padding:9px;}
 body .bigs-menu h2 {margin:6px 0 4px;}
 body .bigs-teams button {flex-basis:130px;gap:5px;font-size:11px;}
 body .bigs-menu .bigs-team-preview {width:112px;height:108px;border-top-width:10px;}
 body .bigs-menu .bigs-team-preview b {font-size:28px;}
}
/* Equipment artwork remains legible even when the wallet cannot buy it yet. */
body #beach-panel {background:#090b0d;}
body :is(#beach-panel,#map-table,#armoury-rack) .beach-armoury button:disabled,body #map-table .map-fronts button.locked {opacity:.8;}
body :is(#beach-panel,#map-table,#armoury-rack) .beach-part-mark {flex:0 0 120px;width:100%;height:120px;}
body :is(#beach-panel,#map-table,#armoury-rack) .beach-part-name {font-size:17px;}
body :is(#beach-panel,#map-table,#armoury-rack) .beach-part-line {font-size:12px;line-height:1.4;margin-top:5px;}
body :is(#beach-panel,#map-table,#armoury-rack) .beach-part-price {font-size:13px;}
/* Keep the team editor's save action inside a landscape phone viewport. */
@media(max-height:500px) and (min-width:651px) {
  body .sports-club header {padding:4px 4vw;}
  body .sports-club nav {padding:0 4vw;}
  body .sports-club main {padding:12px 4vw;}
  body .sports-club .sc-editor-nav {margin-bottom:6px;}
  body .sports-club label {margin-bottom:6px;}
  body .sports-club .sc-badge {width:128px;height:146px;}
  body .sports-club h1 {font-size:32px;}
}
/* The fort uses the same equipment shelf without squeezing its wallet into a tile. */
body :is(#map-table,#armoury-rack) h2 {font-family:Arial,Helvetica,sans-serif;}
body #armoury-rack .beach-armoury {display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));}
body #armoury-rack .beach-armoury-head {grid-column:1/-1;width:90vw;white-space:nowrap;}
body #map-table .map-fronts button[aria-pressed=true] {outline:none;border:0;box-shadow:none;color:#ffd800;}
@media(max-height:500px) {
  body :is(#map-table,#armoury-rack) {padding:16px 5vw;}
  body :is(#map-table,#armoury-rack) header {display:grid;grid-template-columns:1fr auto;align-items:center;}
  body :is(#map-table,#armoury-rack) header .beach-eyebrow {grid-column:1;}
  body :is(#map-table,#armoury-rack) h2 {grid-column:1;margin:4px 0;font-size:32px;}
  body :is(#map-table,#armoury-rack) .armoury-rack-close {grid-column:2;grid-row:1/3;font-size:18px;}
  body :is(#map-table,#armoury-rack) p {margin:4px 0 12px;}
  body :is(#map-table,#armoury-rack) .beach-armoury button {min-height:210px;}
  body #beach-panel {padding:16px 4vw;}
  body #beach-next {grid-template-columns:70px 1fr;}
  body #beach-next-mark,body #beach-next-mark svg {width:70px;height:70px;}
  body #beach-frogs {margin:6px 0;padding:6px 0;}
  body #beach-frogs .beach-portrait {height:100px;}
  body #beach-panel .beach-actions {position:sticky;bottom:0;background:#090b0d;padding-top:8px;}
}
