/* TX menus: constrained artwork, one visible screen, responsive selection. */
body{min-width:320px}main[hidden],dialog:not([open]),[hidden]{display:none!important}
input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.splash-screen{min-height:calc(100svh - 87px);display:grid;place-items:center;position:relative;padding:36px 20px;background:radial-gradient(ellipse at center,#49320f 0,#111 42%,#000 75%);overflow:hidden}
.splash-content{position:relative;text-align:center;max-width:640px}.splash-content .eyebrow{justify-content:center;color:#ccc}.splash-logo{display:block;width:min(330px,75vw);height:230px;object-fit:contain;margin:auto}.splash-content h1{font:clamp(42px,7vw,82px) 'Bowlby One SC',Impact,sans-serif;letter-spacing:8px;margin:0;color:var(--gold)}.splash-content .fight-button{margin:28px auto 15px;min-width:260px}.splash-tagline,.input-hint{font-size:11px;letter-spacing:1.3px;color:#bac0c2;line-height:1.7}.splash-footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1px;position:absolute;bottom:18px;left:4%;right:4%;color:#aaa}
.main-menu{max-width:1500px;margin:auto;padding:40px 4%;display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;min-height:calc(100svh - 87px)}.main-intro{position:relative;min-height:520px;border:1px solid #333;overflow:hidden;display:flex;align-items:end;background:#141414}.main-intro-art{position:absolute;inset:0;background:linear-gradient(0deg,#000 5%,#0008 50%,#0002),url('assets/squad.jpeg') center/cover}.main-intro-copy{position:relative;padding:30px}.main-intro-copy h1{font:clamp(29px,3.2vw,49px)/1.2 'Bowlby One SC',Impact,sans-serif}.main-intro-copy em{color:var(--gold);font-style:normal}.main-intro-copy p{line-height:1.7;color:#ccd0d2}.main-stats{display:flex;gap:25px;font-size:9px}.main-stats strong{display:block;color:var(--gold);font-size:25px}.main-mode-panel{align-self:center}.menu-section-heading{margin-bottom:18px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-card{display:flex;align-items:center;gap:14px;padding:22px 16px;background:#191b1e;border:1px solid #46494e;min-height:110px;text-align:left}.mode-card:hover,.mode-card:focus-visible{border-color:var(--gold);background:#282014}.mode-card-icon{font:22px 'Bowlby One SC',Impact,sans-serif;color:var(--gold);min-width:34px}.mode-card-copy{flex:1}.mode-card-copy strong{display:block;font-size:13px;margin-bottom:8px}.mode-card-copy small{display:block;color:#bac0c2;font-size:11px;line-height:1.5}.mode-card-arrow{color:var(--gold)}.main-menu-bottom,.main-utilities{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.main-menu-bottom .menu-field{flex:1}.main-utilities .secondary-button{flex:1}.menu-field{display:grid;gap:8px;font-size:9px;letter-spacing:1px;color:#ddd}.menu-field select{background:#17191c;color:#fff;font-size:11px}.secondary-button{padding:13px;border:1px solid #565b61;background:#17191c}.menu-field input{width:100%}
.selection-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.selection-heading h1{font:clamp(23px,2.4vw,36px) 'Bowlby One SC',Impact,sans-serif;margin:0}.selection-stage{display:grid;grid-template-columns:minmax(140px,.75fr) minmax(330px,2fr) minmax(140px,.75fr) minmax(220px,1fr);gap:18px;align-items:start}.fighter-showcase{min-width:0;align-self:center}.showcase-top{display:flex;gap:10px;font-size:9px;letter-spacing:1px;color:#ccd0d2}.showcase-player{color:var(--gold);font-weight:bold}.showcase-art{position:relative;aspect-ratio:3/4;background:radial-gradient(ellipse,#feaf0018,transparent 70%)}.showcase-art canvas,.showcase-art img{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.showcase-bottom h2{font-size:clamp(15px,1.65vw,25px);text-align:center;margin:12px 0;overflow-wrap:anywhere}.random-button{background:#15171a;border:1px solid #555;padding:10px;color:var(--gold);font-weight:bold;width:100%;font-size:11px}.random-button span{font-size:9px;color:#eee}.fighter-select-core{min-width:0}.fighter-select-core .select-side{justify-content:center}.fighter-select-core .roster-tools{display:flex;flex-wrap:wrap;gap:9px;padding:12px 0}.fighter-select-core .search-label{flex:1}.fighter-select-core input{min-width:0;width:100%;height:34px}.fighter-select-core #roster-count{font-size:9px;align-self:center}.fighter-select-core .filter-tabs{width:100%;display:flex;flex-wrap:wrap;gap:3px}.fighter-select-core .filter-tabs button{padding:8px;font-size:8px}.fighter-select-core .roster{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.fighter-select-core .fighter-card{height:104px;background:#22262b}.fighter-select-core .fighter-portrait{background-size:210% auto;background-position:50% 14%;inset:0}.fighter-select-core .sprite-portrait{background-size:700% 700%;background-position:2% 0%}.fighter-select-core .group-portrait{background-size:1100% auto}.fighter-select-core .card-number,.fighter-select-core .card-arrow,.fighter-select-core .fighter-caption small,.fighter-select-core .fighter-caption p{display:none}.fighter-select-core .fighter-caption{left:5px;right:4px;bottom:5px}.fighter-select-core .fighter-caption strong{font-size:11px;letter-spacing:0;line-height:1.2}.fighter-select-core .pick-tag{padding:3px 5px;font-size:8px}.fighter-select-core .pending-badge{font-size:6px;padding:3px;top:28px;bottom:auto}.roster-hint{font-size:8px;color:#aaa;line-height:1.8}.roster-legend{padding:3px 5px;background:var(--gold);color:#000;margin-right:4px}.legend-p2{background:#fff;margin-left:9px}.arena-sidebar{border:1px solid #41464b;background:#131518;padding:14px;display:grid;gap:12px}.arena-sidebar h2{font-size:23px}.arena-sidebar .menu-section-heading{margin:0}.arena-preview-frame{position:relative;aspect-ratio:16/9}.arena-preview-frame canvas{width:100%;height:100%;display:block}.arena-preview-badge{position:absolute;bottom:5px;left:8px;font-size:8px;background:#000b;padding:3px}.arena-caption{font-size:10px;color:#bac0c2;margin:0;line-height:1.5}.arena-sidebar .match-setup{padding:0;display:grid;grid-template-columns:1fr;gap:12px}.arena-sidebar .fight-button{width:100%;padding:12px;font-size:9px}.arena-sidebar .mode-description{margin:0;max-width:none;font-size:10px;line-height:1.6}.arena-sidebar #local-record{font-size:9px;color:var(--gold)}.gamepad-help{margin:16px 4%;font-size:11px;line-height:1.6}.settings-options{display:grid;gap:18px;margin:20px 0}.setting-toggle,.setting-range{display:flex;justify-content:space-between;align-items:center;gap:20px}.setting-toggle strong,.setting-range strong{font-size:12px}.setting-toggle small,.setting-range small{display:block;margin-top:6px;font-size:11px;color:#bbc1c5}.setting-toggle input{width:22px;height:22px;accent-color:var(--gold)}.setting-range input{width:45%;accent-color:var(--gold)}dialog{max-height:88svh;overflow:auto}.coop-hud{position:absolute;left:4%;top:27%;width:30%;pointer-events:none;font-size:10px;background:#0009;padding:8px;border:1px solid #feaf0077}.coop-hud>div:first-child{display:flex;gap:10px;justify-content:space-between}.coop-player-label{color:var(--gold)}.coop-health-bar,.coop-meter-bar{background:#222;height:8px;margin:6px 0;overflow:hidden}.coop-health-bar>div{height:100%;background:#feaf00;transform-origin:left}.coop-meter-bar>div{height:100%;background:#84c9ff;transform-origin:left}.reduced-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:1150px){.selection-stage{grid-template-columns:150px minmax(300px,1fr) 150px}.arena-sidebar{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.arena-sidebar .menu-section-heading{grid-column:1/-1}.main-menu{gap:24px}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:80px;padding:14px}.main-intro{min-height:620px}}
@media(max-width:760px){.splash-screen{min-height:calc(100svh - 70px)}.main-menu{grid-template-columns:1fr;padding:20px}.main-intro{min-height:250px}.main-intro-copy h1{font-size:28px;margin:12px 0}.main-stats{display:none}.mode-grid{grid-template-columns:1fr 1fr}.mode-card-icon{display:none}.mode-card-copy strong{font-size:11px}.selection{padding:20px 16px}.selection-stage{grid-template-columns:1fr 1fr;gap:14px}.fighter-select-core{grid-column:1/-1;grid-row:2}.fighter-showcase{grid-row:1}.showcase-art{height:190px;aspect-ratio:auto}.showcase-bottom h2{font-size:20px}.arena-sidebar{grid-column:1/-1;grid-template-columns:1fr 1fr}.fighter-select-core .roster{grid-template-columns:repeat(5,minmax(0,1fr))}.fighter-select-core .fighter-card{height:96px}.coop-hud{top:29%;width:35%;font-size:7px}.coop-hud>div:first-child{gap:4px;flex-wrap:wrap}.splash-footer{position:static;align-self:end;margin-top:30px;flex-wrap:wrap}.selection-heading{align-items:start}.selection-heading h1{font-size:24px}}
@media(max-width:440px){.mode-grid{grid-template-columns:1fr}.fighter-select-core .roster{grid-template-columns:repeat(4,minmax(0,1fr))}.arena-sidebar{grid-template-columns:1fr}.fighter-intel{grid-template-columns:1fr}.intel-special{padding:0;border:0}.fighter-extra{grid-template-columns:1fr}.main-intro-copy{padding:20px}.main-menu{padding:16px}.topbar{gap:8px}.selection-heading .text-button{font-size:8px}.showcase-art{height:160px}.showcase-bottom h2{font-size:16px}.brand-logo{width:80px}.top-actions{gap:6px}}
