:root{color-scheme:dark;--bg:#0a101c;--surface:#111c2e;--line:#28374b;--text:#edf3fb;--muted:#a0afc4;--blue:#82c9ff;--orange:#ffab80;--mono:var(--font-ui);--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #c7e9ff;outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}h1,h2,h3,h4,p{margin:0}.app-header{height:76px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff10;position:relative;z-index:20;background:#0a101cf5}.arcade-link{text-decoration:none;display:flex;align-items:center;gap:11px;font-size:11px;letter-spacing:1.4px;font-weight:800}.arcade-link small{display:block;color:#7d90aa;font-size:8px;letter-spacing:1.5px;margin-top:5px}.pattern-symbol{font-size:22px;font-style:italic;color:var(--blue);border:1px solid #435b78;width:33px;height:34px;display:grid;place-items:center;border-radius:7px}.game-brand{background:none;border:0;font-weight:900;font-style:italic;letter-spacing:-1px;font-size:21px}.game-brand span{color:var(--blue)}.app-header nav{display:flex;gap:8px}.icon-button{width:40px;height:40px;border:1px solid #314057;background:#121e30;border-radius:50%;font-size:18px;font-weight:700}.icon-button:hover{background:#263b55}.screen{max-width:1320px;margin:0 auto}.eyebrow{font:700 10px var(--mono);letter-spacing:2px;color:var(--blue);line-height:1.5}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--blue);margin-right:8px;vertical-align:2px}.button{display:flex;align-items:center;justify-content:center;gap:24px;min-height:52px;border-radius:8px;padding:15px 25px;border:1px solid #405572;font-size:11px;letter-spacing:1px;font-weight:800;transition:background .15s,transform .15s;text-decoration:none}.button span{font-size:20px;line-height:1}.button.primary{background:#8cd0ff;border-color:#8cd0ff;color:#0b1a2a;box-shadow:inset 0 1px 0 #ffffff60}.button.primary:hover{background:#b3e1ff;transform:translateY(-1px)}.button.secondary{background:#18283e;color:#d7e5f7}.text-button{border:0;background:none;min-height:40px;padding:8px 5px;color:#afc1d8;font-size:12px;line-height:1.4}.text-button:hover{color:#fff}.button-caption{font-size:11px;color:#8a9cb4;margin:12px 0 0}.home-screen{display:grid;grid-template-columns:.92fr 1.08fr;gap:0;padding:52px 46px 24px;min-height:calc(100dvh - 76px);align-content:center}.home-copy{position:relative;z-index:2;padding-top:15px}h1{font-size:clamp(64px,7.6vw,108px);font-weight:900;font-style:italic;letter-spacing:-7px;line-height:.87;margin:30px 0 26px;text-shadow:0 3px 0 #24425b}h1>span{display:block;color:var(--blue)}h1>i{display:block;font:700 10px var(--mono);color:#8fa7c2;letter-spacing:5px;margin-top:20px;text-shadow:none}.home-intro{font-size:16px;line-height:1.7;color:#b7c5d8;margin:0 0 26px}.home-copy>.large{width:300px;justify-content:space-between;min-height:58px;font-size:12px}.other-modes{display:flex;gap:12px;margin-top:30px;max-width:440px}.other-modes button{display:flex;align-items:center;gap:12px;flex:1;text-align:left;border:1px solid #2b3d55;background:#111d2f;border-radius:10px;padding:14px 12px}.other-modes button:hover{border-color:#6e9fc3;background:#192d45}.other-modes button>b{font-size:12px}.other-modes button small{display:block;font-size:10px;font-weight:400;color:#8fa4be;margin-top:5px;line-height:1.4}.other-modes button>span:last-child{margin-left:auto;color:#91abc9}.mode-icon{font-size:25px;color:var(--blue)}.record-line{font-size:10px;color:#7e93ae;margin-top:22px;line-height:1.5}.home-display{position:relative;min-width:0;display:flex;flex-direction:column;align-self:stretch}.display-grid{position:absolute;inset:12% 0 10%;border:1px solid #26395055;border-radius:50%;background:radial-gradient(ellipse,#28476240,transparent 67%);transform:scaleY(.8);pointer-events:none}.display-index{position:absolute;right:0;top:12px;font:9px var(--mono);letter-spacing:2px;color:#748ca7}.studio-view{position:relative;min-height:260px;width:100%}#home-view{flex:1;min-height:420px}#scene{display:block;width:100%;height:100%;touch-action:none;outline:0}.studio-view>#scene{position:absolute;inset:0}.featured-info{display:flex;align-items:center;justify-content:space-between;padding:0 22px;gap:14px}.featured-info h2{font-size:21px;font-weight:800;letter-spacing:.5px;margin:6px 0 10px}.role-tag{font:700 9px var(--mono);letter-spacing:1px;color:var(--blue);border:1px solid currentColor;padding:5px 7px;border-radius:3px;display:inline-block}.featured-switches{display:flex;gap:7px}.featured-switches button{width:42px;height:42px;padding:5px;border:1px solid #354863;border-radius:7px;background:#182a41}.featured-switches button[aria-pressed=true]{border-color:var(--blue)}.featured-switches img{width:30px;height:30px}.rotate-hint{text-align:center;margin-top:22px;font:9px var(--mono);letter-spacing:1px;color:#667d99}.home-footer{grid-column:1/-1;display:flex;gap:35px;align-items:center;border-top:1px solid #273448;margin-top:45px;padding-top:25px;color:#8198b4;font:9px var(--mono);letter-spacing:1px}.home-footer b{font:800 20px var(--font-ui);color:#bfcee1;margin-right:8px}.home-footer a{margin-left:auto;color:#acc0d8;text-decoration:none;letter-spacing:0;font:11px var(--font-ui)}
/* Loadout: one choice surface, one clear start action. */
.setup-screen{padding:24px 42px 100px}.screen-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.screen-heading .eyebrow{margin:12px 0 7px}.screen-heading h2{font-size:30px;letter-spacing:-.8px}.fair-badge{font-size:11px;color:#9cb6ce;border:1px solid #2b425c;border-radius:5px;padding:9px 11px;margin-bottom:2px}.loadout-layout{display:grid;grid-template-columns:360px 1fr;gap:34px;align-items:start}.blade-inspector{border:1px solid #283b54;border-radius:14px;background:radial-gradient(ellipse at 50% 15%,#25405b55,#111d2d 70%);overflow:hidden}#setup-view{height:270px}.blade-spec{padding:0 22px 22px}.spec-top{display:flex;justify-content:space-between;align-items:center}.blade-number{font:10px var(--mono);color:#6f89a7}.blade-spec h3{font-size:23px;line-height:1.15;letter-spacing:-.3px;margin:14px 0 10px}.blade-spec>p{font-size:12px;color:#9eb2ca;line-height:1.6}.blade-stats{display:flex;gap:15px;margin:19px 0}.blade-stats>div{flex:1}.blade-stats span{font:9px var(--mono);color:#a9bbd1;display:block;margin-bottom:7px}.stat-ticks{display:flex;gap:3px}.stat-ticks i{flex:1;height:4px;background:#2b405a;border-radius:1px}.stat-ticks i.on{background:var(--blue)}.ability{border-top:1px solid #2d4059;padding-top:17px}.ability-label{font:9px var(--mono);letter-spacing:1px;color:#7c94b3}.ability h4{font-size:15px;margin:7px 0 8px;color:#c7dcf5}.ability p{font-size:12px;line-height:1.6;color:#9eb2ca}.blade-spec .role-tip{font-size:11px;line-height:1.5;color:#aac0d9;border-left:2px solid #527ca1;padding-left:10px;margin-top:18px}.collection-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px;gap:15px}.collection-heading h3{font-size:16px}.collection-heading h3 span{color:#6d85a3;font:10px var(--mono);margin-left:9px}.search-field input{width:180px;background:#111d2e;border:1px solid #2c415d;border-radius:6px;color:#d9e5f5;font-size:11px;padding:11px 12px;min-height:40px}.search-field input::placeholder{color:#8196b0}.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:15px}.filters button{border:1px solid #30445d;border-radius:5px;font-size:10px;padding:9px 10px;min-height:36px;background:#111d2e;color:#a3b8d1}.filters button[aria-pressed=true]{background:#25425f;border-color:#699bc1;color:#e1f2ff}.blade-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:380px;overflow:auto;overscroll-behavior:contain;padding:2px 4px 4px 2px;scrollbar-color:#426181 transparent}.blade-card{min-width:0;border:1px solid #2c3e56;border-radius:9px;background:linear-gradient(145deg,#1b2c43,#111c2c);padding:10px 7px 12px;text-align:center;position:relative;min-height:162px}.blade-card:hover{border-color:#7092b7;background:#203850}.blade-card[aria-pressed=true]{border:2px solid #89caff;background:linear-gradient(145deg,#294663,#172b43);padding:9px 6px 11px}.blade-card[aria-pressed=true]::after{content:'✓';position:absolute;right:7px;top:6px;border-radius:50%;background:var(--blue);color:#12263b;font-size:10px;font-weight:800;width:17px;height:17px;display:grid;place-items:center}.blade-card img{display:block;width:100%;height:91px;object-fit:contain;margin-bottom:7px}.blade-card b{display:block;font-size:10px;line-height:1.35;min-height:27px;letter-spacing:.1px}.blade-card span{font:8px var(--mono);color:#94acc7;letter-spacing:1px;margin-top:4px;display:block}.match-settings{border:1px solid #2d415a;border-radius:9px;margin-top:22px;background:#101d2f}.match-settings summary{cursor:pointer;padding:15px 16px;font-size:12px;font-weight:700;list-style:none;display:flex;align-items:center;gap:14px;min-height:52px}.match-settings summary>span{font-size:10px;font-weight:400;color:#88a2bf;margin-left:auto}.match-settings summary>b{font-size:19px;color:#80acd1}.match-settings[open] summary>b{transform:rotate(45deg)}.match-settings-body{border-top:1px solid #2d415a;padding:18px 16px;display:flex;flex-direction:column;gap:20px}fieldset{border:0;margin:0;padding:0}legend{font-weight:700;font-size:12px;margin-bottom:10px}fieldset p{font-size:11px;line-height:1.6;color:#8fa7c2;margin-top:9px}.segmented{display:flex;gap:6px}.segmented button{flex:1;min-height:40px;border:1px solid #314862;border-radius:5px;background:#182b42;color:#a6bdd7;font-size:11px}.segmented button[aria-pressed=true]{border-color:#88c6f2;background:#31516e;color:#e8f5ff}.arena-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.arena-option{border:1px solid #31455f;border-radius:7px;min-height:78px;background:#18273c;padding:9px 5px;font-size:9px}.arena-option[aria-pressed=true]{border-color:var(--blue);background:#29425f}.arena-option i{display:block;margin:0 auto 9px;width:46px;height:23px;border:3px solid var(--arena-color);border-radius:50%;box-shadow:inset 0 0 0 3px #162236,0 0 0 2px #465b74;transform:rotate(-10deg)}.setup-footer{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #34455e;background:#0c1625f7;padding:14px max(4vw,calc((100vw - 1236px)/2)) calc(14px + var(--safe));backdrop-filter:blur(12px)}.rival-preview{display:flex;align-items:center;gap:12px}.rival-preview img{border:1px solid #53627c;border-radius:50%;padding:2px}.rival-preview span{font:8px var(--mono);letter-spacing:1px;color:#9caec7;display:block;margin-bottom:5px}.rival-preview b{font-size:11px}.rival-preview .text-button{margin-left:8px;font-size:10px}.setup-footer .button{min-width:240px}#empty-search{padding:45px 20px;color:#b9cce4;text-align:center;font-size:13px}
/* A dedicated battle viewport keeps the controls outside the stadium. */
body.in-battle{overflow:hidden}.in-battle .app-header{height:55px}.in-battle .arcade-link small{display:none}.in-battle .pattern-symbol{height:27px;width:27px;font-size:18px}.in-battle .icon-button{width:33px;height:33px;font-size:15px}.battle-screen{height:calc(100dvh - 55px);max-width:none;display:flex;flex-direction:column;padding:0 max(3vw,calc((100vw - 1200px)/2));position:relative;background:radial-gradient(ellipse at 50% 50%,#1b304a55,transparent 70%)}.match-topline{display:flex;align-items:center;justify-content:space-between;height:39px;flex-shrink:0;color:#a1b6d0;font:9px var(--mono);letter-spacing:1px}.match-topline .text-button{font:10px var(--font-ui);min-height:36px}.scoreboard{display:flex;align-items:center;gap:18px;width:100%;max-width:860px;align-self:center;flex-shrink:0}.fighter-card{flex:1;min-width:0;border:1px solid #304862;background:#122138dd;padding:12px 15px;border-radius:9px}.fighter-card.rival{border-color:#5a4237}.fighter-heading{display:flex;align-items:center;gap:8px;min-height:19px}.fighter-heading>span{font:8px var(--mono);color:var(--blue);border:1px solid #4f82a7;border-radius:3px;padding:3px 4px}.rival .fighter-heading>span{color:var(--orange);border-color:#9c6f56}.fighter-heading h2{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-dots{display:flex;gap:4px;margin-left:auto;flex-shrink:0}.score-dots i{width:8px;height:8px;border:1px solid #546b88;border-radius:50%;display:block}.score-dots i.won{background:var(--blue);border-color:var(--blue)}.rival .score-dots i.won{background:var(--orange);border-color:var(--orange)}.spin-track{height:5px;border-radius:5px;background:#ffffff12;margin:10px 0 7px;overflow:hidden}.spin-track>div{width:100%;height:100%;background:#82c9ff;transform-origin:left;transition:transform .08s linear}.rival .spin-track>div{background:#ffab80}.meter-meta{display:flex;align-items:center;justify-content:space-between;color:#839dbb;font:8px var(--mono);letter-spacing:1px}.meter-meta b{font-weight:400;color:#c7dff7}.versus{display:flex;flex-direction:column;align-items:center;gap:8px;color:#647c9c}.versus>span{font-weight:900;font-size:15px;font-style:italic}.versus time{font:10px var(--mono);color:#a5b9d1}.arena-view{position:relative;flex:1;min-height:0;width:100%}.arena-view>#scene{position:absolute;inset:0}.blade-label{position:absolute;z-index:3;font:700 9px var(--mono);color:#c5e7ff;pointer-events:none;transform:translate(-50%,-50%);padding:4px 7px;background:#0b1925b3;border-radius:4px;border:1px solid #88caff40;white-space:nowrap}.warning-label{position:absolute;z-index:3;left:50%;top:8%;transform:translateX(-50%);background:#6d2d17eb;border:1px solid #ff9b72;color:#ffe6d8;border-radius:5px;padding:9px 13px;font:700 10px var(--mono);letter-spacing:.5px;white-space:nowrap}.battle-announcement{position:absolute;z-index:3;left:50%;top:22%;transform:translateX(-50%);text-align:center;pointer-events:none;font-size:clamp(18px,3vw,32px);font-weight:900;font-style:italic;text-shadow:0 3px 15px #000,0 0 20px #000;white-space:nowrap}.battle-bottom{flex-shrink:0;padding:0 0 calc(12px + var(--safe));align-self:center;width:100%;max-width:680px;text-align:center}.battle-bottom>p:first-child{font-size:11px;color:#aec0d5;line-height:1.4;margin:0 0 12px;min-height:16px}.action-bar{display:flex;gap:12px}.action{border:1px solid #496680;border-radius:9px;background:linear-gradient(#1e344e,#14263c);padding:14px;min-height:68px;flex:1;display:flex;align-items:center;gap:11px;text-align:left;position:relative;overflow:hidden;touch-action:manipulation}.action:hover:not(:disabled){background:#2c4c6b;border-color:#9ac9eb}.action:active:not(:disabled){transform:translateY(1px)}.action-symbol{font-size:26px;color:#a6d9ff}.action b{display:block;font-size:11px;letter-spacing:1px}.action small{display:block;color:#9ab3cf;font-size:9px;margin-top:5px;white-space:nowrap}.action kbd{margin-left:auto}.action.special{border-color:#9a845f;background:linear-gradient(#3c3427,#28291f)}.action.special .action-symbol{color:#f4d197}.action.special.ready{border-color:#f1ce84;background:linear-gradient(#5d4930,#3c3424)}.action:disabled{opacity:.6}.action>i{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#89ccff;transform-origin:left}.action.special>i{background:#f4ce82}kbd{border:1px solid #647b9555;background:#0a152455;color:#9db4cc;border-radius:3px;padding:3px 5px;font:9px var(--mono);font-weight:400}.steer-hint{font-size:9px;color:#6e89a7;margin-top:10px}.launch-panel{position:absolute;left:50%;top:48%;transform:translate(-50%,-35%);z-index:5;width:350px;max-width:90%;border:1px solid #496984;border-radius:14px;background:#101f32f5;box-shadow:0 15px 55px #0005;padding:23px 25px;text-align:center}.launch-panel h3{font-size:24px;margin:9px 0}.launch-panel>p:not(.eyebrow){font-size:12px;line-height:1.5;color:#a7bed8}.launch-meter{height:14px;background:#263a52;margin:22px 0;border-radius:5px;position:relative;overflow:hidden}.sweet-spot{position:absolute;left:40%;width:20%;height:100%;background:#4b95be}.launch-meter i{position:absolute;left:50%;top:0;width:4px;height:100%;background:#eff9ff;box-shadow:0 0 7px white}.launch-panel .button{font-size:10px;gap:9px;width:100%;padding:14px 9px}.launch-panel .text-button{font-size:10px;margin-top:6px}.coach{display:flex;align-items:center;justify-content:space-between;align-self:center;max-width:680px;width:100%;border:1px solid #385a77;border-radius:8px;background:#132b43;padding:12px 16px;gap:10px;margin-bottom:12px;flex-shrink:0}.coach .eyebrow{font-size:8px;letter-spacing:1px}.coach strong{display:block;margin:4px 0;font-size:13px}.coach p{font-size:10px;color:#acc4dd;line-height:1.5}.coach .text-button{font-size:9px;white-space:nowrap}
.result-screen{min-height:calc(100dvh - 76px);display:grid;place-items:center;padding:34px 20px}.result-card{max-width:540px;width:100%;text-align:center;border:1px solid #344862;border-radius:18px;background:radial-gradient(ellipse at 50% 0,#27425d66,#111d2e 55%);padding:34px 38px}.result-emblem{margin:20px auto 10px;width:90px;height:90px}.result-emblem img{width:100%;height:100%;border-radius:50%;box-shadow:0 5px 30px #0007}.result-card h2{font-size:42px;letter-spacing:-1.5px;margin:15px 0;color:#d9edff}.result-card>p:not(.eyebrow){font-size:13px;line-height:1.6;color:#9fb5d0}.result-score{display:flex;justify-content:center;align-items:center;gap:22px;margin:22px 0;font-size:35px;font-weight:800}.result-score span{font:9px var(--mono);color:#89a6c5;display:block;margin-bottom:7px}.result-score .divider{font-size:20px;color:#6a839f}.result-stats{display:flex;justify-content:space-around;gap:10px;padding:18px 0;border-top:1px solid #30445d;border-bottom:1px solid #30445d}.result-stats b{display:block;font-size:22px;color:#d3e6fc}.result-stats span{font:8px var(--mono);letter-spacing:1px;color:#8ea8c5}.result-tip{font-size:12px;line-height:1.6;color:#bdd0e5;background:#20344b;padding:12px 14px;border-radius:7px;margin:22px 0}.result-card .button{width:100%}.result-links{display:flex;gap:24px;justify-content:center;margin-top:12px}.result-links .text-button{font-size:11px}.bracket-screen{min-height:calc(100dvh - 76px);display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;padding:35px 20px;gap:22px}.bracket-screen h2{font-size:42px;letter-spacing:-1px}.bracket-screen>p:not(.eyebrow){font-size:13px;color:#9ab2cd}.bracket-screen>.button{min-width:300px}#bracket-list{display:flex;gap:15px;max-width:720px;width:100%;margin:12px 0}.bracket-rival{flex:1;border:1px solid #344d68;background:#14243a;padding:22px 12px;border-radius:12px}.bracket-rival.current{border-color:#94cef7;background:#203a56}.bracket-rival img{width:70px;height:70px;margin:15px 0}.bracket-rival small{font:9px var(--mono);color:#96b3d1;display:block}.bracket-rival b{font-size:11px;display:block;line-height:1.5}.bracket-rival span{display:block;font:10px var(--mono);color:#87cbef;margin-top:10px}
dialog{max-width:520px;width:calc(100% - 32px);background:#122137;color:#dfebf9;border:1px solid #425a76;border-radius:16px;padding:32px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#040a13dc;backdrop-filter:blur(5px)}dialog .dialog-close{position:absolute;right:16px;top:12px;background:transparent;border:0;color:#a6bdd6;font-size:28px;min-width:40px;min-height:40px}dialog h2{font-size:28px;line-height:1.15;margin:14px 0 20px;letter-spacing:-.6px}dialog>p:not(.eyebrow){font-size:13px;line-height:1.7;color:#a5bbd4}dialog .button{width:100%;margin-top:20px}.setting-row{display:flex;align-items:center;gap:20px;justify-content:space-between;border-top:1px solid #2f465e;padding:19px 0}.setting-row b{display:block;font-size:13px}.setting-row small{display:block;font-size:11px;color:#8ba5c2;line-height:1.5;margin-top:5px}.setting-row input{width:20px;height:20px;accent-color:#8dcdff}.dialog-note{font-size:11px!important}.help-moves{margin:22px 0}.help-moves>div{border-left:2px solid #6498c0;padding-left:14px;margin-top:20px}.help-moves b{font-size:14px;color:#b8ddf8}.help-moves p{font-size:12px;color:#9fb6d0;margin-top:7px;line-height:1.5}#pause-dialog{text-align:center}#pause-dialog .text-button{margin-top:15px;width:100%}#toast{position:fixed;bottom:calc(100px + var(--safe));left:50%;transform:translateX(-50%);background:#2a4662;border:1px solid #6d94b5;color:#dceeff;border-radius:8px;padding:14px 20px;z-index:70;font-size:12px;max-width:90%;text-align:center}#loading-note{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#15283e;border:1px solid #446886;padding:12px 20px;border-radius:8px;color:#b6d5ef;font:10px var(--mono);z-index:80}body.reduced-motion *{scroll-behavior:auto!important;transition:none!important}
@media(min-width:1400px){.home-screen{gap:30px}.loadout-layout{grid-template-columns:390px 1fr}.blade-grid{max-height:420px}.blade-card{min-height:174px}.blade-card img{height:102px}}
@media(max-width:1000px){.home-screen{padding:40px 26px 24px}.home-copy>.large{width:100%;max-width:300px}.other-modes{flex-direction:column;max-width:300px;margin-top:22px}.other-modes button{padding:10px 13px}.other-modes button small{display:inline;margin-left:8px}.other-modes .mode-icon{font-size:21px}.home-footer{gap:20px}.home-footer a{font-size:10px}.setup-screen{padding:22px 25px 110px}.loadout-layout{grid-template-columns:300px 1fr;gap:22px}.blade-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:370px}.fair-badge{display:none}.screen-heading h2{font-size:27px}.collection-heading{flex-wrap:wrap;gap:10px}.search-field,.search-field input{width:100%}.blade-spec{padding:0 18px 20px}#setup-view{height:240px}.featured-info{padding:0 10px}.featured-switches button{width:35px;height:35px;padding:4px}.featured-switches img{width:25px;height:25px}.featured-info h2{font-size:18px}}
@media(max-width:680px){.app-header{height:60px;padding:0 17px}.arcade-link{gap:7px;font-size:9px;letter-spacing:.6px}.arcade-link small{font-size:7px;letter-spacing:.5px}.pattern-symbol{width:28px;height:29px;font-size:19px}.game-brand{font-size:16px}.app-header nav{gap:6px}.icon-button{width:34px;height:34px;font-size:16px}.home-screen{padding:24px 22px;display:flex;flex-direction:column;min-height:calc(100dvh - 60px);gap:0}.home-copy{padding-top:0;display:contents}.home-copy>.eyebrow{font-size:9px;letter-spacing:1.5px;order:0}.home-copy h1{font-size:62px;letter-spacing:-4.5px;margin:21px 0 14px;line-height:.85;order:1}.home-copy h1>span{display:inline}.home-copy h1>i{margin-top:13px;font-size:8px;letter-spacing:3px}.home-intro{order:2;font-size:13px;line-height:1.6;margin:5px 0 0}.home-intro br{display:none}.home-display{order:3;min-height:280px;margin:6px -12px 0}.display-index{top:15px;font-size:8px;right:12px}.display-grid{inset:5% 0 15%}#home-view{min-height:240px;height:240px;flex:none}.featured-info{padding:0 12px}.featured-info h2{font-size:15px;margin:4px 0 5px}.featured-info .eyebrow{font-size:7px;letter-spacing:1px}.role-tag{font-size:8px;padding:4px 6px}.rotate-hint{display:none}.home-copy>.large{order:4;max-width:none;width:100%;margin-top:23px;min-height:54px}.button-caption{order:5;text-align:center;font-size:10px;margin-top:9px}.other-modes{order:6;flex-direction:row;margin-top:21px;max-width:none;gap:9px}.other-modes button{gap:9px;padding:12px 10px}.other-modes button b{font-size:11px}.other-modes button small{display:block;margin:5px 0 0;font-size:9px}.other-modes button>span:last-child{display:none}.record-line{order:7;font-size:9px;text-align:center;margin-top:18px}.home-footer{order:8;margin-top:24px;padding-top:18px;gap:0;justify-content:space-between;flex-wrap:wrap}.home-footer>span{font-size:7px;letter-spacing:.2px}.home-footer b{font-size:15px;margin-right:4px}.home-footer a{width:100%;text-align:center;margin-top:20px;font-size:10px}.setup-screen{padding:12px 16px 120px}.screen-heading{margin-bottom:16px}.screen-heading .eyebrow{font-size:8px;margin:5px 0 6px}.screen-heading h2{font-size:25px}.loadout-layout{display:flex;flex-direction:column;gap:22px}.blade-inspector{width:100%;display:grid;grid-template-columns:42% 58%;border-radius:11px}.blade-spec{padding:17px 14px 17px 0;min-width:0}#setup-view{height:215px;min-height:0;align-self:center}.blade-spec h3{font-size:17px;margin:10px 0 8px}.blade-spec>p:not(.role-tip){display:none}.blade-number{display:none}.blade-stats{gap:9px;margin:13px 0}.blade-stats span{font-size:7px}.stat-ticks{gap:2px}.stat-ticks i{height:3px}.ability{padding-top:12px}.ability-label{font-size:7px}.ability h4{font-size:12px;margin:5px 0}.ability p{font-size:10px;line-height:1.45}.blade-spec .role-tip{display:none}.loadout-options{width:100%;min-width:0}.collection-heading{flex-wrap:nowrap;align-items:center}.collection-heading h3{font-size:14px;white-space:nowrap}.collection-heading h3 span{font-size:8px;margin-left:4px}.search-field{width:43%}.search-field input{font-size:10px;min-height:38px;padding:9px}.filters{gap:5px;margin-bottom:12px}.filters button{font-size:9px;padding:8px 9px;min-height:36px}.blade-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:315px;gap:8px}.blade-card{min-height:144px;padding:8px 5px 9px}.blade-card[aria-pressed=true]{padding:7px 4px 8px}.blade-card img{height:77px;margin-bottom:5px}.blade-card b{font-size:9px;min-height:25px}.blade-card span{font-size:7px}.match-settings{margin-top:16px}.match-settings summary{padding:13px;font-size:11px;gap:6px}.match-settings summary>span{font-size:9px}.setup-footer{padding:10px 16px calc(10px + var(--safe));gap:10px;flex-wrap:wrap}.rival-preview{gap:8px;flex:1;min-width:0}.rival-preview img{width:32px;height:32px}.rival-preview b{font-size:9px;line-height:1.3;display:block}.rival-preview span{font-size:7px;margin-bottom:3px}.rival-preview .text-button{margin-left:auto;font-size:9px;min-width:42px}.setup-footer .button{min-width:0;width:100%;min-height:46px;font-size:10px;justify-content:space-between}.match-settings-body{padding:15px}.arena-options{gap:6px}.arena-option{font-size:8px}.battle-screen{padding:0 12px;height:calc(100dvh - 51px)}.in-battle .app-header{height:51px;padding:0 12px}.in-battle .arcade-link{font-size:8px}.in-battle .game-brand{font-size:15px}.in-battle .app-header .pattern-symbol{display:none}.in-battle .icon-button{height:30px;width:30px;font-size:15px}.match-topline{font-size:8px;height:34px;letter-spacing:.5px}.match-topline #arena-label{display:none}.scoreboard{gap:8px}.fighter-card{padding:9px 9px;border-radius:7px}.fighter-heading{gap:5px;flex-wrap:wrap;min-height:28px}.fighter-heading>span{font-size:7px;padding:2px 3px}.fighter-heading h2{font-size:9px;order:3;width:100%}.score-dots{gap:4px}.score-dots i{width:7px;height:7px}.spin-track{margin:8px 0 6px;height:5px}.meter-meta{font-size:7px;letter-spacing:0}.versus{gap:7px}.versus>span{font-size:12px}.versus time{font-size:8px}.battle-bottom{padding-bottom:calc(12px + var(--safe))}.battle-bottom>p:first-child{font-size:10px;margin-bottom:9px;padding:0 12px;min-height:28px;display:flex;align-items:center;justify-content:center}.action-bar{gap:7px}.action{min-height:67px;padding:10px 7px;justify-content:center;gap:6px;flex-direction:column;text-align:center;border-radius:8px}.action-symbol{font-size:22px;line-height:1}.action b{font-size:9px;letter-spacing:.5px}.action small{font-size:8px;margin-top:4px}.action kbd,.launch-panel kbd{display:none}.steer-hint{font-size:8px;line-height:1.4;margin-top:8px}.warning-label{font-size:8px;padding:8px 10px;top:2%}.battle-announcement{font-size:19px;top:18%;max-width:95%;white-space:normal}.blade-label{font-size:8px;padding:3px 5px}.launch-panel{width:300px;padding:18px 20px;top:46%;transform:translate(-50%,-40%)}.launch-panel h3{font-size:21px;margin:6px 0}.launch-panel>p:not(.eyebrow){font-size:11px}.launch-panel .eyebrow{font-size:8px}.launch-meter{margin:17px 0}.launch-panel .button{min-height:48px;font-size:10px}.launch-panel .text-button{min-height:33px}.coach{padding:10px 12px;margin-bottom:9px;gap:5px}.coach strong{font-size:11px}.coach p{font-size:9px}.coach .text-button{font-size:8px;max-width:42px;white-space:normal}.coach .eyebrow{font-size:7px}.result-screen{min-height:calc(100dvh - 60px);padding:20px 16px}.result-card{padding:27px 22px;border-radius:13px}.result-card h2{font-size:35px}.result-card>p:not(.eyebrow){font-size:12px}.result-emblem{height:75px;width:75px}.result-stats b{font-size:20px}.result-tip{font-size:11px}.bracket-screen{min-height:calc(100dvh - 60px);gap:18px;padding:28px 16px}.bracket-screen h2{font-size:32px}.bracket-screen>p:not(.eyebrow){font-size:12px;line-height:1.6}.bracket-screen .eyebrow{font-size:8px}#bracket-list{gap:8px}.bracket-rival{padding:16px 6px;border-radius:9px}.bracket-rival img{width:55px;height:55px}.bracket-rival b{font-size:9px}.bracket-rival small,.bracket-rival span{font-size:8px}dialog{padding:27px 24px;max-height:90dvh;overflow:auto}dialog h2{font-size:26px;margin-right:15px}dialog>p:not(.eyebrow){font-size:12px}.setting-row{min-height:76px}.setting-row input{height:24px;width:24px;flex-shrink:0}.dialog-close{top:9px!important;right:10px!important}.help-moves{margin:18px 0}.help-moves>div{margin-top:17px}#loading-note{font-size:9px;width:max-content;max-width:90%}}
@media(max-width:370px){.home-copy h1{font-size:53px}.game-brand{font-size:14px}.arcade-link small{display:none}.blade-inspector{grid-template-columns:38% 62%}#setup-view{height:210px}.blade-spec h3{font-size:15px}.collection-heading h3 span{display:none}.filters button{padding:8px 7px}.blade-card b{font-size:8px}.fighter-heading h2{font-size:8px}.action small{font-size:7px}.action b{font-size:8px}.rival-preview b{font-size:8px}}
@media(max-height:540px) and (orientation:landscape){.in-battle .app-header{height:42px}.in-battle .app-header .arcade-link small{display:none}.battle-screen{height:calc(100dvh - 42px);padding:0 18px}.match-topline{height:28px}.scoreboard{position:absolute;top:32px;left:16px;right:16px;max-width:none;width:auto;z-index:4;pointer-events:none;gap:40vw}.fighter-card{padding:8px 10px}.fighter-heading{gap:5px}.fighter-heading h2{font-size:9px}.fighter-heading>span{font-size:7px}.score-dots{display:none}.spin-track{margin:7px 0 0;height:4px}.meter-meta,.versus{display:none}.arena-view{min-height:0}.battle-bottom{position:absolute;left:16px;right:16px;bottom:calc(8px + var(--safe));width:auto;max-width:none;padding:0;pointer-events:none}.battle-bottom>p:first-child,.steer-hint{display:none}.action-bar{justify-content:space-between;gap:6px;pointer-events:none}.action{max-width:112px;min-height:55px;padding:8px 10px;pointer-events:auto;flex-direction:row;text-align:left}.action.guard{margin-right:auto}.action kbd{display:none}.action b{font-size:9px}.action small{font-size:8px}.action-symbol{font-size:20px}.launch-panel{top:42%;width:275px;padding:14px 18px;transform:translate(-50%,-35%)}.launch-panel .eyebrow,.launch-panel>p:not(.eyebrow){display:none}.launch-panel h3{font-size:20px;margin:0 0 10px}.launch-meter{margin:12px 0}.launch-panel .button{min-height:42px;padding:9px;font-size:9px}.launch-panel .text-button{min-height:28px;margin:0}.coach{position:absolute;bottom:70px;left:16px;width:160px;padding:9px;display:block;z-index:6;margin:0}.coach p{font-size:9px}.coach strong{font-size:10px}.coach .text-button{display:none}.warning-label{top:1%;font-size:9px}.battle-announcement{top:24%;font-size:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(pointer:coarse){.icon-button,.in-battle .icon-button{min-width:44px;min-height:44px}.filters button,.segmented button,.text-button,.search-field input{min-height:44px}.featured-switches button{width:44px;height:44px}.in-battle .app-header{min-height:48px}.match-topline{min-height:44px}.launch-panel .text-button{min-height:44px}}

@media(pointer:coarse) and (max-height:540px) and (orientation:landscape){.battle-screen{height:calc(100dvh - 48px)}}

@keyframes league-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes trophy-pop{0%{transform:scale(.65) rotate(-14deg);opacity:0}65%{transform:scale(1.1) rotate(4deg);opacity:1}100%{transform:scale(1) rotate(0)}}
@keyframes energy-breathe{0%,100%{box-shadow:0 0 0 0 #f3cc6c00}50%{box-shadow:0 0 18px 2px #f3cc6c44}}
@keyframes win-rays{from{transform:scale(.7) rotate(-12deg);opacity:0}30%{opacity:.75}to{transform:scale(1.6) rotate(12deg);opacity:0}}
body:not(.reduced-motion) .result-card,body:not(.reduced-motion) .bracket-rival{animation:league-enter .3s ease-out both}
body:not(.reduced-motion) .bracket-rival:nth-child(2){animation-delay:.08s}body:not(.reduced-motion) .bracket-rival:nth-child(3){animation-delay:.16s}
body:not(.reduced-motion) .celebrate .result-emblem{animation:trophy-pop .55s cubic-bezier(.2,.7,.3,1);position:relative}
body:not(.reduced-motion) .celebrate .result-emblem::before{content:'';position:absolute;inset:-24px;border-radius:50%;background:repeating-conic-gradient(from 0deg,#9fd6ff 0deg 3deg,transparent 3deg 30deg);mask:radial-gradient(circle,transparent 48%,#000 49% 63%,transparent 64%);animation:win-rays 1s ease-out both;pointer-events:none}
body:not(.reduced-motion) .action.special.ready{animation:energy-breathe 1.4s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.result-card,.bracket-rival,.result-emblem,.result-emblem::before,.action.special.ready{animation:none!important}}

/* A visible journey: quick matches stay one tap away, with tiers to grow into. */
.home-screen{padding-top:34px}.home-intro{margin-bottom:18px}.home-copy h1{margin-top:24px;margin-bottom:21px}
.league-preview{max-width:340px;padding:14px 16px;margin-bottom:15px;background:linear-gradient(110deg,#1b3049,#152236);border:1px solid #38516d;border-radius:9px}
.league-preview>div:first-child{display:flex;justify-content:space-between;gap:12px;font:700 10px var(--mono);letter-spacing:.7px;color:#d1e7fb}.league-preview b{color:#f6d781}
.league-track{height:4px;background:#2b425a;border-radius:3px;margin:10px 0;overflow:hidden}.league-track i{display:block;height:100%;min-width:2px;background:#f0d27c;border-radius:3px}.league-preview p{font-size:11px;line-height:1.4;color:#a8c1d9}
.home-copy>.large,.quick-duel{width:340px;max-width:100%;justify-content:space-between}.quick-duel{margin-top:9px;min-height:45px;font-size:10px}.button-caption{margin-top:9px}.other-modes{margin-top:20px}.home-footer{margin-top:30px}.record-line{margin-top:16px}
.league-screen{padding:28px 42px 45px}.league-screen .screen-heading{gap:28px}.league-summary{max-width:610px;color:#a7bbd3;line-height:1.65;font-size:13px;margin-top:13px}.league-stars{flex-shrink:0;text-align:right;border-left:1px solid #2a435d;padding-left:25px}.league-stars>span{display:block;font:9px var(--mono);letter-spacing:1.2px;color:#9db5d0}.league-stars strong{display:block;color:#f3d782;font-size:34px;margin:6px 0}.league-stars small{font-size:10px;color:#a2b8d2}.league-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}.league-node{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:15px 19px 17px;border:1px solid #34465f;border-radius:13px;background:radial-gradient(ellipse at 50% 30%,#2b3f5755,#111d2e 72%);text-align:center;transition:transform .15s,border-color .15s}.league-node:not(:disabled):hover{border-color:var(--tier);transform:translateY(-3px);background-color:#1d324a}.league-node.current{border-color:var(--tier);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tier) 25%,transparent)}.league-node:disabled{opacity:.5}.tier-node-top{width:100%;display:flex;justify-content:space-between;align-items:center;gap:5px;font:9px var(--mono);letter-spacing:1px;color:#91a8c2}.tier-node-top>b{font-size:13px;color:var(--tier)}.tier-node-top>span{color:var(--tier)}.league-node img{width:108px;height:88px;object-fit:contain;margin:3px auto 5px;filter:drop-shadow(0 8px 12px #0005)}.league-node>strong{font-size:21px;letter-spacing:-.4px;color:var(--tier)}.tier-theme{display:block;font-size:12px;color:#d0e0f0;margin-top:6px}.league-node>small{font:9px var(--mono);letter-spacing:.3px;color:#829db9;margin-top:14px}.tier-venue{font-size:10px;color:#829db9;margin-top:5px}.tier-node-play{align-self:stretch;border-top:1px solid #30445c;padding-top:12px;margin-top:15px;font:700 9px var(--mono);letter-spacing:.5px;color:#c5def4}.league-note{margin-top:25px;text-align:center;color:#92aac5;font-size:12px;line-height:1.6}
.tier-badge{display:inline-block!important;color:var(--tier)!important;border:1px solid color-mix(in srgb,var(--tier) 45%,transparent);background:color-mix(in srgb,var(--tier) 7%,transparent);border-radius:4px;padding:4px 6px;font:700 8px var(--mono)!important;letter-spacing:.5px!important;line-height:1.2!important}.inspector-tier{margin:0 0 11px}.blade-card .tier-badge{margin-top:8px;max-width:100%;font-size:7px!important;padding:4px 5px}.blade-card{min-height:185px}.collection-filters{display:flex;flex-wrap:wrap;align-items:flex-start;gap:7px;margin-bottom:14px}.collection-filters .filters{flex:1;min-width:240px;margin:0}.tier-select select{appearance:auto;background:#17263c;border:1px solid #3e536e;border-radius:5px;min-height:36px;max-width:150px;color:#c4dbf3;font-size:10px;padding:8px}.tier-select select:focus-visible{outline:2px solid #c7e9ff;outline-offset:3px}
.league-context{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 20px;border:1px solid #5b5540;border-radius:10px;background:linear-gradient(110deg,#332e2166,#152338);margin-bottom:22px}.league-context b{font:700 11px var(--mono);letter-spacing:.4px;color:#f1d48c}.league-context p{font-size:12px;color:#b1c4d9;line-height:1.6;margin-top:7px}#league-goals{flex-shrink:0;display:flex;flex-direction:column;gap:7px;font-size:11px;color:#e2d0a5}.battle-objective{text-align:center;align-self:center;flex-shrink:0;font-size:11px;line-height:1.4;color:#e6d39c;padding:8px 15px 0;max-width:100%}.practice-tip{display:block;background:none;border:0;border-top:1px solid #334c67;min-height:38px;width:100%;font-size:10px;line-height:1.4;color:#a5c9e8;margin-top:4px;padding:9px 0 0}.action.counter-ready{background:#463d24;border-color:#f0d37f;color:#fff0bc}.action.incoming{border-color:#ffbf88;box-shadow:0 0 0 2px #ffb47945;background:#3b302d}.action.coach-focus{outline:2px solid #b0ddff;outline-offset:3px}.warning-label.urgent{background:#a44420;color:#fff1dc;border-color:#ffd7a7}.result-reward{margin-top:20px;padding:15px 16px;text-align:left;border:1px solid #655c3d;border-radius:9px;background:linear-gradient(130deg,#3b342780,#1b2d43)}.reward-title{font:700 10px var(--mono);letter-spacing:.6px;line-height:1.6;color:#f2d789;margin-bottom:11px}.result-reward>div{display:flex;flex-direction:column;gap:10px}.result-reward span{font-size:12px;color:#8fa5bc;display:flex;gap:7px;align-items:center}.result-reward span.earned{color:#e3d5b4}.result-reward small{font:9px var(--mono);margin-left:auto;white-space:nowrap}.result-card{max-width:520px}.result-stats span{font-size:8px}
@media(min-width:1400px){.blade-card{min-height:202px}}
@media(max-width:1000px){.home-copy>.large,.quick-duel,.league-preview{width:100%;max-width:340px}.league-screen{padding:24px 26px 35px}.league-map{gap:12px}.league-node{padding:13px 12px}.league-node>strong{font-size:19px}.league-context{gap:15px}.collection-filters .filters{min-width:100%}.collection-filters{gap:9px}.tier-select select{min-width:140px}}
@media(max-width:680px){.home-screen{padding-top:23px}.home-copy h1{margin-top:20px;margin-bottom:12px}.home-intro{margin-bottom:0}.home-display{min-height:226px}.home-display #home-view{min-height:195px;height:195px}.league-preview{order:4;max-width:none;width:100%;margin-top:22px;margin-bottom:0;padding:12px 14px}.home-copy>#play-league{order:5;margin-top:12px;width:100%;max-width:none}.quick-duel{order:6;margin-top:9px;max-width:none;width:100%;min-height:45px}.button-caption{order:7}.other-modes{order:8;margin-top:18px}.record-line{order:9}.home-footer{order:10}.league-screen{padding:16px 16px 30px}.league-screen .screen-heading{align-items:flex-start;gap:15px;flex-direction:column}.league-screen .screen-heading h2{font-size:29px;max-width:320px}.league-summary{font-size:12px;line-height:1.6}.league-stars{border-left:0;padding:0;display:flex;align-items:center;gap:12px;text-align:left;width:100%;flex-wrap:wrap}.league-stars strong{font-size:26px;margin:0}.league-stars small{margin-left:auto;font-size:9px}.league-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.league-node{padding:12px 10px}.league-node img{width:90px;height:75px;margin-top:7px}.league-node>strong{font-size:18px}.tier-theme{font-size:10px;line-height:1.45;min-height:29px}.league-node>small{font-size:8px;min-height:20px;line-height:1.4;margin-top:8px}.tier-node-top{font-size:8px;letter-spacing:.3px}.tier-node-top>b{font-size:11px}.tier-node-play{font-size:8px;line-height:1.4;min-height:36px;padding-top:11px;margin-top:10px}.tier-venue{font-size:9px}.league-note{font-size:11px}.league-context{padding:13px 14px;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px}.league-context b{font-size:10px}.league-context p{font-size:11px}.league-context #league-goals{flex-direction:row;flex-wrap:wrap;font-size:10px;gap:8px 15px}.collection-filters{margin-bottom:12px;gap:9px}.collection-filters .filters{min-width:100%;gap:5px}.tier-select select{font-size:10px;min-height:38px;min-width:145px}.blade-card{min-height:165px}.blade-card .tier-badge{font-size:6px!important;letter-spacing:.1px!important;padding:4px;margin-top:7px}.inspector-tier{font-size:7px!important;margin-bottom:1px}.battle-objective{font-size:9px;padding:6px 8px 0}.result-reward{padding:13px}.result-reward span{font-size:11px}.result-stats span{font-size:7px}.practice-tip{min-height:36px;font-size:9px}}
@media(pointer:coarse){.tier-select select,.practice-tip{min-height:44px}}
@media(max-height:540px) and (orientation:landscape){.match-topline #arena-label{display:none}.battle-objective{position:absolute;top:3px;left:50%;transform:translateX(-50%);font-size:8px;padding:6px 0;max-width:45%;z-index:5;pointer-events:none}.practice-tip{display:none}.launch-panel .text-button{min-height:30px}.action.coach-focus{outline-offset:1px}}

/* Premium edition: quiet materials, expressive titles, and a legible game HUD. */
:root {
  --bg: var(--premium-bg); --surface: var(--premium-panel); --text: var(--premium-text);
  --muted: var(--premium-muted); --line: var(--premium-line); --blue: #a4cad5; --orange: #e3a18b;
  --mono: var(--font-ui);
}
body { font-family: var(--font-ui); background: radial-gradient(ellipse at 78% 14%, #26333455, transparent 50%), var(--bg); }
.app-header { background: #0d171bf5; border-bottom-color: var(--line); }
.arcade-link { font-weight: 600; letter-spacing: .12em; }
.arcade-link small { color: var(--muted); font-size: 8px; font-weight: 400; letter-spacing: .15em; }
.pattern-symbol { font: 500 26px var(--font-display); color: var(--premium-gold); border-color: #cbb58980; border-radius: 0; }
.game-brand { font: 500 25px var(--font-display); letter-spacing: -.06em; }
.game-brand span { color: var(--premium-gold); }
.icon-button { background: transparent; border-color: var(--line); border-radius: 4px; font-weight: 500; }
.icon-button:hover { background: var(--premium-raised); border-color: var(--premium-gold); }
.eyebrow { color: var(--premium-gold); font-weight: 500; letter-spacing: .16em; }
.live-dot { width: 5px; height: 5px; border-radius: 0; background: var(--premium-gold); transform: rotate(45deg); }
.button { border-radius: 3px; font-size: 12px; font-weight: 600; letter-spacing: .05em; border-color: var(--line); }
.button.primary { background: #e5d8b9; border-color: #e5d8b9; color: #192323; box-shadow: inset 0 0 0 3px #e5d8b9, inset 0 0 0 4px #81755c55; }
.button.primary:hover { background: #f1e5c9; border-color: #f1e5c9; transform: none; }
.button.secondary { background: var(--premium-panel); color: var(--premium-text); }
.button.secondary:hover { background: var(--premium-raised); border-color: var(--premium-gold); }
.text-button { color: #b5c2c1; }.button-caption, .record-line { color: #9eafae; }
h1 { font: 400 clamp(72px, 7.4vw, 100px)/1.02 var(--font-display); letter-spacing: -.06em; text-shadow: none; }
h1 > span { color: var(--premium-gold); }
h1 > i { font: 500 10px var(--font-ui); color: #b8c2ba; letter-spacing: .24em; margin-top: 21px; }
.home-copy h1 { margin-top: 22px; margin-bottom: 22px; }
.home-intro { color: #b8c5c4; font-size: 15px; line-height: 1.8; }
.home-copy > .large { font-size: 12px; }
.other-modes { gap: 10px; }
.other-modes button { border-radius: 3px; border-color: var(--line); background: transparent; padding: 15px 12px; }
.other-modes button:hover { background: var(--premium-panel); border-color: var(--premium-gold); }
.other-modes button b { font-size: 12px; font-weight: 600; }.other-modes button small { color: var(--muted); font-size: 10px; }
.mode-icon { color: var(--premium-gold); font-size: 24px; }
.display-grid { border-color: #cbb58928; background: radial-gradient(ellipse, #a6967040, transparent 69%); }
.display-index { font-size: 9px; color: #adb7ac; letter-spacing: .12em; }
.featured-info { padding-top: 20px; border-top: 1px solid var(--line); }
.featured-info h2 { font: 500 22px/1.3 var(--font-display); letter-spacing: -.02em; }
.role-tag { border-color: #adc2c050; border-radius: 2px; color: #bed7d8; font-weight: 500; letter-spacing: .09em; }
.featured-switches button { border-color: #acb9ae50; border-radius: 3px; background: #152328; width: 44px; height: 44px; }
.featured-switches button[aria-pressed=true] { border-color: var(--premium-gold); background: #34392c; }
.rotate-hint { color: #97aaa8; letter-spacing: .04em; }
.home-footer { border-color: var(--line); color: var(--muted); letter-spacing: .07em; font-size: 9px; }
.home-footer b { font: 500 24px var(--font-display); color: #e0d7c5; }.home-footer a { font-family: var(--font-ui); color: #c2c9c1; }
.league-preview { border-color: var(--line); border-radius: 3px; background: #162328; padding: 15px 17px; }
.league-preview > div:first-child { font-size: 10px; font-weight: 500; color: #e0e4d9; }.league-preview b { color: var(--premium-gold); font-variant-numeric: tabular-nums; }
.league-preview p { color: #a8b8b6; }.league-track { background: #33423e; }.league-track i { background: var(--premium-gold); }
.screen-heading h2, .bracket-screen h2, .result-card h2, dialog h2 { font-family: var(--font-display); font-weight: 400; letter-spacing: -.035em; line-height: 1.25; }
.screen-heading h2 { font-size: 32px; }.league-summary, .league-note { color: var(--muted); }
.league-stars { border-color: var(--line); }.league-stars strong { font-family: var(--font-display); color: var(--premium-gold); font-weight: 500; }
.league-node { background: radial-gradient(ellipse at 50% 20%, #2b3c3f66, var(--premium-panel) 75%); border-radius: 4px; border-color: var(--line); padding-top: 18px; }
.league-node:not(:disabled):hover { transform: none; background: var(--premium-raised); }
.league-node.current { box-shadow: inset 0 3px 0 var(--tier); }
.league-node > strong { font-family: var(--font-display); font-weight: 500; font-size: 23px; letter-spacing: -.035em; }
.tier-node-top { color: var(--muted); font-weight: 500; }.tier-theme { color: #d1dad3; }.league-node > small, .tier-venue { color: #a7b7b6; }
.tier-node-play { border-color: var(--line); color: #d4dfdb; font-weight: 500; letter-spacing: .02em; }
.blade-inspector { background: radial-gradient(ellipse at 50% 12%, #35463e70, var(--premium-panel) 68%); border-color: var(--line); border-radius: 4px; }
.blade-spec h3 { font: 500 25px/1.2 var(--font-display); letter-spacing: -.025em; }
.blade-spec > p, .ability p { color: #b0c0bf; }.ability { border-color: var(--line); }.ability h4 { color: #e3e2d4; font-weight: 600; }.ability-label { color: #b2b7a8; }
.blade-spec .role-tip { color: #b7c7c3; border-color: var(--premium-gold); }.blade-stats span { color: #c1c9c1; font-weight: 500; letter-spacing: .02em; }
.collection-heading h3 { font-weight: 500; }.search-field input, .tier-select select { background: #101d22; border-color: var(--line); border-radius: 3px; color: var(--text); font-family: var(--font-ui); }
.search-field input { font-size: 12px; }.search-field input::placeholder { color: #9aadae; }
.filters button { background: transparent; border-color: var(--line); border-radius: 3px; color: #b1c1c0; font-size: 11px; }
.filters button[aria-pressed=true] { color: #f0e6cd; background: #34392e; border-color: var(--premium-gold); }
.blade-card { background: radial-gradient(ellipse at 50% 15%, #2a3a3d, #162329 75%); border-color: var(--line); border-radius: 4px; }
.blade-card:hover { background: #25373a; border-color: #b9c1af; }
.blade-card[aria-pressed=true] { background: radial-gradient(ellipse at 50% 15%, #454836, #202e2e 75%); border-color: var(--premium-gold); }
.blade-card[aria-pressed=true]::after { background: var(--premium-gold); color: #18201c; border-radius: 2px; }
.blade-card b { font-size: 11px; font-weight: 600; letter-spacing: 0; }.blade-card span { color: #afc0bf; letter-spacing: .04em; }
.tier-badge { border-radius: 2px; }.match-settings { background: var(--premium-panel); border-color: var(--line); border-radius: 4px; }
.match-settings-body { border-color: var(--line); }.segmented button, .arena-option { background: #1c2c32; border-color: #7e99934d; border-radius: 3px; }
.segmented button[aria-pressed=true], .arena-option[aria-pressed=true] { border-color: var(--premium-gold); background: #353b31; color: #f1e4c9; }
.setup-footer { background: #101c21f5; border-color: #cbb58950; }.league-context { border-radius: 4px; background: linear-gradient(110deg, #3c372733, var(--premium-panel)); }
.battle-screen { background: radial-gradient(ellipse at 50% 50%, #253b3b44, transparent 70%); }
.match-topline { color: #afc1c2; letter-spacing: .07em; }.match-topline .text-button { font-family: var(--font-ui); }
.fighter-card { border-radius: 3px; background: #132329e8; border-color: #96b8bd55; }.fighter-card.rival { border-color: #bc8d7955; }
.fighter-heading > span { font-weight: 500; border-radius: 2px; }.fighter-heading h2 { font-size: 12px; font-weight: 600; letter-spacing: .01em; }
.spin-track { height: 6px; border-radius: 1px; }.spin-track > div { background: #a1c8d1; }.rival .spin-track > div { background: #dfa68d; }
.meter-meta { color: #a6bab9; letter-spacing: .04em; }.meter-meta b { color: #e6ede5; font-weight: 600; font-variant-numeric: tabular-nums; }
.versus > span { font-family: var(--font-display); font-style: normal; font-weight: 500; }.versus time { font-variant-numeric: tabular-nums; }
.action { border-radius: 3px; background: linear-gradient(#22383e, #16282e); border-color: #76969380; }.action:hover:not(:disabled) { background: #30474b; border-color: #b8cec6; }
.action b { font-weight: 600; letter-spacing: .04em; }.action small { color: #b6c8c6; font-size: 10px; }.action-symbol { color: #c5dcd8; }
.action.special { background: linear-gradient(#3a382a, #262d26); border-color: #cbb58990; }.action.special.ready { background: linear-gradient(#575039, #3b3f2d); border-color: #e5cc93; }
.action.counter-ready { background: #50462c; border-color: #f0d37f; }.action.incoming { border-color: #ffbf88; box-shadow: 0 0 0 2px #ffb47945; background: #3b302d; }
.battle-announcement { font-family: var(--font-display); font-weight: 500; font-style: normal; }.steer-hint { color: #98b1b1; }

/* Signature moves stay inside the stadium and never intercept battle input. */
.arena-view { overflow:clip; }
#special-effects { position:absolute; inset:0; width:100%; height:100%; z-index:2; pointer-events:none; }
.special-callout { position:absolute; top:2px; left:12px; z-index:3; display:flex; align-items:center; gap:12px; width:min(300px,42%); padding:12px 15px; pointer-events:none; overflow:hidden; color:#fff7dd; background:linear-gradient(115deg,#101e25f5,#142c32e8); border:1px solid color-mix(in srgb,var(--special-color) 55%,transparent); border-left:3px solid var(--special-color); border-radius:3px 14px 3px 3px; box-shadow:0 8px 25px #0004; }
.special-callout[hidden] { display:none; }
.special-callout.rival { left:auto; right:12px; border-radius:14px 3px 3px 3px; }
.special-crest { flex:none; color:var(--special-color); font:700 34px/1 sans-serif; text-shadow:0 0 18px var(--special-color); }
.special-callout>div { min-width:0; }
.special-callout small { display:block; font:700 8px var(--mono); letter-spacing:1.5px; color:#cedbd9; }
.special-callout strong { display:block; margin:5px 0 3px; font:600 clamp(12px,1.6vw,20px)/1.15 var(--font-display); overflow-wrap:anywhere; }
.special-kind { display:block; color:var(--special-color); font:500 10px var(--mono); }
.special-callout>i { position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--special-color); transform-origin:left; }
@media(max-width:600px) {
 .special-callout { top:40px; left:0; width:47%; padding:9px 8px; gap:6px; }
 .special-callout.rival { right:0; }
 .special-crest { font-size:22px; }
 .special-callout small { font-size:6px; letter-spacing:.6px; }
 .special-callout strong { font-size:12px; margin:4px 0; }
 .special-kind { font-size:8px; }
 .arena-view:has(.special-callout:not([hidden])) .battle-announcement { top:108px; }
}
@media(max-height:540px) and (orientation:landscape) {
 .special-callout { top:70px; left:2px; width:180px; padding:7px 10px; gap:7px; }
 .special-callout.rival { right:2px; }
 .special-crest { font-size:22px; }
 .special-callout strong { font-size:13px; }
 .special-kind { font-size:8px; }
}
@media(max-width:600px) and (max-height:650px) and (orientation:portrait) {
 .special-callout { top:36px; padding:7px 6px; }
 .special-crest { display:none; }
 .special-callout strong { font-size:11px; }
 .special-kind { font-size:7px; }
 .arena-view:has(.special-callout:not([hidden])) .battle-announcement { top:94px; }
}
.launch-panel { background: #13232af7; border-color: #cbb58980; border-radius: 4px; }.launch-panel h3 { font: 500 25px/1.3 var(--font-display); }
.launch-panel > p:not(.eyebrow) { color: #bacac8; }.launch-meter { border-radius: 2px; }.coach { background: #172f36; border-radius: 4px; border-color: #89b4b060; }
.result-card, dialog { background: radial-gradient(ellipse at 50% 0, #3b443b66, var(--premium-panel) 60%); border-color: #cbb58965; border-radius: 4px; }
.result-card h2 { color: var(--text); }.result-card > p:not(.eyebrow), dialog > p:not(.eyebrow) { color: #b1c3c0; }
.result-score, .result-stats b { font-family: var(--font-display); font-weight: 500; color: #e4ddcb; }.result-stats { border-color: var(--line); }
.result-tip { background: #233537; color: #c6d4cd; border-radius: 3px; }.result-reward { background: #303629; border-radius: 3px; }
.result-links { gap: 14px; }.setting-row { border-color: var(--line); }.setting-row input { accent-color: var(--premium-gold); }.setting-row small { color: #aabeb9; }
.bracket-rival { background: var(--premium-panel); border-color: var(--line); border-radius: 4px; }.bracket-rival.current { background: #2c382f; border-color: var(--premium-gold); }
#toast, #loading-note { background: #203439; border-color: #9ab8ae80; border-radius: 4px; color: #deebe0; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 2px solid var(--premium-gold); outline-offset: 4px; }
@media (max-width: 1000px) {
  .featured-info h2 { font-size: 19px; }.other-modes button { padding: 12px; }
}
@media (max-width: 680px) {
  .game-brand { font-size: 21px; }.pattern-symbol { font-size: 24px; }.arcade-link small { font-size: 7px; }
  .home-copy h1 { font-size: clamp(49px, 11.6vw, 72px); line-height: 1.05; letter-spacing: -.065em; margin: 21px 0 16px; }
  .home-copy h1 > i { font-size: 9px; letter-spacing: .2em; margin-top: 15px; }.home-intro { font-size: 13px; line-height: 1.7; }
  .featured-info { padding-top: 15px; }.featured-info h2 { font-size: 16px; }.featured-info .eyebrow { font-size: 8px; letter-spacing: .1em; }
  .featured-switches button { width: 42px; height: 42px; }.home-footer > span { font-size: 8px; }.home-footer b { font-size: 19px; }
  .other-modes button { padding: 13px 10px; }.other-modes button b { font-size: 11px; }.other-modes button small { font-size: 10px; }
  .screen-heading h2 { font-size: 27px; }.league-screen .screen-heading h2 { font-size: 28px; }.league-node > strong { font-size: 20px; }
  .blade-spec h3 { font-size: 19px; }.ability h4 { font-size: 12px; }.ability p { font-size: 11px; }.blade-stats span { font-size: 8px; }
  .filters button { font-size: 10px; }.blade-card b { font-size: 10px; }.blade-card span { font-size: 8px; }.blade-card .tier-badge { font-size: 7px!important; }
  .fighter-heading h2 { font-size: 10px; }.meter-meta { font-size: 8px; }.action { border-radius: 3px; }.action b { font-size: 10px; }.action small { font-size: 9px; }
  .launch-panel h3 { font-size: 23px; }.launch-panel > p:not(.eyebrow) { font-size: 11px; }.result-card h2 { font-size: 33px; }
  dialog h2 { font-size: 27px; }.result-card > p:not(.eyebrow), dialog > p:not(.eyebrow) { font-size: 13px; }
}
@media (max-width: 370px) {
  .home-copy h1 { font-size: 46px; }.game-brand { font-size: 18px; }.other-modes .mode-icon { display: none; }.blade-spec h3 { font-size: 16px; }.action small { font-size: 8px; }
}
@media (max-height: 540px) and (orientation: landscape) {
  .fighter-heading h2 { font-size: 9px; }.action small { font-size: 9px; }.launch-panel h3 { font-size: 20px; }
}
