/* Scoped arcade cabinet: school identity, accent and other games stay independent. */
.bs-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.2rem}.bs-heading h1{font-size:clamp(1.6rem,2vw,2.3rem);margin:.2rem 0}.bs-heading h1 span{font-size:.48em;font-weight:500;color:var(--muted)}
.bs-cabinet{--bs-cyan:#79e9ff;--bs-violet:#bda3ff;color:#e8f5ff;background:#090f22;border:1px solid #304561;border-radius:24px;overflow:hidden;box-shadow:0 20px 65px #06102635;font-family:inherit;isolation:isolate}.bs-cabinet *{box-sizing:border-box}.bs-cabinet button,.bs-cabinet select{font:inherit}.bs-cabinet button{cursor:pointer;min-height:40px;transition:background .15s,border-color .15s}.bs-cabinet button:disabled{opacity:.5;cursor:wait}.bs-cabinet button:focus-visible,.bs-cabinet select:focus-visible,.bs-cabinet summary:focus-visible,.bs-cabinet canvas:focus-visible{outline:3px solid #fff;outline-offset:3px}.bs-toolbar{padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #263850;background:linear-gradient(100deg,#132439,#0d1429)}.bs-wordmark{font-weight:900;letter-spacing:.18em;font-size:1.15rem;white-space:nowrap}.bs-wordmark>span{color:var(--bs-cyan);font-size:1.5rem;vertical-align:middle;margin-right:6px}.bs-wordmark small{display:block;font:10px ui-monospace,monospace;letter-spacing:.14em;color:#abc5d9;margin-left:31px}.bs-tools{display:flex;flex-wrap:wrap;gap:6px}.bs-tools button{border:1px solid #38516e;border-radius:9px;background:#18283c;color:#d6eafb;padding:8px 10px;font-size:.76rem}.bs-tools button[aria-pressed=true]{background:#164659;border-color:#5fcadd;color:#dfffff}.bs-layout{display:grid;grid-template-columns:minmax(190px,1fr) minmax(0,600px) minmax(190px,1fr);gap:24px;padding:22px 24px;background:radial-gradient(ellipse at 50% 50%,#172640 0,transparent 67%)}.bs-label{font:10px ui-monospace,SFMono-Regular,monospace;letter-spacing:.19em;color:#98b1ca;margin:0 0 12px}.bs-briefing,.bs-loadout{padding-top:15px;min-width:0}.bs-briefing h2{font-size:1.5rem;line-height:1.15;color:#f2faff;margin:0 0 12px}.bs-briefing>p:not(.bs-label){font-size:.86rem;line-height:1.6;color:#aec2d6}.bs-sectors{list-style:none;padding:0;display:grid;gap:10px;margin:28px 0}.bs-sectors li{border:1px solid #293d58;background:#121e32;display:flex;align-items:center;gap:10px;padding:13px 10px;border-radius:12px}.bs-sectors li>span{font:12px ui-monospace,monospace;color:#9fb5cc}.bs-sectors strong{display:block;font-size:.8rem;color:#dcefff}.bs-sectors small{color:#9bb2c8;display:block;margin-top:4px;font-size:.7rem}.bs-sectors b{margin-left:auto;color:#64819e}.bs-sectors li.is-active{background:linear-gradient(120deg,#17384c,#182641);border-color:var(--bs-cyan);box-shadow:0 0 28px #53d5ff12}.bs-sectors li.is-done b{color:#7bf1b8}.bs-record{border-top:1px solid #293d58;padding-top:22px;margin-top:25px}.bs-record strong{display:block;font:700 clamp(1.7rem,2.6vw,3rem) ui-monospace,monospace;color:var(--bs-cyan);letter-spacing:-.05em}.bs-record small{display:block;color:#9db7d0;line-height:1.5;margin-top:5px}.bs-preview{border:1px solid #7a6445;background:#352b20;border-radius:10px;padding:12px}.bs-center{min-width:0;width:100%;max-width:600px;justify-self:center}.bs-hud{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:7px;padding:0 3px 13px}.bs-hud>div>span{font:9px ui-monospace,monospace;letter-spacing:.15em;color:#9db6ce;display:block;margin-bottom:4px}.bs-hud strong{font:700 clamp(1.1rem,1.7vw,1.6rem) ui-monospace,monospace;color:#e7faff;white-space:nowrap}.bs-hud>div:nth-child(2) strong{color:#bd9bff}.bs-hud>div:nth-child(3) strong{color:#7df0bb}.bs-board{position:relative;aspect-ratio:4/5;border:1px solid #4b6b8e;border-radius:16px;overflow:hidden;background:#070c20;box-shadow:0 0 0 5px #162439,0 0 45px #60b8ff18;max-height:calc(100dvh - 270px);min-height:390px}.bs-center:has(.bs-board){max-width:min(600px,calc((100dvh - 270px)*.8))}#bs-canvas{display:block;width:100%;height:100%;object-fit:fill;touch-action:none;outline:none}.bs-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:22px;background:linear-gradient(180deg,#060c1f55,#070d24c9 52%,#090e22ee);backdrop-filter:blur(3px)}.bs-overlay[hidden]{display:none}.bs-overlay-card{text-align:center;width:min(100%,370px)}.bs-orbit{margin:0 auto 18px;width:72px;height:72px;border:1px solid #63d6f78c;border-radius:22px;display:grid;place-items:center;color:#7deeff;font-size:2.8rem;background:linear-gradient(135deg,#2b6588,#182441);box-shadow:0 0 70px #58cfff30;transform:rotate(-8deg)}.bs-overlay .bs-label{color:#a2c7dd;font-size:9px;letter-spacing:.15em}.bs-overlay h2{font-size:clamp(2rem,3.6vw,3.5rem);letter-spacing:-.045em;line-height:1.02;color:white;margin:10px 0 18px}.bs-overlay em{font-style:normal;background:linear-gradient(100deg,#8af0ff,#bd9cff);background-clip:text;color:transparent}.bs-overlay p:not(.bs-label){font-size:.86rem;color:#b9ccdf;line-height:1.55}.bs-mode-select{display:block;text-align:left;font-size:.72rem;color:#b1c9dd;margin:18px 0 12px}.bs-mode-select select{display:block;width:100%;margin-top:6px;background:#15233b;color:#e1f2ff;border:1px solid #4e6b88;border-radius:10px;padding:10px;font-size:.8rem;min-height:42px;color-scheme:dark}.bs-launch,.bs-demo{display:block;width:100%;border-radius:11px;font-weight:800;padding:12px 16px}.bs-launch{background:linear-gradient(100deg,#8cf1ff,#a8c5ff);color:#0b1e34;border:1px solid #b4f1ff;box-shadow:0 6px 30px #6ddfff22;font-size:1rem!important}.bs-launch:hover{background:#beefff}.bs-launch>span{float:right}.bs-demo{margin-top:9px;color:#c3d9f0;background:#19243c;border:1px solid #3a5070;font-size:.8rem!important}.bs-demo:hover,.bs-tools button:hover{background:#25425d}.bs-save-note{min-height:1.5em;font-size:.7rem!important;margin-bottom:0}.bs-stage-label{position:absolute;top:24%;left:10%;right:10%;text-align:center;color:#fff;font-size:clamp(1.3rem,2.5vw,2rem);font-weight:900;text-shadow:0 0 20px #84e7ff;pointer-events:none;opacity:0;transition:opacity .25s;letter-spacing:.05em}.bs-stage-label.is-visible{opacity:1}.bs-energy{display:flex;align-items:center;gap:10px;padding:15px 0 0;font:9px ui-monospace,monospace;color:#a5d9ed;letter-spacing:.03em}.bs-energy>div{height:4px;background:#26374f;flex:1;border-radius:4px;overflow:hidden}.bs-energy i{display:block;height:100%;background:#88eaff;width:100%;transition:width .1s}.bs-ship-preview{border:1px solid #293e58;border-radius:16px;background:radial-gradient(ellipse,#1f3e5f,#121b30);margin:15px 0 24px}.bs-ship-preview svg{display:block;width:90%;max-height:150px;margin:10px auto;filter:drop-shadow(0 5px 12px #58c7ff44)}.bs-controls{list-style:none;padding:0;display:grid;gap:15px}.bs-controls li{font-size:.78rem;color:#c2d9eb}.bs-controls kbd{font-family:ui-monospace,monospace;background:#22334b;border:1px solid #4b6480;box-shadow:0 2px #070e22;padding:3px 5px;border-radius:4px;font-size:.72rem}.bs-controls span{display:block;color:#96adc4;font-size:.73rem;margin-top:7px;line-height:1.4}.bs-powerups{border-top:1px solid #2a3c54;margin-top:24px;padding-top:18px}.bs-powerups summary{cursor:pointer;color:#cee7f9;font-size:.78rem}.bs-powerups ul{list-style:none;padding:0;display:grid;gap:12px}.bs-powerups li{display:flex;gap:10px;align-items:center}.bs-powerups b{border:1px solid var(--power-color);color:var(--power-color);border-radius:8px;min-width:33px;height:33px;display:grid;place-items:center;font:700 12px ui-monospace,monospace}.bs-powerups strong{font-size:.75rem;display:block;color:#dcefff}.bs-powerups small{display:block;font-size:.7rem;color:#a0b8ce;line-height:1.35;margin-top:2px}.bs-tip{color:#9cb5cd;font-size:.75rem;line-height:1.6;margin-top:20px}.bs-footer{border-top:1px solid #293d58;background:#101b2e;display:flex;justify-content:space-between;gap:12px;padding:13px 22px;font-size:.74rem;line-height:1.45;color:#b5cce0}.bs-footer>span+span{font:9px ui-monospace,monospace;letter-spacing:.13em;align-self:center;white-space:nowrap;color:#8aa6c1}.bs-touch{display:none;touch-action:none;user-select:none}.bs-touch button{background:#1a3048;color:#d9f7ff;border:1px solid #4f7a98;border-radius:12px;min-height:47px;touch-action:none}.bs-touch button:active{background:#326184}.bs-dpad{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,38px);gap:4px}.bs-dpad button{min-height:38px!important;padding:0}.bs-dpad button:first-child{grid-column:2}.bs-dpad button:nth-child(2){grid-column:1;grid-row:2}.bs-dpad button:nth-child(3){grid-column:2;grid-row:2}.bs-dpad button:nth-child(4){grid-column:3;grid-row:2}.bs-touch>.bs-dash{background:#214865;min-width:64px}.bs-touch>.bs-reset{background:#49264b;min-width:62px}.bs-help{margin:20px 0}.bs-help summary{cursor:pointer;font-weight:650}.bs-help p{line-height:1.6}.bs-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.bs-result-grid>div{border:1px solid #36506c;background:#14233a;padding:12px 6px;border-radius:10px}.bs-result-grid strong{display:block;color:#e9faff;font:700 1.15rem ui-monospace,monospace}.bs-result-grid small{color:#a6bdd5;font-size:.65rem}.bs-result-score{font:800 clamp(2rem,5vw,3.4rem) ui-monospace,monospace;color:#8beeff;letter-spacing:-.05em}.bs-cabinet:fullscreen{width:100%;height:100%;border-radius:0;overflow:auto}.bs-cabinet:fullscreen .bs-layout{max-width:1450px;margin:auto;padding:14px 24px;grid-template-columns:1fr minmax(0,650px) 1fr}.bs-cabinet:fullscreen .bs-board{max-height:calc(100dvh - 190px)}.bs-cabinet:fullscreen .bs-center{max-width:min(650px,calc((100dvh - 190px)*.8))}
@media(min-width:1500px){.games-main:has(.bs-cabinet){max-width:1550px}.bs-layout{gap:34px;padding:24px 36px}.bs-briefing,.bs-loadout{padding-left:8px;padding-right:8px}}
@media(max-width:1100px){.bs-layout{grid-template-columns:1fr minmax(0,520px);gap:22px}.bs-loadout{display:none}.bs-cabinet:fullscreen .bs-layout{grid-template-columns:1fr minmax(0,650px)}.bs-board{max-height:none}.bs-center:has(.bs-board){max-width:520px}.bs-toolbar{padding:14px}.bs-tools button{padding:7px;font-size:.7rem}}
@media(max-width:760px){.bs-heading{margin-bottom:14px}.bs-heading h1 span{display:block;margin-top:5px;font-size:.55em}.bs-layout,.bs-cabinet:fullscreen .bs-layout{display:block;padding:15px 12px}.bs-briefing{display:none}.bs-center:has(.bs-board),.bs-cabinet:fullscreen .bs-center{max-width:560px;margin:auto}.bs-toolbar{display:block;padding:12px}.bs-wordmark{display:flex;gap:8px;align-items:center;margin-bottom:10px;font-size:.93rem}.bs-wordmark small{margin-left:auto;font-size:8px}.bs-wordmark>span{font-size:1.1rem;margin-right:0}.bs-tools{justify-content:space-between}.bs-tools button{flex:1;min-height:36px;padding:6px 3px;font-size:.66rem;white-space:nowrap}.bs-full-label{display:none}.bs-hud{padding:0 3px 10px}.bs-hud strong{font-size:1.12rem}.bs-board{min-height:390px;max-height:none}.bs-overlay{padding:20px}.bs-orbit{width:48px;height:48px;font-size:1.8rem;margin-bottom:13px}.bs-overlay h2{font-size:2.6rem}.bs-overlay p:not(.bs-label){font-size:.8rem}.bs-footer{padding:12px;font-size:.7rem}.bs-footer>span+span{display:none}.bs-cabinet{border-radius:16px}.bs-cabinet:fullscreen .bs-board{max-height:none}.bs-cabinet:fullscreen .bs-center{max-width:min(560px,calc((100dvh - 250px)*.8));min-width:290px}}
@media(pointer:coarse){.bs-touch{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:14px}.bs-board{touch-action:none}}
@media(prefers-reduced-motion:reduce){.bs-cabinet *{transition:none!important;scroll-behavior:auto!important}}
.bs-tools svg{vertical-align:middle}.bs-history{margin:24px 0 16px;padding:18px 22px;border:1px solid var(--border);background:var(--surface);border-radius:14px}.bs-history h2{font-size:1.05rem;margin:0 0 8px}.bs-history p{margin:0;font-size:.85rem;line-height:1.7}.bs-history ol{padding-left:1.2rem;margin:0;display:grid;gap:5px}
/* Compact launch card on phones; long results and enlarged text remain scrollable. */
.bs-overlay{display:flex;flex-direction:column;align-items:center;overflow-y:auto;overscroll-behavior:contain}.bs-overlay-card{flex-shrink:0;margin:auto 0}
@media(max-width:760px){.bs-overlay{padding:14px}.bs-overlay .bs-orbit,.bs-overlay .bs-label,.bs-lobby-description{display:none}.bs-overlay h2{font-size:2rem;margin:0 0 10px}.bs-overlay p{margin:8px 0}.bs-mode-select{margin:10px 0}.bs-mode-select select{min-height:38px;padding:8px}.bs-launch,.bs-demo{padding:9px 12px}.bs-save-note{font-size:.65rem!important}.bs-dpad{grid-template-columns:repeat(3,34px)}.bs-touch>.bs-dash{min-width:58px}.bs-touch>.bs-reset{min-width:55px}.bs-touch{gap:6px}.bs-board{min-height:0}.bs-result-grid{margin:12px 0}.bs-result-grid>div{padding:8px 4px}.bs-result-grid strong{font-size:1rem}.bs-result-score{font-size:2.2rem}.bs-touch button{font-size:.8rem;padding:6px}.bs-history{padding:14px}}
#bs-time.is-urgent{color:#ff8aa8;animation:bs-urgent 1s steps(2,end) infinite}@keyframes bs-urgent{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){#bs-time.is-urgent{animation:none}}
/* Full screen on landscape displays: the field fills the height, the sector backdrop the rest, HUD and sectors float at the sides. */
@media(min-aspect-ratio:4/3){
.bs-cabinet:fullscreen{--bs-side:calc((100vw - min(100vw,80vh))/2);overflow:hidden;border:0;background:#050a1a}
.bs-cabinet:fullscreen .bs-layout{display:block;padding:0;max-width:none;background:none}
.bs-cabinet:fullscreen .bs-center{max-width:none}
.bs-cabinet:fullscreen .bs-board{position:fixed;inset:0;z-index:0;max-height:none;min-height:0;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;background:#050a1a}
.bs-cabinet:fullscreen .bs-toolbar{position:fixed;inset:0 0 auto;z-index:3;border:0;background:linear-gradient(#050a1ae6,#050a1a00);padding:14px 22px 28px;pointer-events:none}
.bs-cabinet:fullscreen .bs-toolbar>*{pointer-events:auto}
.bs-cabinet:fullscreen .bs-tools button{background:#13213acc;backdrop-filter:blur(4px)}
.bs-cabinet:fullscreen .bs-hud{position:fixed;z-index:2;top:110px;left:28px;width:calc(var(--bs-side) - 56px);display:grid;grid-template-columns:1fr;gap:clamp(12px,2.6vh,28px);padding:0;pointer-events:none}
.bs-cabinet:fullscreen .bs-hud>div>span{font-size:11px}
.bs-cabinet:fullscreen .bs-hud strong{font-size:clamp(1.6rem,4.2vh,3.2rem);text-shadow:0 0 18px #59d6ff44}
.bs-cabinet:fullscreen .bs-energy{position:fixed;z-index:2;left:28px;bottom:30px;width:calc(var(--bs-side) - 56px);font-size:11px;padding:0}
.bs-cabinet:fullscreen .bs-energy>div{height:6px}
.bs-cabinet:fullscreen .bs-briefing{position:fixed;z-index:2;top:96px;right:28px;width:calc(var(--bs-side) - 56px);max-height:calc(100vh - 120px);overflow:auto;padding:0}
.bs-cabinet:fullscreen .bs-briefing h2{font-size:clamp(1.3rem,3vh,2rem)}
.bs-cabinet:fullscreen .bs-loadout,.bs-cabinet:fullscreen .bs-preview{display:none}
.bs-cabinet:fullscreen .bs-footer{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}
.bs-cabinet:fullscreen .bs-overlay{background:radial-gradient(ellipse at 50% 45%,#0a1530d0,#050a1af2 70%)}
.bs-cabinet:fullscreen .bs-stage-label{font-size:clamp(1.6rem,4vh,3rem)}
}
@media(min-aspect-ratio:4/3) and (pointer:coarse){
.bs-cabinet:fullscreen .bs-touch{position:fixed;z-index:2;left:24px;right:24px;bottom:24px;padding:0;pointer-events:none}
.bs-cabinet:fullscreen .bs-touch>*{pointer-events:auto}
.bs-cabinet:fullscreen .bs-energy{bottom:130px}
}
@media(min-aspect-ratio:4/3) and (max-width:1100px){.bs-cabinet:fullscreen .bs-briefing>p,.bs-cabinet:fullscreen .bs-record{display:none}.bs-cabinet:fullscreen .bs-sectors small{display:none}.bs-cabinet:fullscreen .bs-energy{flex-wrap:wrap;gap:6px 10px}.bs-cabinet:fullscreen .bs-energy>div{order:3;flex-basis:100%}}
.bs-coop-help{font-size:.72rem!important;line-height:1.55!important;text-align:left;border:1px solid #3a5070;background:#13213a;border-radius:10px;padding:8px 10px;margin:0 0 12px}.bs-coop-help[hidden]{display:none}.bs-coop-help strong{color:#9eeaff}.bs-coop-help strong+strong,.bs-coop-help br+strong{color:#ffcf8a}
#bs-energy-bar-2{background:#ffb35c}#bs-energy-bar-2[hidden]{display:none}.bs-energy>div:has(>#bs-energy-bar-2:not([hidden])){height:9px;display:grid;gap:1px}.bs-energy>div:has(>#bs-energy-bar-2:not([hidden])) i{height:4px}
.bs-hud strong.is-team{font-size:clamp(.8rem,1.15vw,1.1rem);letter-spacing:-.02em}.bs-cabinet:fullscreen .bs-hud strong.is-team{font-size:clamp(1.3rem,3.4vh,2.4rem)}
