@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap";:root{color:#dfebe9;font-synthesis:none;--mint:#a2ebd8;--line:#ffffff13;--muted:#80949d;--display:"Barlow Condensed","Arial Narrow",sans-serif;background:#0b1520;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button,a,input,select{touch-action:manipulation}button{color:inherit;background:0 0;border:0}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button:hover{color:var(--mint)}button[aria-pressed=true]{color:var(--mint);background:#a2ebd80b;border-color:#a2ebd87a!important}a{color:inherit;text-decoration:none}p{line-height:1.65}kbd{color:#c4d3d5;white-space:nowrap;border:1px solid #b0cacb25;border-bottom-width:2px;border-radius:4px;justify-content:center;align-items:center;padding:2px 5px;font:500 10px DM Sans,sans-serif;display:inline-flex}.hidden{display:none!important}.topbar{border-bottom:1px solid var(--line);align-items:center;gap:65px;height:77px;padding:0 3.4%;display:flex}.wordmark{letter-spacing:3px;white-space:nowrap;font-size:25px;font-weight:700}.brand-star{color:var(--mint);vertical-align:-2px;margin-right:7px;font-size:33px}.brand-dot{color:var(--mint)}nav{align-items:center;gap:32px;height:100%;font-size:12px;display:flex}nav .nav-active{border-bottom:2px solid var(--mint);align-items:center;gap:12px;height:100%;display:flex}nav span span{color:var(--mint);border:1px solid #a2ebd841;border-radius:3px;padding:2px 4px;font-size:9px}nav button{color:var(--muted);padding:0}nav button span{margin-left:12px}.gate-badge{letter-spacing:1.2px;color:var(--muted);align-items:center;gap:8px;margin-left:auto;font-size:9px;display:flex}.gate-badge i,.live-dot{background:var(--mint);border-radius:50%;width:5px;height:5px;display:inline-block;box-shadow:0 0 10px #a2ebd860}.page-heading{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.eyebrow{letter-spacing:2px;color:var(--mint);margin:0 0 6px;font-size:9px;font-weight:600}h1{font:500 38px/1.1 var(--display);letter-spacing:.3px;margin:0}.heading-note{color:#bac9ca;text-align:right;margin:0;font-size:11px}.heading-note span{color:var(--muted)}.lab-layout{grid-template-columns:minmax(0,1fr) 264px;align-items:stretch;gap:18px;display:grid}.arena-shell{background:#0e1c29;border:1px solid #627c8140;border-radius:9px;align-self:start;overflow:hidden;box-shadow:0 15px 50px #0002}.arena-top{letter-spacing:1.2px;color:#94a8ad;justify-content:space-between;align-items:center;height:43px;padding:0 17px;font-size:9px;display:flex}.arena-top b{color:#e3f0eb;font-weight:500}.arena-top .live-dot{margin-right:7px}.separator{color:#4f686e;margin:0 9px}.arena-top>div{align-items:center;gap:15px;display:flex}.arena-top button{letter-spacing:0;padding:4px 0;font-size:10px}.arena-top #fullscreen{font-size:21px}.stage-wrap{aspect-ratio:16/9;background:#12243d;position:relative}#game{outline:0;width:100%;height:100%;display:block}.stage-caption{color:#d5edee9c;letter-spacing:2px;pointer-events:none;justify-content:space-between;font-size:8px;display:flex;position:absolute;top:20px;left:24px;right:24px}.stage-caption #clock{letter-spacing:1.5px;color:#d8e7e4;font-size:10px}.stage-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:4;background:#08152279;place-items:center;display:grid;position:absolute;inset:0}.intro-card,.pause-card{text-align:center;color:#edf9f4;padding:25px}.intro-card .eyebrow,.pause-card .eyebrow{letter-spacing:2.5px;font-size:10px}.intro-card h2,.pause-card h2{font:500 62px/1.1 var(--display);margin:12px 0}.intro-card p{color:#c4d6d8;margin:14px 0 23px;font-size:12px;line-height:1.9}.primary{background:var(--mint);color:#102b2d;border:1px solid var(--mint);border-radius:4px;justify-content:space-between;align-items:center;gap:20px;min-width:225px;margin:0 auto;padding:13px 22px;font-size:12px;font-weight:700;display:flex}.primary:hover{color:#102b2d;background:#c0ffe9}.primary span{font-size:20px}.intro-card small,.pause-card small{color:#a8bec5;margin-top:17px;font-size:8px;display:block}.fighter-hud{pointer-events:none;align-items:center;gap:13px;display:flex;position:absolute;bottom:17px}.fighter-hud.opponent{text-align:right;right:28px}.player-index{font:600 58px/1 var(--display);color:#d5f2ea1d}.fighter-name{letter-spacing:1.5px;font-size:12px;display:block}.fighter-name small{letter-spacing:.6px;color:var(--mint);margin-left:5px;font-size:7px}.opponent .fighter-name small{color:#f9baab}.fighter-hud strong{font:600 45px/.95 var(--display);color:#f1fff6;text-shadow:0 2px 15px #071b32;margin:4px 0;display:block}.fighter-hud strong span{margin-left:1px;font-size:25px}.stocks{letter-spacing:2px;color:var(--mint);margin-top:5px;font-size:9px}.opponent .stocks{color:#ffbcaa}.shield-meter{background:#bbcfd82a;width:95px;height:2px;margin-top:7px}.shield-meter i{background:var(--mint);height:100%;display:block}.opponent .shield-meter i{background:#ffb5a5}.opponent .shield-meter{margin-left:auto}#combo{font:600 26px var(--display);color:#fff1bd;pointer-events:none;position:absolute;top:90px;left:30px}.arena-bottom{color:#9eb0b5;justify-content:space-between;align-items:center;height:43px;padding:0 16px;font-size:9px;display:flex}.arena-bottom>span{align-items:center;gap:5px;display:flex}.arena-bottom kbd{padding:2px 4px;font-size:8px}.arena-bottom kbd:not(:first-child){margin-left:5px}.arena-bottom button{white-space:nowrap;font-size:9px}.arena-bottom button span{color:var(--mint);margin-left:8px}.character-panel{background:linear-gradient(160deg,#152a33,#101e2a 60%);border:1px solid #78948d26;border-radius:9px;padding:18px 18px 11px;position:relative;overflow:hidden}.character-heading{justify-content:space-between;align-items:center;display:flex}.character-heading .eyebrow{letter-spacing:1.2px;margin:0;font-size:8px}.role-pill{letter-spacing:.4px;color:#a7bcb9;border:1px solid #a2ebd826;border-radius:3px;padding:4px 5px;font-size:7px}.portrait-wrap{height:168px;margin:3px -10px -5px;position:relative;overflow:hidden}#portrait{object-fit:contain;z-index:1;width:100%;height:100%;position:relative}.portrait-orbit{border:1px solid #a2ebd822;border-radius:50%;width:140px;height:140px;position:absolute;top:17px;left:44px;box-shadow:0 0 70px #a2ebd810,inset 0 0 60px #a2ebd806}.portrait-orbit:after{content:"";border:1px dashed #a2ebd81c;border-radius:50%;position:absolute;inset:15px}.portrait-kanji{color:#d8fcea09;font-size:80px;position:absolute;top:45px;right:13px}.character-copy h2 span{color:#a2ebd849;vertical-align:5px;margin-left:10px;font-family:serif;font-size:17px}.subtitle{letter-spacing:2px;color:var(--mint);margin:7px 0;font-size:8px}.character-copy>p:last-child{color:#94a8ae;margin:9px 0 15px;font-size:10px;line-height:1.7}.mode-picker{border-top:1px solid var(--line);padding-top:12px}.mode-picker label,.pose-detail>label{letter-spacing:1.2px;color:#8da5ab;margin-bottom:8px;font-size:8px;display:block}select{color:#d6e7e4;background:#132632;border:1px solid #819c9b36;border-radius:4px;max-width:100%;padding:8px 9px;font-size:11px}select option{background:#132632}.mode-picker select{width:100%}.training-options{grid-template-columns:1fr 1fr;align-items:center;gap:10px;padding:12px 0 0;display:grid}.training-options>label{color:#9bb0b6;font-size:9px}.training-options select{padding:6px;font-size:9px}.damage-setting{grid-column:span 2;align-items:center;gap:8px;display:flex}.damage-setting label{color:#9bb0b6;white-space:nowrap;font-size:9px}.damage-setting input{width:100%;min-width:0;height:3px;accent-color:var(--mint)}.damage-setting output{color:#c6dbd3;min-width:26px;font-size:9px}.session-actions{border-top:1px solid var(--line);justify-content:space-between;gap:7px;margin-top:13px;padding-top:9px;display:flex}.session-actions button{padding:3px 0;font-size:9px}.session-actions kbd{margin-left:4px;font-size:7px}.panel-footnote{text-align:center;color:#68848d;margin:10px 0 0;font-size:7px}.section-heading{align-items:center;gap:30px;margin:25px 0 15px;display:flex}.section-heading h2{font:500 24px var(--display);letter-spacing:.3px;margin:0}.move-tabs{gap:5px;display:flex}.move-tabs button{color:#8ba2a9;border-radius:4px;padding:5px 11px;font-size:10px}.move-tabs .active{color:var(--mint);background:#a2ebd812}.section-hint{color:#6f8992;margin-left:auto;font-size:9px}.move-cards{gap:9px;display:flex}.move-card{text-align:left;background:#11212c;border:1px solid #72949326;border-radius:5px;flex:1;min-width:0;min-height:99px;padding:13px 14px;transition:background .15s,border-color .15s;position:relative}.move-card.selected{background:#1a3439;border-color:#a2ebd874}.move-card:hover{background:#1b323b}.move-number{letter-spacing:1px;color:#66838b;margin-bottom:6px;font-size:8px;display:block}.move-card.selected .move-number{color:var(--mint)}.move-card-name{font:500 20px var(--display);color:#dfebe6;margin-bottom:10px;display:block}.move-card kbd{color:#9bb5ba;border:0;padding:0;font-size:8px}.move-damage{color:#8ba49f;font-size:9px;position:absolute;bottom:13px;right:12px}.move-damage>span{color:var(--mint);margin-left:6px}.lab-tools{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1.7fr .9fr;gap:28px;margin-top:16px;padding:18px 0 15px;display:grid}.move-detail h3{font:500 23px var(--display);margin:5px 0}.move-detail p{color:#89a0a8;max-width:310px;margin:6px 0;font-size:10px}.move-detail button{color:var(--mint);padding:5px 0;font-size:10px}.move-detail button span{margin-left:10px}.frame-detail{padding-top:3px}.frame-labels{letter-spacing:.8px;color:#879fa6;justify-content:space-between;font-size:8px;display:flex}.frame-labels b{color:#dceade;margin-left:4px;font-weight:500}.frame-track{gap:3px;height:8px;margin-top:12px;display:flex;position:relative}.frame-track i{border-radius:2px}.startup{background:#dcbd85}.active-frames{background:#9de4ce}.recovery{background:#405b70}#frame-cursor{opacity:0;background:#fff;width:2px;height:16px;position:absolute;top:-4px}.frame-detail>p{color:#8098a2;justify-content:space-between;gap:10px;margin:10px 0 16px;font-size:8px;display:flex}#frame-status{color:#acbfbf}.inspector-controls{align-items:center;gap:7px;display:flex}.inspector-controls>button,.inspector-controls>label{white-space:nowrap;border:1px solid #819c9b36;border-radius:4px;padding:6px 8px;font-size:9px}.inspector-controls>label{color:#8da6ab;align-items:center;gap:5px;padding:0 6px;display:flex}.inspector-controls select{background:0 0;border:0;padding:6px 0;font-size:9px}.pose-detail{border-left:1px solid var(--line);padding-left:24px}.pose-detail select{width:100%;font-size:10px}.pose-detail p{color:#6f8992;font-size:9px;line-height:1.8}footer{color:#5e7a84;letter-spacing:.7px;justify-content:space-between;padding:21px 0;font-size:8px;display:flex}footer b{margin-left:14px;font-weight:400}footer button{color:#9bb6ba;margin-left:15px;font-size:8px}.touch-controls{display:none}dialog{color:#dcebe7;background:#11222f;border:1px solid #6da49e55;border-radius:12px;width:calc(100% - 36px);max-width:780px;padding:38px;box-shadow:0 30px 120px #0008}dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#07131bcc}dialog h2{font:500 43px/1.12 var(--display);margin:15px 0 22px}dialog h3{font:500 24px var(--display);margin:13px 0}dialog p{color:#a1b8be;font-size:12px}.dialog-close{color:#90b0b6;font-size:28px;position:absolute;top:8px;right:15px}.control-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.control-grid p{margin:8px 0;font-size:10px}.dialog-note{border-top:1px solid var(--line);margin-top:24px;padding-top:17px;color:#77969f!important;font-size:10px!important}.vision-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:27px;display:grid}.vision-grid article>span{letter-spacing:1px;color:var(--mint);font-size:8px}.vision-grid p{font-size:10px}.arena-shell:fullscreen{background:#07111b;border:0;border-radius:0;flex-direction:column;justify-content:center;display:flex}.arena-shell:fullscreen .stage-wrap{width:min(100vw,177.778vh - 152.889px);margin:0 auto}:is(.arena-shell:fullscreen .arena-top,.arena-shell:fullscreen .arena-bottom){flex-shrink:0;width:100%}.arena-shell:fullscreen .arena-bottom{justify-content:center;gap:35px}@media (width>=1500px){.lab-layout{grid-template-columns:minmax(0,1fr) 300px}.portrait-wrap{height:205px}.character-copy>p:last-child{font-size:12px}.character-panel{padding:20px}.character-copy h2{font-size:48px}.training-options>label,.training-options select,.damage-setting label,.session-actions button{font-size:11px}.mode-picker select{padding:10px}.panel-footnote{font-size:9px}.arena-bottom{font-size:11px}.arena-top{font-size:10px}}@media (width<=1100px){.topbar{gap:25px}.gate-badge{display:none}.lab-layout{grid-template-columns:minmax(0,1fr) 235px;gap:12px}.character-panel{padding:14px}.portrait-wrap{height:130px}.character-copy h2{font-size:34px}.character-copy>p:last-child{margin:7px 0 10px}.arena-bottom>span{gap:4px;font-size:0}.arena-bottom kbd{font-size:8px}.lab-tools{grid-template-columns:1fr 1.6fr;gap:17px}.pose-detail{border-left:0;grid-column:span 2;align-items:center;gap:15px;padding-left:0;display:flex}.pose-detail label{margin:0}.pose-detail select{width:180px}.pose-detail p{margin:0}.move-card{padding:10px}.move-card-name{font-size:18px}.move-damage{right:9px}.section-hint{display:none}}@media (width<=800px){main{padding:24px 18px 0}.topbar{gap:20px;height:65px;padding:0 18px}.wordmark{letter-spacing:2px;font-size:20px}.brand-star{font-size:27px}nav{gap:14px;font-size:10px}nav button{font-size:9px}.lab-layout{grid-template-columns:1fr}.character-panel{grid-template-columns:1fr 1fr;gap:0 24px;padding:16px;display:grid}.character-heading{grid-column:span 2}.portrait-wrap{display:none}.character-copy{grid-row:span 3}.character-copy h2{margin-top:15px}.mode-picker{border:0;padding-top:12px}.session-actions{grid-column:2}.panel-footnote{grid-column:span 2}.page-heading{margin-bottom:18px}.heading-note{font-size:9px}h1{font-size:32px}.move-cards{padding-bottom:4px;overflow-x:auto}.move-card{min-width:135px}.lab-tools{grid-template-columns:1fr 1.6fr}.inspector-controls{flex-wrap:wrap}.stage-caption{top:14px;left:17px;right:17px}.fighter-hud{bottom:12px}.fighter-hud strong{font-size:35px}.player-index{font-size:43px}.fighter-name{font-size:10px}.shield-meter{width:65px}.stocks{font-size:7px}.intro-card h2{font-size:44px}.intro-card p{margin:10px 0 15px;font-size:10px}.intro-card small{font-size:7px}.intro-card{padding:15px}.primary{min-width:195px;padding:9px 15px}.stage-caption{font-size:7px}.section-heading{gap:15px}.section-heading h2{font-size:22px}.touch-controls{justify-content:space-between;gap:10px;margin:16px 0;display:flex}.touch-controls>div{flex-wrap:wrap;gap:5px;display:flex}.touch-controls button{touch-action:none;-webkit-user-select:none;user-select:none;background:#16303a;border:1px solid #a2ebd842;border-radius:5px;min-width:36px;min-height:40px;padding:8px;font-size:10px}.touch-controls button:active{background:#336455}footer{gap:12px;font-size:7px;line-height:1.8}footer b{margin-left:0;display:block}}@media (width<=500px){.topbar nav .nav-active{display:none}.topbar nav{margin-left:auto}.heading-note{display:none}.page-heading{margin-bottom:16px}.character-panel{gap:0 14px}.arena-top{height:35px;padding:0 11px;font-size:7px}.arena-bottom{height:36px;padding:0 10px}.stage-wrap{aspect-ratio:4/3}#game{object-fit:contain}.stage-caption{top:10px}.fighter-hud.player{left:10px}.fighter-hud.opponent{right:10px}.player-index{display:none}.fighter-hud strong{font-size:29px}.fighter-name{font-size:8px}.intro-card h2{font-size:40px}.intro-card .eyebrow{font-size:8px}.intro-card small{max-width:220px;margin:10px auto 0}.stage-caption>span:first-child{display:none}.stage-caption{justify-content:flex-end}.lab-tools{grid-template-columns:1fr}.pose-detail{flex-wrap:wrap;grid-column:auto}.pose-detail p{display:none}.control-grid,.vision-grid{grid-template-columns:1fr}.section-heading{flex-wrap:wrap;gap:10px}.move-tabs{margin-left:auto}.move-tabs button{padding:5px 7px;font-size:9px}dialog{max-height:85vh;padding:27px}dialog h2{font-size:35px}.fighter-hud{bottom:9px}.stocks{letter-spacing:1px}.shield-meter{margin-top:4px}.portrait-wrap{height:100px}.character-copy>p:last-child{font-size:9px}.panel-footnote{margin:8px 0 0}footer>span:last-child{text-align:right;max-width:180px}.touch-controls{flex-direction:column}.touch-controls>div{justify-content:center}.touch-controls button{min-width:48px}.pose-detail select{flex:1}.stage-caption #clock{font-size:8px}.pause-card h2{font-size:44px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.roster button{text-align:left;background:linear-gradient(145deg,#20313a,#101b23);border:1px solid #263b47;border-radius:10px;padding:0 12px 16px;position:relative;overflow:hidden}.roster button[aria-pressed=true]{border-color:var(--fighter);box-shadow:inset 0 -3px var(--fighter)}.roster strong,.roster small{display:block}.roster strong{color:var(--fighter);font-size:22px}.roster small{color:#95aab6;font-size:12px}.rival-picker{color:#96aaa9;justify-content:space-between;align-items:center;margin:12px 0;font-size:12px;display:flex}#fighter-traits{color:#a9bdc3;font-size:12px;line-height:1.6}.online-panel{background:#12212b;border:1px solid #2d424b;border-radius:12px;grid-template-columns:1fr 2fr;gap:20px;margin:24px 0;padding:24px;display:grid}.online-panel h2{margin:4px 0}.online-panel p{color:#b3c6cb}.online-actions{flex-wrap:wrap;align-content:center;gap:8px;display:flex}.online-actions button,.online-actions input{color:#def2ef;background:#1b303a;border:1px solid #3a555e;border-radius:6px;padding:11px}.online-actions input{width:130px}#room-players{color:#bad3cf;grid-column:1/-1;font-size:14px}@media (width<=650px){.roster{gap:5px}.roster canvas{height:85px}.roster button{padding:0 5px 10px}.roster strong{font-size:16px}.roster small{font-size:9px}.online-panel{grid-template-columns:1fr;padding:16px}}#account-form{gap:14px;margin:20px 0;display:grid}#account-form label{color:#c4d7d8;gap:6px;display:grid}#account-form input,#account-form select{color:#fff;background:#15252e;border:1px solid #39505b;border-radius:6px;padding:12px}#progress-content button,#refresh-progress{color:#b9f4e5;background:#1b353d;border:1px solid #45636a;border-radius:6px;margin:4px 0;padding:10px 16px}#progress-content h3{margin-top:24px}button:disabled{opacity:.45;cursor:not-allowed}:root{--gold:#ead5a2;--mint:#b6efe0;--display:"Barlow Condensed","Arial Narrow",sans-serif}@media (pointer:coarse){.touch-controls{display:flex}.touch-controls button{touch-action:none;-webkit-user-select:none;user-select:none}}body{background:#080e1c}button{transition:background .16s,transform .16s}button:active{transform:translateY(1px)}.topbar{z-index:8;background:#080e1cf2;border-bottom:1px solid #c9b88130;gap:35px;height:72px;position:relative}.wordmark{font-family:var(--display);letter-spacing:2px;font-style:italic;font-weight:800}.brand-dot{display:none}.brand-star{color:var(--gold)}.topbar nav{flex:1;justify-content:flex-end}.topbar nav button{color:#d0d7e4;font-size:12px}.gate-badge{display:none}.nav-active{color:var(--gold);letter-spacing:2px;font-size:9px;border:0!important}body[data-screen=home] main,body[data-screen=game] .home-screen{display:none}.home-screen{isolation:isolate;background:linear-gradient(90deg,#070e20e8 0%,#080e2070 40%,#080e2000 70%),url(/assets/menu-shrine.webp) 50%/cover;min-height:calc(100svh - 72px);padding:clamp(32px,6vh,80px) 7vw 90px;position:relative}.home-screen:after{content:"";z-index:-1;background:linear-gradient(#0000 75%,#080e1c);position:absolute;inset:0}.home-copy>.eyebrow{letter-spacing:4px;color:var(--gold);font-size:11px}.home-copy h1{font:800 italic clamp(76px,8vw,140px)/.9 var(--display);letter-spacing:-3px;color:#f4f4ed;text-shadow:0 4px 30px #030717;margin:24px 0;position:relative}.home-copy h1 span{color:var(--gold)}.home-copy h1 i{color:#e8f8f2;font-size:40px;font-style:normal;position:absolute;top:-24px;right:45px}.home-tagline{color:#bfc8db;margin-bottom:36px;font-size:14px}.home-actions{gap:10px;max-width:380px;display:grid}.home-actions button{text-align:left;clip-path:polygon(0 0,100% 0,96% 100%,0 100%);background:linear-gradient(110deg,#132540eb,#111b31b0);border:1px solid #7b94b650;border-left:3px solid #8997b0;padding:14px 25px;position:relative}.home-actions button:hover{border-left-color:var(--gold);background:#294562;transform:translate(5px)}.home-actions small{letter-spacing:2px;color:#99adca;font-size:8px;display:block}.home-actions strong{font:700 29px var(--display);letter-spacing:1px;color:#edf1fa;display:block}.home-actions button>span{font-size:24px;position:absolute;top:25px;right:26px}.home-actions .menu-primary{color:#151c2b;background:linear-gradient(100deg,#edd9a6,#bc9960);border-color:#e9d09c}.home-actions .menu-primary strong,.home-actions .menu-primary small{color:#162238}.home-input{color:#8e9db7;letter-spacing:1.4px;margin-top:24px;font-size:10px}.home-stage{text-align:right;border-right:2px solid var(--gold);padding-right:20px;position:absolute;bottom:120px;right:7vw}.home-stage>span{letter-spacing:3px;color:var(--gold);font-size:9px}.home-stage strong{font:600 30px var(--display);letter-spacing:4px;display:block}.home-stage p{color:#b5c1d5;margin:4px 0;font-size:11px}.home-bottom{letter-spacing:2px;color:#b3bdd0;justify-content:space-between;gap:16px;font-size:9px;display:flex;position:absolute;bottom:25px;left:7vw;right:7vw}.home-bottom>span:first-child{color:var(--gold)}main{max-width:1600px;padding-top:26px}.page-heading h1{letter-spacing:1px;font-weight:700}.roster{gap:10px}.roster button{background:linear-gradient(130deg,#25364a,#111a2d);border-color:#54668055;border-radius:2px;min-height:175px;box-shadow:0 8px 24px #0003}.roster button:after{content:"";pointer-events:none;background:linear-gradient(#0000 35%,#080e1cbf);position:absolute;inset:0}.roster strong,.roster small{z-index:1;position:relative}.roster strong{font:700 italic 28px var(--display);letter-spacing:1px;color:#f1f4f7}.roster small{text-transform:uppercase;letter-spacing:1.5px;color:var(--fighter);font-size:10px}.roster canvas{height:125px;transition:transform .2s}.roster button:hover canvas{transform:scale(1.08)}.roster button[aria-pressed=true]{box-shadow:inset 0 -4px var(--fighter),0 0 22px #a2ebd81c;background:linear-gradient(130deg,#40545f,#152b36)}.arena-shell,.character-panel,.online-panel{border-color:#6e819d50;border-radius:3px}.arena-shell{box-shadow:0 16px 65px #0007}.arena-top{background:#0e172a;height:42px}.arena-top button{padding:8px;font-size:11px}.arena-bottom{background:#0e172a}.stage-caption{justify-content:center;top:14px}.stage-caption>span:first-child{display:none}.stage-caption #clock{text-align:center;min-width:100px;font:600 20px var(--display);color:#fff1d3;letter-spacing:2px;clip-path:polygon(10% 0,90% 0,100% 100%,0 100%);background:#091326d9;border:1px solid #d6c59760;padding:7px 18px}.fighter-hud{background:linear-gradient(110deg,#102d47ee,#102035c9);border-bottom:3px solid #a2ebd8;gap:8px;min-width:210px;padding:8px 20px 8px 8px;bottom:10px;transform:skew(-4deg);box-shadow:0 5px 20px #0005}.fighter-hud.opponent{background:linear-gradient(110deg,#402535dd,#271e35ee);border-color:#ffab91;flex-direction:row-reverse;padding:8px 8px 8px 20px}.hud-portrait{object-fit:cover;filter:drop-shadow(0 0 6px #9de9db50);align-self:flex-end;width:72px;height:82px}.player-index{display:none}.fighter-name{font:700 18px var(--display);letter-spacing:1px}.fighter-name small{font:600 8px system-ui}.fighter-hud strong{font:800 italic 47px/.9 var(--display);text-shadow:2px 3px #0009}.shield-meter{width:95px;height:3px}.stocks{font-size:9px}.character-panel{background:linear-gradient(150deg,#263449,#101a2b)}.character-copy h2{font-style:italic;font-weight:700}.portrait-wrap{height:185px}.character-copy>p:last-child{font-size:12px}.primary{color:#141e2b;background:linear-gradient(120deg,#eeddb3,#c2a56b);border-color:#eddbaf;border-radius:2px;font-size:14px}.intro-card h2,.pause-card h2{font-style:italic;font-weight:700}.stage-overlay{background:#070e1cc4}.move-card,.online-actions button{border-radius:2px}.online-panel{background:linear-gradient(120deg,#1b2940,#111b2c)}.online-panel h2{font:700 30px var(--display)}dialog{background:linear-gradient(150deg,#24334d,#0c1527);border:1px solid #dbc18c66;border-radius:3px}dialog h2{font-weight:700}.dialog-close{min-width:44px;min-height:44px}.touch-stick,body.arena-focus .topbar,body.arena-focus main>:not(.lab-layout),body.arena-focus .character-panel{display:none}body.arena-focus main{max-width:none;padding:0}body.arena-focus .lab-layout{display:block}body.arena-focus .arena-shell{border:0;flex-direction:column;justify-content:center;min-height:100svh;display:flex}body.arena-focus .stage-wrap{flex:none;width:min(100vw,177.778svh - 151.111px);margin:auto}.arena-focus .arena-top{z-index:6;position:absolute;top:0;left:0;right:0}.arena-focus .arena-bottom{width:100%;margin-top:auto}@media (width<=800px),(pointer:coarse){.topbar{gap:15px;padding:0 16px}.topbar nav{gap:12px}.topbar nav button{font-size:10px}.topbar .nav-active{display:none}.home-screen{background-position:60%;padding:35px 7vw 90px}.home-copy h1{font-size:90px}.home-stage,.home-bottom>span:last-child{display:none}.home-actions{max-width:340px}.home-tagline{max-width:260px}.roster strong{font-size:22px}.roster small{letter-spacing:0;font-size:8px}.fighter-hud{gap:2px;min-width:155px;padding:6px}.fighter-hud.opponent{padding:6px}.hud-portrait{width:50px;height:65px}.fighter-hud strong{font-size:36px}.fighter-name{font-size:14px}.shield-meter{width:65px}.touch-controls{background:#0c1729;flex-direction:row;align-items:center;gap:8px;min-height:135px;margin:0;padding:10px}.touch-controls>div:not(.touch-stick){justify-content:center;gap:7px;max-width:230px}.touch-controls button{background:#1b2c43;border:1px solid #8daccd70;border-radius:50%;min-width:52px;min-height:48px;font-size:10px;font-weight:700}.touch-controls [data-touch=jump]{color:#121c2d;background:#c6b482}.touch-controls [data-touch=attack]{background:#366b6b}.touch-controls [data-touch=special]{background:#514574}.touch-stick{touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle,#344a6566,#192740);border:1px solid #809bbc66;border-radius:50%;flex:none;width:110px;height:110px;position:relative;display:block!important}.touch-stick i{pointer-events:none;background:linear-gradient(#8098ac,#334b62);border:2px solid #abc6d5;border-radius:50%;width:45px;height:45px;display:block;position:absolute;top:31px;left:31px;box-shadow:0 4px 14px #0008}.touch-stick span{text-align:center;color:#abc0d3;pointer-events:none;width:100%;font-size:7px;position:absolute;bottom:4px}.touch-controls>div:nth-child(2){display:none}.arena-top button{padding:6px;font-size:10px}.arena-focus .stage-wrap{width:100vw}.arena-focus .arena-shell{justify-content:flex-start;padding-top:40px}.arena-focus .arena-bottom{display:none}.arena-focus .touch-controls{width:100%;margin-top:auto}.arena-focus .stage-wrap{margin:0 auto}.stage-wrap{aspect-ratio:16/9}.fighter-hud.player{left:8px}.fighter-hud.opponent{right:8px}.fighter-hud{bottom:5px}.roster button{min-height:140px}.roster canvas{height:90px}}@media (width<=500px){.home-copy h1{font-size:76px}.home-copy h1 i{right:5px}.home-actions strong{font-size:26px}.home-bottom{letter-spacing:1px}.home-copy>.eyebrow{letter-spacing:2px;font-size:8px}.topbar nav button{font-size:9px}.topbar{gap:4px}.wordmark{font-size:19px}.topbar #vision-button{display:none}main{padding:20px 10px 0}.roster{gap:4px}.roster strong{font-size:18px}.roster button{min-height:120px;padding:0 5px 8px}.roster canvas{height:78px}.roster small{font-size:7px}.hud-portrait{width:35px;height:44px}.fighter-hud{gap:0;min-width:110px}.fighter-hud strong{font-size:27px}.fighter-name{font-size:12px}.fighter-name small,.stocks{font-size:6px}.shield-meter{width:52px;margin-top:3px}.stage-caption #clock{min-width:75px;padding:3px 10px;font-size:12px}.stage-caption{top:5px}.intro-card h2{margin:5px;font-size:32px}.intro-card p{margin:5px 0 9px;font-size:9px}.intro-card small{display:none}.intro-card .eyebrow{font-size:7px}.intro-card{padding:12px}.primary{min-width:170px;padding:8px 15px;font-size:12px}.character-panel{display:block}.character-copy>p:last-child{font-size:12px}.portrait-wrap{display:none}.session-actions button{padding:8px;font-size:12px}.mode-picker select{font-size:13px}.page-heading h1{font-size:28px}}@media (pointer:coarse) and (orientation:landscape){body.arena-focus .stage-wrap{width:min(100vw,177.778svh - 71.1111px)}.arena-focus .touch-controls{pointer-events:none;z-index:5;background:0 0;align-items:flex-end;padding:0;position:fixed;inset:70px 12px 8px}.arena-focus .touch-controls>div{pointer-events:auto}.arena-focus .touch-controls>div:not(.touch-stick){max-width:180px}.arena-focus .touch-controls button{background-color:#162d46b8;min-width:48px;min-height:44px}.arena-focus .touch-stick{background:#13263ca0}.arena-focus .fighter-hud{transform-origin:bottom;bottom:5px;transform:scale(.8)}.arena-focus .fighter-hud.player{left:26%}.arena-focus .fighter-hud.opponent{right:26%}}@supports (padding:max(0px)){.arena-focus .arena-top{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.touch-controls{padding-bottom:max(10px,env(safe-area-inset-bottom))}}@media (pointer:coarse){.touch-controls{justify-content:space-between}.arena-focus .touch-controls [data-touch=jump]{color:#121c2d;background:#c6b482}}@media (width<=800px) and (orientation:portrait){body.arena-focus .arena-shell{background:radial-gradient(#22374e,#080e1c);justify-content:center}body.arena-focus .stage-wrap{margin:0 auto}body.arena-focus .touch-controls{background:#0c1729a6;margin-top:20px}.page-heading{flex-wrap:wrap;gap:10px}.page-heading #enter-battle{min-width:150px;margin:0}.arena-top>span{white-space:nowrap;font-size:7px}.arena-top>div{gap:0}.arena-top button{padding:7px;font-size:9px}}body{min-height:100svh;margin:0}body:not([data-screen=home]) .home-screen,body:not([data-screen=home]) .topbar{display:none}main{max-width:none;margin:0;padding:0}.game-screen,#battle-screen{display:none}body[data-screen=select] #select-screen,body[data-screen=lobby] #lobby-screen{display:flex}body[data-screen=battle] #battle-screen{display:block}.game-screen{background:linear-gradient(100deg,#080f20f5,#0d1b32df),url(/assets/menu-shrine.png) 50%/cover;flex-direction:column;min-height:100svh;padding:32px 6vw}.screen-heading{align-items:center;gap:30px;display:flex}.screen-heading>button{color:#d5deeb;background:#17263b;border:1px solid #9bafc644;padding:12px 18px}.screen-heading h1{font:700 italic clamp(28px,4vw,56px)/1 var(--display);margin:6px 0 0}.screen-heading .eyebrow{color:var(--gold);margin:0}.selection-body{flex:1;grid-template-columns:1fr 1.3fr;align-items:center;gap:5vw;width:100%;max-width:1300px;margin:auto;display:grid}.character-panel{box-shadow:none;background:0 0;border:0;padding:0;position:relative}.character-heading,.mode-picker,.portrait-kanji{display:none}.portrait-wrap{background:radial-gradient(#9cdbd32b,#0000 65%);border:0;height:clamp(160px,33vh,360px);display:block}.portrait-wrap canvas{object-fit:contain;width:100%;height:100%}.character-copy h2{font:800 italic clamp(42px,6vw,82px)/1 var(--display);margin:0}.character-copy .subtitle{color:var(--gold);letter-spacing:3px}.character-copy>p:last-child{color:#aab9cc;max-width:420px;line-height:1.6}.character-copy{padding:0}.role-pill{display:none}#fighter-traits{color:#9badc2;max-width:450px;font-size:11px;line-height:1.6}#fighter-choices>.eyebrow{color:var(--gold);letter-spacing:3px}.roster{grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0 28px;display:grid}.roster button{border:1px solid #7187a455;min-width:0;min-height:210px;padding:10px 2px;overflow:hidden}.roster canvas{object-fit:cover;width:100%;height:140px}.roster strong{font-size:26px}.roster small{letter-spacing:0;font-size:8px}.roster button[aria-pressed=true]{border-color:var(--fighter);box-shadow:0 7px 0 var(--fighter),0 0 30px #b6efe018;transform:translateY(-7px)}.rival-picker{color:#acbdd0;letter-spacing:2px;align-items:center;gap:16px;font-size:10px;display:flex}.rival-picker select{color:#fff;background:#14253b;border:1px solid #7891ac55;width:180px;padding:12px}.screen-footer{border-top:1px solid #adc2d82b;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding:20px 0 0;display:flex}.screen-footer>span{letter-spacing:2px;color:#9aaec6;font-size:10px}#enter-battle{min-width:260px;font:700 24px var(--display);letter-spacing:1px;padding:18px 25px}#enter-battle span{margin-left:30px}#lobby-screen .online-panel{background:#112139d9;width:min(850px,100%);margin:auto;padding:36px;display:block}.online-panel h2{display:none}.online-panel .eyebrow{color:var(--gold)}#network-status{color:#bdcde0;line-height:1.6}.online-actions{grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0;display:grid}.online-actions button,.online-actions input{color:#e7edf7;background:#20344f;border:1px solid #758cac55;min-height:52px;padding:12px}.online-actions #casual,.online-actions #ranked{color:#142034;background:linear-gradient(120deg,#d9c38f,#b99a62);font-weight:700}.online-actions button:disabled{opacity:.35}.online-actions input{text-transform:uppercase;width:100%;min-width:0}#room-players{color:var(--mint);padding:15px 0;font-size:13px;line-height:1.8}body[data-screen=battle]{overflow:hidden}#battle-screen .arena-shell{background:#050b15;border:0;justify-content:center;align-items:center;height:100svh;min-height:0;display:flex;position:relative}#battle-screen .stage-wrap{aspect-ratio:16/9;flex:none;width:min(100vw,177.778svh);margin:0}#battle-screen .arena-top{z-index:6;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));background:linear-gradient(#071020d9,#0000);border:0;height:48px;position:absolute;top:0;left:0;right:0}#battle-screen .arena-top>span{display:none}#battle-screen .arena-top>div{justify-content:flex-end;gap:10px;width:100%;display:flex}#arena-menu{margin-right:auto}#battle-screen .arena-bottom{display:none}.stage-caption{top:8px}.fighter-hud{bottom:20px}#training-dialog{width:min(1000px,94vw);max-height:90svh;padding:30px;overflow:auto}#practice-settings{flex-wrap:wrap;gap:24px;display:flex}#training-dialog .lab-tools{margin:20px 0}#training-dialog .moves-section{margin:24px 0}#match-menu{width:340px;padding:32px}#match-menu button{width:100%;margin:12px 0;padding:15px;display:block}#rotate-screen{display:none}.home-bottom button{color:#b8c7dc;letter-spacing:1px;background:0 0;border:0;padding:12px 0;font-size:10px}@media (height<=650px) and (orientation:landscape){.topbar{height:44px}.home-screen{height:calc(100svh - 44px);min-height:0;padding:18px 6vw 45px}.home-copy{max-width:540px}.home-copy>.eyebrow{margin:0;font-size:8px}.home-copy h1{margin:10px 0;font-size:64px}.home-copy h1 i{display:none}.home-tagline{max-width:none;margin:8px 0 14px;font-size:11px}.home-actions{grid-template-columns:1fr 1fr;gap:8px;max-width:520px}.home-actions button{padding:10px 18px}.home-actions strong{font-size:23px}.home-actions small{letter-spacing:1px;font-size:7px}.home-actions button>span{font-size:18px;top:15px;right:17px}.home-bottom{bottom:8px;left:6vw;right:6vw}.home-stage{display:none}.game-screen{padding:14px 4vw}.screen-heading{gap:18px}.screen-heading h1{font-size:28px}.screen-heading .eyebrow{font-size:8px}.screen-heading>button{padding:10px;font-size:10px}.selection-body{grid-template-columns:.85fr 1.5fr;gap:24px}.portrait-wrap{height:130px}.character-copy h2{font-size:34px}.character-copy .subtitle{margin:5px 0;font-size:8px}.character-copy>p:last-child,#fighter-traits{display:none}.roster{gap:5px;margin:10px 0 16px}.roster button{min-height:135px;padding:2px}.roster canvas{height:90px}.roster strong{font-size:20px}.roster small{font-size:7px}.rival-picker select{padding:6px}.screen-footer{margin-top:8px;padding-top:10px}.screen-footer>span{letter-spacing:1px;font-size:8px}#enter-battle{min-width:210px;padding:10px 20px;font-size:19px}#fighter-choices>.eyebrow{font-size:8px}#lobby-screen .online-panel{margin:16px auto 0;padding:12px 22px}.online-panel>.eyebrow{display:none}.online-actions{gap:6px;margin:12px 0}.online-actions button,.online-actions input{min-height:38px;padding:8px;font-size:11px}#network-status{margin:6px 0;font-size:11px}#room-players{padding:0;font-size:10px}}@media (pointer:coarse){#battle-screen .touch-controls{inset:auto max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));pointer-events:none;z-index:5;background:0 0;align-items:flex-end;min-height:0;padding:0;display:flex;position:fixed}#battle-screen .touch-controls>div{pointer-events:auto}#battle-screen .touch-controls>div:not(.touch-stick){gap:6px;max-width:175px}#battle-screen .touch-controls>div:nth-child(2){display:none}#battle-screen .touch-controls button{background-color:#162d46b8;min-width:48px;min-height:44px}#battle-screen .touch-stick{background:#13263ca0;width:110px;height:110px}#battle-screen .fighter-hud{transform-origin:bottom;gap:2px;min-width:145px;padding:5px;bottom:8px;transform:scale(.8)}#battle-screen .fighter-hud.player{left:26%}#battle-screen .fighter-hud.opponent{right:26%}#battle-screen .hud-portrait{width:42px;height:55px}#battle-screen .fighter-hud strong{font-size:32px}#battle-screen .fighter-name{font-size:13px}#battle-screen .stage-caption #clock{min-width:80px;padding:5px 15px;font-size:16px}.rotate-required{overflow:hidden}.rotate-required #rotate-screen{z-index:1000;text-align:center;color:#c7d5e7;background:radial-gradient(at top,#263e5e,#080e1c 70%);flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0}.rotate-required #rotate-screen h2{font:700 italic 36px var(--display);color:#f1e1bb;margin:12px 0}.rotate-required #rotate-screen p{font-size:13px;line-height:1.8}.rotate-device{color:var(--gold);font-size:90px}.rotate-required dialog[open]{visibility:hidden}.rotate-required #app{pointer-events:none}}.character-panel{display:block}.portrait-wrap:before,.portrait-wrap:after{display:none}#battle-screen .touch-controls [data-touch=jump]{color:#142034;background:#c6b482}#account-dialog{max-width:460px;padding:32px}.account-action{display:none!important}.account-tabs{gap:12px;margin-bottom:24px;display:flex}.account-tabs button{color:#92a5bd;border-bottom:2px solid #62758d;flex:1;padding:12px 0;font-size:11px}.account-tabs button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}#account-form{gap:16px;display:grid}#account-form label{color:#aabbd0;gap:7px;font-size:11px;display:grid}#account-form input{color:#fff;background:#09182b;border:1px solid #7389a755;width:100%;padding:13px}#account-form>.primary{margin-top:5px;padding:14px}#forgot-password{color:#a8bfd9;padding:16px 0;font-size:11px}#account-dialog .online-actions{margin:5px 0}#account-dialog .online-actions button{min-height:40px;font-size:12px}#progress-dialog{max-height:85svh;overflow:auto}#progress-content h3{color:var(--gold);border-top:1px solid #c0d0e22b;padding-top:24px}#progress-content p{background:#112239;margin:7px 0;padding:12px 16px;line-height:1.6}#progress-content button,#refresh-progress{color:var(--mint);border:1px solid #b8c8dd50;padding:10px 16px}.rotate-required dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}html,body{overscroll-behavior:none}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible{outline-offset:4px;outline:2px solid #f7ddb0}button svg{vertical-align:middle;pointer-events:none;width:28px;height:28px}#battle-screen,#game,.touch-controls,.movement-zone{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}dialog input,dialog select{font-size:16px!important}dialog{overscroll-behavior:contain;max-height:90svh;overflow:auto}#game{contain:strict}.stage-wrap{isolation:isolate;background:linear-gradient(#08162326 0%,#09152310 65%,#081322d9),url(/assets/moonshrine.webp) 50%/100% 100%}.arena-top button{background:#091629b3;border:1px solid #bacde32b;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.arena-top button svg{width:20px;height:20px}.arena-top button:active{color:#101c2a;background:#c2b18a}.stage-caption{pointer-events:none}.stage-caption #clock{font-variant-numeric:tabular-nums}.fighter-hud{background:#0c2032e8;border:1px solid #a3c7d940;border-bottom:3px solid #a2ebd8;border-radius:8px;gap:10px;min-width:210px;transform:none;padding:8px!important}.fighter-hud>*{transform:none}.fighter-hud.opponent{background:#2c1c2ce8;border-bottom-color:#ffa78c}.hud-portrait{object-fit:cover;filter:none;border-radius:5px;align-self:center;width:70px;height:70px}.fighter-hud strong{font-variant-numeric:tabular-nums}.fighter-hud.player{left:28px}.fighter-hud.opponent{right:28px}.fighter-name small{margin-left:7px}.roster button{background:#101b2c;border-radius:7px;min-height:250px;position:relative;overflow:hidden;padding:0!important}.roster canvas{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .25s;position:absolute;inset:0}.roster button:after{background:linear-gradient(#0000 40%,#060e1b 100%)}.roster strong{font-size:29px;position:absolute;bottom:28px;left:12px}.roster small{font-size:9px;position:absolute;bottom:15px;left:12px}.roster button[aria-pressed=true]{box-shadow:0 0 0 2px var(--fighter),0 12px 32px #0008;transform:translateY(-8px)}.portrait-wrap{background:0 0;height:clamp(220px,40vh,390px);margin:0 0 12px}.portrait-wrap:before,.portrait-wrap:after,.portrait-ring{display:none!important}.portrait-wrap canvas{object-fit:contain;-webkit-mask-image:linear-gradient(#000 80%,#0000);mask-image:linear-gradient(#000 80%,#0000)}.character-copy h2{text-shadow:0 5px 25px #0008}#fighter-traits{color:#9ab0c7;max-width:440px}.selection-body{grid-template-columns:1fr 1.35fr;gap:3vw}.screen-footer{flex-shrink:0}.screen-footer #enter-battle{border-radius:3px;margin-left:auto;box-shadow:0 4px 25px #d4b98120}.home-character{z-index:-1;opacity:.85;background:url(/assets/portraits/rei.webp) 50%/cover;width:44%;position:absolute;top:4%;bottom:12%;right:5%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 30% 80%,#0000);mask-image:linear-gradient(90deg,#0000,#000 30% 80%,#0000)}.home-stage{bottom:70px;right:9vw}.home-bottom .input-hint{opacity:.6;align-self:center;font-size:9px}.home-actions button{border-radius:3px}.home-actions strong{letter-spacing:1.4px}.home-actions button:active{filter:brightness(1.2)}.movement-zone,.touch-stick span{display:none}.touch-stick{pointer-events:none!important}.movement-hint{pointer-events:none}.online-actions #ready:disabled,.online-actions #invite:disabled,.online-actions #leave:disabled{display:none}.online-actions #ready{color:#102133;background:#bce9d4;font-weight:800}@media (pointer:coarse){.home-bottom .input-hint{display:none}#battle-screen .arena-top{pointer-events:none;height:44px;padding-top:4px}#battle-screen .arena-top button{pointer-events:auto;width:34px;height:34px}#battle-screen .arena-top>div{gap:7px}#battle-screen .stage-caption{top:8px}#battle-screen .stage-caption #clock{min-width:70px;padding:4px 12px;font-size:14px}#battle-screen .touch-controls{pointer-events:none;z-index:5;margin:0;display:block;position:fixed;inset:0}#battle-screen .movement-zone{left:env(safe-area-inset-left,0px);pointer-events:auto;width:44%;display:block;position:absolute;top:50px;bottom:0}#battle-screen .touch-stick{opacity:0;background:radial-gradient(circle,#1b304440 40%,#b5cfdf20);border:1px solid #c1d9eb65;width:108px;height:108px;margin:0;transition:opacity .15s;position:absolute;top:calc(100% - 90px);left:80px;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 9px #ffffff05;display:block!important}#battle-screen .touch-stick.engaged{opacity:1}#battle-screen .touch-stick i{background:#bdd3df70;border:1px solid #e1eef6bb;width:42px;height:42px;top:32px;left:32px;box-shadow:0 2px 10px #0004}.movement-hint{letter-spacing:1.4px;color:#d5e3ef60;font-size:8px;position:absolute;bottom:22px;left:24px}.movement-zone:has(.engaged) .movement-hint{opacity:0}#battle-screen .touch-controls .action-cluster{right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));pointer-events:none;width:220px;max-width:none;height:164px;display:block;position:absolute}#battle-screen .action-cluster button{pointer-events:auto;color:#eaf6ff;touch-action:none;background:#14273bb0;border:1px solid #cfdeed80;border-radius:50%;place-items:center;width:54px;min-width:0;height:54px;min-height:0;padding:0;transition:background 80ms,transform 80ms;display:grid;position:absolute;box-shadow:inset 0 0 0 4px #bdd5e508,0 3px 10px #0004}#battle-screen .action-cluster button svg{width:27px;height:27px}#battle-screen .action-cluster [data-touch=attack]{background:#337c86b8;border:2px solid #b5f0e4;width:70px;height:70px;bottom:32px;right:54px}#battle-screen .action-cluster [data-touch=attack] svg{width:35px;height:35px}#battle-screen .action-cluster [data-touch=special]{background:#675083b8;border-color:#d3b8f3;bottom:88px;right:0}#battle-screen .action-cluster [data-touch=heavy]{background:#806844b8;border-color:#e8d1a1;bottom:110px;right:74px}#battle-screen .action-cluster [data-touch=jump]{color:#ecf8ff;background:#19354cb8;bottom:18px;right:0}#battle-screen .action-cluster [data-touch=shield]{bottom:12px;right:144px}#battle-screen .action-cluster [data-touch=recovery]{color:#bfecf3;width:46px;height:46px;bottom:82px;right:150px}#battle-screen .action-cluster button.held{color:#102333;background:#c2efe5;transform:scale(.91);box-shadow:0 0 20px #c5fff24d}#battle-screen .fighter-hud{pointer-events:none;border-radius:5px;gap:6px;width:146px;min-width:0;top:50px;bottom:auto;transform:none;padding:5px!important}#battle-screen .fighter-hud.player{left:12px}#battle-screen .fighter-hud.opponent{right:12px}#battle-screen .hud-portrait{border-radius:3px;align-self:center;width:43px;height:48px}#battle-screen .fighter-hud strong{font-size:29px;line-height:1}#battle-screen .fighter-name{letter-spacing:.5px;font-size:12px}#battle-screen .fighter-name small{margin-left:4px;font-size:6px}#battle-screen .stocks{margin-top:3px;font-size:6px}#battle-screen .shield-meter{width:62px;margin-top:3px}.home-character{opacity:.9;width:48%;top:0;bottom:0;right:0}.home-copy{position:relative}.home-copy>.eyebrow{color:#e3cfad}.roster button{min-height:160px}.roster strong{font-size:23px;bottom:23px;left:8px}.roster small{font-size:7px;bottom:11px;left:8px}.portrait-wrap{height:170px;margin-bottom:0}.screen-heading>button{min-height:40px}.home-screen{background-position:50%}.home-actions{max-width:470px}.home-bottom button{min-height:40px}#lobby-screen .online-panel{border-radius:8px}.screen-footer>span{max-width:40%;line-height:1.5}}@media (height<=420px) and (orientation:landscape){.selection-body{grid-template-columns:.8fr 1.5fr}.portrait-wrap{height:148px}.character-copy h2{font-size:32px}.roster button{min-height:145px}.roster{margin:8px 0 12px}.home-character{width:47%;right:1%}.home-copy h1{font-size:60px}.home-actions strong{font-size:22px}.home-actions button{padding:10px 16px}.home-actions{max-width:470px}.home-bottom{bottom:2px}.screen-footer{margin-top:4px}.home-stage{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}#battle-screen .touch-controls .movement-zone{max-width:none}.portrait-orbit{display:none}.portrait-wrap canvas{-webkit-mask-image:radial-gradient(42% 65% at 50% 40%,#000 60%,#0000 100%);mask-image:radial-gradient(42% 65% at 50% 40%,#000 60%,#0000 100%)}#battle-screen .touch-controls>div.movement-zone{width:44%;max-width:none}.game-preferences{border-top:1px solid #c1d3e333;margin-top:20px;padding-top:15px}.game-preferences summary{letter-spacing:1px;cursor:pointer;color:#dbcca7;font-size:11px}.game-preferences label{color:#afc5d8;gap:7px;margin-top:16px;font-size:11px;display:grid}.game-preferences select{color:#e5edf4;background:#10243a;border:1px solid #a7bdcd44;padding:10px}.game-preferences .haptics-row{align-items:center;display:flex}.game-preferences input{width:18px;height:18px}#battle-screen .touch-controls .action-cluster{transform:scale(var(--touch-scale,1));transform-origin:100% 100%}#enter-battle:disabled{opacity:.4;cursor:wait}body[data-screen=home] .topbar{width:auto;height:auto;box-shadow:none;z-index:10;background:0 0;border:0;gap:0;padding:0;position:absolute;inset:24px 32px auto auto}body[data-screen=home] .topbar .wordmark,body[data-screen=home] .topbar .nav-active{display:none}body[data-screen=home] .topbar nav{gap:0;margin:0}#account-button{letter-spacing:1.8px;text-transform:uppercase;text-overflow:ellipsis;background:linear-gradient(120deg,#15273ce8,#0b182be8);border:1px solid #bbd0e04d;border-radius:5px;align-items:center;min-width:160px;max-width:240px;min-height:54px;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 24px #0003;color:#e5edf3!important;font:600 12px var(--display)!important;padding:10px 24px 10px 62px!important}#account-button:before{content:"";background:#cdb98c1a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23e2d3b1' stroke-width='1.5'%3E%3Ccircle cx='16' cy='11' r='4'/%3E%3Cpath d='M8 25v-3a8 8 0 0 1 16 0v3'/%3E%3C/svg%3E") 50%/27px no-repeat;border:1px solid #d2bf925e;border-radius:50%;width:34px;height:34px;position:absolute;left:12px}#account-button:hover{background:#20374c;border-color:#e5d1a3}#account-button:active{transform:scale(.98)}.home-screen{background:linear-gradient(90deg,#060d1be8 0%,#081225b3 28%,#08122520 62%,#0000 80%),url(/assets/menu-shrine.webp) 50%/cover;height:100svh;min-height:700px;padding:clamp(90px,16vh,150px) 7vw 90px}.home-screen:after{background:linear-gradient(#060c1830,#0000 20% 65%,#050c19e0)}.home-copy{max-width:540px}.home-copy h1{letter-spacing:-2px;text-shadow:0 6px 35px #0008;margin:22px 0 16px;font-size:clamp(88px,9vw,138px)}.home-copy h1 i{display:none}.home-copy>.eyebrow{color:#dcc69b;letter-spacing:4px;font-size:9px}.home-tagline{color:#b1bfd2;margin:0 0 30px;font-size:13px}.home-actions{gap:8px;max-width:360px}.home-actions button{clip-path:none;min-height:56px;box-shadow:none;background:linear-gradient(90deg,#15283cdf,#102136a0);border:1px solid #96abc331;border-left:2px solid #a5b7cb66;border-radius:3px;padding:12px 24px}.home-actions button small{display:none}.home-actions button strong{font:600 25px var(--display);letter-spacing:1.5px}.home-actions button>span{color:#bfd0e1;font-size:20px;top:14px;right:22px}.home-actions .menu-primary{background:linear-gradient(110deg,#f2dfb2,#bea16d);border:1px solid #f0deb6;border-left:3px solid #fff0cc;min-height:70px;margin-bottom:6px;box-shadow:0 5px 24px #dbba7620}.home-actions .menu-primary strong{font-size:30px}.home-actions .menu-primary small{color:#3e3c36;letter-spacing:2px;margin-bottom:3px;font-size:7px;display:block}.home-actions .menu-primary>span{color:#27313d;top:23px}.home-actions button:hover{background:#294159;border-color:#b6c7db80;transform:translate(4px)}.home-actions .menu-primary:hover{background:#f0dfb9;border-color:#fff0cc}.home-stage{border-right:1px solid #e2cda171;padding-right:18px;bottom:95px;right:7vw}.home-stage strong{letter-spacing:4px;font-size:26px}.home-stage>span{letter-spacing:2px;font-size:8px}.home-bottom{border-top:1px solid #bed0e21f;justify-content:flex-start;align-items:center;gap:12px;padding-top:14px;bottom:25px;left:7vw;right:7vw}.home-bottom #menu-career,.home-bottom .input-hint{display:none}.home-bottom button{color:#bdcddd;min-height:44px;font:500 10px var(--display);letter-spacing:1.5px;text-transform:uppercase;background:#0e1e31ab;border:1px solid #a6bfd02b;border-radius:3px;justify-content:center;align-items:center;display:flex;position:relative;padding:0 18px!important}.home-bottom button:hover{color:#f1dfb7;background:#233a50;border-color:#d4c29980}.home-bottom #vision-button{min-width:70px;margin-left:auto}.home-bottom #progress-button:before{content:"✦";color:#d9c28f;margin-right:9px;font-size:17px}.home-bottom #menu-controls{font-size:0}.home-bottom #menu-controls:before{content:"HOW TO PLAY";letter-spacing:1.5px;font-size:10px}.home-bottom #menu-controls:after{content:"?";border:1px solid #a7bdd25e;border-radius:50%;place-items:center;width:18px;height:18px;margin-left:12px;font-size:11px;display:grid}@media (height<=650px) and (orientation:landscape){body[data-screen=home] .topbar{top:14px;right:max(20px,env(safe-area-inset-right))}#account-button{min-width:125px;max-width:180px;min-height:44px;padding:8px 18px 8px 48px!important;font-size:10px!important}#account-button:before{background-size:23px;width:28px;height:28px;left:8px}.home-screen{height:100svh;min-height:0;padding:44px 6vw 66px}.home-copy{max-width:480px}.home-copy>.eyebrow{letter-spacing:3px;margin:8px 0 0;font-size:7px}.home-copy h1{margin:13px 0 10px;font-size:68px}.home-tagline{margin-bottom:19px;font-size:11px}.home-actions{grid-template-columns:1fr 1fr;gap:8px;max-width:460px;display:grid}.home-actions button,.home-actions .menu-primary{min-height:53px;margin:0;padding:10px 18px}.home-actions button strong,.home-actions .menu-primary strong{font-size:22px}.home-actions .menu-primary small{display:none}.home-actions button>span,.home-actions .menu-primary>span{font-size:17px;top:14px;right:16px}.home-stage{display:none}.home-bottom{gap:8px;padding-top:10px;bottom:12px;left:6vw;right:6vw}.home-bottom button{min-height:40px;font-size:9px;padding:0 12px!important}.home-bottom #menu-controls:before{font-size:9px}}@media (height<=370px) and (orientation:landscape){.home-screen{padding-top:28px}.home-copy h1{margin:10px 0;font-size:58px}.home-tagline{margin-bottom:13px}.home-actions button,.home-actions .menu-primary{min-height:48px}.home-bottom{bottom:8px}}
