:root{color-scheme:dark;--ink:#090f17;--paper:#f2f2e9;--muted:#8b9baa;--orange:#ff623c;--cyan:#73efd9}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--paper);font-family:Arial,'Malgun Gothic','Apple SD Gothic Neo',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}button{border:0}button:hover{filter:brightness(1.15)}a{color:inherit;text-decoration:none}#app{position:relative;width:100%;height:100%;isolation:isolate}#scene{display:block;width:100%;height:100%;outline:0}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#050b17d9,transparent 25%,transparent 70%,#050b1788),radial-gradient(ellipse at center,transparent 40%,#02060d55)}.topbar{position:absolute;top:0;left:0;right:0;height:88px;padding:25px 3.2%;display:flex;justify-content:space-between;align-items:center;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand svg{width:30px;height:30px;fill:none;stroke:var(--orange);stroke-width:2}.brand>span{font-size:22px;font-weight:900;letter-spacing:-1px}.brand-small{font-size:8px;letter-spacing:2px;display:block;margin-top:2px;font-weight:600}.top-right{display:flex;align-items:center;gap:10px}.location{font-size:9px;letter-spacing:2px;margin-right:20px;color:#bbc6d0}.location b{margin-left:12px;color:var(--cyan);font-variant-numeric:tabular-nums}.location i,.live-dot{display:inline-block;width:5px;height:5px;background:var(--cyan);border-radius:50%;box-shadow:0 0 12px var(--cyan);margin-right:10px}.icon-btn{background:#0b162480;border:1px solid #c0d6e325;height:31px;min-width:31px;padding:0 9px;font-size:10px;letter-spacing:1px}.menu{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#070e18f5 0%,#070e18dc 27%,#070e1855 48%,transparent 65%)}.menu-copy{position:absolute;left:5.3%;top:16%;width:min(480px,39%);pointer-events:auto}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:15px}.eyebrow>span:first-child{color:var(--orange)}.tiny-line{height:1px;width:25px;background:#677786}h1{font-size:clamp(58px,6.6vw,106px);font-weight:1000;letter-spacing:-7px;line-height:1.02;margin:23px 0 20px}h1>span{display:block;color:var(--orange)}.title-dot{color:var(--paper)}.tagline{font-size:13px;line-height:1.8;color:#a5b0bf;margin:0 0 28px}.tagline strong{font-weight:500;color:#e0e6e9}.section-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.8px;color:#bec9d1;margin-bottom:10px}.section-label>span{letter-spacing:1px;color:#6c7b89}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.fighter-card{position:relative;text-align:left;padding:12px 10px;background:#142032b3;border:1px solid #cceaff20;transition:.2s}.fighter-card.selected{background:#f2eade0b;border-color:var(--orange)}.fighter-card.selected:after{content:'';position:absolute;top:-1px;right:-1px;border-top:12px solid var(--orange);border-left:12px solid transparent}.card-no{display:block;color:#98a8b9;font:10px monospace;margin-bottom:13px}.card-no i{font:6px Arial;letter-spacing:.4px;margin-left:5px;opacity:.6}.fighter-card b{display:block;font-size:17px;letter-spacing:-.6px}.fighter-card small{display:block;font-size:8px;color:#8d9eaf;margin:6px 0 14px;white-space:nowrap}.card-skill{font-size:8px;color:var(--cyan)}.fighter-card.selected .card-no{color:var(--orange)}.difficulty{display:flex;align-items:center;gap:7px;margin:18px 0}.difficulty>span{font-size:10px;color:#8394a4;margin-right:auto}.difficulty button{padding:5px 12px;background:transparent;border:1px solid #a8bac120;font-size:10px;color:#81919f}.difficulty button.active{color:var(--paper);border-color:#8a9aa6}.start-btn{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;background:var(--orange);padding:18px 23px;font-size:20px;font-weight:800;letter-spacing:-.7px;color:#10151d;box-shadow:0 5px 40px #ff623c18;transition:.2s}.start-btn:hover{transform:translateY(-2px);box-shadow:0 5px 40px #ff623c38}.start-btn small{display:block;font-size:8px;letter-spacing:1.7px;margin-top:4px;font-weight:700}.arrow{font-size:32px;font-weight:400}.secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.secondary-actions button{background:#15213199;border:1px solid #b5ccdc26;padding:12px 10px;font-size:11px;text-align:left}.secondary-actions span{font-size:7px;letter-spacing:1px;color:#7a8c9e;float:right;margin-top:2px}.stage-caption{position:absolute;right:5%;bottom:18%;font-size:9px;letter-spacing:2px;color:var(--cyan);text-align:right}.stage-caption b{display:block;font-size:26px;letter-spacing:-1.5px;color:var(--paper);margin:9px 0}.stage-caption small{font-size:10px;letter-spacing:0;color:#92a9b9}.menu-footer{position:absolute;bottom:0;left:0;right:0;padding:22px 3.2%;border-top:1px solid #b8d5e018;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.5px;color:#8d9aa9}.menu-footer em{color:#455562;margin:0 8px}.menu-footer b{font-size:8px;letter-spacing:1.5px;margin-left:16px;font-weight:400}.hidden{display:none!important}.hud{position:absolute;inset:0;pointer-events:none}.fight-top{position:absolute;top:93px;left:4%;right:4%;display:grid;grid-template-columns:1fr 110px 1fr;gap:22px}.fighter-name{display:flex;justify-content:space-between;align-items:end;margin-bottom:10px}.fighter-name small{display:block;font-size:9px;letter-spacing:1.5px;color:var(--cyan);margin-bottom:5px}.fighter-name b{font-size:25px;letter-spacing:-1px}.right .fighter-name{text-align:right}.right .fighter-name small{color:#ffa07c}.wins{display:flex;gap:6px;padding-bottom:4px}.wins i{width:11px;height:11px;border:1px solid #cce1ea77;transform:skew(-15deg)}.wins i.won{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 14px #73efd966}.right .wins i.won{background:var(--orange);border-color:var(--orange)}.health-track{position:relative;background:#122234bb;border:1px solid #789da633;height:20px;transform:skew(-15deg);box-shadow:0 2px 8px #0008}.health-fill,.health-back{position:absolute;height:100%;width:100%;top:0;left:0;transform-origin:left;transition:transform .13s linear;background:linear-gradient(90deg,#39baa9,#96ffe6)}.health-back{background:#fff;opacity:.7;transition:transform .7s .2s}.right .health-fill{background:linear-gradient(90deg,#ffb176,#f4573d)}.right .health-fill,.right .health-back{transform-origin:right;left:auto;right:0}.hp-bottom{display:flex;justify-content:space-between;margin-top:8px;font-size:9px;letter-spacing:.4px;color:#a7bac9}.hp-bottom b{font:10px monospace;color:#deebed}.timer-box{text-align:center}.timer-box>span{display:block;font-size:9px;letter-spacing:2px;color:#b2c2d0}.timer-box b{font-size:55px;line-height:1.1;letter-spacing:-4px;font-weight:900;font-variant-numeric:tabular-nums}.timer-box small{font-size:7px;letter-spacing:2px;display:block;color:#718598;margin-top:5px}.fight-bottom{position:absolute;bottom:91px;left:4%;right:4%;display:flex;align-items:end;justify-content:space-between;gap:20px}.rage-panel{width:27%;max-width:340px}.rage-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;margin-bottom:7px;color:#b2c7d5}.rage-label b{font-size:10px;color:var(--cyan)}.rage-track{height:6px;background:#526b7b55;transform:skew(-15deg)}.rage-track>div{height:100%;background:var(--cyan);width:0;transition:width .15s}.rage-panel.ready .rage-track>div{box-shadow:0 0 18px var(--cyan);animation:energy 1s infinite alternate}.rage-panel.ready .rage-label{color:var(--cyan)}.rage-panel small{display:block;font-size:10px;margin-top:12px;color:#c5d3db}.rage-panel em{font-style:normal;font-size:8px;color:#718896;margin-left:5px}.enemy{text-align:right}.enemy .rage-track>div{background:var(--orange);margin-left:auto}.enemy .rage-label b{color:var(--orange)}.enemy small{font-size:9px;color:#889fad}.fight-tip{text-align:center;font-size:11px;color:#9db5c6;letter-spacing:2px;transition:opacity .3s}.fight-tip b{display:block;font-size:9px;letter-spacing:0;font-weight:400;margin-top:7px;color:#687e90}.quick-controls{pointer-events:auto;position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:center;gap:24px;font-size:9px;color:#92a8b9}.quick-controls button{background:none;padding:0;color:inherit;font-size:inherit}kbd{font-family:Arial,sans-serif;font-size:9px;background:#d9f5ff0a;padding:4px 5px;border:1px solid #a3bfce44;border-bottom-width:2px;color:#d5e5ee;margin-right:5px;border-radius:3px}.announcement{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;z-index:15;text-align:center}.announcement small{font-size:12px;letter-spacing:6px;color:#c6d8e5;text-shadow:0 2px 10px #000}.announcement b{font-size:clamp(70px,10vw,150px);font-weight:1000;font-style:italic;letter-spacing:-7px;line-height:1.2;text-shadow:0 4px 0 #172536,0 0 90px #000,0 0 25px #ff623c66;animation:slam .25s ease-out}.announcement span{font-size:14px;letter-spacing:2px;color:var(--cyan);text-shadow:0 0 15px #000}.announcement.orange b{color:var(--orange)}.combo{position:absolute;left:5%;top:40%;display:flex;align-items:center;gap:12px;opacity:0;transform:translateX(-10px);transition:.1s}.combo.visible{opacity:1;transform:translateX(0)}.combo>b{font-size:78px;font-weight:900;font-style:italic;color:var(--orange);letter-spacing:-5px;text-shadow:0 3px #111}.combo>span{font-size:14px;font-weight:800;font-style:italic;letter-spacing:2px}.combo small{display:block;font-size:10px;letter-spacing:0;font-style:normal;font-weight:400;margin-top:7px;color:#99acba}.float-text{position:absolute;left:50%;top:32%;transform:translateX(-50%);font-size:20px;font-weight:900;letter-spacing:2px;color:var(--cyan);text-shadow:0 3px 10px #000;opacity:0;pointer-events:none}.float-text.show{animation:floatup .85s forwards}.modal{position:absolute;inset:0;background:#030a17b8;backdrop-filter:blur(10px);z-index:40;display:flex;align-items:center;justify-content:center;padding:20px}.result-panel,.pause-panel{width:min(460px,100%);padding:40px;background:linear-gradient(145deg,#142332f5,#0a121ef5);border:1px solid #a3cad62b;box-shadow:0 30px 100px #0007}.modal h2,dialog h2{font-size:42px;letter-spacing:-2px;margin:17px 0}.modal p{font-size:13px;color:#9badbb;line-height:1.7}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:28px 0;border-top:1px solid #a6ccda25;border-bottom:1px solid #a6ccda25;padding:20px 0}.result-stats>div{text-align:center;border-right:1px solid #a6ccda20}.result-stats>div:last-child{border:0}.result-stats span{font-size:9px;display:block;color:#8ba1b1}.result-stats b{display:block;font-size:32px;margin-top:8px;color:var(--cyan)}.text-btn{display:block;background:none;margin:18px auto 0;color:#8ea6b7;font-size:12px}.pause-panel .start-btn{margin-top:30px}dialog{background:#0e1c2b;border:1px solid #c4e8f333;color:var(--paper);padding:38px;width:min(650px,90%);max-height:90vh}dialog::backdrop{background:#040b15cc;backdrop-filter:blur(6px)}.close-btn{position:absolute;right:15px;top:10px;background:none;font-size:30px;color:#8198a7}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.help-grid h3{font-size:11px;letter-spacing:2px;color:var(--cyan);margin:10px 0 20px}.help-grid p{font-size:10px;margin:14px 0;color:#bacad6}.help-note{border-top:1px solid #bfd8e526;margin:22px 0 0;padding:18px 0;font-size:11px;line-height:2.1;color:#8ea4b5}.help-note b{color:#dbe5eb;margin-right:6px}.credits{font-size:9px;line-height:1.7;color:#536d81}#hit-flash{position:absolute;inset:0;background:#c7fff2;opacity:0;pointer-events:none;z-index:2}#loading{position:absolute;inset:0;background:#080f18;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:100;transition:opacity .6s}.loader-logo{font-size:60px;font-weight:900;letter-spacing:-5px;color:var(--orange);text-align:center}.loader-logo span{display:block;font-size:9px;letter-spacing:3px;color:#a4b7c6}.loading-line{width:180px;height:2px;background:#273545;margin-top:30px;overflow:hidden}.loading-line:after{content:'';display:block;width:60px;height:100%;background:var(--orange);animation:load 1s infinite ease-in-out}#loading p{font-size:10px;color:#6f879a;margin-top:20px}.touch-controls{position:absolute;inset:auto 15px 12px;display:none;justify-content:space-between;pointer-events:none;z-index:25}.touch-controls button{background:#14263cc9;border:1px solid #cfedf943;color:#deeff8;width:44px;height:42px;border-radius:8px;font-size:12px;touch-action:none;user-select:none;pointer-events:auto}.touch-controls button:active{background:var(--orange);color:#111}.touch-dpad{display:grid;grid-template-columns:repeat(3,44px);gap:4px}.touch-dpad button:first-child{grid-column:2}.touch-dpad button:nth-child(2){grid-column:1}.touch-attacks{display:grid;grid-template-columns:repeat(3,48px);gap:4px}.touch-attacks .touch-special{background:#ff623cbf;grid-column:2 / 4;width:100%;color:#090f17}@keyframes slam{from{transform:scale(1.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes floatup{0%{opacity:0;transform:translate(-50%,15px)}15%,70%{opacity:1}100%{opacity:0;transform:translate(-50%,-18px)}}@keyframes load{0%{transform:translateX(-60px)}100%{transform:translateX(180px)}}@keyframes energy{from{opacity:.55}to{opacity:1}}@media(max-height:800px) and (min-width:851px){.menu-copy{top:14%;width:390px}h1{font-size:72px;margin:15px 0 12px}.tagline{margin-bottom:18px;font-size:12px}.fighter-card{padding:9px}.card-no{margin-bottom:8px}.fighter-card small{margin-bottom:9px}.difficulty{margin:12px 0}.start-btn{padding:14px 20px;font-size:18px}.secondary-actions button{padding:10px}.stage-caption{bottom:17%}.menu-footer{padding:16px 3.2%}}
@media(max-width:850px){.topbar{height:65px;padding:17px 4%}.location{display:none}.brand-small{font-size:6px}.brand>span{font-size:18px}.brand svg{width:25px}.menu-copy{top:15%;left:5%;width:45%}h1{font-size:64px;letter-spacing:-5px}.eyebrow{font-size:7px;letter-spacing:1px;gap:7px}.tagline{font-size:11px}.card-no i{display:none}.fighter-card{padding:9px 7px}.fighter-card b{font-size:14px}.fighter-card small{font-size:7px;white-space:normal;min-height:18px}.card-skill{font-size:7px}.menu-footer{font-size:8px}.menu-footer>span:last-child{display:none}.stage-caption{right:4%;bottom:20%}.stage-caption b{font-size:20px}.fight-top{top:78px;gap:12px;grid-template-columns:1fr 65px 1fr}.fighter-name b{font-size:19px}.timer-box b{font-size:42px}.health-track{height:16px}.fighter-name small{font-size:7px}.fight-bottom{bottom:85px}.rage-panel{width:30%}.quick-controls{gap:9px;font-size:7px}.quick-controls kbd{font-size:7px}.hp-bottom{font-size:7px}.fight-tip{font-size:9px}}
@media(pointer:coarse){.touch-controls:not(.hidden){display:flex}.quick-controls{display:none}.fight-bottom{bottom:118px}.rage-panel small{display:none}.fight-tip{display:none}}
@media(max-width:600px){.touch-controls:not(.hidden){display:flex}.quick-controls{display:none}.fight-bottom{bottom:118px}.rage-panel small{display:none}.fight-tip{display:none}}
@media(max-width:600px) and (orientation:portrait){.topbar{z-index:20}.menu{background:linear-gradient(0deg,#070e18 0%,#070e18ec 42%,transparent 80%);overflow-y:auto}.menu-copy{top:37%;width:90%;left:5%;padding-bottom:80px}h1{font-size:52px;letter-spacing:-4px;display:inline-block;line-height:1;margin:14px 0}h1>span{display:inline}.tagline{font-size:10px;display:inline-block;margin-left:14px;vertical-align:top;margin-top:15px}.eyebrow{font-size:6px}.fighter-card b{font-size:17px}.fighter-card small{min-height:0;font-size:8px}.card-no{margin-bottom:8px}.card-skill{font-size:8px}.difficulty{margin:12px 0}.start-btn{font-size:17px;padding:14px 18px}.secondary-actions button{font-size:10px;padding:11px}.stage-caption{top:26%;bottom:auto;right:6%;font-size:7px}.stage-caption b{font-size:15px}.stage-caption small{font-size:8px}.menu-footer{display:none}.fight-top{top:76px;left:3%;right:3%;gap:8px;grid-template-columns:1fr 45px 1fr}.fighter-name b{font-size:17px}.fighter-name small{font-size:6px;letter-spacing:0}.timer-box b{font-size:35px}.timer-box>span{font-size:6px;letter-spacing:0}.timer-box small{font-size:5px;letter-spacing:.5px}.wins{gap:3px}.wins i{width:7px;height:7px}.health-track{height:12px}.hp-bottom>span{display:none}.fight-bottom{bottom:125px}.rage-panel{width:42%}.combo{top:30%}.combo>b{font-size:52px}.combo>span{font-size:10px}.announcement b{font-size:70px}.announcement small{font-size:8px;letter-spacing:3px}.announcement span{font-size:11px}.modal h2,dialog h2{font-size:32px}.result-panel,.pause-panel{padding:28px}dialog{padding:25px}.help-grid{gap:12px}.help-grid p{font-size:9px}.help-grid kbd{font-size:7px}}
@media(max-height:500px) and (orientation:landscape){.topbar{height:45px;padding:10px 3%}.menu-copy{top:15%;left:4%;width:43%}.menu-copy>.eyebrow{display:none}h1{font-size:48px;display:inline-block;letter-spacing:-4px;margin:5px 0 10px}h1>span{display:inline}.tagline{display:none}.section-label{font-size:6px;margin-bottom:5px}.fighter-card{padding:7px}.fighter-card small{display:none}.card-no{font-size:8px;margin-bottom:5px}.fighter-card b{font-size:14px;margin-bottom:6px}.difficulty{margin:8px 0}.start-btn{font-size:15px;padding:9px 14px}.start-btn small{display:none}.arrow{font-size:20px}.secondary-actions{margin-top:6px}.secondary-actions button{padding:8px;font-size:9px}.menu-footer{display:none}.fight-top{top:48px}.fighter-name{margin-bottom:5px}.fighter-name b{font-size:16px}.timer-box b{font-size:34px}.fight-bottom{bottom:91px}.hp-bottom{margin-top:4px}.rage-label{font-size:7px;margin-bottom:4px}.combo{top:35%}.combo>b{font-size:48px}.stage-caption{bottom:10%}.announcement b{font-size:85px}}
