:root{color-scheme:dark;--mint:#14f195;--purple:#9945ff;--gold:#ffca50;--ink:#090b21;--line:#ffffff25}*{box-sizing:border-box}body{margin:0;background:#050610;color:#f6f4fa;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid var(--mint);outline-offset:4px}button{border:0;background:none}button:hover{filter:brightness(1.2)}[hidden]{display:none!important}#shell{max-width:1600px;margin:auto}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid var(--line);background:#090b19}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:white;font-size:13px;letter-spacing:2px;font-weight:700}.brand b{display:block;font-size:17px;letter-spacing:1px;margin-top:2px}.chainmark{display:flex;flex-direction:column;gap:4px;width:29px}.chainmark i{height:6px;width:28px;background:linear-gradient(100deg,#9945ff,#14f195);transform:skew(-25deg)}.chainmark i:nth-child(2){transform:skew(25deg)}.topright{display:flex;align-items:center;gap:25px}.build{font-family:monospace;font-size:10px;letter-spacing:1px;color:#9e9bab}.iconbutton{font-size:10px;letter-spacing:1px}.iconbutton span{border:1px solid #ffffff4d;padding:3px 6px;margin-left:4px}.arena-wrap{position:relative;isolation:isolate;width:100%;min-height:650px;height:calc(100vh - 127px);max-height:1000px;overflow:hidden;background:#090b21}#arena{position:absolute;width:100%;height:100%;object-fit:cover;top:0;left:0}.scanlines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#00000009 0px,#00000009 1px,transparent 1px,transparent 3px);pointer-events:none;z-index:4}.home-screen{position:absolute;inset:0;padding:50px 6%;background:linear-gradient(90deg,#070818ee 0%,#070818c0 37%,#07081822 72%,transparent);z-index:2}.eyebrow{color:#c7bfdd;font-size:10px;letter-spacing:2.4px;font-weight:700;display:flex;gap:12px;align-items:center}.dash{height:2px;width:28px;background:var(--mint)}h1{margin:28px 0 20px;line-height:.83;letter-spacing:-4px;font-weight:900;font-style:italic;text-shadow:3px 4px 0 #131329,0 0 40px #9945ff22}h1>span{display:block;font-size:clamp(48px,5.2vw,78px);letter-spacing:-2px;color:var(--mint)}h1 strong{display:block;font-size:clamp(56px,6.2vw,94px);margin-top:12px;transform:scaleX(.90);transform-origin:left;white-space:nowrap}.title-dot{color:var(--mint)}.hero-copy{font-size:14px;color:#b7b6c8;line-height:1.65;letter-spacing:.2px;margin-bottom:28px}.main-modes{display:flex;flex-direction:column;gap:9px;width:440px;max-width:100%}.mode-card{text-align:left;display:flex;align-items:center;gap:19px;padding:17px 24px 17px 15px;position:relative;background:linear-gradient(110deg,#252238ef,#131728e8);border:1px solid #ffffff29;border-left:3px solid #665078;transform:skew(-5deg);transition:transform .15s,background .15s}.mode-card>*{transform:skew(5deg)}.mode-card.solo{background:linear-gradient(110deg,#6230a7e8,#292142e8);border-left-color:var(--mint)}.mode-card:hover{transform:skew(-5deg) translateX(7px);background:linear-gradient(110deg,#6731aa,#232942)}.mode-num{font-family:monospace;font-size:11px;color:#ada2b8}.mode-card small{display:block;font-size:8px;letter-spacing:1.7px;color:#c6b7d5;margin-bottom:6px}.mode-card b{font-weight:900;letter-spacing:.6px;font-size:19px;font-style:italic}.mode-card .arrow{margin-left:auto;font-size:24px;color:var(--mint)}.home-footer{display:flex;align-items:center;gap:28px;margin-top:27px;font-size:8px;letter-spacing:1.2px;color:#9f9fb6}.home-footer button{font-size:9px;color:#ddd9e8;letter-spacing:1px}.live-dot{display:inline-block;width:5px;height:5px;background:var(--mint);border-radius:50%;margin-right:6px;box-shadow:0 0 10px var(--mint)}.orbit-text{position:absolute;right:5%;bottom:45px;color:#8a85a2;font-family:monospace;font-size:9px;letter-spacing:2px;line-height:1.8;text-align:right}.bottom-bar{height:45px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;font-family:monospace;font-size:9px;letter-spacing:1px;color:#706f8a;border-top:1px solid var(--line)}.bottom-bar i{font-style:normal;color:#504763;margin:0 12px}.select-screen{position:absolute;inset:0;background:linear-gradient(180deg,#090919ed,#0b0b20d9);z-index:2;padding:25px 5%}.select-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:28px}.select-top button,.online-screen>button{font-size:10px;letter-spacing:1px;color:#bab7ce}.select-top h2{font-size:clamp(22px,2.4vw,34px);font-style:italic;font-weight:900;letter-spacing:-1px;margin:0}.select-top>span{font-size:9px;letter-spacing:1px;color:var(--mint)}.selection-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:45px;max-width:1180px;margin:auto}.roster-head,.rule-title{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#9995af;margin-bottom:15px}.roster-head span:last-child{color:var(--mint);letter-spacing:1px}.roster{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fighter-card{border:1px solid #ffffff26;padding:0;position:relative;text-align:left;background:#202033;overflow:hidden}.fighter-card img{width:100%;display:block;image-rendering:pixelated;filter:saturate(.75);transition:filter .15s}.fighter-card:hover img{filter:saturate(1.2)}.fighter-card .fighter-name{font-size:10px;font-weight:900;letter-spacing:.2px;padding:9px 7px;display:block;white-space:nowrap;background:linear-gradient(90deg,#2d293e,#171626)}.fighter-card .fighter-type{font-size:7px;color:#8e879d;letter-spacing:1px;padding:0 7px 9px;display:block;background:#171626}.fighter-card.p1{border:2px solid #ff596c}.fighter-card.p2{border:2px solid #51c3ff}.fighter-card.p1.p2{border:2px solid var(--gold)}.fighter-badge{position:absolute;top:5px;left:5px;background:#ed4259;color:white;font-size:9px;font-weight:900;padding:4px 6px}.fighter-badge.blue{left:auto;right:5px;background:#278ac7}.roster-note{font-size:10px;line-height:1.5;color:#8c879c;margin:14px 0 24px}.player-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);gap:12px}.player-tabs button{font-size:10px;padding:10px 0;color:#8e8a9f;letter-spacing:1px;border-bottom:2px solid transparent}.player-tabs button.active{color:#fff;border-color:#ff596c}.player-tabs button:last-child.active{border-color:#51c3ff}.player-previews{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;gap:10px;margin-top:15px}.player-previews>span{font-style:italic;color:var(--gold);font-weight:900;font-size:21px;text-align:center}.player-preview{display:flex;align-items:center;background:linear-gradient(135deg,#302543d9,#141627);border-bottom:2px solid #ff596c;overflow:hidden}.player-previews>div:last-child .player-preview{border-color:#51c3ff}.player-preview img{width:42%;max-width:95px}.player-preview b{font-size:12px;display:block;font-style:italic}.player-preview small{font-size:8px;display:block;color:#a19aae;margin-top:6px}.rules-column{border-left:1px solid var(--line);padding-left:35px}.rules-column label,.online-actions label{display:block;font-size:9px;letter-spacing:1.4px;color:#9e98b1}select{display:block;width:100%;margin-top:8px;padding:13px 12px;border:1px solid #ffffff29;background:#17172c;color:white;font-size:11px;font-weight:700;letter-spacing:1px;outline:0}select:focus{border-color:var(--mint)}.stage-mini{height:105px;margin:10px 0 19px;background:radial-gradient(ellipse at 50% 80%,#61359988,transparent 70%),linear-gradient(#10182c,#15102a);position:relative;overflow:hidden;border:1px solid #ffffff15}.mini-platform{position:absolute;height:4px;background:#cab5ea;border-bottom:2px solid var(--purple);box-shadow:0 2px 10px #9945ff66}.mini-platform.ground{width:68%;left:16%;bottom:28px;height:6px;border-bottom-color:var(--mint)}.mini-platform.one{left:24%;bottom:50px;width:17%}.mini-platform.two{right:24%;bottom:50px;width:17%}.mini-platform.three{left:43%;bottom:67px;width:14%}.stage-mini>span{position:absolute;bottom:7px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:1.5px;color:#c0b3d2}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.match-detail{margin:20px 0;display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:8px;letter-spacing:1px;color:#8a839c}.match-detail b{font-size:8px;color:#c6c0d4;font-weight:400;letter-spacing:.5px}.ready{display:flex;justify-content:space-between;align-items:center;width:100%;background:linear-gradient(90deg,#f4c43d,#f8db74);color:#201725;padding:18px 20px;font-style:italic;font-weight:900;font-size:23px;letter-spacing:-.5px;transform:skew(-4deg);box-shadow:0 5px 0 #8c5934,0 8px 24px #f1c04018}.ready:hover{background:#ffe789}.ready span{font-size:28px}.control-summary{margin-top:25px;font-family:monospace;font-size:8px;line-height:2;color:#8f889f}.control-summary b{display:inline-block;background:#ffffff0b;border:1px solid #ffffff16;color:#cbc7d5;padding:0 4px;margin-left:4px;font-weight:400}.control-summary b:first-child{margin-left:0}.online-screen{position:absolute;inset:0;z-index:2;padding:30px 7%;background:linear-gradient(90deg,#08091bf5,#111329bb)}.online-screen .eyebrow{margin-top:35px;color:var(--mint)}.online-screen h2{font-size:clamp(40px,5vw,70px);font-weight:900;font-style:italic;line-height:.92;letter-spacing:-2px;margin:20px 0}.online-screen h2 span{color:var(--mint)}.online-screen>p{font-size:12px;line-height:1.8;color:#aaa5c0}.online-actions{display:flex;gap:20px;align-items:center;margin-top:30px;max-width:800px}.online-actions .ready{width:230px;font-size:18px;flex-shrink:0}.or{font-size:10px;color:#8a849c}.online-actions input{width:160px;font-size:25px;letter-spacing:5px;color:white;background:#171a31;border:1px solid #ffffff35;padding:10px;margin-top:8px;text-transform:uppercase}.online-actions #joinRoom{font-size:12px;font-weight:700;color:var(--mint);margin-top:20px}.online-actions label{flex-shrink:0}#roomResult{margin-top:30px}#roomResult small{display:block;color:#bbb4cf;font-size:9px;letter-spacing:2px}#displayCode{display:inline-block;font-size:44px;font-family:monospace;letter-spacing:9px;color:var(--mint);margin:10px 20px 5px 0}#copyRoom{font-size:10px;border:1px solid #ffffff40;padding:10px}#roomResult p{font-size:11px;color:#a09bb7}#roomStatus{font-size:11px;color:var(--mint);margin-top:22px;max-width:550px;line-height:1.6}#hud{position:absolute;inset:0;z-index:3;pointer-events:none}.match-top{display:flex;justify-content:space-between;align-items:center;padding:23px 4%;font-weight:700}.match-top button{pointer-events:auto;background:#121326af;border:1px solid #ffffff25;padding:8px 12px;font-size:9px;color:#b7b3cc}.match-top #matchLabel{font-size:10px;letter-spacing:2px;color:#d4c8e8}.match-top #timer{font-size:30px;font-family:monospace;text-shadow:2px 2px #000}.fighter-hud{position:absolute;bottom:35px;width:240px;display:flex;align-items:flex-end;gap:10px;filter:drop-shadow(3px 4px 2px #000)}.fighter-hud.left{left:10%}.fighter-hud.right{right:10%}.fighter-hud img{width:80px;height:76px;object-fit:cover;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)}.damage{font-size:65px;font-weight:900;line-height:.9;letter-spacing:-5px;font-style:italic;-webkit-text-stroke:1px #24142e;text-shadow:3px 3px 0 #24142e}.damage small{font-size:30px;margin-left:2px;letter-spacing:-1px}.hud-name{font-size:10px;font-weight:900;letter-spacing:.6px;margin-top:5px}.stocks{display:flex;gap:5px;margin-bottom:6px}.stocks i{width:8px;height:8px;border-radius:50%;background:var(--gold);border:1px solid white}#announcer{position:absolute;left:0;right:0;top:37%;text-align:center;font-size:85px;font-weight:900;letter-spacing:-3px;font-style:italic;color:#fff1a0;-webkit-text-stroke:2px #2d132c;text-shadow:4px 5px #4b1a48;transform:skew(-7deg)}#netStatus{position:absolute;bottom:9px;left:0;right:0;text-align:center;font-size:9px;color:#b3abc6;letter-spacing:.5px}.results{position:absolute;z-index:5;inset:0;background:linear-gradient(130deg,#08081bea,#25214dd9);display:flex;align-items:center;justify-content:center;flex-direction:column}.results>span{font-size:12px;letter-spacing:5px;color:var(--mint)}.results h2{font-size:clamp(40px,6vw,80px);font-weight:900;font-style:italic;margin:20px 0 0;letter-spacing:-2px}.results p{font-size:12px;color:#c8c0d6;margin-bottom:28px}.results .ready{width:270px;font-size:23px}.results>button:last-child{font-size:10px;letter-spacing:2px;color:#b7adc9;margin-top:22px}dialog{width:min(750px,95vw);background:#111325;color:white;border:1px solid #59536e;padding:35px;box-shadow:0 30px 100px #000}dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}.close{position:absolute;right:18px;top:16px;color:#c6bbd9;font-size:20px}dialog h2{font-size:38px;font-style:italic;font-weight:900;margin:18px 0 25px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.help-grid h3{font-size:11px;letter-spacing:2px;color:var(--mint)}.help-grid p{font-size:11px;color:#bdb6cc;line-height:1.8}kbd{font-family:monospace;border:1px solid #ffffff30;background:#ffffff10;padding:3px 5px;color:white}.gamepad-help,.howto{font-size:11px;color:#aaa4be;line-height:1.8;border-top:1px solid var(--line);padding-top:15px}#touchControls{display:none;position:absolute;bottom:130px;width:100%;justify-content:space-between;padding:0 15px;pointer-events:auto;touch-action:none}#touchControls>div{display:flex;gap:8px}#touchControls button{height:44px;min-width:44px;background:#151a32a8;border:1px solid #ffffff38;font-size:12px;border-radius:50%;touch-action:none;user-select:none}.error-card{position:absolute;z-index:8;inset:0;background:#080a1c;display:grid;place-content:center;text-align:center;padding:30px}.error-card h2{font-size:24px}.error-card p{font-size:13px;color:#aaa1bd}.pause-note{font-size:12px!important;letter-spacing:2px}
@media(min-width:1500px){.home-screen{padding-top:70px}.main-modes{width:480px}.mode-card{padding-top:22px;padding-bottom:22px}.hero-copy{margin-bottom:35px}.selection-body{padding-top:30px}.fighter-card .fighter-name{font-size:12px}.stage-mini{height:140px}}
@media(max-height:790px) and (min-width:800px){.arena-wrap{min-height:610px}.home-screen{padding-top:34px}h1{margin-top:22px}.hero-copy{margin-top:15px;margin-bottom:20px}.mode-card{padding-top:13px;padding-bottom:13px}.home-footer{margin-top:20px}.select-top{margin-bottom:20px}.roster-note{margin-bottom:16px}}
@media(max-width:850px){.topbar{padding:0 5%;height:66px}.build{display:none}.topright{gap:10px}.brand{font-size:10px}.brand b{font-size:13px}.iconbutton{font-size:8px}.arena-wrap{height:calc(100vh - 106px);min-height:640px}.home-screen{padding:44px 7%;background:linear-gradient(90deg,#070818ef,#070818c0 55%,#07081830)}h1 strong{font-size:65px}h1>span{font-size:53px}.orbit-text{display:none}.selection-body{grid-template-columns:1.1fr 1fr;gap:20px}.rules-column{padding-left:20px}.roster{grid-template-columns:repeat(2,1fr)}.fighter-card img{height:85px;object-fit:cover}.fighter-card .fighter-name{font-size:9px}.player-preview{display:block}.player-preview img{display:none}.player-preview>div{padding:12px 6px}.player-preview b{font-size:10px}.select-top h2{font-size:23px}.select-top>span{display:none}.ready{font-size:19px;padding:15px}.online-actions{flex-wrap:wrap;max-width:470px}.bottom-bar{height:40px;font-size:8px}.bottom-bar>span:last-child{display:none}.fighter-hud{width:190px}.fighter-hud img{width:58px;height:63px}.damage{font-size:52px}.fighter-hud.left{left:5%}.fighter-hud.right{right:5%}}
@media(max-width:580px){.arena-wrap{min-height:670px}.home-screen{padding:40px 7%}h1{letter-spacing:-3px}h1 strong{font-size:49px}h1>span{font-size:47px}.eyebrow{font-size:8px;letter-spacing:1.5px}.hero-copy{font-size:12px}.mode-card b{font-size:18px}.mode-card{padding:17px}.home-footer{gap:10px;justify-content:space-between}.home-footer span{font-size:7px}.home-footer button{font-size:8px}.select-screen{overflow-y:auto;padding:20px 5%}.select-top{margin-bottom:20px;gap:10px}.select-top h2{font-size:21px}.selection-body{display:block}.roster{grid-template-columns:repeat(4,1fr);gap:4px}.fighter-card img{height:70px}.fighter-card .fighter-name{font-size:7px;padding:8px 3px}.fighter-card .fighter-type{font-size:6px;padding:0 3px 6px}.roster-note{font-size:9px;margin:9px 0}.player-tabs{margin-top:8px}.player-tabs button{font-size:9px}.player-previews{margin-top:9px}.rules-column{border:0;padding:0;margin-top:20px}.stage-mini{height:78px;margin-bottom:12px}.rule-title{display:none}.rules-column select{padding:10px;font-size:10px}.rules-column>label{font-size:8px}.rule-grid{gap:10px}.match-detail{margin:12px 0}.ready{font-size:20px;padding:14px}.control-summary{margin-top:14px}.player-preview small{display:none}.online-screen{padding:25px 7%}.online-screen h2{font-size:43px}.online-actions{gap:12px}.online-actions .ready{width:100%;font-size:18px}.online-actions .or{width:100%;text-align:center;margin:6px 0}.online-actions input{width:165px}.online-actions #joinRoom{margin-left:10px;font-size:11px}.fighter-hud{width:135px;gap:6px;bottom:25px}.fighter-hud img{width:35px;height:45px}.damage{font-size:40px;letter-spacing:-3px}.damage small{font-size:21px}.hud-name{font-size:7px}.fighter-hud.left{left:4%}.fighter-hud.right{right:4%}#announcer{font-size:60px}.match-top #timer{font-size:22px}.match-top #matchLabel{font-size:8px}.help-grid{display:block}dialog{padding:24px}.help-grid>div:last-child{margin-top:24px}}
@media(pointer:coarse){#touchControls{display:flex}}
/* Roster artwork is a supplied full-body render, framed with CSS. */
.fighter-card img{height:132px;object-fit:cover;object-position:50% 12%;background:radial-gradient(ellipse at center,#41334d,#191725)}
.roster{row-gap:10px}.roster-note button{padding:0;font-size:9px;letter-spacing:1px;color:var(--mint)}
.player-preview img{height:92px;object-fit:cover;object-position:50% 12%}.fighter-hud img{object-position:50% 12%}
#characterArt{width:min(540px,95vw);height:min(90vh,950px);padding:24px;background:#0c0e1d;text-align:center;overflow:hidden}#characterArt .eyebrow{color:var(--mint)}#artImage{display:block;width:100%;height:calc(100% - 55px);object-fit:contain;margin:12px auto 0}#characterArt p{font-size:8px;letter-spacing:2px;color:#9791ad;margin:8px 0}
@media(min-width:851px) and (max-height:850px){.fighter-card img{height:105px}.player-previews{margin-top:10px}.roster-note{margin:10px 0 13px}.select-screen{overflow:auto}}
@media(max-width:850px){.roster{grid-template-columns:repeat(4,1fr)}.fighter-card img{height:90px}.fighter-card .fighter-name{font-size:8px}.selection-body{grid-template-columns:minmax(0,1.2fr) minmax(250px,1fr);gap:18px}}
@media(max-width:580px){.fighter-card img{height:72px}.selection-body{display:block}.fighter-card .fighter-name{font-size:7px}.select-screen{overflow-y:auto}.roster-note{margin:9px 0}}
/* GameCube Melee menu layout: gold plates, medallions, blue lattice and bottom help strip. */
.melee-home{padding:0;background:radial-gradient(ellipse at 50% 48%,#293363 0%,#101c49 38%,#080b23 78%);overflow:hidden}
.melee-grid{position:absolute;inset:-45%;background:linear-gradient(#7384a21c 1px,transparent 1px),linear-gradient(90deg,#7384a21c 1px,transparent 1px);background-size:34px 34px;transform:perspective(800px) rotateX(20deg) rotateZ(-19deg);opacity:.6}
.melee-orbit{position:absolute;width:1000px;height:1000px;border:2px solid #8da0d326;border-radius:50%;left:8%;top:45%;transform:translate(-50%,-50%) rotate(-20deg) scaleY(.65);box-shadow:0 0 0 25px #8497c305,0 0 0 95px #8695be07,inset 0 0 70px #36397755}.orbit-b{left:75%;width:1400px;height:1400px;opacity:.5;transform:translate(-50%,-50%) rotate(40deg) scaleY(.5)}
.melee-globe{position:absolute;width:420px;height:420px;left:2%;top:46%;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#546899,#162447 58%,#090e2a 73%);border:2px solid #9db1d535;box-shadow:inset -30px -30px 80px #080b29,0 0 80px #5169ae22;opacity:.65}.smash-mark{position:absolute;inset:18%;border-radius:50%;border:11px solid #8398c225;overflow:hidden}.smash-mark:before,.smash-mark:after{content:'';position:absolute;background:#8398c225}.smash-mark:before{height:100%;width:12px;left:31%}.smash-mark:after{height:12px;width:100%;top:61%}
.melee-heading{position:absolute;top:25px;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #788bb63d;padding-bottom:13px}.melee-heading>span{font-family:Arial,sans-serif;font-size:32px;font-style:italic;font-weight:900;letter-spacing:-1px;text-shadow:3px 3px 0 #050719,0 0 8px #7088dc}.melee-heading h1{font-size:15px;line-height:1;letter-spacing:1px;margin:0;text-shadow:2px 2px #030617;color:#d0d8f1;font-style:normal}.melee-heading h1 b{display:block;font-size:21px;margin-top:5px;letter-spacing:-.5px;font-style:italic;color:#f4df93}
.melee-nav{position:absolute;left:16%;top:50%;transform:translateY(-50%);width:43%;max-width:620px;display:flex;flex-direction:column;gap:14px}.melee-option{display:flex;align-items:center;position:relative;width:100%;height:67px;background:linear-gradient(180deg,#dbc78a 0%,#a68b4b 48%,#95804a 51%,#c4ae70 100%);border:2px solid #e1cea0;border-radius:2px 28px 28px 2px;box-shadow:3px 5px 0 #02071bb3,inset 0 0 0 2px #3a321c;transform:skew(-11deg);text-align:left;color:#211b15;transition:filter .12s,transform .12s}.melee-option b{font-family:Arial,Helvetica,sans-serif;font-size:35px;font-weight:900;letter-spacing:-1.5px;transform:skew(11deg);text-shadow:1px 1px #f9eccc;font-style:italic;padding-left:79px}.melee-option:nth-child(1){margin-left:26px}.melee-option:nth-child(2){margin-left:13px}.melee-option:nth-child(4){margin-left:13px}.melee-option:nth-child(5){margin-left:26px}.melee-option.selected{background:linear-gradient(180deg,#fff49d 0%,#f4d84b 48%,#d6ab20 52%,#ffe881);border-color:#fffbca;box-shadow:3px 5px 0 #040616,inset 0 0 0 2px #725219,0 0 18px #ffd34c33;transform:skew(-11deg) translateX(9px)}
.menu-medal{position:absolute;left:-23px;top:-5px;width:77px;height:77px;border:5px solid #e8d188;box-shadow:inset 0 0 0 2px #211315,2px 3px 0 #040a1c;transform:skew(11deg);border-radius:50%;display:grid;place-content:center;font-size:19px;letter-spacing:-1px;font-weight:900;font-style:italic;color:#fff1c5;text-shadow:2px 2px #000;background:radial-gradient(circle at 35% 25%,#e66258,#862633 58%,#401e2a)}.menu-medal.blue{background:radial-gradient(circle at 35% 25%,#75a8d8,#244a87 58%,#1b264b)}.menu-medal.green{font-size:16px;background:radial-gradient(circle at 35% 25%,#b5d48b,#598554 58%,#263f33)}.menu-medal.purple{background:radial-gradient(circle at 35% 25%,#be9bd4,#755386 58%,#392946)}.menu-medal.gray{font-size:31px;background:radial-gradient(circle at 35% 25%,#bfc8ce,#617280 58%,#293440)}.melee-chevron{margin-left:auto;margin-right:24px;font-size:19px;color:#5a3e1c;transform:skew(11deg)}
.melee-submenu{position:absolute;top:31%;right:7%;width:27%;max-width:330px;padding:17px 19px;background:linear-gradient(135deg,#7884ac44,#19274e66);border:2px solid #9caac276;transform:skew(-5deg);box-shadow:3px 4px 0 #030917aa}.melee-submenu strong{display:block;font-size:20px;font-style:italic;color:#eee7ba;border-bottom:1px solid #c6d1d66e;padding-bottom:12px;margin-bottom:9px}.melee-submenu #menuSubitems span{display:block;font-size:18px;font-weight:700;color:#ebedf8;padding:12px 4px;text-shadow:2px 2px #060c23;border-bottom:1px solid #a5b5c326}.melee-submenu small{display:block;margin-top:13px;font-size:8px;letter-spacing:1px;color:#b0bcd7}
.melee-description{position:absolute;bottom:30px;left:5%;right:5%;display:flex;align-items:center;gap:15px;padding:12px 18px;background:linear-gradient(90deg,#20294e,#111a39);border:2px solid #c7cedd;border-radius:3px;box-shadow:3px 4px 0 #030611}.melee-description>i{color:#f3d76a;font-size:18px;font-style:normal}.melee-description p{margin:0;font-size:18px;font-weight:700;font-style:italic;text-shadow:2px 2px #040718}.melee-description>span{margin-left:auto;border:2px solid #dedfd5;border-radius:50%;width:25px;height:25px;display:grid;place-content:center;background:#6c9096;font-size:13px;font-weight:900;flex-shrink:0}.melee-description>span b{display:none}
.fighter-art-crop{height:132px;overflow:hidden;background:radial-gradient(ellipse at center,#41334d,#191725)}.fighter-art-crop img{height:100%;width:100%;object-fit:cover;object-position:50% 10%;transform:scale(2.25);transform-origin:50% 13%;background:none}.roster-note{display:flex;justify-content:space-between;gap:10px}.move-row{display:flex;gap:20px;align-items:center;border-bottom:1px solid #ffffff20;padding:16px 0}.move-row kbd{font-size:10px;min-width:150px}.move-row b{font-size:15px;color:var(--gold)}.move-description{font-size:12px;line-height:1.8;color:#bdb4cd}
@media(min-width:1500px){.melee-nav{gap:19px}.melee-option{height:77px}.menu-medal{width:87px;height:87px}.melee-option b{font-size:42px;padding-left:90px}.melee-submenu{top:32%}.melee-submenu #menuSubitems span{padding:18px 4px;font-size:21px}}
@media(max-width:850px){.melee-nav{left:13%;width:48%;gap:16px}.melee-option{height:62px}.melee-option b{font-size:27px;padding-left:56px}.menu-medal{height:67px;width:67px;font-size:16px}.melee-submenu{width:26%;right:5%;padding:13px}.melee-submenu #menuSubitems span{font-size:14px;padding:12px 0}.melee-submenu strong{font-size:17px}.melee-description p{font-size:14px}.melee-heading>span{font-size:26px}.melee-globe{width:330px;height:330px;left:-7%}.fighter-art-crop{height:90px}}
@media(max-width:580px){.melee-heading>span{font-size:22px}.melee-heading h1{font-size:10px}.melee-heading h1 b{font-size:14px}.melee-nav{left:15%;width:72%;top:43%;gap:16px}.melee-option{height:61px}.melee-option b{font-size:29px;padding-left:53px}.melee-option:nth-child(1),.melee-option:nth-child(5){margin-left:12px}.melee-option:nth-child(2),.melee-option:nth-child(4){margin-left:6px}.melee-submenu{top:auto;bottom:115px;left:13%;right:8%;width:auto;padding:10px 15px}.melee-submenu strong{margin:0;border:0;padding:0;font-size:16px}.melee-submenu #menuSubitems{display:flex;gap:15px}.melee-submenu #menuSubitems span{font-size:10px;border:0;padding:9px 0 0}.melee-submenu small{display:none}.melee-description{bottom:27px;padding:10px;gap:10px;min-height:58px}.melee-description p{font-size:12px;line-height:1.5}.melee-globe{top:43%;left:-20%}.fighter-art-crop{height:72px}.move-row{gap:12px}.move-row kbd{min-width:112px;font-size:8px}.move-row b{font-size:12px}}

.stage-layout-platform{position:absolute;height:5px;background:#d1c9b1;border-top:2px solid #f4e6bc;box-shadow:0 4px 0 #0005;border-radius:2px}.stage-layout-platform.ground{height:9px}.stage-mini small{position:absolute;top:29px;left:12px;right:12px;font-size:8px;color:#d6d2cc;line-height:1.35}.stage-mini span{top:11px;bottom:auto}
/* Keep the match in a clear console-style viewport. */
.playing .topbar,.playing .bottom-bar{display:none}.playing .arena-wrap{height:100dvh;min-height:0;max-height:none}.playing #shell{max-width:none}.scanlines{display:none}
@media(max-width:580px){.playing .fighter-hud{bottom:16px}.playing .match-top{padding-top:14px}.stage-mini small{display:none}}

.combo-callout{position:absolute;bottom:150px;pointer-events:none;transform:skew(-6deg);text-shadow:2px 3px 0 #0b1024}.combo-callout.left{left:10%}.combo-callout.right{right:10%;text-align:right}.combo-callout strong{display:block;font-size:46px;color:#ffe49b;line-height:1}.combo-callout strong small{font-size:17px;letter-spacing:-.4px}.combo-callout span{display:block;font-size:11px;font-weight:800;letter-spacing:1px;margin-top:6px}.battle-moment{position:absolute;left:0;right:0;top:22%;text-align:center;font-weight:900;font-style:italic;font-size:clamp(24px,4vw,48px);letter-spacing:-1px;text-shadow:3px 3px #090b25;color:#e2fbff;animation:moment-in .18s ease-out}.battle-moment.ko{color:#ffdf82}.impact-flash{position:absolute;inset:0;background:radial-gradient(ellipse at center,#fff7cb08,#fff3cf28);mix-blend-mode:screen;pointer-events:none}.game-end{color:#fff0a9!important;animation:game-in .28s ease-out}.match-stats{display:flex;gap:35px;margin:0 0 28px;max-width:650px}.match-stats>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:16px 20px;background:#0b10208a;border-top:2px solid #d7bf7c;min-width:260px}.match-stats b{grid-column:1/-1;font-size:12px;letter-spacing:1px}.match-stats span{font-size:27px;font-weight:900}.match-stats small{display:block;font-size:7px;letter-spacing:.6px;color:#b8bcc9;margin-top:4px}.results{background:linear-gradient(130deg,#08081bce,#25214d99)}@keyframes moment-in{from{transform:scale(1.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes game-in{from{transform:scale(1.4) skew(-7deg);opacity:0}to{transform:scale(1) skew(-7deg);opacity:1}}@media(max-width:580px){.combo-callout{bottom:100px}.combo-callout strong{font-size:32px}.combo-callout strong small{font-size:12px}.match-stats{gap:12px;margin-bottom:18px}.match-stats>div{min-width:0;padding:12px;gap:10px}.match-stats span{font-size:23px}.match-stats b{font-size:9px}.match-stats small{font-size:6px}.results p{max-width:88%;text-align:center;line-height:1.6}.results h2{font-size:34px;text-align:center;max-width:95%}}

.stock-banner{position:absolute;top:72px;left:0;right:0;text-align:center;color:#f7d991;font-weight:900;letter-spacing:3px;font-size:10px;text-shadow:2px 2px #120c1c}.last-stock .fighter-hud{filter:drop-shadow(0 0 8px #db8c4966)}@media(prefers-reduced-motion:reduce){.battle-moment,.game-end{animation:none}.impact-flash{display:none}}

.game-loading{position:absolute;inset:0;z-index:12;background:#0a1022;display:grid;place-content:center;text-align:center;gap:24px}.game-loading b{font-size:48px;line-height:.92;font-weight:900;font-style:italic;letter-spacing:-2px;color:#eed7a4;text-shadow:3px 4px #000}.game-loading span{font-size:10px;letter-spacing:3px;color:#c4cddd}.game-loading span:after{content:'';display:block;width:140px;height:2px;margin:14px auto;background:linear-gradient(90deg,#eed7a444,#eed7a4,#eed7a444)}

#characterArt{height:min(88vh,780px);width:min(620px,95vw);padding:20px;background:#111725}#fighterViewer{width:100%;height:calc(100% - 90px);display:block;touch-action:none;cursor:grab;margin-top:10px}#fighterViewer:active{cursor:grabbing}.viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:12px}.viewer-controls label{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:1px;color:#b3becf}.viewer-controls select{font-size:11px;padding:7px;background:#1b2335;color:#eee;border:1px solid #58647b}.viewer-controls span{font-size:8px;letter-spacing:1px;color:#b0bccc}

/* Persistent online lobby and financial terms. */
.arena-lobby{position:absolute;inset:0;padding:25px 5%;overflow:auto;background:#080d20f5;z-index:7}.arena-lobby h2{font-size:32px;line-height:1;margin:0}.lobby-heading,.room-code-line,.directory-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.lobby-heading button,.lobby-panel button:not(.ready){padding:10px 12px;border:1px solid #687591;color:#eee;font-size:11px}.lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lobby-panel{background:#121b30;border:1px solid #7386ab48;padding:24px;margin-bottom:20px}.lobby-panel h3{font-size:13px;letter-spacing:1.4px;color:#e6d197;margin:0 0 18px}.lobby-panel h3:not(:first-child){margin-top:24px}.lobby-panel label,.claim-win label{display:block;font-size:10px;letter-spacing:1px;color:#bac6de;margin:14px 0}.lobby-panel input,.lobby-panel select,.claim-win input{display:block;width:100%;margin-top:8px;background:#070e20;border:1px solid #66728f;color:#fff;padding:12px;font-size:14px;letter-spacing:.2px}.lobby-panel .ready{margin-top:12px;width:100%;font-size:14px;padding:16px}.lobby-note{color:#b4bfd3;font-size:12px!important;line-height:1.65!important;max-width:none!important}.room-code-line strong{letter-spacing:7px;font-size:26px}.room-code-line small,.room-code-line span{font-size:10px;color:#b2bfdb}.room-terms{padding:16px;background:#080e1e;font-size:14px;line-height:1.9;white-space:pre-line;border-left:3px solid #dcc17b}.room-players{display:flex;gap:16px;padding:16px 0;font-size:13px}.room-players span{flex:1;padding:12px;background:#1d2a43}.deposit-amount{font-size:23px;color:#f1d999;font-weight:800;padding-top:20px}.deposit-amount small{display:block;color:#b7c0d0;font-size:11px;font-weight:400;margin-top:6px}#roomStatus{padding:10px 0;color:#f0d68a;font-size:13px}#publicRooms{display:grid;gap:10px}.server-row{display:grid;grid-template-columns:1.3fr 1fr 1.5fr auto;gap:15px;padding:16px;background:#0b1326;align-items:center;font-size:12px}.server-row b{font-size:14px}.server-row small{display:block;color:#abb9d3;margin-top:7px;line-height:1.5}.server-row button{color:#e8d6a3!important}.server-row .wager-label{color:#edcc76;font-weight:800}.claim-win{width:min(500px,90%);background:#15213a;border:1px solid #d7ba78;padding:18px;margin-bottom:20px}.claim-win b{color:#efcf8b;display:block;margin-bottom:10px}.claim-win .ready{font-size:13px;padding:12px;width:100%}.claim-win p{font-size:12px;line-height:1.5}.results{overflow:auto;padding-block:30px}#claimsDialog{width:min(680px,95vw);max-height:85vh;overflow:auto;background:#101a2c}#claimsDialog h2{font-size:25px}#claimsDialog p{font-size:13px;line-height:1.6;color:#b9c4da}.claim-record{padding:16px;background:#1b2841;margin-bottom:12px}.claim-record input{width:100%;padding:10px;color:white;background:#0a1121;border:1px solid #5e6d89;margin:12px 0}.claim-record button{border:1px solid #c5b27c;padding:10px 16px;color:#e8d29a}.claim-record a{color:#a4d4ff;font-size:12px}.directory-empty{font-size:13px;color:#b9c4da;padding:15px 0}@media(max-width:700px){.lobby-grid{grid-template-columns:1fr}.lobby-heading{flex-wrap:wrap}.arena-lobby h2{font-size:25px}.lobby-panel{padding:16px}.server-row{grid-template-columns:1fr 1fr}.room-code-line{flex-wrap:wrap}.room-players{flex-direction:column}.lobby-panel .rule-grid{grid-template-columns:1fr 1fr}.results .match-stats{flex-wrap:wrap;justify-content:center}}
/* Console presentation and an iOS-safe play surface. */
.playing,.playing *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.playing{overscroll-behavior:none}.playing #arena,.playing #hud{touch-action:none}.playing img{-webkit-user-drag:none;pointer-events:none}.playing #hud input,.playing #hud textarea{user-select:text;-webkit-user-select:text;touch-action:auto}
#hud{pointer-events:none}#exitmatch,#touchControls{pointer-events:auto}.match-top{padding-left:max(4%,env(safe-area-inset-left));padding-right:max(4%,env(safe-area-inset-right))}#exitmatch{background:linear-gradient(#263452e8,#101626e8);border:1px solid #c5d4ef66;border-radius:6px;box-shadow:0 3px 0 #060916,inset 0 1px #ffffff30;font-weight:800;letter-spacing:1px}#timer{font-variant-numeric:tabular-nums;font-style:italic;-webkit-text-stroke:1px #0a1024;paint-order:stroke fill;text-shadow:3px 4px #050817}
#announcer,.battle-moment{pointer-events:none;font-family:Impact,'Arial Black',Arial,sans-serif;font-weight:900;font-style:italic;letter-spacing:-.025em;paint-order:stroke fill;-webkit-text-stroke:clamp(3px,.55vw,8px) #101425;text-shadow:0 3px 0 #e7b767,0 7px 0 #563d36,4px 11px 0 #05091fd9;filter:drop-shadow(0 0 16px #ffcc7430);z-index:8}
#announcer{font-size:clamp(58px,12vw,150px);line-height:1.05;top:35%;transform:skew(-8deg);color:#fff0ba}#announcer:empty{display:none}#announcer[data-cue=go]{color:#a4ffe0;animation:cue-burst .4s cubic-bezier(.16,1,.3,1)}#announcer[data-cue=game]{color:#fff0af;animation:cue-burst .4s cubic-bezier(.16,1,.3,1)}#announcer[data-cue=paused]{font-size:clamp(48px,8vw,100px);color:#d4e6ff;text-shadow:0 4px #526c9b,4px 8px #05091f}
.battle-moment{top:20%;font-size:clamp(30px,5.5vw,72px);transform:skew(-8deg);color:#b6ffea;animation:callout-burst .35s cubic-bezier(.16,1,.3,1)}.battle-moment.ko{color:#fff0b8}.battle-moment:after{content:'';display:block;width:min(340px,38vw);height:4px;margin:8px auto 0;background:linear-gradient(90deg,transparent,#fff2ba,transparent);transform:skew(-30deg)}.stock-banner{width:max-content;max-width:80%;left:50%;right:auto;transform:translateX(-50%) skew(-8deg);padding:8px 20px;background:linear-gradient(100deg,#26243a,#594636,#26243a);border:1px solid #ffda9266;box-shadow:0 3px 0 #070b1e;font-size:11px;color:#ffebbe}.combo-callout{z-index:6}.combo-callout strong{font-family:Impact,'Arial Black',Arial,sans-serif;paint-order:stroke fill;-webkit-text-stroke:3px #101425;text-shadow:2px 4px #2a2140}.fighter-hud{padding:8px 13px 10px;background:linear-gradient(105deg,#091125b3,#12192a85,transparent);border-bottom:3px solid #a57eff;box-shadow:0 5px 0 #060a1a80;border-radius:8px 8px 2px 2px}.fighter-hud.right{border-color:#ffd37c}.damage{font-variant-numeric:tabular-nums;paint-order:stroke fill;-webkit-text-stroke:2px #101425}.hud-name{letter-spacing:1px;font-weight:900}.results h2{font-family:Impact,'Arial Black',Arial,sans-serif;paint-order:stroke fill;-webkit-text-stroke:3px #101425;text-shadow:0 4px #4a355a,4px 8px #05091f}
#touchControls{--control-size:clamp(46px,8.3dvh,66px);inset:auto 0 0;height:calc(var(--control-size)*2.7 + 24px);padding:0;z-index:9;pointer-events:none;align-items:end;justify-content:space-between}#touchControls .touch-stick{display:block;position:absolute;width:calc(var(--control-size)*2.15);height:calc(var(--control-size)*2.15);left:max(18px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));border:2px solid #b4c8f057;border-radius:50%;background:radial-gradient(circle,#1727429c 25%,#0d172d75 65%,#91a3ce28 67%,#090f2260 70%);box-shadow:inset 0 3px 8px #0008,0 0 0 5px #050b192b;pointer-events:auto;touch-action:none}.stick-cross{position:absolute;inset:18%;border:1px solid #a3bdd41c;border-radius:50%}.stick-cap{position:absolute;width:57%;height:57%;left:21.5%;top:21.5%;border:2px solid #b4c6e399;border-radius:50%;background:radial-gradient(circle at 35% 20%,#65809e,#2c405e 55%,#15233f);box-shadow:0 5px 0 #060b19,inset 0 2px 2px #ffffff4d,0 6px 14px #0008;transform:translate(var(--stick-x,0px),var(--stick-y,0px));display:grid;place-items:center}.stick-cap svg{width:70%;fill:#cadbf4;filter:drop-shadow(0 2px #09132b)}.touch-stick.pressed .stick-cap{border-color:#a6ffe1}
#touchControls .touch-actions{display:block;position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:calc(var(--control-size)*3.8);height:calc(var(--control-size)*2.75);pointer-events:none}
#touchControls .touch-button{position:absolute;width:var(--control-size);height:var(--control-size);min-width:0;border-radius:50%;border:2px solid #c0d0ef88;background:radial-gradient(circle at 35% 20%,#687d9b,#354661 50%,#1b2845);box-shadow:0 5px 0 #080e20,0 6px 12px #0008,inset 0 2px 1px #ffffff40;pointer-events:auto;touch-action:none;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;transition:filter .06s,translate .06s;filter:none;padding:0;color:#edf4ff}#touchControls .touch-button span{font-family:'Arial Black',Arial,sans-serif;font-size:calc(var(--control-size)*.37);font-weight:900;line-height:1;text-shadow:0 2px #07102b}#touchControls .touch-button small{font-size:7px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;line-height:1.2}#touchControls .touch-button.pressed{translate:0 4px;box-shadow:0 1px 0 #080e20,inset 0 3px 6px #0007;filter:brightness(1.3)}#touchControls .attack{right:0;bottom:calc(var(--control-size)*.75);width:calc(var(--control-size)*1.2);height:calc(var(--control-size)*1.2);background:radial-gradient(circle at 35% 20%,#a8ffe1,#329a83 50%,#1c485c);border-color:#b6ffe7}#touchControls .special{right:calc(var(--control-size)*1.3);bottom:calc(var(--control-size)*.3);background:radial-gradient(circle at 35% 20%,#ffc3bc,#b55a71 50%,#542946);border-color:#ffd5cf}#touchControls .jump{right:calc(var(--control-size)*1.3);bottom:calc(var(--control-size)*1.5)}#touchControls .smash{right:calc(var(--control-size)*2.5);bottom:calc(var(--control-size)*1.15);background:radial-gradient(circle at 35% 20%,#ffe2a6,#9c784c 50%,#493343);border-color:#ffe2a6}#touchControls .shield{right:calc(var(--control-size)*2.6);bottom:0}#touchControls .grab{right:calc(var(--control-size)*.05);bottom:calc(var(--control-size)*2.05);width:calc(var(--control-size)*.7);height:calc(var(--control-size)*.7)}#touchControls .recover{right:calc(var(--control-size)*2.8);bottom:calc(var(--control-size)*2.15);width:calc(var(--control-size)*.7);height:calc(var(--control-size)*.7)}#touchControls .grab small,#touchControls .recover small{font-size:6px}
@media(pointer:coarse){.playing .fighter-hud{bottom:14px;width:165px;padding:4px 8px;gap:5px}.playing .fighter-hud.left{left:calc(50% - 175px)}.playing .fighter-hud.right{right:calc(50% - 175px)}.playing .fighter-hud img{width:43px;height:57px}.playing .damage{font-size:45px;line-height:1}.playing .hud-name{font-size:8px;letter-spacing:.2px}.playing .combo-callout{bottom:100px}.playing .combo-callout.left{left:36%}.playing .combo-callout.right{right:36%}.playing .match-top{padding-top:max(12px,env(safe-area-inset-top))}.playing #matchLabel{font-size:9px}.playing #timer{font-size:30px}}
@media(pointer:coarse) and (orientation:portrait){#touchControls{--control-size:48px;height:200px}.playing .fighter-hud{bottom:205px;width:150px}.playing .fighter-hud.left{left:5%}.playing .fighter-hud.right{right:5%}.playing .combo-callout{bottom:285px}.playing .combo-callout.left{left:8%}.playing .combo-callout.right{right:8%}.playing #matchLabel{max-width:45%;text-align:center}.playing #announcer{top:36%}.playing .stock-banner{top:65px}#touchControls:before{content:' ';position:absolute;inset:-15px 0 0;background:linear-gradient(transparent,#080e20cc);pointer-events:none}}
@keyframes cue-burst{from{transform:scale(1.5) skew(-8deg);opacity:0}to{transform:scale(1) skew(-8deg);opacity:1}}@keyframes callout-burst{from{transform:translateY(10px) scale(1.25) skew(-8deg);opacity:0}to{transform:translateY(0) scale(1) skew(-8deg);opacity:1}}
@media(prefers-reduced-motion:reduce){#announcer,.battle-moment{animation:none!important}#touchControls .touch-button{transition:none}}

.match-tools{display:flex;align-items:center;gap:8px;pointer-events:auto}#pauseMatch{width:42px;height:36px;background:linear-gradient(#263452e8,#101626e8);border:1px solid #c5d4ef66;border-radius:6px;box-shadow:0 3px 0 #060916;font-size:18px;font-weight:900;touch-action:manipulation}.playing input,.playing textarea{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default;touch-action:auto}
/* All pictographic controls use authored vector paths. */
.game-icon{width:24px;height:24px;display:inline-block;fill:currentColor;fill-rule:evenodd;vertical-align:middle;pointer-events:none}.melee-description>i{display:grid;place-items:center;width:35px;height:35px;flex:none;background:linear-gradient(#6f839d,#283c5a);border:2px solid #b7c9de;border-radius:8px;box-shadow:0 3px 0 #080f26,inset 0 1px #e5f5ff80}.melee-description .game-icon{width:19px;height:19px;color:#fff0b7}.menu-medal .game-icon{width:34px;height:34px}.melee-chevron .game-icon{width:18px;height:18px}dialog button .close{width:17px;height:17px}#touchControls .action{width:calc(var(--control-size)*.42);height:calc(var(--control-size)*.42);filter:drop-shadow(0 2px #07102b)}
#touchControls .touch-stick{width:clamp(160px,34dvh,196px);height:clamp(160px,34dvh,196px);left:max(24px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom))}.stick-cap{width:60%;height:60%;left:20%;top:20%;border-width:3px}.touch-stick:after{content:'';position:absolute;inset:-24px;border-radius:50%;pointer-events:none}
@media(pointer:coarse) and (orientation:portrait){#touchControls .touch-stick{width:clamp(168px,42vw,190px);height:clamp(168px,42vw,190px);left:20px}.playing .fighter-hud{bottom:210px}}

/* Fighter-colored plates and brief contact response keep the score readable. */
.fighter-hud{border-color:var(--fighter-color,#a57eff);background:linear-gradient(110deg,#071020ee,#111d32d9 72%,#111d3266);isolation:isolate}
.fighter-hud.right{border-color:var(--fighter-color,#ffd37c)}
.fighter-hud:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--fighter-color,#a57eff);box-shadow:0 0 9px var(--fighter-color,#a57eff);z-index:-1}
.stocks i{width:10px;height:10px;border-radius:0;clip-path:polygon(50% 0,100% 30%,85% 85%,50% 100%,15% 85%,0 30%);background:linear-gradient(145deg,#fff8d7 0 25%,#ffcf67 26% 65%,#bb7d37 66%);border:0}
.fighter-hud.hit-feedback .damage{animation:damage-contact .16s cubic-bezier(.18,.85,.2,1)}
@keyframes damage-contact{0%{transform:translateY(-5px) scale(1.15);filter:brightness(1.65)}100%{transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){.fighter-hud.hit-feedback .damage{animation:none}}

/* Original locally hosted display outlines, shared across the game's UI. */
@font-face{font-family:'Arena Display';src:url('./fonts/arena-display.woff') format('woff');font-weight:900;font-style:normal;font-display:swap}
.home-screen h1,.melee-title,.melee-option,.select-title,.fighter-name,.fighter-badge,.player-preview b,.hud-name,.damage,#timer,#announcer,.battle-moment,.combo-callout strong,.stock-banner,#winnerTitle,.touch-button span,#start,#rematch{font-family:'Arena Display',Arial,sans-serif;font-weight:900;font-style:normal}
.damage{letter-spacing:-.06em;line-height:1;transform-origin:50% 85%}
.damage small{letter-spacing:0;margin-left:.06em}
#timer{letter-spacing:-.03em}
#announcer,.battle-moment{letter-spacing:-.02em}
.fighter-name{letter-spacing:.02em}
.combo-callout strong small{font-family:Arial,sans-serif;font-weight:900}

.melee-heading,.select-top h2,.rule-title{font-family:'Arena Display',Arial,sans-serif;font-weight:900;font-style:normal}

.arena-choice{display:flex;flex-direction:column;gap:8px;font-size:10px;font-weight:800;letter-spacing:1.5px;color:#b3bfd2}
#chooseStage{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border:1px solid #adc1da55;background:linear-gradient(110deg,#23304a,#101a30);color:#f9e5b3;text-align:left}
#chooseStage b{font-family:'Arena Display',Arial,sans-serif;font-size:15px;letter-spacing:0;font-weight:900}
#chooseStage svg{width:18px;height:18px;fill:#e9c688;flex-shrink:0}
.arena-selector{width:min(900px,94vw);max-width:900px;max-height:88dvh;padding:24px;background:linear-gradient(135deg,#202d49,#0b1327 65%);border:2px solid #aebbd0;box-shadow:0 10px 0 #05091d,0 20px 90px #000b;overflow:auto}
.arena-selector::backdrop{background:#030713d9;backdrop-filter:blur(5px)}
.arena-selector header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}
.arena-selector header small{font-size:10px;letter-spacing:2px;color:#b7c7dc;font-weight:800}
.arena-selector h2{margin:9px 0 0;font:900 clamp(20px,3vw,32px)/1.1 'Arena Display',Arial,sans-serif;color:#ffe4a7}
#closeStages{padding:10px 13px;border:1px solid #9db1ca66;font:900 12px 'Arena Display',Arial,sans-serif;background:#111d34;color:#e6edf7}
.arena-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.arena-card{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:0 0 11px;text-align:left;background:#0a1226;border:1px solid #8094b466;box-shadow:0 4px 0 #050917;transition:transform .13s,border-color .13s}
.arena-card-scene{display:block;background:var(--arena-background);background-size:cover;background-position:center;overflow:hidden}
.arena-layout{display:block;width:100%;height:112px;filter:drop-shadow(0 3px 2px #0009)}
.arena-card-name{padding:0 10px;font:900 14px 'Arena Display',Arial,sans-serif;color:#f0e4cc}
.arena-card small{padding:0 10px;color:#9bb0c9;font-size:9px;letter-spacing:1px;font-weight:800}
.arena-card.selected{border:2px solid #ffe09a;box-shadow:0 4px 0 #6c512c,0 0 16px #e5b96933}
.arena-card.selected:after{content:'';position:absolute;right:7px;top:7px;width:14px;height:14px;background:#ffe2a6;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.arena-card:hover{transform:translateY(-2px);border-color:#d9e2ef}
@media(max-width:600px){.arena-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.arena-selector{padding:15px}.arena-layout{height:87px}.arena-card-name{font-size:11px}.arena-card small{font-size:8px;letter-spacing:.4px}.arena-selector header{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.arena-card{transition:none}.arena-card:hover{transform:none}}

/* Console selection screens: compact roster, two controller bays, separate stage screen. */
.console-select,.console-stage{--console-line:#939dc5;--console-gold:#fff0a3;background:radial-gradient(ellipse at 25% 15%,#333e78 0,transparent 55%),repeating-linear-gradient(132deg,transparent 0 84px,#a7bce208 85px 87px,transparent 88px 170px),linear-gradient(140deg,#181d43,#080b20 80%);color:#fff;}
.console-select{padding:18px 4vw 12px;overflow:auto;}
.console-select:before,.console-stage:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#0002 4px);opacity:.28;}
.console-select .select-top,.console-stage header{position:relative;display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--console-line);padding:0 0 10px;margin:0 0 10px;}
.console-heading small{font-size:11px;letter-spacing:.22em;color:#afb9dc;}
.console-heading h2{font-family:'Arena Display',sans-serif;font-size:clamp(25px,3.4vw,46px);line-height:1;margin:4px 0 0;letter-spacing:.025em;text-shadow:3px 3px #000;}
.console-back{display:flex;align-items:center;gap:8px;border:1px solid #b4bce0;border-radius:0;background:linear-gradient(#414b72,#192240);font:bold 16px 'Arena Display',sans-serif;padding:8px 16px;box-shadow:3px 3px #0008;}
.console-back svg{width:17px;height:17px;fill:currentColor;}
.console-select .selection-body{position:relative;display:flex;flex-direction:column;gap:10px;max-width:1250px;margin:auto;}
.console-rule-strip{display:flex;align-items:center;gap:18px;background:linear-gradient(90deg,#0a0d26,#343c6355);border-bottom:1px solid #656e96;padding:7px 12px;}
.console-rule-strip label{display:flex;align-items:center;gap:8px;margin:0;font-size:10px;color:#b8c4e5;letter-spacing:.08em;}
.console-rule-strip select{width:auto;min-width:85px;margin:0;padding:4px 24px 4px 7px;border:0;border-bottom:2px solid #7681ab;background:#252e50;color:#fff;font:bold 12px Arial;}
.console-rule-caption{margin-left:auto;font-size:10px;letter-spacing:.1em;color:#b8c4e5;}
.console-select .roster-head{margin:0 0 5px;font-size:10px;color:#9ca8d0;letter-spacing:.18em;}
.console-select .roster{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;}
.console-select .fighter-card{position:relative;height:clamp(100px,13.5vw,165px);padding:0;border:2px solid #a0a8c2;border-radius:0;background:linear-gradient(155deg,#949dae,#303c59 65%);overflow:visible;box-shadow:inset 0 0 0 2px #182038,3px 3px #0009;transform:none;}
.console-select .fighter-card:after{content:'';position:absolute;inset:3px;border:1px solid #ffffff44;pointer-events:none;}
.console-select .fighter-art-crop{position:absolute;inset:0;overflow:hidden;height:auto;background:radial-gradient(ellipse at top,#b7c4d155,transparent);}
.console-select .fighter-art-crop img{height:100%;width:100%;object-fit:contain;object-position:center top;transform:scale(2.25);transform-origin:center 15%;filter:drop-shadow(2px 3px 1px #0007);}
.console-select .fighter-name{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:center;min-height:27px;padding:3px 2px;font:clamp(10px,1.25vw,17px) 'Arena Display',sans-serif;line-height:1;background:linear-gradient(#141a33bb,#03071a);text-shadow:2px 2px #000;}
.console-select .fighter-type{display:none;}
.console-select .fighter-card.p1{border-color:#ff8783;box-shadow:inset 0 0 0 2px #b9001a,0 0 10px #ff273444;}
.console-select .fighter-card.p2{border-color:#80beff;box-shadow:inset 0 0 0 2px #236be5,0 0 10px #236be566;}
.console-select .fighter-card.p1.p2{border-top-color:#ff8783;border-left-color:#ff8783;border-bottom-color:#80beff;}
.console-select .fighter-badge{position:absolute;z-index:4;top:52%;left:7%;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#ffb5ae,#d32238 65%,#680714);border:2px solid #ffe1bc;color:#fff;font:13px 'Arena Display';box-shadow:2px 3px #0007;transform:rotate(-12deg);}
.console-select .fighter-badge.blue{left:auto;right:7%;top:30%;background:radial-gradient(circle at 30% 20%,#cfecff,#287ae8 65%,#0d226e);transform:rotate(12deg);}
.fighter-badge i{position:absolute;inset:3px;border:1px solid #fff8;border-radius:50%;}
.player-deck{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.player-bay{position:relative;border:2px solid #fc8c8f;background:linear-gradient(120deg,#780b24,#ce30434d 60%,#100b20);height:clamp(155px,22vh,250px);box-shadow:inset 0 0 0 3px #050715,5px 5px #0006;overflow:hidden;}
.player-two{border-color:#8cb5fc;background:linear-gradient(120deg,#122d83,#266edc55 60%,#090e22);}
.player-tab{position:relative;z-index:3;display:block;width:100%;text-align:left;padding:5px 12px;background:linear-gradient(90deg,#e94253,#650b20);border:0;border-bottom:2px solid #ffbbb8;border-radius:0;color:#fff;font:17px 'Arena Display';text-shadow:2px 2px #000;}
.player-two .player-tab{background:linear-gradient(90deg,#3982ee,#14245a);border-bottom-color:#bfdaff;}
.player-tab.active:after{content:'';display:inline-block;margin-left:12px;border-left:9px solid #ffeca0;border-top:6px solid transparent;border-bottom:6px solid transparent;}
.player-tab:disabled{opacity:.8;}
.console-select .player-preview{display:block;height:100%;position:absolute;inset:0;}
.console-select .player-preview img{position:absolute;display:block;width:48%;max-width:none;height:calc(100% - 22px);max-height:none;object-fit:contain;bottom:-5px;left:8%;filter:drop-shadow(4px 4px 2px #0008);}
.console-select .player-preview>div{position:absolute;left:52%;right:12px;top:38%;text-align:left;}
.console-select .player-preview b{display:block;font:clamp(20px,2.8vw,37px) 'Arena Display';line-height:1.05;text-shadow:3px 3px #000;}
.console-select .player-preview small{display:block;font:bold 10px Arial;color:#ffd7d4;letter-spacing:.16em;margin-bottom:7px;}
.console-select .player-preview>div>span{display:block;font-size:10px;color:#eee;margin-top:8px;letter-spacing:.05em;}
.bay-number{position:absolute;left:3%;top:20%;font:clamp(70px,12vw,145px) 'Arena Display';color:#ffffff0c;line-height:1;}
.bay-caption{position:absolute;left:12px;bottom:8px;font:13px 'Arena Display';letter-spacing:.15em;color:#ffffffaa;}
.console-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.console-select .roster-note{display:flex;gap:8px;margin:0;}
.console-select .roster-note button{background:#151b36;border:1px solid #626e98;padding:6px 12px;color:#c3cce9;font:11px 'Arena Display';}
.console-select .arena-choice{display:flex;align-items:center;gap:8px;font-size:10px;color:#aab6d9;}
.console-select #chooseStage{margin:0;width:auto;min-width:185px;min-height:30px;border-radius:0;border:1px solid #949fc1;background:linear-gradient(#414b71,#202743);padding:5px 10px;}
.console-select #chooseStage b{font:13px 'Arena Display';color:#fff;}
.console-select #chooseStage svg{width:12px;height:12px;margin-left:10px;}
.console-select .ready{position:relative;width:100%;margin:0;min-height:58px;border:0;border-top:2px solid #f37b56;border-bottom:2px solid #8b2a35;border-radius:0;background:linear-gradient(100deg,#4e102e,#b52236 40%,#3b123a);color:#fff0a3;font:clamp(28px,4.5vw,54px) 'Arena Display';text-shadow:3px 4px #080916,0 0 14px #ffb52e66;letter-spacing:.02em;box-shadow:0 4px #0008;}
.console-select .ready:before,.console-select .ready:after{content:'';position:absolute;top:50%;width:17%;height:2px;background:linear-gradient(90deg,transparent,#edbb75);}
.console-select .ready:before{left:2%;}.console-select .ready:after{right:2%;transform:rotate(180deg);}
.console-select .control-summary{margin:0;text-align:center;font-size:9px;letter-spacing:.13em;color:#8a98bf;line-height:1.5;}
.console-select button:focus-visible,.console-stage button:focus-visible{outline:3px solid #fff1a8;outline-offset:3px;}
.console-stage{box-sizing:border-box;position:fixed;inset:0;margin:0;max-width:none;max-height:none;width:100vw;height:100dvh;padding:18px 4vw;border:0;border-radius:0;overflow:auto;}
.console-stage::backdrop{background:#050816;}
.console-stage header{max-width:1250px;margin:0 auto 18px;}
.stage-console-body{position:relative;max-width:1250px;margin:auto;}
.console-stage .arena-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px;background:#060a2055;border-top:1px solid #6c779f;border-bottom:1px solid #6c779f;}
.console-stage .arena-card{position:relative;border-radius:0;padding:3px;border:2px solid #8493b6;background:#252c48;min-width:0;box-shadow:3px 3px #0008;}
.console-stage .arena-card-scene{display:block;height:clamp(65px,12vh,120px);background-size:cover;background-position:center;overflow:hidden;}
.console-stage .arena-card-name{display:block;padding:3px 0 0;font:clamp(9px,1.25vw,15px) 'Arena Display';text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.console-stage .arena-card.selected{border-color:#ffdf85;box-shadow:0 0 0 2px #af713e,0 0 16px #ffd65f55;}
.console-stage .arena-card.selected:after{content:'';position:absolute;right:-6px;top:-6px;width:14px;height:14px;background:#ffe8a2;border:2px solid #fff;transform:rotate(45deg);box-shadow:2px 2px #0008;}
.console-stage .arena-card:hover,.console-stage .arena-card:focus-visible{border-color:#fff5c3;transform:translateY(-2px);}
.stage-inspection{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;margin-top:22px;align-items:center;}
.stage-title-panel{padding:12px 0 12px 20px;border-left:5px solid #ddb65b;background:linear-gradient(90deg,#48477244,transparent);}
.stage-title-panel>small{color:#d6c684;font:12px 'Arena Display';letter-spacing:.2em;}
.stage-title-panel h3{font:clamp(28px,4.5vw,56px) 'Arena Display';line-height:1.03;margin:12px 0;text-shadow:3px 4px #000;}
.stage-title-panel p{font-size:13px;color:#bac6e0;margin:8px 0 18px;}
.stage-title-panel>span{display:block;font-size:10px;color:#8b9abc;letter-spacing:.13em;}
.stage-confirm{margin-top:18px;border:1px solid #e8c97f;background:linear-gradient(#947545,#4a352b);font:20px 'Arena Display';color:#fff0b8;padding:8px 28px;box-shadow:3px 3px #0008;border-radius:0;}
.stage-large-preview{height:clamp(180px,30vh,330px);border:3px solid #9ca9c5;box-shadow:inset 0 0 0 3px #070e24,6px 6px #0008;overflow:hidden;}
.console-stage .arena-layout{width:100%;height:100%;filter:none;}
.stage-large-preview .arena-layout{width:100%;height:100%;filter:none;}
.stage-console-body footer{padding:18px 0;text-align:center;color:#8694bb;font:12px 'Arena Display';letter-spacing:.25em;}
@media(min-width:600px) and (max-height:650px){.console-select{padding:10px 4vw 5px;}.console-select .select-top{margin-bottom:6px;padding-bottom:6px;}.console-heading h2{font-size:27px;}.console-select .selection-body{gap:6px;}.console-select .fighter-card{height:110px;}.player-bay{height:145px;}.console-select .ready{min-height:43px;font-size:36px;}.console-rule-strip{padding:4px 10px;}.console-stage{padding:10px 4vw;}.console-stage header{margin-bottom:8px;}.console-stage .arena-card-scene{height:62px;}.stage-inspection{margin-top:12px;}.stage-large-preview{height:175px;}.stage-title-panel h3{font-size:32px;}.stage-title-panel p{margin:6px 0 8px;}.stage-console-body footer{padding:8px;}}
@media(max-width:599px){.console-select{padding:14px 12px;}.console-heading h2{font-size:26px;}.console-back{padding:7px 10px;font-size:13px;}.console-rule-strip{flex-wrap:wrap;gap:8px;}.console-rule-caption{width:100%;margin:0;}.console-rule-strip label{font-size:8px;gap:5px;}.console-rule-strip select{font-size:10px;min-width:0;}.console-select .roster{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;}.console-select .fighter-card{height:105px;}.console-select .fighter-name{font-size:11px;}.player-deck{gap:8px;}.player-bay{height:205px;}.player-tab{font-size:12px;padding:6px;}.console-select .player-preview img{width:90%;left:5%;height:148px;bottom:29px;}.console-select .player-preview>div{left:6px;right:6px;top:auto;bottom:5px;text-align:center;}.console-select .player-preview b{font-size:19px;}.console-select .player-preview small,.console-select .player-preview>div>span,.bay-caption{display:none;}.console-bottom{flex-wrap:wrap;}.console-select .arena-choice{margin-left:auto;}.console-select .roster-note button{padding:6px;font-size:10px;}.console-select .ready{font-size:34px;min-height:51px;}.console-select .ready:before,.console-select .ready:after{width:8%;}.console-stage{padding:14px 12px;}.console-stage .arena-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;}.console-stage .arena-card-scene{height:60px;}.console-stage .arena-card-name{font-size:12px;}.stage-inspection{grid-template-columns:1fr;gap:12px;margin-top:14px;}.stage-title-panel h3{font-size:32px;}.stage-title-panel p{margin-bottom:8px;}.stage-large-preview{height:190px;}.stage-confirm{margin-top:10px;}}
@media(prefers-reduced-motion:reduce){.console-select *,.console-stage *{transition:none!important;}}
.console-select{position:fixed;inset:0;z-index:8;width:100vw;height:100dvh;}
.console-select .fighter-card:hover,.console-select .fighter-card:focus-visible{background:linear-gradient(155deg,#c4ccd7,#4c6186 65%);filter:brightness(1.12);}
.console-select .fighter-card:hover .fighter-name{color:#ffe7a4;}
.console-stage .arena-card{gap:0;}
@media(min-width:600px) and (max-height:450px){.console-select{padding:6px 3vw;}.console-select .select-top{padding-bottom:4px;margin-bottom:4px;}.console-heading small{font-size:8px;}.console-heading h2{font-size:22px;}.console-back{padding:5px 10px;font-size:11px;}.console-select .selection-body{gap:4px;}.console-rule-strip{padding:3px 8px;}.console-rule-strip label,.console-rule-caption{font-size:8px;}.console-rule-strip select{font-size:10px;padding:2px 18px 2px 4px;}.console-select .roster-head{font-size:8px;margin-bottom:3px;}.console-select .fighter-card{height:79px;}.console-select .fighter-name{min-height:20px;font-size:10px;}.console-select .fighter-badge{width:27px;height:27px;font-size:10px;}.player-bay{height:108px;}.player-tab{font-size:12px;padding:3px 10px;}.console-select .player-preview>div{top:34%;}.console-select .player-preview b{font-size:24px;}.console-select .player-preview small{font-size:8px;margin-bottom:4px;}.console-select .player-preview>div>span{font-size:8px;margin-top:4px;}.bay-caption{font-size:9px;bottom:5px;}.console-select .ready{min-height:35px;font-size:29px;padding:2px;}.console-select .control-summary{font-size:7px;}.console-stage .arena-card-scene{height:48px;}.console-stage .arena-card-name{font-size:10px;}.console-stage .arena-grid{padding:6px;gap:6px;}.stage-large-preview{height:139px;}.stage-title-panel h3{font-size:27px;margin:7px 0;}.stage-title-panel p{font-size:10px;}.stage-confirm{margin-top:9px;font-size:15px;padding:5px 20px;}.stage-title-panel{padding:8px 0 8px 16px;}.stage-title-panel>span{font-size:8px;}.stage-console-body footer{font-size:9px;}}
/* Match start and pause use original console panels and the shared display face. */
#pauseMatch svg{width:20px;height:20px;fill:#e2edff;vertical-align:middle;}
.pause-overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:linear-gradient(120deg,#050920ee,#131b36bb);backdrop-filter:blur(5px);pointer-events:auto;}
.pause-overlay>div{width:min(410px,86vw);padding:24px;border-top:3px solid #e2ca8c;border-bottom:3px solid #778cb7;background:linear-gradient(135deg,#303b5c,#10162d);box-shadow:8px 8px #0009;text-align:center;}
.pause-overlay small{font-size:10px;letter-spacing:.25em;color:#a7bddf;}.pause-overlay h2{font:32px 'Arena Display',Arial;margin:12px 0 22px;color:#fff1b7;text-shadow:3px 3px #050918;}
.pause-overlay button{display:block;width:100%;margin:8px 0;padding:12px;border:1px solid #8fa4c8;background:linear-gradient(#465a7d,#1d2b4c);font:18px 'Arena Display',Arial;box-shadow:3px 3px #0008;}.pause-overlay button:first-of-type{border-color:#eccb84;color:#ffe4a5;background:linear-gradient(#92734b,#483529);}.pause-overlay p{margin:20px 0 0;font-size:9px;color:#b8c8e8;letter-spacing:.13em;}
.match-paused #touchControls{pointer-events:none;opacity:.2;}.match-paused #touchControls *{pointer-events:none!important;}.match-paused #announcer{display:none;}
.match-intro{position:absolute;inset:15% 8% 18%;pointer-events:none;z-index:6;display:grid;grid-template-columns:1fr 100px 1fr;align-items:center;gap:12px;}
.intro-fighter{position:relative;align-self:stretch;min-height:180px;border-top:2px solid #e97c8b;border-bottom:2px solid #d94355;background:linear-gradient(115deg,#981c36dd,#410f2188);box-shadow:5px 5px #0006;overflow:hidden;clip-path:polygon(0 0,94% 0,100% 100%,6% 100%);}
.intro-fighter.blue{background:linear-gradient(245deg,#254ea5dd,#15234888);border-color:#78b5fc;}.intro-fighter img{width:100%;height:100%;max-height:340px;object-fit:contain;object-position:center bottom;filter:drop-shadow(6px 4px 2px #0009);}
.intro-fighter>span{position:absolute;top:12px;left:12%;font-size:10px;letter-spacing:.18em;color:#ffdece;}.intro-fighter.blue>span{color:#cceaff;}.intro-fighter b{position:absolute;left:7%;right:4%;bottom:0;padding:12px 6px;background:linear-gradient(transparent,#080c21);font:clamp(20px,3.2vw,42px) 'Arena Display';text-align:center;text-shadow:3px 3px #000;}
.intro-versus{align-self:start;text-align:center;padding-top:25px;font:45px 'Arena Display';color:#ffe9a9;text-shadow:3px 3px #1c1027;}.intro-arena{grid-column:1/-1;text-align:center;font:21px 'Arena Display';color:#fff3d2;text-shadow:2px 2px #000;letter-spacing:.04em;}.intro-arena small{display:block;font:9px Arial;letter-spacing:.16em;color:#bdd0e6;margin-top:7px;}
#announcer[data-cue='3'],#announcer[data-cue='2'],#announcer[data-cue='1']{color:#fff0b8;font-size:clamp(95px,18vw,210px);top:34%;animation:countdown-strike .32s cubic-bezier(.17,1,.25,1);}
@keyframes countdown-strike{from{transform:scale(1.35);opacity:.1;}to{transform:scale(1);opacity:1;}}
@media(pointer:coarse) and (orientation:portrait){.match-intro{inset:14% 3% 42%;grid-template-columns:1fr 55px 1fr;gap:3px;}.intro-fighter>span{font-size:8px;left:10%;}.intro-fighter b{font-size:17px;padding:10px 3px;}.intro-versus{font-size:30px;}.intro-arena{font-size:16px;}.playing #announcer[data-cue='3'],.playing #announcer[data-cue='2'],.playing #announcer[data-cue='1']{top:25%;}}
@media(orientation:landscape) and (max-height:450px){.match-intro{inset:10% 12% 12%;grid-template-columns:1fr 85px 1fr;gap:8px;}.intro-fighter{min-height:100px;}.intro-fighter img{max-height:210px;}.intro-fighter>span{font-size:8px;top:8px;}.intro-fighter b{font-size:23px;padding:8px;}.intro-versus{font-size:32px;padding-top:15px;}.intro-arena{font-size:16px;}.pause-overlay>div{padding:12px 20px;}.pause-overlay h2{font-size:25px;margin:8px 0 10px;}.pause-overlay button{font-size:15px;padding:8px;}.pause-overlay p{margin-top:12px;}}
@media(prefers-reduced-motion:reduce){#announcer[data-cue='3'],#announcer[data-cue='2'],#announcer[data-cue='1']{animation:none;}}

/* Keep complete arena illustrations visible at every selector breakpoint. */
.console-stage .arena-card .arena-card-scene{height:auto;aspect-ratio:16/9;background:#07101e;}
.console-stage .stage-large-preview{height:auto;aspect-ratio:16/9;background:#07101e;}
/* Living console menus. Shared portraits stop when hidden or covered by a
   dialog; optional movement has a complete reduced-motion counterpart. */
.player-deck{position:relative;isolation:isolate;}
#rosterModels{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;display:block;opacity:0;}
.live-models #rosterModels{opacity:1;}
.console-select .live-models .player-preview img{visibility:hidden;}
.console-select .player-preview>.bay-model-window{position:absolute;left:2%;right:auto;top:auto;bottom:0;width:51%;height:calc(100% - 22px);padding:0;pointer-events:none;}
.console-select .player-preview .bay-fighter-label{z-index:3;}
.player-tab,.bay-caption{z-index:4;}
.console-select .fighter-card{transition:transform .16s,border-color .16s,box-shadow .16s;}
.console-select .fighter-card:hover,.console-select .fighter-card:focus-visible{transform:translateY(-5px);border-color:#fff0a3;box-shadow:0 5px #05091d,0 0 16px #fff0a344;}
.console-select .fighter-card:hover .fighter-art-crop img,.console-select .fighter-card:focus-visible .fighter-art-crop img{transform:scale(2.35);transition:transform .2s;}
.console-select .fighter-badge{animation:selection-coin .28s cubic-bezier(.16,1,.3,1) both;}
.console-select .ready{overflow:hidden;}
.console-select .ready:after{width:35%;height:140%;top:-20%;right:auto;left:-50%;background:linear-gradient(100deg,transparent,#fff0a322,transparent);transform:skew(-20deg);animation:ready-sheen 5s ease-in-out infinite;}
.console-stage .arena-card.inspected{transform:translateY(-3px);border-color:#fff0a3;box-shadow:0 0 0 1px #9f713b,0 0 18px #efb96544;}
.console-stage .stage-large-preview .arena-environment{transform-origin:50% 55%;animation:arena-breathe 9s ease-in-out infinite alternate;}
.console-stage .stage-large-preview{position:relative;box-shadow:inset 0 0 0 3px #07101e,6px 6px #0008,0 0 35px #8597ce22;}
.console-stage .stage-large-preview:after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid #eff7ff55;box-shadow:inset 0 0 24px #02091966;}
.melee-home .melee-grid{animation:menu-grid-drift 34s ease-in-out infinite alternate;}
.melee-home .smash-mark{animation:menu-globe-turn 48s linear infinite;}
.melee-home .melee-option.selected .menu-medal{box-shadow:inset 0 2px #fff9,0 0 18px #bcd7f744,4px 5px #03091c;}
.melee-home .melee-option.selected .melee-chevron{animation:menu-chevron 1.8s ease-in-out infinite;}
.melee-home .melee-submenu #menuSubitems span{animation:menu-subitem .24s ease-out both;}
.melee-home .melee-submenu #menuSubitems span:nth-child(2){animation-delay:.05s;}
.melee-home .melee-submenu #menuSubitems span:nth-child(3){animation-delay:.10s;}
@keyframes selection-coin{from{opacity:0;scale:1.45;translate:0 -12px}to{opacity:1;scale:1;translate:0 0}}
@keyframes ready-sheen{0%,65%{left:-50%}90%,100%{left:120%}}
@keyframes arena-breathe{from{transform:scale(1.01) translateX(-1px)}to{transform:scale(1.025) translateX(1px)}}
@keyframes menu-grid-drift{from{transform:perspective(800px) rotateX(20deg) rotateZ(-19deg) translate(0,0)}to{transform:perspective(800px) rotateX(20deg) rotateZ(-19deg) translate(28px,16px)}}
@keyframes menu-globe-turn{from{transform:rotateY(-15deg) rotateZ(-8deg)}to{transform:rotateY(345deg) rotateZ(-8deg)}}
@keyframes menu-chevron{0%,100%{translate:0 0}50%{translate:4px 0}}
@keyframes menu-subitem{from{opacity:0;translate:10px 0}to{opacity:1;translate:0 0}}
@media(max-width:599px){.console-select .player-preview>.bay-model-window{left:0;width:100%;height:148px;bottom:25px;}}
@media(min-width:600px) and (max-height:450px){.console-select .player-preview>.bay-model-window{height:calc(100% - 14px);}}
@media(prefers-reduced-motion:reduce){.melee-home *,.console-select *,.console-stage *{animation:none!important;transition:none!important;}.console-select .fighter-card:hover,.console-select .fighter-card:focus-visible,.console-stage .arena-card.inspected{transform:none;}}
#moveList{max-height:calc(100dvh - 32px);overflow:auto;}
.normal-move-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.normal-move-grid .move-row{display:block;padding:9px 0;}
.normal-move-grid kbd{display:block;width:max-content;min-width:0;margin-bottom:5px;font-size:9px;color:#b7c9e5;}
.normal-move-grid .move-row b{font:18px 'Arena Display';color:#fff1c3;}
.signature-move-row{display:flex;gap:15px;align-items:center;margin-top:15px;padding:14px;background:linear-gradient(90deg,#1a3356,#1b233b);border-left:3px solid #a4d4e5;}
.signature-move-row b{font:23px 'Arena Display';color:#fff1c3;}
@media(max-width:480px){#moveList{padding:22px 18px;}.normal-move-grid{gap:0 12px;}.normal-move-grid .move-row b{font-size:15px;}.normal-move-grid kbd{font-size:8px;padding:2px 4px;}}
