@font-face{font-family:Arcade;src:local('Impact')}*{box-sizing:border-box} :root{--ink:#12130f;--paper:#f3f0df;--muted:#9b9e91;--orange:#ff783e;--line:#ffffff20;--green:#b0ca70;--mono:'Courier New',monospace;--display:Impact,'Arial Narrow',sans-serif}body{margin:0;background:#10110e;color:var(--paper);font-family:Arial,Helvetica,sans-serif}button,a,input,select{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:5px}button:hover{filter:brightness(1.13)}button:active{transform:translateY(1px)}.hidden{display:none!important}.topbar{height:85px;margin:0 36px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;color:var(--paper);text-decoration:none;font-weight:900;font-size:17px;letter-spacing:-.6px}.brandmark{height:36px;width:36px;background:var(--orange);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:25px;letter-spacing:-3px;transform:skew(-6deg);padding-right:3px}.brand-light{font-weight:400;color:#c3c6b8}.topbar nav{display:flex;align-items:center;gap:15px}.status{font:10px var(--mono);letter-spacing:1.4px;display:flex;align-items:center;gap:9px;margin-right:20px}.status i,.live-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 10px #b0ca7040}.version{color:#6e7465}.icon-button{width:30px;height:30px;font-size:24px;color:#b9bdaf}.icon-button[aria-pressed=true]{color:var(--orange)}main{max-width:1536px;margin:26px auto 0;padding:0 36px}.arena{position:relative;aspect-ratio:16/9;background:#181e1b;overflow:hidden;border:1px solid #505340;isolation:isolate}.arena canvas#game{position:absolute;inset:0;width:100%;height:100%;display:block}.grain{pointer-events:none;position:absolute;inset:0;z-index:2;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.35' filter='url(%23n)'/%3E%3C/svg%3E")}.crt{position:absolute;inset:0;z-index:8;pointer-events:none;background:repeating-linear-gradient(transparent 0 2px,#0003 3px 4px);box-shadow:inset 0 0 120px #0008}.screen{position:absolute;inset:0;z-index:3}.eyebrow,.tiny{font:10px var(--mono);letter-spacing:1.5px;text-transform:uppercase}.eyebrow{color:var(--orange)}.tiny{color:#a5ad9e}.home{background:linear-gradient(90deg,#11160ef5 1%,#11160ee5 32%,#11160e4d 66%,transparent)}.home-copy{position:absolute;left:5%;top:9%;width:48%}.home .eyebrow{display:flex;align-items:center;gap:9px;color:#bdc9b3;font-size:9px}.home h1,.loading h1{font-family:var(--display);font-size:clamp(45px,6.6vw,106px);font-weight:400;line-height:.98;letter-spacing:-.8px;margin:24px 0 20px}em{font-style:normal;color:var(--orange)}.intro-copy{font-size:13px;line-height:1.8;color:#b5bfac}.home-actions{max-width:348px;margin-top:30px}.primary{display:flex;justify-content:space-between;align-items:center;gap:35px;background:var(--orange);color:var(--ink);font-size:11px;font-weight:900;letter-spacing:.9px;padding:19px 21px;min-height:52px;border:1px solid var(--orange)}.primary span{font-size:19px;line-height:12px;font-weight:400}.home .primary{width:100%}.secondary-actions{display:flex;gap:20px;border-bottom:1px solid #67745c66}.secondary-actions button{flex:1;text-align:left;font-size:9px;letter-spacing:.65px;padding:19px 0;white-space:nowrap}.secondary-actions button span{float:right;color:#8c9b7f}.text-button{font:9px var(--mono);letter-spacing:1px;margin-top:21px;color:#b8c3ac;padding:0}.keycap{display:inline-flex;border:1px solid #6b775e;width:20px;height:20px;justify-content:center;align-items:center;margin-right:6px}.hero-label{position:absolute;bottom:12%;right:5%;width:37%;display:flex;flex-direction:column;gap:10px;padding-left:14px;border-left:2px solid var(--orange);text-shadow:0 2px 5px #000}.hero-label strong{font-family:var(--display);font-weight:400;font-size:clamp(19px,2.4vw,34px)}.hero-label strong em{margin:0 6px;font-size:18px}.hero-label>span:last-child{font:9px var(--mono);letter-spacing:1.4px;color:#c0c9b8}.home-bottom{position:absolute;bottom:4%;left:5%;right:5%;display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:1.3px;color:#9baa8c}.underbar{height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font:9px var(--mono);letter-spacing:1px;color:#9ca58f;gap:10px}.underbar b{color:var(--orange);margin-right:10px;font-weight:400}.underbar button{font:9px var(--mono);color:#d6dfc9}.underbar button span{margin-left:20px;color:var(--orange)}kbd{font:10px var(--mono);display:inline-flex;width:21px;height:21px;align-items:center;justify-content:center;border:1px solid #4f5644;border-bottom-width:2px;margin:0 4px 0 14px;color:#ced8bf;border-radius:3px}.page-footer{max-width:1536px;margin:23px auto;padding:0 36px;display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:1.3px;color:#696f60}.page-footer .live-dot{width:4px;height:4px;margin-left:5px}.loading{background:#12170f;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading h1{font-size:70px}.load-track{width:250px;height:3px;background:#303c26}.load-track i{height:100%;display:block;width:0;background:var(--orange);transition:width .3s}.loading p{font:11px var(--mono);color:var(--muted)}.selection{background:#10150ff0;padding:3% 4% 2%;display:flex;flex-direction:column}.select-heading{display:flex;justify-content:space-between;align-items:center}.select-heading h2{font:400 clamp(22px,3vw,46px)/1 var(--display);margin:10px 0 15px}.back-button{font:9px var(--mono);letter-spacing:1px;color:#bac4ab}.player-tabs{display:flex;gap:12px;margin-bottom:15px}.player-tabs button{font:9px var(--mono);letter-spacing:.5px;border-bottom:2px solid #425038;padding:7px 0 9px;color:#93a084;min-width:175px;text-align:left}.player-tabs b{margin-left:14px;color:#dae2d2;font-weight:400}.player-tabs button.active{border-color:var(--orange);color:var(--orange)}.roster{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;min-height:0;flex:1;max-height:270px}.fighter-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#31362b,#171b16);border:1px solid #3b4432;min-width:0;padding:0;text-align:left;transition:background .2s,border-color .2s}.fighter-card canvas{position:absolute;width:100%;height:100%;inset:0;opacity:.7;transition:opacity .2s,transform .2s}.fighter-card:hover canvas,.fighter-card.selected canvas{opacity:1;transform:scale(1.035)}.fighter-card.selected{border:2px solid var(--orange);background:linear-gradient(135deg,#4f3c28,#20251b)}.fighter-card.rival-selected:not(.selected){border-color:#87b8ca}.card-num{position:absolute;top:10px;left:10px;z-index:1;font:9px var(--mono);color:#d2d8c4}.card-tag{position:absolute;top:8px;right:8px;background:var(--orange);font:9px var(--mono);color:#181b13;padding:4px;z-index:1}.card-name{position:absolute;bottom:0;left:0;right:0;padding:24px 10px 12px;background:linear-gradient(transparent,#10160ffa 55%)}.card-name strong{font:400 clamp(13px,1.6vw,22px) var(--display);letter-spacing:.4px;display:block}.card-name small{display:block;font:7px var(--mono);letter-spacing:.6px;color:#aab79b;margin-top:5px}.selection-bottom{display:grid;grid-template-columns:1fr 1.15fr;gap:30px;margin:16px 0 10px}.fighter-info h3{font:400 25px var(--display);margin:5px 0}.fighter-info p{font-size:11px;color:#a9b29f;line-height:1.5;margin:0;max-width:340px}.fighter-stats{display:flex;gap:14px;margin-top:10px}.stat{font:7px var(--mono);color:#9ea992}.stat>span{display:block;margin-bottom:5px}.stat i{display:inline-block;width:11px;height:3px;margin-right:3px;background:#3e4935}.stat i.on{background:var(--orange)}.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.stage-card{position:relative;aspect-ratio:1.75;min-height:58px;background-size:cover;background-position:center;border:1px solid #556049;display:flex;align-items:flex-end;padding:8px;text-align:left}.stage-card:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#090f0ce0)}.stage-card span{font:8px var(--mono);letter-spacing:.4px;position:relative}.stage-card.selected{border:2px solid var(--orange)}.select-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #3c4730;padding-top:10px;margin-top:auto}.select-footer>span{font:8px var(--mono);color:#89967b}.select-footer .primary{padding:12px 20px;min-height:42px}.hud{position:absolute;z-index:3;left:3%;right:3%;top:4%;display:grid;grid-template-columns:1fr 82px 1fr;gap:15px;pointer-events:none}.fighter-heading{display:flex;align-items:center;gap:10px;margin-bottom:9px;text-shadow:0 2px 4px #000}.fighter-heading strong{font:400 clamp(15px,2.4vw,34px) var(--display);letter-spacing:.5px}.player-tag{font:9px var(--mono);color:#151710;background:var(--orange);padding:3px 5px;text-shadow:none}.player-tag.rival{background:#b7d2be}.round-dots{margin-left:auto;font-size:22px;letter-spacing:4px;color:var(--orange)}.health-track{height:20px;background:#121712e8;border:1px solid #e1e7d08c;position:relative;transform:skew(-8deg);box-shadow:0 3px 0 #0008;overflow:hidden}.health-track i{position:absolute;left:0;top:2px;bottom:2px;right:2px;width:100%;background:linear-gradient(#dbe8b2 10%,#a7c66c 45%,#829d4c 55%);transition:width .12s}.health-track i.health-trail{background:#ec6f46;transition:width .7s .15s}.health-side.right .fighter-heading{justify-content:flex-end}.right .round-dots{margin-left:0;margin-right:auto}.right .health-track i{left:auto;right:0}.right .health-track{transform:skew(8deg)}.health-numbers{display:flex;justify-content:space-between;font:9px var(--mono);color:#d9e3c8;margin-top:7px;text-shadow:0 1px 4px #000}.right .health-numbers{flex-direction:row-reverse}.timer-box{text-align:center;background:#12170ee8;clip-path:polygon(8% 0,92% 0,100% 85%,90% 100%,10% 100%,0 85%);padding:4px 0 10px;height:max-content}.timer-box>span{font:400 46px/.98 var(--display);color:var(--paper)}.timer-box small{font:7px var(--mono);color:#b5c29f;display:block;margin-top:7px}.fight-bottom{position:absolute;z-index:3;bottom:3%;left:3%;right:3%;display:flex;justify-content:space-between;align-items:flex-end}.power{width:30%}.power>div:first-child{font:8px var(--mono);display:flex;justify-content:space-between;margin-bottom:7px;text-shadow:0 2px 3px #000;letter-spacing:.6px}.power b{color:var(--orange);font-weight:400}.power-track{height:11px;background:#0e180edf;border:1px solid #7b8667;position:relative}.power-track>i{display:block;height:100%;background:var(--orange);transition:width .2s}.power-track>span{height:100%;width:1px;background:#fff9;position:absolute;left:60%;top:0}.power.ready .power-track{box-shadow:0 0 12px #ff783e70;border-color:var(--orange)}.power.ready b{animation:ready 1s infinite alternate}.power.right .power-track>i{margin-left:auto}.power.right .power-track>span{left:40%}.pause-button{font:18px var(--mono);background:#11180ebf;padding:9px 14px;color:#dae4c9}.pause-button span{font-size:8px;vertical-align:middle}.announcement{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;z-index:5;pointer-events:none;text-shadow:5px 6px 0 #0007}.announcement>span{font:11px var(--mono);letter-spacing:5px;color:var(--paper);margin-bottom:6px}.announcement>strong{font:400 clamp(50px,10vw,140px)/1 var(--display);color:var(--orange);font-style:italic;transform:rotate(-3deg);animation:announce .25s ease-out}.training-tools{position:absolute;top:21%;left:3%;z-index:4;font:8px var(--mono);background:#102018cc;padding:9px;display:flex;gap:15px;align-items:center}.training-tools>span{color:#b4c996}.training-tools button{font:8px var(--mono);color:var(--orange)}.result{display:flex;flex-direction:column;justify-content:center;padding-left:7%;background:linear-gradient(90deg,#0c140ef7,#0c140ede 45%,#0c140e22 90%)}.result h2{font:400 clamp(35px,5vw,74px)/1 var(--display);margin:20px 0 12px}.result p{font:13px var(--mono);color:#b4c3a6}.score-final{font:400 55px var(--display);color:var(--paper);margin:5px 0 20px}.score-final span{color:#79896d;font-size:24px;margin:0 13px}.result-actions{display:flex;gap:15px;align-items:center}.secondary{border:1px solid #647451;font:9px var(--mono);padding:20px;color:#c3d1b5}.touch-controls{display:none;justify-content:space-between;gap:20px;padding:15px 0;touch-action:none;user-select:none}.dpad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,39px);gap:4px}.dpad button{background:#26321f;border:1px solid #566943;font-size:18px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1;grid-row:2}.dpad button:nth-child(3){grid-column:2;grid-row:2}.dpad button:nth-child(4){grid-column:3;grid-row:2}.attack-pad{display:grid;grid-template-columns:repeat(2,minmax(62px,1fr));gap:5px}.attack-pad button{font:9px var(--mono);background:#303624;border:1px solid #596645;padding:10px}.attack-pad button.special-touch{background:var(--orange);border-color:var(--orange);color:#10180f}.touch-controls button.pressed{filter:brightness(1.8);transform:scale(.95)}dialog{background:#171e15;color:var(--paper);border:1px solid #536142;max-width:min(580px,90vw);width:580px;padding:36px;box-shadow:0 30px 150px #000a}dialog::backdrop{background:#050904c9;backdrop-filter:blur(7px)}.modal-close{position:absolute;right:16px;top:10px;font-size:30px;color:#a2b18e}.modal-title{font:400 38px var(--display);margin:12px 0 23px}.modal-copy{font:12px/1.8 Arial;color:#b7c5a9}.control-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 25px;margin:20px 0}.control-list>div{font:10px var(--mono);color:#d0dbc1;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #35472c;padding:8px 0;gap:6px}.control-list kbd{margin-left:0}.control-list span{font-size:9px}.settings-row{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #38452d;padding:16px 0;font:12px var(--mono)}.settings-row input{accent-color:var(--orange);max-width:160px}.settings-row select{background:#293321;color:var(--paper);padding:8px;border:1px solid #596b47}.modal-actions{display:flex;flex-direction:column;gap:12px}.modal-actions button{justify-content:center}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:20;background:var(--orange);color:#13190e;padding:13px 20px;box-shadow:0 8px 30px #0006;font:11px var(--mono);max-width:90vw}.arena:fullscreen{width:100vw;height:100vh;border:0}.arena:fullscreen .home h1{font-size:7.5vw}@keyframes ready{to{color:#fff4bc}}@keyframes announce{from{transform:scale(1.5) rotate(-6deg);opacity:0}to{transform:scale(1) rotate(-3deg);opacity:1}}@media(min-width:1600px){.home-copy{top:12%}.home h1{font-size:105px}.roster{max-height:310px}}@media(max-width:1100px){.topbar{height:66px;margin:0 22px}main{margin-top:20px;padding:0 22px}.home h1{font-size:7vw;margin:18px 0 12px}.home-actions{margin-top:18px;max-width:285px}.primary{padding:14px 16px;min-height:45px;font-size:10px}.home-copy{top:8%}.intro-copy{font-size:11px}.text-button{margin-top:13px}.secondary-actions button{padding:14px 0;font-size:8px}.home .eyebrow{font-size:7px}.page-footer{padding:0 22px}.selection{padding:2% 3%}.select-heading h2{margin-bottom:9px}.player-tabs{margin-bottom:9px}.selection-bottom{gap:15px;margin:10px 0}.fighter-info p{font-size:10px}.fighter-info h3{font-size:20px}.fighter-stats{margin-top:7px}.fighter-stats .stat{font-size:6px}.stages{margin-top:7px}.select-footer{padding-top:6px}.select-footer .primary{min-height:34px;padding:10px 16px}.card-name{padding:20px 8px 8px}.timer-box>span{font-size:38px}.hud{grid-template-columns:1fr 65px 1fr;gap:10px}.health-track{height:15px}.round-dots{font-size:17px}.power>div:first-child{font-size:7px}.fighter-heading{margin-bottom:5px}.health-numbers{font-size:8px}}@media(pointer:coarse){.touch-controls:not(.hidden){display:flex}}@media(max-width:740px){.topbar{margin:0 14px;height:59px}.brand{font-size:13px;gap:8px}.brandmark{width:29px;height:29px;font-size:21px}.topbar nav{gap:5px}.status{display:none}main{padding:0 12px;margin-top:13px}.arena{aspect-ratio:auto;height:610px}.arena.battling{height:auto;aspect-ratio:16/10}.arena.selecting{height:750px}.home-copy{left:7%;right:7%;top:7%;width:86%}.home{background:linear-gradient(90deg,#10150fdd,#10150f60),linear-gradient(0deg,#10150fcc,transparent)}.home h1{font-size:65px;margin-top:24px}.home .eyebrow{font-size:7px;letter-spacing:1px}.intro-copy{font-size:12px}.home-actions{max-width:300px;margin-top:25px}.home .primary{min-height:48px}.hero-label{right:7%;bottom:11%;width:75%}.hero-label strong{font-size:25px}.hero-label .tiny{font-size:7px}.home-bottom{font-size:6px;left:7%;right:7%}.underbar{font-size:8px;height:51px}.underbar #footerHelp{display:none}.page-footer{margin-top:17px;padding:0 14px;font-size:6px}.page-footer>span:nth-child(2){display:none}.select-heading h2{font-size:30px;margin:10px 0 15px}.selection{padding:6% 5% 4%}.select-heading .eyebrow{font-size:8px}.back-button{font-size:7px}.player-tabs{gap:14px}.player-tabs button{font-size:7px;min-width:0;flex:1}.player-tabs b{display:block;margin:6px 0 0;font-size:10px}.roster{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,150px);max-height:310px;flex:none}.card-name strong{font-size:18px}.card-name small{font-size:6px}.selection-bottom{display:block;margin-top:16px}.fighter-info .eyebrow{font-size:8px}.fighter-info p{font-size:11px}.fighter-stats{float:right;margin-top:-34px}.fighter-info p{max-width:65%}.stage-picker{margin-top:17px}.stage-picker .tiny{font-size:7px}.stage-card{min-height:65px}.stage-card span{font-size:7px}.select-footer{margin-top:auto;padding-top:12px}.select-footer>span{font-size:6px;width:100px;line-height:1.7}.select-footer .primary{min-height:42px;font-size:9px}.hud{top:5%;left:3%;right:3%;grid-template-columns:1fr 38px 1fr;gap:7px}.fighter-heading{gap:4px}.fighter-heading strong{font-size:13px}.player-tag{font-size:6px;padding:2px}.round-dots{font-size:11px;letter-spacing:1px}.health-track{height:9px}.health-track i{top:1px;bottom:1px}.health-numbers{font-size:6px;margin-top:4px}.timer-box{padding:2px 0 5px}.timer-box>span{font-size:25px}.timer-box small{font-size:5px;letter-spacing:0;margin-top:3px}.power{width:36%}.power>div:first-child{font-size:5px;letter-spacing:0;margin-bottom:4px}.power-track{height:7px}.pause-button{font-size:13px;padding:4px 7px}.pause-button span{display:none}.announcement>strong{font-size:47px}.announcement>span{font-size:7px;letter-spacing:2px}.training-tools{top:24%;padding:5px;gap:7px;font-size:5px}.training-tools button{font-size:6px}.training-tools>span{max-width:70px}.result{padding:6%}.result h2{font-size:27px;margin:8px 0}.result .eyebrow{font-size:6px}.result p{font-size:8px;margin:4px 0}.score-final{font-size:24px;margin:3px 0 8px}.result-actions{gap:7px}.result-actions button{font-size:7px;padding:9px;min-height:29px}.result-actions .primary span{font-size:13px}.touch-controls:not(.hidden){display:flex}.fight-bottom{bottom:4%}dialog{padding:27px 22px}.modal-title{font-size:29px}.control-list{gap:7px 12px}.control-list>div{font-size:8px}.control-list kbd{width:17px;height:19px;font-size:9px;margin-right:2px}.settings-row{font-size:10px}}@media(max-height:560px) and (min-width:741px){.topbar{height:45px}main{margin-top:10px;max-width:960px}.page-footer{display:none}.underbar{height:35px}.arena{max-height:calc(100vh - 110px);width:auto;margin:auto}.home-copy{top:7%}.home h1{font-size:51px}.home-actions{margin-top:12px}.home .eyebrow{font-size:6px}.text-button{margin-top:8px}.selection-bottom .fighter-info p{display:none}.selection-bottom{margin:7px 0}.fighter-stats{display:none}.select-heading h2{font-size:25px}.roster{max-height:145px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:740px){.arena:not(.battling) #game{object-fit:cover;object-position:72% center}.fighter-stats{float:none;margin-top:10px}.fighter-info p{max-width:100%}.arena.selecting{height:810px}.home{background:linear-gradient(90deg,#10150fe8,#10150f90)}}
