@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{--bg:#1b1919;--paper:#f5f0ee;--orange:#f5f0ee;--line:#494444;--muted:#b0a8a6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--paper);font:16px 'IBM Plex Mono',monospace}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);color:inherit;background:transparent;padding:12px 16px;font-size:14px;font-weight:600;transition:background .15s,transform .15s}button:hover{background:#393333}button:focus-visible,input:focus-visible{outline:2px solid var(--orange);outline-offset:4px}button:disabled{opacity:.45;cursor:not-allowed}button.active,.primary{color:#12120f;background:var(--orange);border-color:var(--orange)}[hidden]{display:none!important}header{height:83px;padding:0 4vw;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:20px}.brand{font:bold 38px 'Barlow Condensed',sans-serif;text-decoration:none;color:var(--paper);letter-spacing:-3px}.brand span{color:var(--orange);letter-spacing:0}.edition{font-size:13px;line-height:1.5;font-weight:600}.edition span{font-size:11px;color:var(--muted)}.header-right{display:flex;gap:8px;align-items:center;margin-left:auto}.tag{font-size:12px;color:var(--muted);margin-right:20px}main{max-width:1560px;margin:auto;padding:30px 4vw 0}.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--orange);margin:0 0 10px}h1{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:900;font-size:clamp(60px,7.6vw,110px);line-height:.84;margin:0;letter-spacing:-2px}h1>span{display:block;color:var(--orange)}.star{font-size:.6em;display:inline-block;vertical-align:middle;margin-left:20px}.intro{font-size:14px;line-height:1.6;text-align:right}.intro>span{font-weight:600}.intro p{color:var(--muted);margin-bottom:0}.orange{color:var(--orange)}.setup{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;gap:16px}.mode-group{display:flex;gap:8px}.small{font-size:12px;color:var(--muted)}.selection-bar{display:flex;justify-content:space-between;align-items:center;margin:24px 0 16px;gap:16px}.selection-bar h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:25px;margin:0;letter-spacing:1px}.selection-bar>div{display:flex;align-items:center;gap:12px}.selection-bar button{padding:8px 12px}.selection-bar .p2.active{background:#c0b8b5;border-color:#c0b8b5;color:#111}.vs{font-style:italic;color:var(--muted);font-size:14px}.roster{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.fighter{padding:0;position:relative;overflow:hidden;text-align:left;background:#252222;border:1px solid #494444;min-width:0}.fighter .portrait{height:clamp(105px,11vw,165px);overflow:hidden;background:linear-gradient(135deg,#484040,#1b1919)}.fighter canvas{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:none;transition:filter .15s,transform .2s}.fighter:hover canvas,.fighter.selected canvas{filter:none;transform:scale(1.04)}.fighter .label{padding:9px 10px;background:#211e1e;display:flex;justify-content:space-between;align-items:center;font:700 20px 'Barlow Condensed',sans-serif;text-transform:uppercase}.fighter small{font:11px 'IBM Plex Mono';color:#88887e}.fighter.selected{border:2px solid var(--orange)}.fighter.selected.p2selected{border-color:#c0b8b5}.fighter .marker{position:absolute;top:7px;left:7px;padding:4px 6px;background:var(--orange);color:#111;font:600 11px 'IBM Plex Mono'}.fighter.p2selected .marker{background:#c0b8b5}.fighter.same .marker{background:linear-gradient(90deg,var(--orange) 50%,#c0b8b5 50%)}.roster-note{border:1px dashed var(--line);display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--muted);font-size:12px;text-align:center;line-height:1.7}.roster-note strong{font:700 48px 'Barlow Condensed';color:var(--orange)}.bottom-row{display:flex;justify-content:space-between;gap:24px;padding:22px 0;align-items:center}.fighter-detail{border-left:3px solid var(--orange);padding-left:16px}.fighter-detail b{font:700 23px 'Barlow Condensed';text-transform:uppercase}.fighter-detail .role{color:var(--muted);font-size:12px;margin-left:12px}.fighter-detail p{font-size:13px;color:var(--muted);margin:7px 0 0}.fight-button{background:var(--orange);border-color:var(--orange);color:#111;font:800 25px 'Barlow Condensed';padding:20px 25px;white-space:nowrap;min-width:260px;display:flex;justify-content:space-between;gap:30px}.fight-button:hover{background:#ffffff}.control-strip{border-top:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;gap:16px}.control-strip>div{display:flex;flex-direction:column;gap:9px}.control-strip b{font-size:11px;color:var(--orange)}.control-strip>div:nth-child(2) b{color:#c0b8b5}.control-strip span{font-size:10px;color:var(--muted);line-height:2}kbd{border:1px solid #55554c;padding:3px 5px;color:var(--paper);margin-right:3px;font-size:11px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0;gap:15px;font-size:10px;letter-spacing:1px;color:var(--muted)}footer>span:first-child{color:var(--paper)}#onlinePanel{border-bottom:1px solid var(--line);padding:18px 0}.room-actions,#roomInfo{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.room-actions label{font-size:12px;display:flex;align-items:center;gap:12px}input{background:#24241f;border:1px solid #666659;color:var(--paper);padding:12px;max-width:240px;text-transform:uppercase;font-size:14px}#netStatus{font-size:13px;color:var(--muted);line-height:1.6;margin:12px 0 0}#roomCode{font-size:24px;color:var(--orange);letter-spacing:3px}#connection{font-size:12px;color:var(--muted)}.arena-top{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 0 18px;font-size:12px;color:var(--muted)}.canvas-wrap{position:relative;background:#080808;max-width:1200px;margin:auto;border:1px solid var(--line)}canvas{display:block;width:100%;aspect-ratio:1000/560}.arena-help{padding:18px 0;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}#pauseOverlay{position:absolute;inset:0;background:#080808d9;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px}#pauseOverlay h2{font:900 clamp(30px,6vw,80px) 'Barlow Condensed';color:var(--orange);margin:0}#pauseOverlay p{font-size:14px;text-align:center;padding:0 20px}#pauseOverlay button{min-width:230px}#touch{display:none;justify-content:space-between;gap:10px;padding:10px 0 20px;touch-action:none}#touch>div{display:flex;gap:5px}#touch button{padding:14px 10px;font-size:12px;user-select:none;touch-action:none}#touch button:active{background:var(--orange);color:#111}@media(pointer:coarse){#touch{display:flex}}@media(min-width:1600px){main{padding-top:40px}.roster{gap:14px}}@media(max-width:900px){.roster{grid-template-columns:repeat(5,1fr)}.fighter .portrait{height:130px}.roster-note{display:none}.tag{display:none}.control-strip{flex-direction:column}.setup>.small{display:none}.intro{font-size:12px}.selection-bar{align-items:flex-start}.bottom-row{gap:12px}.fight-button{min-width:210px}.fighter-detail .role{display:block;margin:5px 0}.fighter-detail p{line-height:1.5}}@media(max-width:600px){header{height:70px;padding:0 18px;gap:12px}.edition{font-size:11px}.edition span{display:none}.header-right button{padding:9px;font-size:11px}main{padding:25px 18px 0}.intro{display:none}h1{font-size:72px}.title-row{margin-bottom:22px}.roster{grid-template-columns:repeat(3,1fr);gap:7px}.fighter .portrait{height:130px}.fighter .label{font-size:19px}.selection-bar{flex-direction:column;gap:12px}.selection-bar h2{font-size:23px}.mode-group{width:100%}.mode-group button{font-size:11px;flex:1;padding:12px 6px}.bottom-row{flex-direction:column;align-items:stretch}.fight-button{width:100%}.fighter-detail{padding:12px}.room-actions{gap:8px}.room-actions label{width:100%;flex-wrap:wrap}footer>span:last-child{display:none}footer{font-size:9px}.arena-top>span:last-child{display:none}.arena-help{font-size:10px;flex-direction:column}#touch{flex-wrap:wrap;justify-content:center}.canvas-wrap{margin:0 -12px}.control-strip span{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.fighter canvas{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.fighter:hover canvas,.fighter.selected canvas{filter:saturate(1)}

/* Smartest Media: supplied wordmark, charcoal and off-white identity. */
.brand{display:flex;align-items:center;flex-shrink:0;letter-spacing:normal;width:100px;height:80px;overflow:hidden}.brand img{display:block;width:100px;height:96px;object-fit:contain}header{background:#1b1919;height:96px}.edition{border-left:1px solid var(--line);padding-left:20px}.title-brand{font:700 14px 'IBM Plex Mono',monospace;letter-spacing:4px;line-height:1.5;margin-bottom:12px}h1>span:last-child{font-size:clamp(80px,10vw,140px);letter-spacing:-3px}.eyebrow{color:var(--muted)}.title-row{padding:8px 0 16px}.fighter.selected{box-shadow:inset 0 0 0 2px #f5f0ee}.fighter.p2selected{border-style:dashed}.selection-bar .p2.active{background:#484040;color:#fff;border-color:#c0b8b5}.fighter.p2selected .marker{background:#484040;color:#fff}.fight-button{box-shadow:5px 5px 0 #625a57}.fight-button:hover{transform:translate(-1px,-1px)}.roster-note strong{letter-spacing:-3px}.control-strip span{font-size:12px}.control-strip b,footer{font-size:12px}.fighter small{font-size:12px;color:var(--muted)}.fighter .label{min-height:42px}.arena-top{border-bottom:1px solid var(--line);margin-bottom:18px}#pauseOverlay{background:#1b1919ed}@media(max-width:600px){header{height:84px}.brand{width:78px;height:78px}.brand img{width:78px;height:75px}.edition{display:none}.title-brand{font-size:12px;letter-spacing:3px}h1>span:last-child{font-size:80px}.control-strip span{font-size:12px}footer{font-size:11px}}

/* Arcade cabinet skin */
:root{--bg:#101010;--paper:#f5f0ee;--line:#575151;--muted:#bfb7b4;--arcade:'Press Start 2P','IBM Plex Mono',monospace}
body{background:radial-gradient(ellipse at 50% 10%,#3a3030 0,transparent 60%),#101010}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#00000016 3px,#00000016 4px);opacity:.5}
header{max-width:1480px;margin:auto;border:2px solid #696060;border-top:0;background:#1b1919;box-shadow:0 5px 0 #060606,0 8px 24px #0008;padding:0 28px}.edition{font-size:14px}.edition span{font-size:12px}.tag{font:12px var(--arcade);color:var(--paper)}
main{padding:28px 28px 0;max-width:1480px}.title-row{position:relative;justify-content:center;text-align:center;padding:24px 20px 30px;margin:0 0 24px;border:3px double #a39893;background:linear-gradient(120deg,#ffffff06,transparent 45%,#ffffff09),#1b1919;box-shadow:inset 0 0 0 7px #111,0 6px 0 #050505}
.title-row .intro{position:absolute;right:24px;bottom:28px;font-size:12px;text-align:right}.intro>span{font-size:13px}.intro p{font-size:12px;line-height:1.9}.eyebrow{font:12px var(--arcade);line-height:1.8;color:#c7bcb7;letter-spacing:1px;margin-bottom:14px}.title-brand{font:12px var(--arcade);letter-spacing:2px;margin:0 0 16px;color:#f5f0ee}h1>span:last-child{font:900 clamp(76px,10vw,140px)/.9 'Barlow Condensed',Impact,sans-serif;letter-spacing:3px;color:#f5f0ee;text-shadow:0 3px 0 #6d6460,0 6px 0 #6d6460,4px 10px 0 #000,-1px -1px 0 #fff;transform:skew(-7deg)}
button{border:2px solid #68605d;background:#242020;box-shadow:inset 0 1px 0 #ffffff22,0 3px 0 #090909;border-radius:0}button:hover{background:#453b38;border-color:#e1d7d1}button:active{transform:translateY(2px);box-shadow:none}button.active,.primary{box-shadow:inset 0 -4px 0 #b0a39b,0 3px 0 #090909}
.setup{padding:14px;background:#171515;border:2px solid #514945;box-shadow:inset 0 0 0 3px #090909}.mode-group button{font-size:14px}.small{font-size:12px}.selection-bar{padding:16px 0;margin:10px 0 4px}.selection-bar h2{font:clamp(12px,1.3vw,18px)/1.8 var(--arcade);letter-spacing:0;text-shadow:2px 2px #000}.selection-bar .vs{font:16px var(--arcade);color:#fff}.selection-bar button{min-width:125px}.selection-bar .p2.active{border-style:dashed}
.roster{gap:12px;padding:16px;background:#080808;border:3px solid #77706b;box-shadow:inset 0 0 0 4px #211d1b,0 6px 0 #030303}.fighter{border:2px solid #5f5753;box-shadow:3px 3px 0 #26201d;background:#1b1919;transition:transform .14s,border-color .14s}.fighter .portrait{background:radial-gradient(ellipse at 50% 90%,#90817a 0,#443b36 40%,#181616 78%);position:relative}.fighter .portrait::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#0002 0 1px,transparent 1px 4px)}.fighter .label{border-top:2px solid #655a54;background:#1b1919;min-height:44px;letter-spacing:1px}.fighter.selected{border:2px solid #fff;box-shadow:0 0 0 2px #aaa,0 0 16px #ffffff4d;transform:translateY(-2px)}.fighter.selected.p2selected{border:2px dashed #fff;box-shadow:0 0 0 2px #716761,0 0 16px #ffffff30}.fighter .marker{font:12px var(--arcade);padding:8px;top:6px;left:6px;border:1px solid #1b1919}.fighter.same .marker{background:#f5f0ee;color:#111}.fighter:hover{transform:translateY(-4px);border-color:#fff}.roster-note{border:2px solid #4c4440;background:#1b1919;padding:8px;font-size:12px}.roster-note strong{font:20px/1.5 var(--arcade);letter-spacing:0}.roster-note span{font:12px/2 var(--arcade);margin-top:12px;color:#ded6d1}
.bottom-row{margin-top:12px;padding:22px 0;align-items:stretch}.fighter-detail{background:#211c19;border:2px solid #625650;border-left:6px solid #f5f0ee;padding:16px;flex:1}.fighter-detail p{font-size:14px;line-height:1.6}.fighter-detail .role{font-size:12px}.fight-button{font:15px/1.7 var(--arcade);min-width:285px;justify-content:center;align-items:center;border:3px solid #fff;box-shadow:inset 0 -6px #b2a49a,5px 5px 0 #000;padding:20px}.fight-button span{font-family:monospace;font-size:25px}.control-strip{border:2px solid #514640;padding:16px;background:#1b1919}.control-strip b{font:12px/1.5 var(--arcade)}kbd{background:#302925;border:1px solid #8a7c74;box-shadow:0 2px #000}.control-strip>div:nth-child(2) b{color:#c0b8b5}footer{padding:22px 0;border:0;font-size:12px}
.canvas-wrap{border:8px solid #3c3430;border-radius:10px;outline:2px solid #a0948d;box-shadow:0 0 0 8px #090909,0 12px 36px #000,inset 0 0 20px #000;overflow:hidden}.canvas-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#00000012 3px 4px);box-shadow:inset 0 0 45px #0008;z-index:2}.arena-top{padding:0 0 20px}.arena-top span{font-size:13px}.arena-help{padding-top:24px;font-size:12px}#pauseOverlay{z-index:3;background:#131111ee;border:8px double #82766e}#pauseOverlay h2{font:clamp(20px,3vw,38px)/1.5 var(--arcade);text-align:center;text-shadow:3px 3px #63564d;padding:0 15px}#pauseOverlay button{font:12px/1.7 var(--arcade)}#touch button{border-bottom-width:5px;min-height:52px}
@media(max-width:1150px){.title-row .intro{display:none}.roster{gap:10px}.selection-bar h2{font-size:14px}}
@media(max-width:900px){.roster{grid-template-columns:repeat(5,1fr);padding:12px}.fighter .marker{font-size:10px}.bottom-row{gap:15px}.fight-button{min-width:235px;font-size:12px}.selection-bar h2{font-size:12px}}
@media(max-width:600px){header{padding:0 12px}.edition{display:none}main{padding:20px 12px 0}.title-row{padding:24px 8px 30px}.eyebrow{font-size:10px;letter-spacing:0}.title-brand{font-size:9px;letter-spacing:0}h1>span:last-child{font-size:76px;letter-spacing:1px}.setup{padding:10px}.mode-group button{font-size:12px}.roster{grid-template-columns:repeat(3,1fr);gap:8px;padding:10px}.fighter .label{font-size:18px;padding:7px 5px;letter-spacing:0}.fighter .portrait{height:125px}.fighter small{font-size:10px}.selection-bar{gap:14px}.selection-bar button{min-width:115px;font-size:12px}.fight-button{font-size:14px}.control-strip{padding:12px}.canvas-wrap{margin:0;border-width:4px;outline-width:1px}.arena-top{font-size:12px}.arena-top span{font-size:12px}.arena-help{font-size:12px}footer{font-size:10px;line-height:1.6}.fighter-detail .role{line-height:1.6}}
@media(prefers-reduced-motion:reduce){.fighter:hover,.fighter.selected{transform:none}}

/* Cinematic main menu, inspired by the supplied fighting-game reference. */
body.at-menu{background:#161313}body.at-menu>header,body.at-menu footer{display:none}body.at-menu main{max-width:none;padding:0}#mainMenu{position:relative;isolation:isolate;min-height:100svh;background:radial-gradient(ellipse at 75% 35%,#756057,#211716 65%,#080707);overflow:hidden}#menuArtwork{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;aspect-ratio:auto}.menu-shade{position:absolute;inset:0;background:linear-gradient(90deg,#110c0cf2 0%,#160f0fc7 25%,transparent 65%),linear-gradient(0deg,#100b0bf5,transparent 35%,#100b0b66)}.menu-brand{position:absolute;right:5%;top:3%;display:flex;align-items:center;gap:14px}.menu-brand img{width:105px;height:100px;object-fit:contain}.menu-brand span{font:900 40px 'Barlow Condensed',Impact,sans-serif;letter-spacing:3px;text-shadow:3px 3px #000}.cinema-nav{position:relative;padding:clamp(110px,17vh,180px) 0 140px;margin-left:6%;width:min(440px,47%);display:flex;flex-direction:column;align-items:stretch}.cinema-nav h1{font:700 clamp(30px,4vw,52px)/1.2 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px;border-bottom:1px solid #b4a28a;padding:0 18px 12px;margin:0 0 16px;text-shadow:2px 3px #000}.menu-item{position:relative;text-align:left;font:600 clamp(27px,3.2vw,44px)/1.15 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px;color:#c2b6a3;padding:11px 24px;border:0;box-shadow:none;background:transparent;text-shadow:2px 3px 3px #000;transition:color .15s,background .15s}.menu-item.current,.menu-item:hover{color:#fff3dd;background:linear-gradient(90deg,#a06c3655,#eab77a22,transparent);box-shadow:0 -1px #d9b58944,0 1px #d9b58944}.menu-item.current::before{content:'◆';position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:14px;color:#f3d7ae}.menu-caption{position:absolute;bottom:5%;left:7%;right:7%;display:flex;flex-direction:column;gap:20px;text-shadow:2px 2px #000}.menu-caption>span{font:500 22px/1.4 'Barlow Condensed',sans-serif;border-top:1px solid #b29d7666;padding-top:16px}.menu-caption small{font-size:12px;color:#c6bcb3}#controlsDialog{background:#1b1919;color:#f5f0ee;border:3px double #b9a696;padding:32px;max-width:min(620px,90vw);box-shadow:0 20px 100px #000}#controlsDialog::backdrop{background:#000b}#controlsDialog h2{font:700 32px 'Barlow Condensed',sans-serif}#controlsDialog p{font-size:14px;line-height:1.9}.menu-back{margin:0 0 18px;font-size:12px}
@media(max-width:600px){.menu-brand{top:12px;right:18px}.menu-brand img{width:75px;height:72px}.menu-brand span{font-size:28px}.cinema-nav{margin-left:6%;width:80%;padding-top:160px}.cinema-nav h1{font-size:34px}.menu-item{font-size:32px;padding:12px 24px}.menu-shade{background:linear-gradient(90deg,#110c0cee,#110c0c77 70%),linear-gradient(0deg,#100b0bf5,transparent 60%)}#menuArtwork{object-position:63% center}.menu-caption>span{font-size:19px}.menu-caption small{font-size:11px}}@media(max-height:560px) and (min-width:601px){.cinema-nav{padding-top:30px;padding-bottom:100px}.cinema-nav h1{font-size:30px}.menu-item{font-size:28px;padding:7px 24px}.menu-brand img{width:70px;height:67px}.menu-brand span{font-size:28px}.menu-caption{bottom:18px;gap:9px}}

/* Unified cinematic tournament presentation. */
:root{--bg:#151110;--paper:#f4ecde;--orange:#e0c49c;--line:#78634f;--muted:#c0b4a5}
body{background:linear-gradient(#1b1212b8,#100c0ceb),url('arena.png') center/cover fixed;color:var(--paper)}body::after{opacity:.12}header{max-width:none;height:78px;padding:0 4%;border:0;border-bottom:1px solid #af91614d;background:#171211c9;box-shadow:none}.brand{height:76px;width:84px}.brand img{width:84px;height:81px}.edition{border-color:#a68a5f55}.tag{font:16px 'Barlow Condensed',sans-serif;letter-spacing:2px}main{max-width:1500px;padding:18px 4% 0}button{background:linear-gradient(90deg,#3c2b22cc,#211b18bb);border:1px solid #a287605e;box-shadow:none;font-family:'Barlow Condensed',sans-serif;font-size:18px;letter-spacing:1px;color:#e5d5bc}button:hover{background:linear-gradient(90deg,#9c713657,#deb77a22);border-color:#d9b589;color:#fff3dd}button.active,.primary{background:linear-gradient(90deg,#947340aa,#30271ecc);color:#fff3dd;border-color:#c5a471;box-shadow:inset 0 1px #ead0a133,inset 0 -1px #ead0a133}button:focus-visible{outline-color:#f3d6a8}.menu-back{position:relative;z-index:2;font-size:16px;margin:0;padding:7px 14px}.selection-heading{text-align:center;margin:-32px 0 0;pointer-events:none}.selection-heading h1{font:600 clamp(25px,3vw,42px)/1.2 'Barlow Condensed',sans-serif;letter-spacing:3px;text-shadow:2px 3px #000}.selection-heading p{font-size:12px;letter-spacing:4px;color:#c4ad89;margin:8px 0}.versus-stage{position:relative;height:clamp(270px,37vh,420px);margin:0 -4.35%;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#dac3981c,transparent 65%)}#selectionArtwork{width:100%;height:100%;object-fit:contain;aspect-ratio:auto}.versus-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#17110ff5,transparent 32%)}.versus-name{position:absolute;bottom:18px;z-index:1;display:flex;flex-direction:column;gap:5px;max-width:38%;text-shadow:2px 3px #000}.versus-name.left{left:10%}.versus-name.right{right:10%;text-align:right}.versus-name span{font-size:12px;letter-spacing:3px;color:#c9ad81}.versus-name strong{font:600 clamp(28px,4vw,52px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:2px}.versus-name small{font-size:13px;color:#d7c6ab}.versus-seal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:500 58px 'Barlow Condensed',sans-serif;color:#e1c497;text-shadow:0 0 20px #d8984655}.setup{padding:10px 0;background:transparent;border:0;border-top:1px solid #9b80514d;box-shadow:none}.mode-group button{font-size:16px;padding:8px 15px}.selection-bar{margin:0;padding:10px 0;gap:10px}.selection-bar h2{font:500 22px 'Barlow Condensed',sans-serif;letter-spacing:2px}.selection-bar .vs{font:italic 22px Georgia,serif;color:#c9ad81}.selection-bar button{font-size:16px;padding:7px 12px}.selection-bar .p2.active{background:#676e7044;border-color:#b1bdc1}.roster{grid-template-columns:repeat(13,minmax(0,1fr));gap:9px;padding:16px 0;background:linear-gradient(0deg,#171211c9,#17121188);border:0;border-top:1px solid #b39b6b66;border-bottom:1px solid #b39b6b66;box-shadow:none}.roster-note{display:none!important}.fighter{overflow:visible;background:transparent;border:0;box-shadow:none}.fighter .portrait{height:auto;aspect-ratio:1/1.16;border-radius:50% 50% 40% 40%;border:2px solid #97836566;overflow:hidden;background:radial-gradient(ellipse,#776a5855,#151211);transition:border-color .15s}.fighter .portrait::after{display:none}.fighter canvas{object-fit:contain}.fighter .label{justify-content:center;border:0;background:transparent;min-height:30px;padding:7px 0;font-size:17px;letter-spacing:.5px;text-align:center}.fighter small{display:none}.fighter.selected,.fighter.selected.p2selected{border:0;box-shadow:none;transform:none}.fighter.selected .portrait{border-color:#f8d69b;box-shadow:0 0 15px #ffca7466,inset 0 0 8px #f8d69b33}.fighter.p2selected .portrait{border-color:#d7e8ee;box-shadow:0 0 15px #c0e2ee55}.fighter .marker{top:auto;bottom:28px;left:50%;transform:translateX(-50%);font:700 12px 'IBM Plex Mono',monospace;padding:3px 6px;border:0;background:#c5a473;color:#17110d;z-index:2}.fighter.p2selected .marker{background:#bfd0d5;color:#17110d}.fighter.same .marker{background:#eee3cd}.fighter:hover{background:transparent;transform:none;border:0}.fighter:hover .portrait{border-color:#fff3dc}.bottom-row{margin:0;padding:16px 0;gap:22px;align-items:center}.fighter-detail{background:transparent;border:0;border-left:2px solid #b39a70;padding:4px 14px}.fighter-detail b{font-size:24px;letter-spacing:1px}.fighter-detail p{font-size:13px}.fight-button{min-width:260px;min-height:62px;font:600 24px 'Barlow Condensed',sans-serif;background:linear-gradient(90deg,#71532d77,#241b13cc);border:1px solid #bd9e6c;box-shadow:inset 0 0 15px #d9bb6f15;color:#f8e1b8}.fight-button:hover{background:#8c653e55;transform:none}.control-strip{background:#16111088;border:0;border-top:1px solid #a98a5c44;padding:14px 0}.control-strip b{font:600 16px 'Barlow Condensed',sans-serif;letter-spacing:2px}.control-strip span{font-size:12px}kbd{background:#241e18;border-color:#74624c;box-shadow:none}footer{font-size:11px;color:#a39480;border-top:1px solid #a98a5c33}#onlinePanel{background:#171210cc;border:1px solid #95764766;padding:18px 22px;margin:8px 0}input{background:#151210;border:1px solid #9b805b;color:#f8e7cb}#roomCode{color:#f0d1a0}.canvas-wrap{border:1px solid #b6a081;border-radius:0;outline:0;box-shadow:0 10px 45px #0009}.canvas-wrap::after{background:none;box-shadow:inset 0 0 35px #0006}.arena-top{border-color:#9b80514d}.arena-help{color:#c4b7a6}#pauseOverlay{background:radial-gradient(ellipse,#37251beb,#100c0cf5);border:1px solid #b29970}#pauseOverlay h2{font:600 clamp(34px,5vw,66px)/1.2 'Barlow Condensed',sans-serif;letter-spacing:3px;color:#f1d7ac;text-shadow:2px 3px #000}#pauseOverlay button{font:500 24px 'Barlow Condensed',sans-serif;min-width:260px;border:0;border-top:1px solid #bca07744;border-bottom:1px solid #bca07744;background:linear-gradient(90deg,transparent,#9a703322,transparent)}#controlsDialog{background:radial-gradient(ellipse,#392a20,#15100d);border-color:#b4996d}#touch button{border:1px solid #b4996d;background:#302217}
@media(max-width:1100px){.roster{grid-template-columns:repeat(7,minmax(0,1fr));max-width:900px;margin:auto;gap:8px}.fighter .portrait{max-height:105px;aspect-ratio:1/1}.fighter .label{font-size:17px}.versus-stage{height:310px}.selection-heading{margin:12px 0 0}.selection-bar h2{font-size:20px}}
@media(max-width:600px){header{height:70px;padding:0 16px}.brand{height:65px}.brand img{height:68px;width:72px}main{padding:14px 16px 0}.selection-heading h1{font-size:26px;letter-spacing:2px}.selection-heading p{font-size:10px}.versus-stage{height:250px;margin:0 -16px}#selectionArtwork{object-fit:cover}.versus-name.left{left:5%}.versus-name.right{right:5%}.versus-name strong{font-size:30px}.versus-name small{font-size:11px;line-height:1.4}.versus-name span{font-size:10px;letter-spacing:1px}.versus-seal{font-size:38px}.roster{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 6px;padding:12px 0}.fighter .portrait{height:auto;aspect-ratio:1/1.1}.fighter .label{font-size:14px;min-height:26px;letter-spacing:0}.fighter .marker{font-size:10px;bottom:24px}.selection-bar{flex-direction:row;flex-wrap:wrap}.selection-bar h2{font-size:18px}.selection-bar button{min-width:100px;font-size:15px}.setup{padding:10px 0}.mode-group button{font-size:14px}.bottom-row{align-items:stretch}.fight-button{font-size:23px}.control-strip b{font-size:16px}#onlinePanel{padding:14px}.arena-help{font-size:12px}footer{font-size:10px}}
