/* Console presentation overrides the original browser shell. */
body{background:#070c0a;min-height:100dvh}.topbar,.footer{display:none}.console-screen{min-height:100dvh;position:relative;isolation:isolate;overflow:hidden;background:#0d1512}.console-screen:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#090e0cf0,#090e0cb0),url('assets/temple.webp') center/cover}.screen-heading{text-align:center;font:800 clamp(30px,4vw,56px)/1 var(--display);letter-spacing:3px;color:#e8cf94;text-shadow:0 3px 1px #000,0 5px 12px #000;margin:0;padding:34px 16px 20px}.console-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:20px 4%;gap:20px;background:linear-gradient(transparent,#050905a0);font:500 10px var(--body);letter-spacing:1.4px;color:#c2c4a9}.console-bottom .text-button{font-size:10px}#title-screen{display:grid;place-items:center;background:#060b09}#title-canvas{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;z-index:-2}.title-vignette{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 47%,#01060315 15%,#03070488 70%,#020502ed 100%)}.title-content{text-align:center;padding:30px 20px 90px;align-self:center;width:100%}.game-logo{margin:0 auto 32px;font-family:var(--display);line-height:.85;width:fit-content;color:#ead49b;text-shadow:0 3px 0 #6e4c28,0 7px 0 #241b14,0 14px 30px #000;transform:perspective(600px) rotateX(5deg)}.game-logo span{display:block;font-size:clamp(40px,6.4vw,90px);font-weight:700;letter-spacing:.08em;padding-left:.08em}.game-logo strong{display:block;font-size:clamp(86px,14.5vw,202px);font-weight:900;letter-spacing:.015em}.title-menu{display:flex;flex-direction:column;align-items:center;gap:7px}.title-menu button{font:700 clamp(19px,2.5vw,29px) var(--display);letter-spacing:3px;padding:7px 35px;min-width:260px;color:#c0c0aa;text-shadow:2px 3px 2px #000;position:relative}.title-menu button.menu-active,.title-menu button:hover{color:#ffe1a0;background:linear-gradient(90deg,transparent,#8d2e1f88,transparent)}.title-menu .menu-active:before,.title-menu button:hover:before{content:'';position:absolute;left:15px;top:50%;transform:translateY(-50%);border-left:8px solid #e9bc69;border-top:5px solid transparent;border-bottom:5px solid transparent}.title-menu .menu-active:after,.title-menu button:hover:after{content:'';position:absolute;right:15px;top:50%;transform:translateY(-50%);border-right:8px solid #e9bc69;border-top:5px solid transparent;border-bottom:5px solid transparent}.press-start{font:500 10px var(--body);letter-spacing:2px;color:#c9c6a7;margin:25px 0 0;animation:startPulse 2s steps(2) infinite}@keyframes startPulse{50%{opacity:.35}}
#lobby{max-width:none;padding:0 5% 90px}.setup-grid{max-width:1100px;margin:auto;display:flex;flex-direction:column;gap:0;position:relative}.preview-wrap{height:48vh;min-height:285px;max-height:430px;border:0;background:transparent;overflow:visible}.preview-wrap canvas{width:100%;height:100%;object-fit:contain}.preview-top{display:none}.preview-shade{background:linear-gradient(transparent 75%,#08110dcc);bottom:-3px;pointer-events:none}.preview-names{left:2%;right:2%;bottom:45%;align-items:center}.preview-names h2{font-size:clamp(22px,3.4vw,46px);color:#e9d49e;text-shadow:2px 3px 3px #000}.preview-names small{font-size:9px;color:#ce4f37}.preview-names div>span{color:#c5c5ad;font-size:8px;letter-spacing:2px}.preview-names .versus{font-size:45px;position:absolute;left:50%;transform:translateX(-50%);opacity:.45}.console{position:relative;width:100%;max-width:600px;align-self:center;margin-top:-6px;align-items:center}.roster{grid-template-columns:repeat(2,140px);justify-content:center;gap:14px}.fighter-card{height:137px;border:2px solid #6a7157;box-shadow:0 5px 16px #0009}.fighter-card.selected{border:2px solid #e4c075;box-shadow:0 0 0 3px #b4522444,0 6px 18px #0009}.fighter-card .selected-check{display:none}.fighter-card .fighter-number{display:none}.fighter-card.selected .fighter-number{display:block;background:#b43524;padding:3px 5px;color:#fff3d2;font-weight:800;top:5px;left:5px}.fighter-caption{bottom:9px;left:10px}.fighter-caption b{font-size:23px}.fighter-caption small{font-size:6px}.fighter-detail{justify-content:center;gap:15px;margin:12px 0 17px;font-size:11px}.fighter-detail span+span{display:none}.selection-actions{display:flex;align-items:center;justify-content:center;gap:25px}.selection-actions .primary-button{min-width:205px;justify-content:center;padding:12px 20px;font-size:17px}.selection-actions .text-button{font-size:10px}.match-options{gap:30px;margin:15px 0 0}.match-options label:first-child{display:flex;align-items:center;gap:10px}.match-options select{font-size:10px}.match-options .blood-toggle{font-size:8px}.stage-intro{font:500 10px var(--body);letter-spacing:2px;text-align:center;color:#b8bea2;margin:8px 0 35px}#stage-screen{padding:5vh 6% 100px}.stage-picker{display:grid;grid-template-columns:1fr 1fr;gap:25px;max-width:1120px;margin:0 auto}.stage-card{height:auto;padding:0;display:block;position:relative;border:2px solid #555d49;background:#151d15;box-shadow:0 15px 28px #0007}.stage-card.selected{border-color:#e3bd72;background:#2d291a;box-shadow:0 0 0 4px #9f612b33,0 15px 28px #0007}.stage-image{display:block;width:100%;height:auto;aspect-ratio:16/10;background-size:cover}.stage-card>span+span{display:block;padding:20px;text-align:center}.stage-card b{font-size:28px;letter-spacing:1.5px;color:#e2ce9c}.stage-card small{font-size:9px;margin-top:8px}.stage-card i{position:absolute;bottom:40px;right:20px;width:12px;height:12px}.stage-actions{display:flex;justify-content:space-between;align-items:center;max-width:1120px;margin:30px auto}.stage-actions .primary-button{min-width:250px;justify-content:center;font-size:23px}#game{max-width:none;min-height:100dvh;padding:18px 3% 20px;background:#070c0a}.game-top{max-width:1100px;margin:0 auto 14px}.game-viewport{max-width:min(1200px,calc((100dvh - 120px) * 16 / 9));border-color:#5d5339}.fight-footer,.touch-controls{max-width:1100px;margin-left:auto;margin-right:auto}.fight-footer{margin-top:14px;margin-bottom:0}.game-top>span{color:#d2c49a}.primary-button{border:1px solid #d76a40;box-shadow:0 5px 14px #0007}.icon-button{color:var(--gold)}#asset-status{z-index:4}.console-screen button:focus-visible{outline-color:#f1c57e;outline-offset:5px}
@media(max-width:760px){.title-content{padding-bottom:100px}.game-logo{margin-bottom:35px}.game-logo span{font-size:10vw}.game-logo strong{font-size:21vw}.title-menu button{font-size:24px;min-width:255px}.console-bottom{font-size:7px;letter-spacing:.6px;padding:20px 5%;gap:8px;flex-wrap:wrap}.console-bottom>span:last-child{display:none}.console-bottom .text-button{font-size:8px}.screen-heading{font-size:32px;letter-spacing:1px;padding-top:28px}.preview-wrap{height:38vh;min-height:260px}.preview-names{bottom:12px;left:0;right:0}.preview-names h2{font-size:23px;margin-top:6px}.preview-names div>span{font-size:6px;letter-spacing:1px}.preview-names .versus{font-size:28px;opacity:.75}.preview-names small{font-size:7px}.preview-wrap canvas{object-fit:cover}.console{margin-top:16px}.roster{grid-template-columns:repeat(2,126px);gap:14px}.fighter-card{height:124px}.fighter-card .fighter-caption b{font-size:24px}.fighter-detail{font-size:10px;margin:12px 0 18px}.selection-actions{gap:18px}.selection-actions .primary-button{min-width:180px;font-size:16px}.selection-actions .text-button{font-size:8px}.match-options{margin-top:18px;gap:15px}.match-options label:first-child{font-size:7px;gap:5px}.match-options select{font-size:9px}#lobby{padding-bottom:85px}.stage-picker{grid-template-columns:1fr;gap:20px}.stage-image{aspect-ratio:16/7}.stage-card>span+span{padding:13px}.stage-card b{font-size:22px}.stage-card small{font-size:7px}.stage-card i{bottom:29px}.stage-intro{margin-bottom:25px;font-size:8px}#stage-screen{padding-top:0}.stage-actions{gap:15px;margin-top:22px}.stage-actions .primary-button{min-width:155px;font-size:20px}.stage-actions .text-button{font-size:8px}#game{padding:15px 3% 20px}.game-viewport{max-width:none}.game-top{margin-bottom:14px}.game-top>span{font-size:7px}.touch-controls{margin-top:20px}.title-menu{gap:9px}}
@media(max-height:720px) and (min-width:761px){.screen-heading{padding-top:20px;font-size:38px}.preview-wrap{height:40vh;min-height:230px}.roster{grid-template-columns:repeat(2,110px)}.fighter-card{height:103px}.fighter-caption b{font-size:20px}.fighter-caption small{display:none}.fighter-detail{margin:8px 0 10px}.match-options{margin-top:8px}.console-bottom{padding-top:10px;padding-bottom:10px}.game-logo strong{font-size:135px}.game-logo span{font-size:65px}.game-logo{margin-bottom:20px}.title-menu button{font-size:23px;padding:5px 35px}.press-start{margin-top:15px}.title-content{padding-bottom:60px}#stage-screen{padding-top:0}.stage-intro{margin-bottom:20px}.stage-image{aspect-ratio:16/8}}
@media(prefers-reduced-motion:reduce){.press-start{animation:none}}
#lobby .preview-names{bottom:2px;left:9%;right:9%}#lobby .preview-shade{display:none}#lobby .preview-names h2{font-size:clamp(24px,3vw,39px)}#lobby .preview-names .versus{font-size:38px;opacity:.7}#lobby .preview-names small{font-size:8px}#lobby .preview-wrap{margin-bottom:16px}
@media(max-width:760px){#lobby .preview-names{left:0;right:0;bottom:0}#lobby .preview-names h2{font-size:23px}#lobby .preview-names div>span{font-size:6px}.title-content{padding-top:40px}}
.look-picker{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 0 16px}.look-picker>span{font:500 9px var(--body);letter-spacing:1.5px;color:#d5d1b2}.look-picker>div{display:flex;border:1px solid #645d40}.look-picker button{font:600 12px var(--display);letter-spacing:1px;padding:8px 18px;color:#b9bba3}.look-picker button.selected{background:#d2b274;color:#11170f}.look-picker button:hover{color:#fff1cf;background:#5a4529}.look-picker button.selected:hover{background:#e4c387;color:#11170f}#lobby .preview-wrap canvas{mask-image:linear-gradient(transparent,#000 8%,#000 92%,transparent);image-rendering:auto}#lobby .fighter-detail{margin-bottom:12px}#lobby .preview-wrap{margin-bottom:10px}.fighter-card img[src*="modern"]{object-position:50% 20%}
@media(max-width:760px){.look-picker{margin-bottom:14px;gap:12px}.look-picker>span{font-size:7px}.look-picker button{padding:7px 15px;font-size:11px}#lobby .console{margin-top:12px}#lobby .fighter-card{height:110px}#lobby .preview-wrap{min-height:250px;height:34vh}.console-bottom>span:first-child{font-size:6px}}
@media(max-height:720px) and (min-width:761px){.look-picker{margin:0 0 9px}.look-picker button{padding:5px 16px}}

.rival-picker{display:flex;justify-content:center;gap:20px;margin:0 0 16px}.roster{max-height:136px;overflow-y:auto;overscroll-behavior:contain}.fighter-card{flex-shrink:0}
/* A third challenger fits alongside the original legends. */
#lobby .roster{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,450px);max-height:145px;padding:3px;gap:12px}
#lobby .fighter-caption b{font-size:clamp(16px,2.2vw,23px)}
@media(max-width:480px){#lobby .roster{gap:8px;width:100%}#lobby .fighter-caption{left:6px}#lobby .fighter-caption b{font-size:17px}}

/* Keep a growing roster in one navigable console strip. */
#lobby .roster{display:flex;justify-content:flex-start;width:max-content;max-width:min(100%,600px);overflow-x:auto;overflow-y:hidden;max-height:145px}
#lobby .fighter-card{flex:0 0 128px}
@media(max-width:600px){#lobby .roster{width:100%;max-width:100%}#lobby .fighter-card{flex-basis:110px}}
