:root{--bg:#0b0e1a;--panel:#161b30;--panel-2:#1e2540;--text:#eef1ff;--muted:#9aa3c7;--primary:#ff5d3b;--primary-2:#ffb03b;--accent:#4fd6ff;--ok:#54e07a}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;padding:0}html,body,#app{background:var(--bg);width:100%;height:100%;color:var(--text);touch-action:none;overscroll-behavior:none;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app{position:relative}.screen{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));flex-direction:column;justify-content:safe center;align-items:center;gap:16px;display:flex;position:absolute;inset:0;overflow:hidden auto}.screen.hidden{display:none}.screen.game-screen{padding:0;overflow:hidden}.hidden{display:none!important}.screen:not(.hidden):not(.game-screen){animation:.34s cubic-bezier(.22,.61,.36,1) both screen-in}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)scale(.992)}to{opacity:1;transform:none}}.overlay:not(.hidden){animation:.28s both overlay-in}@keyframes overlay-in{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.screen:not(.hidden):not(.game-screen),.overlay:not(.hidden),.menu-content>*{animation:none!important}}.btn{letter-spacing:.5px;color:#fff;cursor:pointer;border:none;border-radius:14px;min-width:220px;padding:14px 26px;font-size:1.05rem;font-weight:800;transition:transform 80ms,filter .15s}.btn:active{transform:scale(.96)}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-2));box-shadow:0 8px 24px #ff5d3b59}.btn-secondary{background:linear-gradient(135deg,#3b6bff,#4fd6ff)}.btn-ghost{background:#ffffff14;border:1px solid #ffffff24}.chip-sm{margin-left:auto;padding:2px 10px;font-size:.72em}.btn-sm{padding:6px 12px;font-size:.82em}.mp-teamctl{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;display:flex}.seg{border:1px solid #ffffff29;border-radius:10px;display:inline-flex;overflow:hidden}.seg button{color:#cdd6f4;cursor:pointer;background:#ffffff0f;border:0;padding:8px 14px;font-size:.85em}.seg button.on{color:#1a1005;background:linear-gradient(#ffb347,#ff7b3d);font-weight:700}.team-tag{color:#0b0e1a;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:.66em;font-weight:700}.mp-charpick{margin:8px 0 4px}.mp-charrow{flex-wrap:wrap;justify-content:center;gap:8px;padding:6px 2px 10px;display:flex;overflow-x:auto}.mp-charcell{cursor:pointer;scroll-snap-align:start;background:#ffffff0d;border:2px solid #ffffff1f;border-radius:12px;flex-direction:column;flex:none;align-items:center;gap:4px;width:78px;padding:5px 4px 6px;display:flex}.mp-charcell.active{border-color:var(--a,#ffb347);background:color-mix(in srgb, var(--c) 24%, transparent);box-shadow:0 0 0 1px var(--a,#ffb347)}.mp-charcell .char-portrait{border-radius:9px;width:68px;height:68px;display:block;overflow:hidden}.mp-charcell .char-portrait canvas{width:100%;height:100%;display:block}.mp-charname{white-space:nowrap;text-overflow:ellipsis;max-width:70px;font-size:.7em;font-weight:600;overflow:hidden}.btn-disabled{opacity:.5;filter:grayscale(.4)}.foot-link{color:inherit;opacity:.85;text-decoration:underline}.btn-locked{opacity:.55;cursor:not-allowed;position:relative}.btn-locked .soon-badge{letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;background:#ffffff2e;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.62em;font-weight:700;display:inline-block}.btn-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn-row.col{flex-direction:column;align-items:center}.icon-btn{color:#fff;cursor:pointer;background:#ffffff14;border:none;border-radius:12px;width:42px;height:42px;font-size:1.6rem;line-height:1}.screen.setup,.screen.settings,.screen.mp,.screen.howto{background:linear-gradient(#080a16e6 0%,#080a16d1 40%,#080a16eb 100%),url(../ui/menu-splash.png?v=9) 50%/cover no-repeat}.screen.menu{justify-content:flex-start;padding:0}.menu-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.menu-scrim{pointer-events:none;background:radial-gradient(circle at 50% 34%,#06081026,#0000 40%),linear-gradient(#0608108c 0%,#06081026 35%,#06081033 65%,#060810d9 100%);position:absolute;inset:0}.menu-content{z-index:2;-webkit-overflow-scrolling:touch;width:100%;height:100%;padding:max(12px, env(safe-area-inset-top)) 20px clamp(16px, 5vh, 72px);flex-direction:column;justify-content:safe center;align-items:center;gap:clamp(6px,1.8vh,16px);display:flex;position:relative;overflow-y:auto}.menu-buttons{gap:clamp(7px,1.4vh,12px);margin-top:clamp(2px,.8vh,6px)}.menu-buttons .btn{padding:clamp(9px,1.9vh,14px) 26px;font-size:clamp(.94rem,2.4vh,1.05rem)}.menu-badge{filter:drop-shadow(0 6px 18px #0000008c);width:clamp(40px,10vh,92px);height:auto;margin:0 auto 2px;animation:.5s both rise-in;display:block}.menu-content>.logo{animation:.5s 40ms both rise-in}.menu-content>.tagline{animation:.5s 80ms both rise-in}.menu-buttons .btn{opacity:0;animation:.5s both rise-in}.menu-buttons .btn:first-child{animation-delay:.14s}.menu-buttons .btn:nth-child(2){animation-delay:.2s}.menu-buttons .btn:nth-child(3){animation-delay:.26s}.menu-buttons .btn:nth-child(4){animation-delay:.32s}.menu-buttons .btn:nth-child(5){animation-delay:.38s}.bg-glow{pointer-events:none;background:radial-gradient(circle at 30% 20%,#ff5d3b38,#0000 45%),radial-gradient(circle at 75% 80%,#4fd6ff2e,#0000 45%);position:absolute;inset:0}.logo{letter-spacing:2px;text-align:center;background:linear-gradient(135deg, var(--primary), var(--primary-2));color:#0000;filter:drop-shadow(0 3px 10px #000000b3)drop-shadow(0 4px 18px #ff5d3b59);-webkit-background-clip:text;background-clip:text;font-size:clamp(1.9rem,7.5vh,4.4rem);font-weight:900;line-height:.9}.logo span{color:var(--text);-webkit-text-fill-color:var(--text);letter-spacing:10px;text-shadow:0 2px 8px #000c;margin-top:6px;font-size:.44em;display:block}.tagline{color:#eef1ff;text-shadow:0 2px 8px #000000d9;font-size:clamp(.74rem,2.5vh,1rem)}.footer-note{bottom:max(14px, env(safe-area-inset-bottom));z-index:3;color:var(--muted);letter-spacing:1px;font-size:.78rem;position:absolute}.setup,.settings,.howto,.mp,.store{justify-content:flex-start;gap:14px;overflow-y:auto}.setup-head{align-items:center;gap:12px;width:100%;max-width:640px;display:flex}.setup-head h2{font-size:1.4rem}.char-grid{grid-template-columns:repeat(5,1fr);gap:clamp(6px,1.2vw,10px);width:100%;max-width:min(680px,96vw);margin:0 auto;display:grid}.char-grid .char-portrait canvas{aspect-ratio:1;object-fit:cover;width:100%!important;height:auto!important}.char-card{background:var(--panel);cursor:pointer;border:2px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:10px;transition:transform 80ms,border-color .15s;display:flex;overflow:hidden}.char-card.active{border-color:var(--c);box-shadow:0 0 18px color-mix(in srgb, var(--c) 45%, transparent)}.char-card:active{transform:scale(.95)}.char-card{position:relative}.char-card.locked{cursor:not-allowed}.char-card.locked .char-portrait canvas{filter:grayscale()brightness(.4);box-shadow:none}.char-card.locked .char-name{color:var(--muted)}.char-lock{color:#ffd23b;white-space:nowrap;background:#060810d1;border:1px solid #ffffff2e;border-radius:8px;padding:3px 7px;font-size:.68rem;font-weight:800;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.char-card.shake{animation:.3s card-shake}@keyframes card-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.xp-bar{width:100%;max-width:640px}.xp-info{justify-content:space-between;align-items:baseline;margin-bottom:4px;font-size:.8rem;display:flex}.xp-total{color:var(--primary-2);font-weight:900}.xp-next{color:var(--muted)}.xp-next b{color:var(--text)}.xp-track{background:#ffffff1a;border-radius:6px;height:8px;overflow:hidden}.xp-track b{background:linear-gradient(90deg, var(--primary), var(--primary-2));border-radius:6px;height:100%;transition:width .4s;display:block}.result-xp{flex-direction:column;align-items:center;gap:8px;display:flex}.xp-gain{color:var(--primary-2);font-size:1.1rem;font-weight:900}.xp-gain span{color:var(--muted);font-size:.85rem;font-weight:600}.xp-unlock{background:#ffd23b1f;border:1px solid #ffd23b66;border-radius:10px;align-items:center;gap:8px;padding:5px 10px;font-size:.85rem;display:inline-flex}.xp-unlock canvas{border-radius:8px}.char-avatar{background:radial-gradient(circle at 35% 30%, var(--a), var(--c));width:46px;height:46px;box-shadow:0 4px 12px color-mix(in srgb, var(--c) 50%, transparent);border-radius:50%}.char-portrait{width:100%;line-height:0}.char-portrait canvas{aspect-ratio:1;object-fit:cover;width:100%;height:auto;box-shadow:0 4px 12px color-mix(in srgb, var(--c) 45%, transparent);border-radius:10px;display:block}.arena-chip{align-items:center;gap:8px;display:inline-flex}.arena-swatch{border:1px solid #ffffff40;border-radius:4px;width:14px;height:14px;display:inline-block}.arena-thumb{object-fit:cover;border:1px solid #ffffff47;border-radius:5px;width:48px;height:29px;display:block;box-shadow:0 1px 4px #0006}.char-name{letter-spacing:.02em;text-transform:uppercase;background:color-mix(in srgb, var(--c) 22%, #060810b8);border:1px solid color-mix(in srgb, var(--c) 40%, transparent);color:#f2f4ff;border-radius:7px;padding:3px 4px;font-size:.82rem;font-weight:800}.char-card.active .char-name{background:color-mix(in srgb, var(--c) 45%, #06081099)}.char-detail{background:var(--panel);border-left:4px solid var(--c,var(--primary));border-radius:16px;align-items:center;gap:14px;width:100%;max-width:640px;padding:14px 16px;display:flex}.detail-main{flex:1;min-width:0}.detail-portrait{flex:none}.detail-portrait canvas{border:2px solid var(--c,#fff3);border-radius:12px;box-shadow:0 6px 18px #0006}.move-list{flex-direction:column;gap:4px;margin-top:10px;display:flex}.move-list-title{color:var(--primary-2);letter-spacing:.5px;font-size:.74rem;font-weight:800}.move-row{align-items:center;gap:8px;font-size:.78rem;display:flex}.move-combo{text-align:center;color:#fff;background:#ffffff1a;border:1px solid #ffffff29;border-radius:6px;flex:none;min-width:76px;padding:2px 6px;font-size:.72rem;font-weight:800}.move-name{font-weight:700}.move-type{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-left:auto;font-size:.68rem}.howto-card.special{border-left:3px solid var(--primary-2)}.detail-head{align-items:baseline;gap:10px;display:flex}.detail-head b{font-size:1.2rem}.detail-head span{color:var(--muted);font-size:.85rem}.detail-arch{color:var(--muted);margin:4px 0 10px;font-size:.82rem}.stat-bars{flex-direction:column;gap:6px;display:flex}.stat-bar{align-items:center;gap:10px;font-size:.78rem;display:flex}.stat-bar span{width:58px;color:var(--muted)}.stat-bar i{background:#ffffff1a;border-radius:5px;flex:1;height:8px;overflow:hidden}.stat-bar b{background:linear-gradient(90deg, var(--c,var(--primary)), var(--primary-2));border-radius:5px;height:100%;display:block}.special-tag{color:var(--primary-2);margin-top:12px;font-weight:800}.special-tag em{color:var(--muted);font-size:.8rem;font-weight:500}.opt-block{width:100%;max-width:640px}.opt-label{color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;font-size:.82rem;display:block}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--panel);color:var(--text);cursor:pointer;border:1px solid #ffffff1a;border-radius:12px;padding:10px 16px;font-weight:700;transition:transform 80ms}.chip.active{background:linear-gradient(135deg, var(--primary), var(--primary-2));border-color:#0000}.chip:active{transform:scale(.95)}.opt-hint{text-transform:none;letter-spacing:0;opacity:.6;margin-left:6px;font-size:.68rem}.team-assign{flex-direction:column;gap:6px;display:flex}.team-row{background:var(--panel);border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:10px;padding:7px 10px;display:flex}.team-who{white-space:nowrap;text-overflow:ellipsis;flex:none;min-width:96px;font-size:.82rem;font-weight:700;overflow:hidden}.team-dots{flex-wrap:wrap;gap:6px;display:flex}.team-dot{background:color-mix(in srgb, var(--tc) 22%, #10131f);color:#fff;cursor:pointer;border:2px solid #ffffff26;border-radius:8px;width:26px;height:26px;font-size:.72rem;font-weight:800;transition:transform 80ms}.team-dot.on{background:var(--tc);box-shadow:0 0 0 2px color-mix(in srgb, var(--tc) 45%, transparent);border-color:#fff}.team-dot:active{transform:scale(.9)}.btn-fight{align-self:center;margin:10px 0 30px;padding:16px 40px;font-size:1.3rem}.game-screen{padding:0}.game-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hud{top:max(8px, env(safe-area-inset-top));pointer-events:none;flex-wrap:wrap;gap:8px;display:flex;position:absolute;left:10px;right:60px}.hud-fighter{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0c188c;border-radius:8px;flex:140px;align-items:center;gap:7px;min-width:140px;max-width:220px;padding:5px 8px;display:flex}.hud-portrait{flex:none;justify-content:center;align-items:center;width:38px;height:38px;line-height:0;display:inline-flex;position:relative}.hud-portrait canvas{object-fit:cover;border-radius:50%;width:28px;height:28px;display:block}.hud-ring{background:var(--ring-url) center / contain no-repeat;pointer-events:none;filter:drop-shadow(0 1px 2px #00000080);position:absolute;inset:-3px}.hud-bars{flex:1;min-width:0}.hud-fighter.human{outline:1px solid var(--primary-2)}.hud-fighter.rage{animation:.5s ease-in-out infinite alternate hud-rage}@keyframes hud-rage{0%{box-shadow:0 0 #ff462800}to{box-shadow:0 0 14px #ff4628d9}}.hud.compact{gap:5px;right:56px}.hud.compact .hud-fighter{flex:96px;min-width:96px;max-width:150px;padding:3px 6px}.hud.compact .hud-name{margin-bottom:2px;font-size:.6rem}.hud.compact .hud-hp{height:6px;margin-bottom:2px}.hud.compact .hud-mp{height:4px;margin-bottom:0}.hud-fighter.ko{opacity:.4}.hud-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:.68rem;font-weight:800;overflow:hidden}.hud-hp,.hud-mp{background:linear-gradient(#ffffff0f,#00000061);border:1px solid #0000008c;border-radius:5px;height:8px;margin-bottom:3px;overflow:hidden;box-shadow:inset 0 1px #ffffff29,inset 0 -1px 2px #00000073}.hud-hp b{background:linear-gradient(90deg,#ff3b3b,#ff8f3b);width:100%;height:100%;transition:width .12s linear;display:block;box-shadow:inset 0 1px #ffffff61}.hud-mp{height:5px}.hud-mp b{background:linear-gradient(90deg,#3b8bff,#4fd6ff);width:100%;height:100%;transition:width .12s linear;display:block;box-shadow:inset 0 1px #ffffff61}.mp-wait{z-index:210;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0608109e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mp-wait-card{background:#0e1220eb;border:1px solid #ffffff1f;border-radius:16px;flex-direction:column;align-items:center;gap:14px;padding:22px 34px;display:flex;box-shadow:0 18px 50px #0009}.mp-spinner{border:4px solid #ffffff26;border-top-color:#ff8a3b;border-radius:50%;width:42px;height:42px;animation:.9s linear infinite mp-spin}@keyframes mp-spin{to{transform:rotate(360deg)}}.mp-wait-title{color:#eef1ff;letter-spacing:.02em;font-size:1.05rem;font-weight:800}.mp-wait-sub{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem}.pause-btn{top:max(8px, env(safe-area-inset-top));color:#fff;cursor:pointer;z-index:5;background:#0a0c1899;border:none;border-radius:12px;width:44px;height:44px;font-size:.9rem;font-weight:900;position:absolute;right:10px}.controls{pointer-events:none;position:absolute;inset:0}.joystick{left:max(20px, env(safe-area-inset-left));bottom:max(24px, env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;background:#ffffff0f;border:2px solid #ffffff1f;border-radius:50%;width:130px;height:130px;position:absolute}.joystick-knob{background:radial-gradient(circle at 35% 30%,#fff,#9aa3c7);border-radius:50%;width:58px;height:58px;margin:-29px 0 0 -29px;transition:transform 40ms linear;position:absolute;top:50%;left:50%;box-shadow:0 4px 14px #0006}.action-cluster{right:max(22px, env(safe-area-inset-right));bottom:max(22px, env(safe-area-inset-bottom));pointer-events:none;width:190px;height:190px;position:absolute}.act-btn{color:#fff;pointer-events:auto;touch-action:none;cursor:pointer;border:2px solid #ffffff2e;border-radius:50%;width:68px;height:68px;font-size:.95rem;font-weight:900;transition:transform 50ms,filter 50ms;position:absolute}.act-btn.pressed{filter:brightness(1.4);transform:scale(.9)}.act-attack{background:linear-gradient(135deg,#ff5d3b,#ff2d55);width:82px;height:82px;bottom:60px;right:6px}.act-special{background:linear-gradient(135deg,#b06bff,#6b8bff);bottom:96px;right:96px}.act-jump{background:linear-gradient(135deg,#3b9bff,#4fd6ff);bottom:12px;right:108px}.act-defend{background:linear-gradient(135deg,#54e07a,#2fae8f);width:58px;height:58px;bottom:150px;right:8px}.act-throw{background:linear-gradient(135deg,#ffb03b,#ff7a2f);width:58px;height:58px;font-size:.72rem;bottom:62px;right:150px}.act-throw.hidden{display:none}.announce{letter-spacing:3px;color:#fff;text-shadow:0 0 18px #ff5d3bcc,0 6px 14px #000c;-webkit-text-stroke:2px #0000008c;opacity:0;pointer-events:none;z-index:9;font-size:clamp(3rem,16vw,7rem);font-weight:900;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)scale(.4)}.announce.show{animation:.85s ease-out forwards announce-pop}.announce-img{filter:drop-shadow(0 8px 20px #0009);width:min(62vw,420px);height:auto;display:block}.announce.ko{color:#ffd23b;text-shadow:0 0 24px #ff5a28e6,0 6px 14px #000000d9;animation:1.2s ease-out forwards announce-pop}@keyframes announce-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}18%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}30%{opacity:1;transform:translate(-50%,-50%)scale(1)}80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.25)}}.overlay{-webkit-overflow-scrolling:touch;padding:max(14px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;background:#060810d1;flex-direction:column;justify-content:safe center;align-items:center;gap:clamp(10px,2.4vh,18px);display:flex;position:absolute;inset:0;overflow-y:auto}.overlay.hidden{display:none}.overlay-title{letter-spacing:2px;color:var(--ok);text-shadow:0 4px 20px #54e07a66;font-size:clamp(1.7rem,6vh,2.6rem);font-weight:900}.overlay-title.lose{color:var(--primary);text-shadow:0 4px 20px #ff5d3b66}.overlay-meta{color:var(--muted)}.podium{flex-direction:column;align-items:center;gap:12px;width:100%;max-width:460px;max-height:52vh;display:flex;overflow-y:auto}.podium-top{justify-content:center;align-items:flex-end;gap:10px;width:100%;display:flex}.pod{flex-direction:column;flex:0 30%;align-items:center;gap:4px;display:flex}.pod-portraits{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:3px;display:flex}.pod-portraits.team{max-width:100%}.pod-portraits.small{gap:2px}.pod-portrait canvas{border:2px solid #ffffff2e;border-radius:10px;display:block}.pod-portraits.small .pod-portrait canvas{border-width:1px;border-radius:6px}.pod.you .pod-portrait canvas{border-color:#fff}.pod-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.78rem;font-weight:800;overflow:hidden}.pod-stand{color:#ffffffbf;background:linear-gradient(#ffffff29,#ffffff0a);border-radius:8px 8px 0 0;flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;width:100%;padding:6px 4px 5px;font-weight:900;display:flex}.pod-stand b{font-size:.95rem;line-height:1}.pod-medal{font-size:1.4rem;line-height:1}.pod-medal-img{filter:drop-shadow(0 2px 4px #00000080);width:26px;height:auto;display:block}.pod-1 .pod-medal-img{width:34px}.pod-1 .pod-stand{background:linear-gradient(#ffd24d80,#ffd24d1f);min-height:74px}.pod-2 .pod-stand{min-height:56px}.pod-3 .pod-stand{min-height:44px}.podium-rest{flex-direction:column;gap:5px;width:100%;margin:0;padding:0;list-style:none;display:flex}.podium-rest li{background:#ffffff0d;border-radius:8px;align-items:center;gap:10px;padding:6px 10px;font-size:.82rem;display:flex}.podium-rest li.you{outline:1px solid var(--primary-2)}.rest-place{color:var(--muted);min-width:30px;font-weight:900}.rest-name{font-weight:800}.rest-char{color:var(--muted);margin-left:auto;font-size:.74rem}.settings-group{background:var(--panel);border-radius:16px;width:100%;max-width:480px;overflow:hidden}.setting-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:16px 18px;font-weight:600;display:flex}.setting-row:last-child{border-bottom:none}.toggle{cursor:pointer;background:#ffffff26;border:none;border-radius:16px;width:52px;height:30px;transition:background .2s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle.on{background:var(--ok)}.toggle.on:after{transform:translate(22px)}.stats-block{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.stat-pill{background:var(--panel);text-align:center;color:var(--muted);border-radius:12px;padding:12px 18px;font-size:.78rem}.stat-pill span{color:var(--text);font-size:1.5rem;font-weight:900;display:block}.setting-row span small{color:var(--muted);margin-top:2px;font-size:.72rem;font-weight:500;display:block}.name-input{width:clamp(96px,32vw,140px);color:var(--text);text-align:right;background:#ffffff14;border:1px solid #ffffff29;border-radius:10px;padding:8px 12px;font-size:.95rem;font-weight:700}.name-input:focus{border-color:var(--accent,#7ad0ff);outline:none}.slider{appearance:none;cursor:pointer;background:#ffffff2e;border-radius:4px;width:clamp(110px,34vw,160px);height:6px}.slider::-webkit-slider-thumb{appearance:none;background:var(--ok);border-radius:50%;width:20px;height:20px;box-shadow:0 1px 4px #00000080}.slider::-moz-range-thumb{background:var(--ok);border:none;border-radius:50%;width:20px;height:20px}.btn-danger{color:#ff9a9a;background:#ff4d4d38;border:1px solid #ff4d4d8c}.btn-danger:hover{background:#ff4d4d57}.ad-interstitial{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04060ee6;justify-content:center;align-items:center;padding:16px;animation:.24s both overlay-in;display:flex;position:fixed;inset:0}.ad-interstitial.closing{animation:.2s reverse both overlay-in}.adi-card{background:var(--panel);border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;gap:10px;width:min(360px,92vw);max-height:92vh;padding:14px;display:flex;box-shadow:0 20px 60px #0009}.adi-label{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:center;font-size:.66rem}.adi-slot{background:#ffffff0a;border-radius:10px;flex:1;justify-content:center;align-items:center;min-height:250px;display:flex;overflow:hidden}.adi-placeholder{color:#ffffff4d;letter-spacing:.12em;text-transform:uppercase;font-size:.82rem}.adi-house{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:14px;display:flex}.adi-house img{filter:drop-shadow(0 6px 16px #00000080);border-radius:16px}.adi-house-title{letter-spacing:1px;background:linear-gradient(135deg,#ff5d3b,#ffb03b);color:#0000;-webkit-background-clip:text;background-clip:text;font:900 1.7rem/.95 system-ui,sans-serif}.adi-house-title span{-webkit-text-fill-color:#eef1ff;color:#eef1ff}.adi-house-sub{color:var(--muted);letter-spacing:.04em;font-size:.8rem}.adi-close{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-2));cursor:pointer;border:none;border-radius:12px;align-self:center;padding:10px 22px;font-size:.9rem;font-weight:800}.adi-close:disabled{color:var(--muted);cursor:default;background:#ffffff1f}@media (height<=480px){.adi-card{flex-direction:row;align-items:center;width:min(560px,94vw)}.adi-slot{min-height:150px}.adi-label{display:none}}.howto-body{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;width:100%;max-width:760px;display:grid}.howto-card{background:var(--panel);border-radius:12px;padding:12px 16px}.howto-card b{color:var(--primary-2);margin-right:8px}.howto-card span{color:var(--muted);font-size:.9rem}.mp-intro,.mp-note{max-width:560px;color:var(--muted);text-align:center;font-size:.9rem}.mp-note{opacity:.8;font-size:.78rem}.mp-cards{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.mp-card{background:var(--panel);color:var(--text);cursor:pointer;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;align-items:center;gap:6px;min-width:180px;padding:24px 28px;transition:transform 80ms;display:flex}.mp-card:active{transform:scale(.96)}.mp-ico{color:var(--primary-2);font-size:2rem}.mp-card small{color:var(--muted)}.join-box{flex-direction:column;align-items:center;gap:14px;width:100%;max-width:320px;display:flex}.join-box label{color:var(--muted)}.code-input{text-align:center;letter-spacing:12px;background:var(--panel);width:100%;color:var(--text);border:2px solid #ffffff24;border-radius:12px;padding:14px;font-size:2rem;font-weight:900}.lobby{flex-direction:column;align-items:center;gap:18px;width:100%;max-width:480px;display:flex}.code-display{text-align:center}.code-display label{color:var(--muted);letter-spacing:1px;font-size:.8rem}.code-big{letter-spacing:10px;background:linear-gradient(135deg, var(--primary), var(--primary-2));color:#0000;cursor:pointer;-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:900}.code-timer{color:var(--muted);font-size:.8rem}.code-timer.urgent{color:var(--primary);font-weight:800}.roster{flex-direction:column;gap:8px;width:100%;display:flex}.roster-row{background:var(--panel);border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:flex}.roster-dot{border-radius:50%;width:14px;height:14px}.roster-char{color:var(--muted);font-size:.85rem}.roster-ready{color:var(--muted);margin-left:auto;font-size:.72rem;font-weight:800}.roster-ready.on{color:var(--ok)}.host-tag{color:var(--primary-2);border:1px solid var(--primary-2);border-radius:6px;padding:2px 6px;font-size:.65rem;font-weight:800}.lobby-actions{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.lobby-actions .btn{width:100%;max-width:320px}.btn-secondary.on{background:linear-gradient(135deg, var(--ok), #2fae8f)}.wait-host{color:var(--muted);font-size:.85rem}.toast{color:#fff;opacity:0;pointer-events:none;z-index:50;background:#14182cf2;border-radius:12px;padding:12px 22px;font-weight:700;transition:opacity .2s,transform .2s;position:fixed;bottom:40px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (height<=400px){.menu-badge{display:none}.menu-content{gap:5px}.menu-buttons .btn{padding:7px 22px}.logo{font-size:clamp(1.7rem,6vw,2.3rem)}.tagline{margin:0;font-size:.72rem}}@media (height<=480px){.screen{padding:max(8px, env(safe-area-inset-top)) 14px max(8px, env(safe-area-inset-bottom));justify-content:flex-start;gap:8px}.setup,.settings,.howto,.mp{gap:8px}.menu-badge{width:clamp(44px,8vh,60px);margin-bottom:0}.logo{font-size:clamp(2rem,7vw,2.8rem)}.logo span{letter-spacing:6px;margin-top:2px;font-size:.4em}.menu-content{padding-bottom:calc(30px + env(safe-area-inset-bottom));gap:7px}.menu-buttons{margin-top:2px}.menu-buttons .btn{padding:8px 22px}.tagline{font-size:.8rem}.footer-note{bottom:max(6px, env(safe-area-inset-bottom));font-size:.66rem}.setup-head h2{font-size:1.1rem}.char-grid{grid-template-columns:repeat(5,1fr);gap:clamp(5px,1vw,7px)}.char-card{border-radius:10px;gap:4px;padding:6px}.char-name{padding:2px 3px;font-size:.62rem}.char-lock{padding:2px 5px;font-size:.58rem;bottom:22px}.char-detail{gap:10px;padding:10px 12px}.detail-portrait{display:none}.detail-head b{font-size:1rem}.move-list{margin-top:6px}.opt-label{font-size:.78rem}.btn-fight{padding:12px 26px}.store-card{border-radius:11px;gap:9px;padding:9px 10px}.store-info b{font-size:.9rem}.store-info span{font-size:.72rem}.store-price{padding:6px 10px;font-size:.8rem}.store-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}.store-portrait canvas{width:76px!important;height:76px!important}.overlay{gap:7px}.overlay-meta{font-size:.8rem}.overlay .btn{padding:9px 24px;font-size:.95rem}.btn-row.col{gap:7px}.podium{max-width:380px}.podium-rest li{padding:5px 8px}.hud{top:max(4px, env(safe-area-inset-top));gap:5px;left:6px;right:52px}.hud-fighter{gap:5px;min-width:104px;max-width:168px;padding:3px 6px}.hud-name{margin-bottom:2px;font-size:.6rem}.hud-hp{height:6px;margin-bottom:2px}.hud-mp{height:4px}.joystick{width:104px;height:104px;left:max(12px, env(safe-area-inset-left));bottom:max(12px, env(safe-area-inset-bottom))}.joystick-knob{width:46px;height:46px;margin:-23px 0 0 -23px}.action-cluster{width:158px;height:158px;right:max(12px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom))}.act-btn{width:56px;height:56px;font-size:.82rem}.act-attack{width:66px;height:66px;bottom:50px;right:4px}.act-special{bottom:80px;right:80px}.act-jump{bottom:8px;right:88px}.act-defend{width:48px;height:48px;bottom:124px;right:6px}.act-throw{width:48px;height:48px;font-size:.62rem;bottom:52px;right:124px}.pause-btn{width:38px;height:38px;top:max(4px, env(safe-area-inset-top))}}@media (height<=360px){.char-grid{grid-template-columns:repeat(5,1fr);gap:5px}.joystick{width:92px;height:92px}.joystick-knob{width:40px;height:40px;margin:-20px 0 0 -20px}.action-cluster{width:146px;height:146px}}.camp-intro{color:var(--muted);max-width:640px;margin:0 0 4px;font-size:.9rem}.camp-fighters{gap:8px;max-width:640px;padding-bottom:4px;display:flex;overflow-x:auto}.camp-fighter{background:var(--panel);cursor:pointer;border:2px solid #0000;border-radius:12px;flex:none;padding:3px;line-height:0}.camp-fighter.active{border-color:var(--c);box-shadow:0 0 14px color-mix(in srgb, var(--c) 45%, transparent)}.camp-fighter canvas{border-radius:10px;display:block}.stage-list{flex-direction:column;gap:10px;width:100%;max-width:640px;display:flex}.stage-card{text-align:left;background:var(--panel);cursor:pointer;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:12px;padding:12px;transition:transform 80ms,border-color .15s;display:flex}.stage-card:not(.locked):active{transform:scale(.98)}.stage-card:not(.locked):hover{border-color:var(--primary)}.stage-card.locked{opacity:.55;cursor:not-allowed}.stage-num{background:linear-gradient(135deg, var(--primary), var(--primary-2));color:#06121e;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.stage-info{flex-direction:column;flex:1;display:flex}.stage-info b{font-size:1rem}.stage-info span{color:var(--muted);font-size:.8rem}.stage-lock,.stage-go{color:var(--muted);font-size:1.1rem}.stage-go{color:var(--primary-2)}.stage-indicator{z-index:6;text-align:center;color:#fff;pointer-events:none;text-shadow:0 1px 3px #000000b3;background:#06081099;border:1px solid #ffffff1f;border-radius:10px;padding:4px 12px;font-size:.8rem;font-weight:800;position:absolute;top:6px;left:50%;transform:translate(-50%)}.stage-indicator span{color:#ffd23b;font-size:.7rem;font-weight:600;display:block}.hud-fighter.boss{outline:2px solid #ff5252}.store-body{flex-direction:column;gap:12px;width:100%;max-width:640px;display:flex}.store-section{flex-direction:column;gap:10px;display:flex}.store-label{letter-spacing:.08em;text-transform:uppercase;color:var(--primary-2);margin-top:4px;font-size:.78rem;font-weight:800}.store-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.store-card{text-align:left;background:var(--panel);cursor:pointer;color:var(--text);border:1px solid #ffffff17;border-radius:14px;align-items:center;gap:12px;padding:12px;transition:transform 80ms,border-color .15s;display:flex}.store-card:not([disabled]):active{transform:scale(.98)}.store-card:not([disabled]):hover{border-color:var(--primary)}.store-feature{border-left:4px solid var(--primary)}.store-char{text-align:center;border-left:none;border-top:4px solid var(--c,var(--primary));flex-direction:column;align-items:stretch;gap:8px;overflow:hidden}.store-portrait{flex:none;align-self:center;line-height:0}.store-portrait canvas{border-radius:10px;display:block}.store-info{flex-direction:column;flex:1;min-width:0;display:flex}.store-info b{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;overflow:hidden}.store-info span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.store-char .store-price{align-self:center}.store-price{color:#06121e;background:linear-gradient(135deg, var(--primary), var(--primary-2));border-radius:10px;flex:none;padding:7px 12px;font-size:.9rem;font-weight:900}.store-card.owned{cursor:default;opacity:.8}.store-card.owned .store-price{color:var(--ok);background:0 0;padding:7px 4px}.btn-restore{margin-top:4px}.char-card.premium{border-color:color-mix(in srgb, var(--primary-2) 55%, transparent)}.char-lock.premium{color:#06121e;background:linear-gradient(135deg, var(--primary), var(--primary-2));border:none;font-weight:900}.char-card.locked.premium .char-portrait canvas{filter:grayscale(.35)brightness(.72)}.char-card.locked.premium.has-locked-art .char-portrait canvas{filter:brightness(1.12)contrast(1.05)}[dir=rtl] .game-screen,[dir=rtl] .controls,[dir=rtl] .hud,[dir=rtl] .stage-indicator,[dir=rtl] .announce{direction:ltr}[dir=rtl] .hud-name{direction:rtl}.lang-seg button{min-width:46px}
