
:root{color-scheme:dark;--bg:#0e1a1f;--panel:#15252b;--line:#ffffff12;--muted:#899a9f;--text:#e7eeea;--mint:#bce0c8;--orange:#ee986d;--gold:#dfc18c;--rail:88px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#ffffff06;border-radius:8px;padding:11px 17px;transition:background .18s,transform .18s,border-color .18s}button:hover{background:#ffffff10;border-color:#ffffff35}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:4px}a{color:inherit;text-decoration:none}p{color:var(--muted)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-weight:500}h1{font-size:38px;line-height:1.2;letter-spacing:-1.3px}h2{font-size:25px;letter-spacing:-.5px}h3{font-size:19px}small{color:var(--muted);font-size:11px}button.primary{background:var(--mint);border-color:var(--mint);color:#162b23;font-weight:650}button.primary:hover{background:#d5efde}button.orange{background:var(--orange);color:#241b17;border-color:var(--orange);font-weight:650}button.ghost{border:none;background:transparent;padding:6px 0;color:var(--muted)}.wide{width:100%}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2.4px;color:var(--mint);text-transform:uppercase}.muted{color:var(--muted)}.gold{color:var(--gold)}.row{display:flex;gap:12px;align-items:center}.spread{display:flex;justify-content:space-between;align-items:center;gap:20px}.stack{display:grid;gap:16px}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #ffffff20;border-radius:20px;padding:4px 9px;font-size:10px;letter-spacing:1px}.dot{width:6px;height:6px;border-radius:50%;background:#a8d8b2;display:inline-block}.tag{display:inline-block;padding:3px 7px;background:#ffffff0a;border-radius:4px;font-size:10px;color:var(--muted);letter-spacing:1px}.divider{height:1px;background:var(--line);margin:22px 0}.boot{display:grid;place-content:center;text-align:center;min-height:100vh}.brand-mark{font:italic 800 32px Georgia;color:var(--mint);margin:auto;line-height:1}.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);background:#0b151a;border-right:1px solid var(--line);z-index:15;display:flex;flex-direction:column;align-items:center;padding:30px 8px 18px;gap:30px}.rail .brand-mark{margin:0 0 10px;border:1px solid #a3c7b442;padding:9px 15px;transform:skewY(-6deg);font-size:24px}.navitems{display:flex;flex-direction:column;gap:10px;width:100%}.navitem{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 3px;border-radius:7px;color:#768b91;font-size:10px}.navitem i{font-size:23px;line-height:1;font-style:normal}.navitem:hover{background:#ffffff05;color:var(--text)}.navitem.active{color:var(--mint);background:#bce0c80c;position:relative}.navitem.active:before{content:'';position:absolute;left:-8px;height:24px;width:2px;top:20px;background:var(--mint)}.rail-bottom{margin-top:auto}.main{margin-left:var(--rail)}.topbar{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:16px}.wordmark{font-weight:800;font-size:18px;letter-spacing:3px}.wordmark span{font-weight:300;color:#8aa5a4}.top-meta{display:flex;gap:20px;align-items:center}.currency{display:flex;gap:8px;align-items:center;font-size:13px;font-variant-numeric:tabular-nums}.currency b{font-size:16px;font-weight:500}.coin{color:var(--gold)}.gem{color:#a7dacb}.account-chip{display:flex;align-items:center;gap:10px;padding:7px 12px;border:1px solid var(--line);border-radius:7px;font-size:12px}.avatar{display:grid;place-items:center;width:30px;height:30px;background:#d6dfc01a;border:1px solid #c7d8b934;color:var(--mint);border-radius:6px;font-family:Georgia;font-size:18px}.connection{font-size:10px;color:#8faaa0}.content{padding:32px 40px 45px;max-width:1650px;margin:auto}.page-head{margin-bottom:28px}.page-head p{margin-bottom:0}.page-head h1{margin:8px 0 10px}.home-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px}.home-heading h1{margin:5px 0 0;font-size:30px}.home-heading p{margin:0}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:22px}.hero-stage{position:relative;min-height:448px;border:1px solid #8aacaa22;border-radius:12px;overflow:hidden;background:#193139}.hero-stage canvas{position:absolute;inset:0;width:100%;height:100%}.hero-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#11272de8 0%,#11272d88 39%,transparent 65%),linear-gradient(0deg,#0d232adb,transparent 35%);pointer-events:none}.stage-copy{position:relative;z-index:2;padding:38px;width:52%;pointer-events:none}.stage-copy .eyebrow{color:#c6d8c0}.stage-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:65px;font-weight:400;line-height:1.02;letter-spacing:-3px;margin:18px 0 18px;color:#e2e8d8}.stage-copy p{max-width:230px;color:#b4c4bd;font-size:12px;line-height:1.8}.stage-copy button{pointer-events:auto;margin-top:15px;font-size:12px}.stage-foot{position:absolute;bottom:25px;left:38px;right:30px;display:flex;justify-content:space-between;align-items:end;z-index:3}.stage-foot h3{margin:5px 0 0;font-size:17px}.stage-count{font-family:Georgia;font-size:28px;color:#b6c8c2}.side-panel{display:flex;flex-direction:column;gap:18px}.launch-card{border:1px solid var(--line);padding:23px;border-radius:11px;background:linear-gradient(145deg,#263a38,#172b2d)}.launch-card h2{font-size:25px;margin:10px 0 8px}.launch-card p{font-size:12px;line-height:1.8}.launch-card .primary{margin-top:17px;padding:13px}.rank-emblem{font-family:Georgia;display:grid;place-content:center;color:var(--gold);width:62px;height:62px;border:1px solid #c5a15c66;transform:rotate(45deg);margin:17px auto 26px;background:radial-gradient(#c4ab5c26,transparent)}.rank-emblem span{transform:rotate(-45deg);font-size:30px}.rank-card{border:1px solid var(--line);padding:20px;text-align:center;border-radius:10px;flex:1;background:#122127}.rank-card h3{margin:0}.rank-card p{font-size:11px;margin:4px 0 14px}.progress{height:4px;background:#ffffff0d;border-radius:3px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--mint)}.section-head{display:flex;align-items:center;justify-content:space-between;margin:30px 0 14px}.section-head h3{font-size:16px;margin:0}.section-head a,.section-head button{font-size:11px;color:var(--muted)}.home-bottom{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.pass-banner{position:relative;overflow:hidden;border:1px solid #c9ae7930;border-radius:10px;padding:25px;background:linear-gradient(115deg,#343328,#222c28 64%,#193138);min-height:156px}.pass-banner h3{font-family:Georgia;font-size:26px;margin:8px 0}.pass-banner p{font-size:11px;max-width:250px;margin-bottom:0}.pass-orbit{position:absolute;right:26px;top:15px;width:130px;height:130px;border:1px solid #c8b68755;border-radius:50%;display:grid;place-content:center;transform:rotate(-20deg)}.pass-orbit:after{content:'';position:absolute;inset:12px;border:1px solid #c8b68733;border-radius:50%}.pass-orbit span{font:65px Georgia;color:#ddce9d;text-shadow:0 0 25px #d7c77d44}.quest-item{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);gap:10px}.quest-item:first-child{padding-top:0}.quest-item h4{font-size:12px;margin:0 0 4px;font-weight:500}.quest-item small{font-size:10px}.quest-item button{font-size:11px;padding:7px 10px}.quest-icon{color:var(--mint);background:#bce0c810;padding:8px 13px;border-radius:7px}.footer{display:flex;justify-content:space-between;margin-top:35px;padding-top:18px;border-top:1px solid var(--line);font-size:10px;color:#71868e;letter-spacing:.6px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.fighter-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:linear-gradient(160deg,#1e3538,#122028);padding:0;text-align:left;min-height:330px}.fighter-card.selected{border-color:var(--mint)}.fighter-card canvas{width:100%;height:242px;display:block}.fighter-card .card-copy{padding:4px 20px 20px}.fighter-card h3{font-family:Georgia;font-size:30px;margin:5px 0}.fighter-card p{font-size:11px;margin:0}.fighter-card .tag{position:absolute;top:15px;left:15px}.check-dot{position:absolute;right:15px;top:15px;color:var(--mint)}.detail-panel{border:1px solid var(--line);border-radius:10px;padding:25px;margin-top:22px;display:grid;grid-template-columns:1fr 1.6fr;gap:30px;background:#13242a}.detail-panel h2{font-family:Georgia;font-size:32px}.detail-panel p{font-size:13px}.skills{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.skill{border-left:1px solid var(--line);padding:0 15px}.skill b{display:block;font-size:13px;margin:10px 0 7px}.skill p{font-size:11px}.key{font:11px monospace;border:1px solid #ffffff25;padding:4px 8px;border-radius:4px;color:var(--mint);background:#ffffff05}.arena-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.arena-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel);padding:0;text-align:left}.arena-card.selected{border-color:var(--mint)}.arena-card canvas{width:100%;height:200px;display:block}.arena-card .card-copy{padding:20px}.arena-card h3{margin:5px 0}.arena-card p{font-size:12px;margin:0}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mode-card{padding:25px;text-align:left;min-height:190px;border-radius:10px;background:linear-gradient(135deg,#1a3035,#14242a)}.mode-card.selected{border-color:var(--mint);background:linear-gradient(135deg,#29463f,#192e30)}.mode-icon{font-size:32px;color:var(--mint);margin-bottom:10px;display:block}.mode-card h3{margin:10px 0 6px}.mode-card p{font-size:12px;line-height:1.7;margin-bottom:0}.play-config{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:16px;align-items:end;margin-top:24px;padding:23px;border:1px solid var(--line);border-radius:10px;background:#14252b}label{display:block;color:var(--muted);font-size:12px}input,select{width:100%;background:#0d1e24;border:1px solid #ffffff20;color:var(--text);padding:12px;border-radius:7px;margin-top:6px;outline:none}select{cursor:pointer}.notice{padding:13px 16px;border:1px solid #bce0c826;border-radius:7px;background:#bce0c808;color:#b8c9c4;font-size:12px;line-height:1.8}.notice.warn{border-color:#dfc18c33;color:#d6c19b;background:#dfc18c08}.account-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{border:1px solid var(--line);border-radius:10px;padding:26px;background:#132329}.panel h3{margin-bottom:8px}.panel p{font-size:12px}.form{display:grid;gap:16px}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0;gap:15px}.stat{border-left:1px solid var(--line);padding-left:15px}.stat strong{display:block;font-size:25px;font-weight:400}.stat small{font-size:10px}.tabs{display:flex;gap:6px;margin:22px 0}.tabs button{padding:9px 17px;border:0;color:var(--muted)}.tabs button.active{background:#bce0c813;color:var(--mint)}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.skin-card{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:radial-gradient(at 50% 25%,#314b48,#142329 65%)}.skin-card canvas{width:100%;height:230px;display:block}.skin-card .card-copy{padding:20px}.skin-card h3{margin:5px 0 16px}.skin-card .eyebrow{position:absolute;top:20px;left:20px;font-size:9px}.skin-card button{font-size:12px}.pass-hero{position:relative;min-height:250px;border:1px solid #c9ae7930;border-radius:10px;background:linear-gradient(110deg,#31362a,#1d3030);padding:34px;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:30px}.pass-hero h2{font:46px Georgia;margin:14px 0}.pass-hero p{max-width:470px;font-size:13px}.pass-hero .pass-orbit{position:relative;flex-shrink:0;right:0;top:0;width:160px;height:160px}.pass-hero .primary{background:var(--gold);border-color:var(--gold)}.pass-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.tier{background:#14252b;border:1px solid var(--line);border-radius:9px;padding:15px}.tier.unlocked{border-color:#a7d4b955}.tier-head{display:flex;justify-content:space-between;margin-bottom:15px;font-size:12px}.reward{border:1px solid var(--line);border-radius:6px;text-align:center;padding:15px 6px;margin-top:9px}.reward.premium{border-color:#d9be7933;background:#d9be7905}.reward .symbol{font-size:25px;color:var(--gold)}.reward b{display:block;font-size:11px;font-weight:500;margin:4px 0}.reward button{font-size:10px;padding:5px 12px;margin-top:8px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:15px;border-bottom:1px solid var(--line);font-size:12px}.table th{color:var(--muted);font-size:10px;font-weight:400;letter-spacing:1px}.empty{text-align:center;padding:55px 20px;color:var(--muted);border:1px dashed #ffffff18;border-radius:10px}.empty b{display:block;color:var(--text);margin:10px;font-size:18px}.waiting{text-align:center;max-width:620px;margin:30px auto}.room-code{font:48px monospace;letter-spacing:12px;color:var(--mint);margin:25px}.pulse{width:90px;height:90px;border:1px solid #bce0c844;border-radius:50%;display:grid;place-items:center;margin:20px auto;animation:pulse 2s infinite}.pulse span{font-size:35px;color:var(--mint)}@keyframes pulse{50%{box-shadow:0 0 0 18px #bce0c805}}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);max-width:90vw;background:#dae9de;color:#18302c;box-shadow:0 5px 35px #0005;border-radius:8px;padding:13px 22px;z-index:90;font-size:13px;transition:.25s;pointer-events:none}#toast.show{transform:translateX(-50%) translateY(0)}.modal-overlay{position:fixed;inset:0;background:#061116bc;backdrop-filter:blur(8px);z-index:80;display:grid;place-items:center;padding:20px}.modal{max-width:500px;width:100%;background:#192b31;border:1px solid #ffffff22;border-radius:14px;padding:30px;max-height:90vh;overflow:auto}.modal h2{font-family:Georgia;font-size:31px}.modal p{line-height:1.8}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.game-shell{position:fixed;inset:0;z-index:30;background:#0b1921;display:flex;flex-direction:column}.battle-canvas{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}.battle-top{position:absolute;left:4%;right:4%;top:25px;display:grid;grid-template-columns:1fr 100px 1fr;gap:25px;align-items:start;pointer-events:none}.fighter-hud{background:#0b2029a8;border:1px solid #adc8c421;padding:13px 16px;border-radius:8px;backdrop-filter:blur(8px)}.fighter-hud.right{text-align:right}.hp{height:10px;background:#f0d6c81a;border-radius:3px;overflow:hidden;margin:8px 0}.hp span{display:block;height:100%;background:linear-gradient(90deg,#79a99a,#c5e3c3);transition:width .09s}.right .hp span{margin-left:auto;background:linear-gradient(90deg,#f2c795,#c78c72)}.energy{height:3px;background:#ffffff14}.energy span{display:block;height:100%;background:var(--gold)}.hud-name{font-size:12px;font-weight:600}.hud-sub{display:flex;justify-content:space-between;font-size:10px;color:#a6b9b8}.timer{text-align:center;font:36px Georgia;color:#f1e9d2}.timer small{display:block;font:9px sans-serif;letter-spacing:2px;margin-bottom:4px}.round-pips{font-size:12px;letter-spacing:5px;color:var(--gold)}.battle-bottom{position:absolute;bottom:20px;left:4%;right:4%;display:flex;justify-content:space-between;align-items:end;gap:15px}.battle-help{background:#0b2029b0;padding:13px 18px;border-radius:8px;font-size:11px;color:#afc5c4;line-height:2}.battle-help .key{font-size:10px;padding:3px 5px}.battle-skills{display:flex;gap:8px}.battle-skills button{min-width:70px;background:#0b2029c9;padding:10px;font-size:10px;position:relative}.battle-skills b{display:block;color:var(--mint);font-size:14px;margin-bottom:3px}.battle-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none;text-shadow:0 3px 20px #000}.battle-center h2{font:56px Georgia;letter-spacing:2px;color:#e3e8d1;margin:0}.battle-center p{color:#dae4de}.game-menu{position:absolute;right:18px;top:145px;background:#10242bd9}.touch-controls{display:none;position:absolute;bottom:18px;left:18px;right:18px;justify-content:space-between;align-items:end;pointer-events:none}.touch-controls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;background:#0a1c2588;border:1px solid #ffffff45;min-width:48px;height:48px;padding:8px;font-size:11px}.touch-dpad,.touch-actions{display:flex;gap:7px;align-items:end}.touch-actions{display:grid;grid-template-columns:repeat(4,48px)}.touch-controls .attack{background:#bce0c83b}.result-overlay{position:absolute;inset:0;background:#07161ab5;backdrop-filter:blur(8px);display:grid;place-items:center}.result-card{width:min(520px,90%);border:1px solid #b9d6bc3d;background:#142a2eef;border-radius:15px;text-align:center;padding:38px}.result-card h1{font:45px Georgia;color:var(--mint);margin:20px 0}.result-card p{font-size:13px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:19px 0;border-bottom:1px solid var(--line);gap:15px}.settings-row input[type=checkbox]{width:20px;height:20px}.settings-row label{color:var(--text)}.controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.control-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.mobile-only{display:none}
@media(min-width:1600px){.hero-stage{min-height:500px}.stage-copy{padding:45px}.stage-copy h2{font-size:78px}}
@media(max-width:1200px){.content{padding:26px}.topbar{padding:0 26px}.home-grid{grid-template-columns:1fr 250px}.stage-copy{padding:28px;width:58%}.stage-copy h2{font-size:56px}.home-bottom{grid-template-columns:1fr 1fr}.pass-orbit{right:5px;opacity:.6}.play-config{grid-template-columns:1fr 1fr}.cards{gap:12px}.fighter-card canvas{height:200px}.fighter-card{min-height:290px}.pass-track{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){:root{--rail:70px}.rail{padding-top:22px}.topbar{height:75px}.top-meta{gap:12px}.topbar .connection{display:none}.home-grid{grid-template-columns:1fr}.side-panel{display:grid;grid-template-columns:1fr 1fr}.rank-card{padding:15px}.rank-emblem{float:left;margin:27px 24px 15px 10px;width:48px;height:48px}.hero-stage{min-height:410px}.home-bottom{grid-template-columns:1fr}.mode-grid{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.fighter-card canvas{height:210px}.detail-panel{grid-template-columns:1fr}.shop-grid{grid-template-columns:repeat(2,1fr)}.account-layout{grid-template-columns:1fr}.pass-track{grid-template-columns:repeat(3,1fr)}.battle-help{display:none}.battle-bottom{bottom:135px}.touch-controls{display:flex}.battle-top{top:15px;gap:12px;grid-template-columns:1fr 60px 1fr}.fighter-hud{padding:8px}.timer{font-size:26px}}
@media(max-width:600px){:root{--rail:0px}.rail{inset:auto 0 0;width:100%;height:65px;padding:4px 6px;flex-direction:row;border-top:1px solid var(--line);gap:0}.rail>.brand-mark,.rail-bottom{display:none}.navitems{flex-direction:row;justify-content:space-around;gap:0}.navitem{font-size:9px;padding:7px;flex:1;gap:5px}.navitem i{font-size:20px}.navitem.active:before{inset:auto 35% -4px;height:2px;width:30%}.topbar{padding:0 18px;height:69px}.wordmark{font-size:14px;letter-spacing:2px}.wordmark span{display:none}.top-meta{gap:10px}.account-chip{padding:4px;border:0}.account-chip .name{display:none}.currency{font-size:11px;gap:4px}.currency b{font-size:12px}.content{padding:23px 18px 90px}.home-heading h1{font-size:24px}.home-heading>p{display:none}.hero-stage{min-height:420px}.stage-copy{padding:26px;width:70%}.stage-copy h2{font-size:53px}.stage-copy p{max-width:175px;font-size:11px}.stage-foot{left:26px;bottom:23px}.side-panel{grid-template-columns:1fr}.rank-card{display:none}.launch-card{padding:20px}.launch-card h2{font-size:23px}.launch-card p{margin:0}.launch-card .primary{margin-top:15px}.home-bottom{gap:0}.pass-banner{padding:22px}.pass-orbit{right:12px}.page-head h1{font-size:31px}.cards{gap:10px}.fighter-card canvas{height:185px}.fighter-card .card-copy{padding:4px 13px 16px}.fighter-card h3{font-size:27px}.fighter-card .tag{font-size:8px;left:10px;top:10px}.detail-panel{padding:20px}.skills{grid-template-columns:1fr}.skill{padding:12px;border-left:0;border-top:1px solid var(--line)}.skill b{display:inline;margin-left:10px}.skill p{margin:10px 0 0}.arena-grid{grid-template-columns:1fr}.mode-grid{gap:10px}.mode-card{padding:16px;min-height:185px}.mode-card h3{font-size:17px}.mode-card .eyebrow{font-size:8px;letter-spacing:1px}.mode-card p{font-size:11px}.play-config{padding:16px;gap:12px}.play-config>.primary{grid-column:1/-1}.shop-grid{gap:11px}.skin-card canvas{height:175px}.skin-card .card-copy{padding:13px}.skin-card h3{font-size:16px;min-height:47px;margin-bottom:5px}.skin-card .eyebrow{font-size:7px;left:12px;top:12px}.skin-card .spread{flex-direction:column;align-items:stretch;gap:8px}.pass-hero{padding:23px}.pass-hero h2{font-size:37px}.pass-hero .pass-orbit{display:none}.pass-track{grid-template-columns:repeat(2,1fr);gap:10px}.tier{padding:12px}.panel{padding:21px}.controls-grid{grid-template-columns:1fr}.footer{font-size:8px}.modal{padding:23px}.table th,.table td{padding:10px;font-size:10px}.battle-top{left:10px;right:10px;grid-template-columns:1fr 44px 1fr;gap:7px}.hud-name{font-size:10px}.hud-sub{font-size:8px}.battle-skills{display:none}.game-menu{top:120px;font-size:10px;padding:6px 10px}.touch-actions{grid-template-columns:repeat(3,43px)}.touch-controls button{min-width:43px;height:43px;font-size:10px}.touch-controls{bottom:25px;left:10px;right:10px}.touch-dpad{gap:5px}.battle-center h2{font-size:30px}.result-card{padding:25px}.result-card h1{font-size:35px}}
@media(pointer:coarse){.touch-controls{display:flex}.battle-help{display:none}.battle-bottom{bottom:140px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Art direction v2: shadow warriors, elemental energy, dark fantasy. */
:root{--bg:#101014;--panel:#19191f;--line:#ffffff16;--muted:#9a989f;--text:#efeeeb;--mint:#edc98c;--orange:#ee593c;--gold:#f4bb50}
body{background:radial-gradient(ellipse at 70% 0,#2e1d1c88,transparent 50%),#101014}.rail{background:#0b0b0e}.brand-mark{color:#ee5138}.topbar{background:#101014a8}.wordmark{font-style:italic;font-weight:900;letter-spacing:1px}.wordmark span{color:#ee5138;font-weight:900}.navitem.active{background:#f08c530c;color:#f4c487}.navitem.active:before{background:#ee593c}.avatar{background:#f39b4420;border-color:#f3aa4440;color:#ffd189}.hero-stage{background:#211b25;border-color:#dcaf662a;min-height:460px}.hero-stage:after{background:linear-gradient(90deg,#090a11eb 0%,#090a1199 33%,transparent 75%),linear-gradient(0deg,#0a0a10d9,transparent 40%)}.stage-copy{width:58%;padding:36px}.stage-copy h2{font-family:Impact,"Arial Narrow",sans-serif;font-style:italic;font-weight:900;font-size:62px;line-height:1.05;letter-spacing:-1px;color:#fff4da;text-shadow:0 3px 18px #0009}.stage-copy p{color:#c5beb7}.stage-copy .pill{font-size:8px;letter-spacing:1.5px}.stage-copy button{border-color:#ffbe7255;background:#130e1199}.launch-card{background:linear-gradient(140deg,#392721,#1a171e);border-color:#d49b4830}.launch-card .primary{background:#ed633e;border-color:#ed633e;color:white}.rank-card{background:linear-gradient(#211d1d,#15141a);border-color:#d49b4820}.pass-banner{background:linear-gradient(110deg,#352612,#1e1b23)}.fighter-card{background:radial-gradient(ellipse at 50% 38%,#3b283677,transparent 60%),#15151c;min-height:385px;border-radius:4px}.fighter-card canvas{height:290px}.fighter-card h3{font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.5px;text-transform:uppercase;font-size:33px}.fighter-card .eyebrow{letter-spacing:1.3px}.fighter-card.selected{border-color:#ffc257;box-shadow:0 0 20px #ffb84f13}.detail-panel,.panel{background:#17171f}.skill{border-color:#ffffff14}.mode-card{background:linear-gradient(140deg,#262029,#15161d);border-radius:5px}.mode-card.selected{background:linear-gradient(135deg,#48271e,#211a20);border-color:#e9a15d}.mode-icon{color:#f4c487}.play-config{background:#19171e}.notice{background:#e8c08407;border-color:#e8c08426;color:#c5bba8}input,select{background:#100f16}.skin-card{background:radial-gradient(ellipse at 50% 35%,#43304b77,#16151e 70%);border-radius:5px}.skin-card canvas{height:270px}.skin-card h3{font-size:19px}.pass-hero{background:radial-gradient(at 85% 50%,#64462577,transparent 45%),linear-gradient(110deg,#2f2119,#18151f)}.tier{background:#18171f}.pass-hero h2{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;font-style:italic}.modal{background:#1c1a24}.battle-top{top:18px;left:3%;right:3%;grid-template-columns:1fr 110px 1fr;gap:16px}.fighter-hud{position:relative;border:0;border-radius:0;background:linear-gradient(90deg,#09080cdd,#0b091388);padding:10px 16px 10px 65px;min-height:90px;clip-path:polygon(0 0,94% 0,100% 100%,0 100%)}.fighter-hud.right{padding:10px 65px 10px 16px;background:linear-gradient(270deg,#09080cdd,#0b091388);clip-path:polygon(6% 0,100% 0,100% 100%,0 100%)}.fighter-hud:before{content:'✦';position:absolute;left:10px;top:14px;border:2px solid #ffb24f;color:#ffb24f;width:40px;height:48px;display:grid;place-content:center;font-size:32px;transform:skew(-8deg);box-shadow:0 0 15px #ffa32b33}.fighter-hud.right:before{left:auto;right:10px;color:#77c7ff;border-color:#77c7ff;box-shadow:0 0 15px #75c4ff33}.hp{height:17px;background:#81757044;border-radius:0;transform:skew(15deg);margin:6px 0}.hp span{background:linear-gradient(90deg,#ec8428,#d63823)}.right .hp span{background:linear-gradient(90deg,#226fcb,#54b9f4)}.hud-name{text-transform:uppercase;font-weight:800;font-size:15px;letter-spacing:1px}.hud-sub{color:#d2ced2}.energy{background:#ffffff22;height:3px}.timer{font:italic 700 49px Impact,"Arial Narrow",sans-serif;color:white;line-height:1.1}.timer small{color:#eae5e3;font-size:10px}.round-pips{color:#ffcf74}.battle-help{background:#08060fbb;border:1px solid #dfb78322;color:#d0c1b9}.battle-skills button{border-radius:50%;width:80px;height:80px;background:radial-gradient(#412714,#110d16);border:2px solid #d4a66b;color:#f4d6a4;box-shadow:0 0 13px #f09c3522;padding:9px;font-size:9px}.battle-skills b{color:#ffe0a3}.battle-skills button:last-child{width:98px;height:98px;border-color:#ffbd58;box-shadow:0 0 20px #f09c3544;background:radial-gradient(#814216,#190d0f)}.battle-bottom{align-items:end}.game-menu{background:#0c0912ab;border-radius:50%;width:43px;height:43px;font-size:0;top:128px}.game-menu:after{content:'Ⅱ';font-size:19px}.battle-center h2{font-family:Impact,"Arial Narrow",sans-serif;font-style:italic;font-weight:700;color:#fff2dc}.result-card{background:#15101dec;border-color:#d9a35260}.result-card h1{font-family:Impact,"Arial Narrow",sans-serif;font-style:italic;color:#ffd595}.touch-controls button{border-radius:50%;background:radial-gradient(#432810b3,#100c18c9);border-color:#dcad6eaa;box-shadow:0 0 9px #d68d2920}.touch-controls .attack{background:radial-gradient(#ac641c99,#2d122cbb);border-color:#ffe1a2}.portrait-hint{display:none;position:absolute;left:0;right:0;top:135px;text-align:center;font-size:10px;color:#f9d7aa;pointer-events:none}.combo-display{position:absolute;left:5%;top:27%;color:#ffbd43;transform:rotate(-7deg);font:italic 600 47px Impact,sans-serif;text-shadow:3px 3px #000,0 0 18px #e56415aa;pointer-events:none}.combo-display small{display:block;color:#fff5e8;font-size:20px;letter-spacing:2px}.arena-card{background:#181820}.arena-card.selected{border-color:#eebd78}
@media(max-width:1200px){.stage-copy h2{font-size:50px}.stage-copy{padding:28px}.fighter-card canvas{height:240px}.fighter-card{min-height:335px}}
@media(max-width:900px){.fighter-card canvas{height:260px}.battle-top{grid-template-columns:1fr 70px 1fr}.timer{font-size:36px}.fighter-hud{padding:7px 10px 7px 48px}.fighter-hud.right{padding:7px 48px 7px 10px}.fighter-hud:before{width:29px;height:40px;left:8px;font-size:24px}.fighter-hud.right:before{right:8px}.hud-name{font-size:11px}.hp{height:12px}.battle-skills button{width:58px;height:58px;min-width:58px}.battle-skills button:last-child{width:67px;height:67px}.battle-bottom{bottom:122px}.hero-stage{min-height:430px}}
@media(max-width:600px){.hero-stage{min-height:415px}.stage-copy{width:77%;padding:26px}.stage-copy h2{font-size:40px;max-width:260px}.stage-copy .pill{font-size:6px;letter-spacing:1px}.fighter-card canvas{height:215px}.fighter-card{min-height:315px}.fighter-card h3{font-size:27px}.skin-card canvas{height:190px}.battle-top{grid-template-columns:1fr 45px 1fr;gap:6px;left:8px;right:8px}.fighter-hud{padding:8px;min-height:72px}.fighter-hud.right{padding:8px}.fighter-hud:before{display:none}.hud-name{font-size:10px}.timer{font-size:29px}.combo-display{font-size:33px}.combo-display small{font-size:14px}}
@media(orientation:portrait){.portrait-hint{display:block}}
.fullscreen-button{position:absolute;right:18px;top:178px;border-radius:50%;width:43px;height:43px;background:#0c0912ab;font-size:22px;padding:0;border-color:#ffffff30}
@media(max-width:600px){.wordmark{font-size:13px}.wordmark span{display:inline}.fullscreen-button{top:177px;width:35px;height:35px;right:22px}}
.mastery-banner{display:grid;grid-template-columns:1fr 240px;gap:40px;align-items:center}.mastery-banner h2{margin:10px 0 20px}.command-list{display:grid;gap:14px}.command-card{display:grid;grid-template-columns:65px 1fr 200px;align-items:center;gap:22px;padding:25px;border:1px solid #d3ad5b24;border-radius:8px;background:linear-gradient(110deg,#29201c,#17151e)}.command-level{font:italic 48px Impact,sans-serif;color:#a3874f}.command-card h3{margin:9px 0}.command-card p{font-size:12px;margin:8px 0}.command-card .pill{font-size:9px}.command-notation{font:600 24px ui-monospace,monospace;letter-spacing:3px;color:#ffdc9e}.training-panel{position:absolute;top:135px;left:3%;width:330px;background:#0b0913cf;border:1px solid #d2a44a50;border-radius:7px;padding:13px;backdrop-filter:blur(7px)}.training-panel .eyebrow{font-size:9px}.training-panel .ghost{font-size:10px}.training-panel select{font-size:11px;padding:6px}.training-panel .command-notation{font-size:20px;margin-top:10px}.training-panel #drill-status{font-size:11px;color:#d6c79c;margin-top:5px}.training-panel small{font-size:9px}.input-trace{font:11px monospace;color:#90d5f4;min-height:20px;margin-top:8px}.tech-message{position:absolute;top:48%;left:0;right:0;text-align:center;font:italic 27px Impact,sans-serif;color:#ffdf8b;pointer-events:none;text-shadow:0 2px 5px #000}.tech-message.locked{font:13px sans-serif;color:#ffb7a6;top:44%}.performance-readout{position:absolute;left:3%;bottom:112px;font:9px monospace;color:#d2c8bb;pointer-events:none}.touch-dpad{align-items:center}.touch-dpad button[data-control=down]{margin-top:30px}.battle-help{font-size:10px}
@media(max-width:900px){.training-panel{top:118px;width:280px;padding:9px}.training-panel .command-notation{font-size:16px}.training-panel small{display:none}.performance-readout{bottom:195px}.command-card{grid-template-columns:40px 1fr;gap:15px}.command-card>.stack{grid-column:2;grid-template-columns:1fr 1fr}.mastery-banner{grid-template-columns:1fr 180px}.training-panel .input-trace{font-size:9px}.training-panel #drill-status{font-size:9px}}
@media(max-width:600px){.mastery-banner{grid-template-columns:1fr;gap:15px}.command-card{padding:15px;gap:12px;grid-template-columns:32px 1fr}.command-level{font-size:35px}.command-card>.stack{grid-template-columns:1fr}.command-notation{font-size:18px;letter-spacing:1px}.training-panel{top:158px;width:260px;left:10px}.training-panel .command-notation{margin-top:5px}.tech-message{font-size:20px;top:52%}.tech-message.locked{font-size:11px;top:50%}.navitem{padding:7px 3px;font-size:8px}}
@media(orientation:landscape) and (max-height:500px){.training-panel{top:102px;left:12px;width:240px}.training-panel .spread,.training-panel small{display:none}.training-panel select{padding:3px;font-size:10px}.training-panel .command-notation{font-size:15px}.training-panel .input-trace{margin:3px 0}.battle-top{top:8px}.fighter-hud{min-height:70px}.touch-controls{bottom:10px}.performance-readout{bottom:148px}.battle-bottom{display:none}}
.skin-description{font-size:11px;line-height:1.5;color:var(--muted);min-height:34px;margin:7px 0 12px}.settings-row input[type=range]{width:180px;accent-color:#d9ba76}.battle-canvas:focus{outline:none}.training-panel select{max-width:100%}
.skin-preview{display:block;width:100%;height:300px;border:1px solid #655039;margin:12px 0;border-radius:8px}.skin-preview-button{font-size:11px;padding:4px 0;color:#d9ba76}.modal input[type=range]{width:100%;accent-color:#d9ba76}
.audio-status{position:absolute;left:3%;bottom:128px;font:9px ui-monospace,monospace;color:#cbb887aa;pointer-events:none}@media(max-width:900px){.audio-status{bottom:142px;font-size:8px}}
@media(max-height:500px){.training-panel .spread{display:flex!important;margin-bottom:4px}.training-panel .spread .eyebrow{display:none}.training-panel .spread button{padding:0 4px;font-size:9px;min-height:18px}.touch-actions button{font-size:11px;line-height:1.15}}
@media(max-height:500px){.performance-readout{bottom:130px}.audio-status{bottom:115px}}
.combat-coach{margin:8px 0;padding:8px;border:1px solid #b9975740;border-radius:6px;font-size:11px;color:#d8c6a5}.combat-coach summary{cursor:pointer;color:#e8cf98}.combat-coach strong{display:block;margin-top:8px}.coach-track{height:4px;background:#ffffff18;margin:6px 0;overflow:hidden}.coach-track span{display:block;height:100%;background:#d4b778;transition:width .045s linear}.combat-coach div:not(.coach-track){margin-top:4px}@media(max-height:500px){.combat-coach{font-size:9px;padding:4px;margin:4px 0}.training-panel{max-height:calc(100vh - 225px);overflow-y:auto}}
.hp{position:relative}.hp .damage-trail,.hp .health-fill{position:absolute;left:0;top:0}.fighter-hud.right .hp .damage-trail,.fighter-hud.right .hp .health-fill{left:auto;right:0}.hp .damage-trail{background:#ffe2a3;transition:none;opacity:.8}.hp .health-fill{transition:width .07s linear}
@media(prefers-reduced-motion:reduce){.hp .health-fill{transition:none}}
#combo-feedback{color:#eac879;font-size:12px;margin-top:6px}#range-feedback{color:#d4d8da;font-size:10px;margin-top:5px}
.ultimate-ready{border-color:#ffe298!important;box-shadow:0 0 20px #efbc5566,inset 0 0 12px #ffd57233!important;animation:ultimate-breathe 1.8s ease-in-out infinite}@keyframes ultimate-breathe{50%{box-shadow:0 0 30px #efbc55aa,inset 0 0 18px #ffd57244}}@media(prefers-reduced-motion:reduce){.ultimate-ready{animation:none}}

#coach-frames{font-size:10px;color:#d6c79c;line-height:1.5;margin:4px 0}

.training-panel.compact>:not(.spread){display:none}.training-panel.compact{width:auto;max-width:calc(100vw - 85px)}.training-panel .spread{gap:8px}

label:has(#preview-rig){justify-content:flex-start;gap:10px}#preview-rig{width:16px;min-height:16px;margin:0;accent-color:#c8a565}
/* Keep pose inspection controls compact on mobile dialogs. */
.modal label:has(#preview-paused){display:flex;align-items:center;justify-content:flex-start;gap:9px;margin:10px 0;font-size:12px}
.modal #preview-paused{width:16px;height:16px;margin:0;flex:0 0 16px}
.inspector-panel{margin-top:10px;border-top:1px solid #d2a44a50;padding-top:8px}.inspector-panel summary{cursor:pointer;font-size:11px;color:#f1d498}.inspector-panel p{font-size:10px;line-height:1.5;margin:8px 0}.inspector-panel .row{flex-wrap:wrap;gap:5px;margin:6px 0}.inspector-panel button{padding:6px 8px;font-size:10px}.inspector-panel #inspector-status{font:10px monospace;color:#8fddf1;margin-top:8px}.training-panel:has(.inspector-panel[open]){max-height:calc(100vh - 330px);overflow:auto}
.battle-skills{flex-wrap:wrap}.touch-actions{max-width:340px}.touch-actions [data-control=s3],.touch-actions [data-control=s4]{border-color:#b6d9f4;color:#c8e8ff}
