:root{color:#f5f2e0;font-synthesis:none;--muted:#b7c8de;--edge:#6c80ac;--mint:#92f8d4;--navy:#14203d;--cream:#fff5dd;--pixel-font:"Courier New", Courier, monospace;background:#10162b;font-family:ui-rounded,Avenir Next,Avenir,system-ui,sans-serif;font-weight:500}*{box-sizing:border-box}body{min-width:320px;margin:0}button,a,input,select{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;min-height:48px;color:var(--cream);background:linear-gradient(#344771,#1d2e51);border:2px solid #7188b4;border-radius:8px;padding:13px 20px;font-weight:800;transition:transform .16s,filter .16s,border-color .16s;box-shadow:inset 0 2px #bcd2fa40,0 4px #0b1227,0 6px 12px #070d2050}button:hover{filter:brightness(1.15);border-color:#bce4ff;transform:translateY(-2px)}button:active{transform:translateY(2px)}button:disabled{opacity:.55;cursor:wait;filter:saturate(.6)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #ffe694}a{color:inherit;text-decoration:none}img{image-rendering:pixelated}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.4px;font-size:clamp(32px,4vw,48px);font-weight:900;line-height:1.1}h2{letter-spacing:-.7px;font-size:28px}h3{font-size:19px}.muted{color:var(--muted);line-height:1.6}.small{font-size:13px}.fine{color:#a9bdd8;font-size:11px;line-height:1.5}.eyebrow{font-family:var(--pixel-font);letter-spacing:2px;color:#a9eddc;margin-bottom:14px;font-size:11px;font-weight:800}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.primary{color:#112845;background:linear-gradient(#c2ffe7 0%,#7aeac9 55%,#57d8bd 100%);border-color:#cbffec;justify-content:space-between;align-items:center;gap:20px;min-height:54px;display:flex;box-shadow:inset 0 3px #e3fff6,inset 0 -3px #259a98,0 5px #16384b,0 7px #6ccacb,0 12px 24px #070b2850}.primary:hover{border-color:#f3fff7}.primary span{font-size:24px}.jumbo{min-height:64px;padding:18px 28px;font-size:19px}.quiet{background:linear-gradient(#2e4264e6,#1a2b4c);font-size:13px}.text-button{box-shadow:none;color:#dceef9;background:0 0;border:0;padding:16px 0;font-size:13px}.text-button:hover{color:var(--mint)}#app{isolation:isolate;min-height:100dvh;position:relative}#app:before{content:"";z-index:-2;pointer-events:none;background:linear-gradient(115deg,#10203eee,#202a4cda 48%,#273149bd),url(/art/menu-world.png) 50%/cover;position:fixed;inset:0}#app:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 50% 20%,#0000,#070c2480);position:fixed;inset:0}.topbar{justify-content:space-between;align-items:center;gap:20px;max-width:1320px;height:80px;margin:auto;padding:0 40px;display:flex}#brand{font-family:var(--pixel-font);letter-spacing:.3px;text-shadow:0 3px #101932;align-items:center;gap:8px;font-size:17px;font-weight:900;display:flex}#brand b{color:#ffe383}.brand-icon{color:#83ebfb;margin-right:5px;font-size:28px}.topnote{font-family:var(--pixel-font);letter-spacing:2px;color:#c3d1ec;font-size:10px}#menu{max-width:1248px;margin:auto;padding:35px 36px 40px}footer{color:#a0b1cc;letter-spacing:.3px;justify-content:space-between;max-width:1248px;margin:15px auto 0;padding:22px 36px 28px;font-size:10px;display:flex}#app[data-screen=title]>.topbar,#app[data-screen=title]>footer,#app[data-screen=match]>.topbar,#app[data-screen=match]>footer,#app[data-screen=results]>.topbar,#app[data-screen=results]>footer,#app[data-screen=title]:before,#app[data-screen=title]:after{display:none}#app[data-screen=title]{background:#14223b;flex-direction:column;justify-content:center;display:flex}#app[data-screen=title] #menu{width:100%;max-width:none;padding:0}.intro-world{isolation:isolate;background:#788dcc url(/art/menu-world.png) 50%/cover;height:min(100dvh,56.25vw);min-height:0;position:relative;overflow:hidden}.intro-world:before{content:"";z-index:-1;background:linear-gradient(90deg,#2833604d,#0000 53%),linear-gradient(#0000 76%,#17214880);position:absolute;inset:0}.intro-depth{pointer-events:none;position:absolute;inset:-1%;box-shadow:inset 0 0 120px #20203f50}.intro-copy{width:min(37%,660px);position:absolute;top:5%;left:max(3%,50vw - 900px)}.intro-logo{object-fit:contain;object-position:left;filter:drop-shadow(0 9px #14204a90)drop-shadow(0 14px 22px #26345750);transform-origin:38% 92%;width:100%;height:auto;max-height:48dvh;animation:logo-arrive 1s calc(.9s - var(--skip,0s)) both}.intro-actions{flex-direction:column;align-items:start;gap:19px;margin:12px 5% 0;display:flex}.intro-actions button{font-family:var(--pixel-font);text-transform:uppercase;letter-spacing:-.7px;text-shadow:0 2px #13284a;border-width:3px;border-color:#88b3e3;border-radius:4px;justify-content:start;align-items:center;gap:18px;width:89%;min-height:61px;padding:14px 24px;font-size:clamp(17px,2.2vw,37px);font-weight:900;display:flex;position:relative;box-shadow:inset 0 3px #bdcdfa40,inset 0 -4px #111e43,5px 0 #1a2955,-5px 0 #1a2955,0 6px #1a2955,0 10px 18px #08122a70}.intro-actions #lets-play{text-shadow:0 2px #d3fff1;border-color:#d1ffea;width:100%;min-height:clamp(72px,8.7dvh,112px);font-size:clamp(21px,2.85vw,48px);box-shadow:inset 0 4px #eefff4,inset 0 -5px #28aaa1,6px 0 #175b70,-6px 0 #175b70,0 8px #175b70,0 13px 20px #11234970}.intro-actions #lets-play>span:nth-child(2){font-size:inherit;white-space:nowrap}.intro-actions .intro-icon{text-align:center;flex-shrink:0;width:32px;font-size:1em}.intro-actions #learn{color:#bcecf5;font-size:clamp(15px,1.55vw,27px)}#intro-settings{width:100%}#intro-settings button{color:#bcecf5;width:70%;font-size:clamp(15px,1.55vw,27px)}#intro-settings button span{font-size:inherit}.button-glint{opacity:0;width:40px;animation:button-shine 12s calc(3.3s - var(--skip,0s)) infinite;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff60,#0000);position:absolute;top:5px;bottom:5px;left:-60px;transform:skew(-20deg)}.intro-caption{font-family:var(--pixel-font);letter-spacing:.6px;color:#fff4bb;text-shadow:0 3px #25375b;font-size:clamp(11px,1.15vw,20px);position:absolute;bottom:3%;left:3%}.intro-caption-line{background:#95f4ff;width:38px;height:3px;margin-top:11px;display:block;box-shadow:0 2px #286ca0}.intro-local{font:800 10px var(--pixel-font);letter-spacing:1.4px;color:#e6edf5;opacity:.9;position:absolute;bottom:8%;right:5%}.intro-sound{color:#bdf6ff;min-width:52px;min-height:52px;padding:8px;font-size:25px;position:absolute;bottom:2.5%;right:2.5%}.intro-fireflies{pointer-events:none;position:absolute;inset:0;overflow:hidden}.intro-fireflies i{background:#fff0a2;width:4px;height:4px;animation:7s ease-in-out infinite firefly;position:absolute;top:68%;left:42%;box-shadow:0 0 8px 3px #ffeda670}.intro-fireflies i:nth-child(2){animation-delay:-2s;top:50%;left:67%}.intro-fireflies i:nth-child(3){animation-delay:-4s;top:24%;left:84%}.intro-fireflies i:nth-child(4){animation-delay:-6s;top:87%;left:55%}.intro-fireflies i:nth-child(5){animation-delay:-1s;top:34%;left:15%}.intro-fireflies i:nth-child(6){animation-delay:-3s;top:74%;left:76%}.intro-fireflies i:nth-child(7){animation-delay:-5s;top:18%;left:35%}.intro-fireflies i:nth-child(8){animation-delay:-6.5s;top:58%;left:92%}@keyframes logo-arrive{0%{opacity:0;animation-timing-function:ease-in;transform:translateY(-14%)scale(.92,1.1)}36%{opacity:.9;animation-timing-function:ease-out;transform:translateY(0)scale(1.07,.9)}54%{opacity:1;animation-timing-function:ease-in-out;transform:translateY(-3.5%)scale(.97,1.04)}74%{animation-timing-function:ease-out;transform:scale(1.02,.98)}to{opacity:1;transform:none}}@keyframes button-shine{0%,6.6%,to{opacity:0;left:-60px}1.5%{opacity:.75}6.5%{opacity:0;left:110%}}@keyframes firefly{0%,to{opacity:0;transform:translate(0)}30%,65%{opacity:.8}90%{opacity:0;transform:translate(12px,-80px)}}.intro-depth:before,.intro-depth:after{content:"";pointer-events:none;height:52%;position:absolute;left:0;right:0}.intro-depth:before{background:linear-gradient(#0c1330 78%,#0c133000);top:0;transform:translateY(-101%)}.intro-depth:after{background:linear-gradient(#0c133000,#0c1330 22%);bottom:0;transform:translateY(101%)}.intro-ensemble{aspect-ratio:16/9;pointer-events:none;width:100%;position:absolute;top:50%;left:0;translate:0 -50%;container-type:inline-size}.hello{left:var(--x);top:var(--y);width:0;height:0;position:absolute}.hello:before,.hello:after,.intro-ensemble:before,.intro-ensemble:after{content:"";opacity:0;position:absolute}.hello:before{background:radial-gradient(circle,#fff8d2b0,#ffe9a050 42%,#ffe9a000 70%);border-radius:50%;width:9cqw;height:9cqw;top:-4.5cqw;left:-4.5cqw}.hello:after,.intro-ensemble:after{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);background:linear-gradient(#fffdf0,#ffe58a);width:2.3cqw;height:2.3cqw}.hello:after{left:calc(var(--dx) - 1.15cqw);top:calc(-1.15cqw - var(--up))}.intro-ensemble:before{background:radial-gradient(circle,#fff3c455,#ffd9a022 45%,#ffd9a000 70%);border-radius:50%;width:16cqw;height:16cqw;margin:-8cqw 0 0 -8cqw;top:16%;left:88.5%}.intro-ensemble:after{background:#fff;margin:-1.15cqw 0 0 -1.15cqw;top:4%;left:51.1%}.intro-roll{visibility:hidden;--s:clamp(28px, 2.6vw, 44px);align-items:flex-end;gap:clamp(3px,.4vw,7px);display:flex;position:absolute;bottom:calc(3% + 1.4vw + 26px);left:3%}.roll-pal{width:var(--s);height:var(--s);transform-origin:50% 100%;background:linear-gradient(#34477199,#1b2a55b3);border:2px solid #88b3e3aa;border-radius:6px;flex:none;display:block;box-shadow:0 3px #14204a}.roll-pal img{transform-origin:50% 100%;width:100%;height:100%;display:block}.cta-sparks{pointer-events:none;position:absolute;inset:0}.cta-sparks i{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);opacity:0;background:linear-gradient(#fff,#bffff0);width:18px;height:18px;position:absolute}.cta-sparks i:first-child{top:-24%;left:-1%}.cta-sparks i:nth-child(2){width:14px;height:14px;top:-34%;right:4%}.cta-sparks i:nth-child(3){width:22px;height:22px;top:58%;right:-3%}.cta-sparks i:nth-child(4){width:12px;height:12px;bottom:-36%;left:34%}@media (width<=650px){.intro-ensemble{display:none}}@media (width>=1138px) and (height>=640px){.intro-roll{visibility:visible}}@media (width>=800px) and (width<=950px) and (height>=480px){.intro-roll{visibility:visible;bottom:3%}}@media (width<=650px) and (height>=700px){.intro-roll{visibility:visible;justify-content:space-between;gap:4px;bottom:84px;left:24px;right:20px}.roll-pal{aspect-ratio:1;flex:1 1 0;max-width:40px;height:auto}}@media (prefers-reduced-motion:no-preference){.intro-depth:before{animation:lid-up 1.25s calc(.15s - var(--skip,0s)) both}.intro-depth:after{animation:lid-down 1.25s calc(.15s - var(--skip,0s)) both}.intro-ensemble:before{animation:sun-breathe 9s calc(1.2s - var(--skip,0s)) ease-in-out infinite}.intro-ensemble:after{animation:castle-twinkle 6s calc(2.2s - var(--skip,0s)) infinite}.hello:before{animation:hello-glow 12s calc(1.5s + var(--n) * .12s - var(--skip,0s)) infinite}.hello:after{animation:hello-star 12s calc(1.5s + var(--n) * .12s - var(--skip,0s)) infinite}.roll-pal{animation:roll-in .5s calc(.9s + var(--n) * 60ms - var(--skip,0s)) cubic-bezier(.3, 1.6, .5, 1) both, var(--gesture,roll-squash) 12s calc(1.5s + var(--n) * .12s - var(--skip,0s)) infinite}.roll-pal[data-pal=seedy]{--gesture:roll-sway}.roll-pal[data-pal=stacky]{--gesture:roll-wobble}.roll-pal[data-pal=fireball]{--gesture:roll-hop}.roll-pal[data-pal=dewey]{--gesture:roll-jiggle}.roll-pal[data-pal=hoots]{--gesture:roll-tilt}.roll-pal[data-pal=bsod]{--gesture:roll-glitch}.roll-pal[data-pal=rocky]{--gesture:roll-thump}.roll-pal[data-pal=null_signal]{--gesture:roll-peek}.roll-pal.is-hi img{animation:.6s ease-out roll-hi}.cta-sparks i{animation:spark-pop 12s calc(3.3s - var(--skip,0s)) infinite}.cta-sparks i:nth-child(2){animation-delay:calc(3.38s - var(--skip,0s))}.cta-sparks i:nth-child(3){animation-delay:calc(3.46s - var(--skip,0s))}.cta-sparks i:nth-child(4){animation-delay:calc(3.54s - var(--skip,0s))}.intro-actions #lets-play .intro-icon{transform-origin:50% 100%;animation:play-hop 12s calc(3.3s - var(--skip,0s)) infinite;transition:translate .2s}#lets-play:hover .intro-icon,#lets-play:focus-visible .intro-icon{translate:4px}}@media (prefers-reduced-motion:reduce){.intro-fireflies{display:none}}@keyframes lid-up{0%{animation-timing-function:ease-out;transform:translateY(0)}26%{animation-timing-function:ease-in-out;transform:translateY(-52%)}40%{animation-timing-function:cubic-bezier(.3,0,.2,1);transform:translateY(-22%)}to{transform:translateY(-101%)}}@keyframes lid-down{0%{animation-timing-function:ease-out;transform:translateY(0)}26%{animation-timing-function:ease-in-out;transform:translateY(52%)}40%{animation-timing-function:cubic-bezier(.3,0,.2,1);transform:translateY(22%)}to{transform:translateY(101%)}}@keyframes sun-breathe{0%,to{opacity:0;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes castle-twinkle{0%,to{opacity:0;transform:scale(.3)rotate(0)}8%{opacity:.85;transform:scale(1.2)rotate(20deg)}16%{opacity:0;transform:scale(.4)rotate(45deg)}}@keyframes hello-glow{0%{opacity:0;transform:scale(.55)}2.4%{opacity:1;transform:scale(1)}7.8%,to{opacity:0;transform:scale(1.25)}}@keyframes hello-star{0%{opacity:0;transform:translateY(1cqw)scale(0)rotate(-45deg)}1.8%{opacity:1;transform:translateY(0)scale(1.4)rotate(0)}3.6%{opacity:1;transform:translateY(-.7cqw)scale(1)rotate(15deg)}6.2%{opacity:.9;transform:translateY(-1.5cqw)scale(.85)rotate(35deg)}7.8%,to{opacity:0;transform:translateY(-2.2cqw)scale(.2)rotate(70deg)}}@keyframes roll-in{0%{opacity:0;transform:translateY(70%)scale(.5,.8)}to{opacity:1;transform:none}}@keyframes roll-hi{0%,to{transform:none}25%{transform:translateY(-35%)scale(.92,1.12)}55%{transform:translateY(0)scale(1.15,.82)}80%{transform:scale(.97,1.04)}}@keyframes roll-squash{0%,7.5%,to{transform:none}1.5%{transform:scale(1.12,.84)}3.5%{transform:scale(.92,1.14)}5.5%{transform:scale(1.03,.97)}}@keyframes roll-sway{0%,7.5%,to{transform:none}1.5%{transform:rotate(-10deg)}3.5%{transform:rotate(9deg)}5.5%{transform:rotate(-5deg)}}@keyframes roll-wobble{0%,8%,to{transform:none}2%{transform:scale(.92,1.14)skew(-5deg)}4%{transform:scale(1.06,.94)skew(5deg)}6%{transform:scale(.98,1.04)skew(-2deg)}}@keyframes roll-hop{0%,7.5%,to{transform:none}1.5%{transform:translateY(-45%)}3%{transform:scale(1.08,.9)}4.5%{transform:translateY(-28%)}6%{transform:scale(1.05,.94)}}@keyframes roll-jiggle{0%,7.5%,to{transform:none}1.5%{transform:scale(1.14,.86)rotate(-4deg)}3%{transform:scale(.9,1.12)rotate(4deg)}4.5%{transform:scale(1.07,.94)rotate(-2deg)}6%{transform:scale(.97,1.03)}}@keyframes roll-tilt{0%,8%,to{transform:none}2%{transform:rotate(-16deg)translateY(-6%)}4.5%{transform:rotate(12deg)}6.5%{transform:rotate(-4deg)}}@keyframes roll-glitch{0%,5%,to{filter:none;animation-timing-function:step-end;transform:none}1%{filter:hue-rotate(40deg);animation-timing-function:step-end;transform:translate(-6%)}2%{animation-timing-function:step-end;transform:translate(7%)skew(-6deg)}3%{filter:hue-rotate(-30deg);animation-timing-function:step-end;transform:translate(-3%)}4%{filter:none;animation-timing-function:step-end;transform:translate(4%)}}@keyframes roll-thump{0%,6.5%,to{transform:none}2%{animation-timing-function:ease-in;transform:translateY(-24%)}3.6%{transform:scale(1.2,.78)}5%{transform:scale(.97,1.05)}}@keyframes roll-peek{0%,7.5%,to{transform:none}2%,4.5%{transform:scale(.9,.2)}6%{transform:scale(1.1,1.15)}}@keyframes spark-pop{0%{opacity:0;transform:scale(0)rotate(-40deg)}1.8%{opacity:1;transform:scale(1.3)rotate(0)}3.5%{transform:scale(1)rotate(20deg)}6.5%{opacity:.8;transform:scale(.8)rotate(50deg)}8%,to{opacity:0;transform:scale(0)rotate(80deg)}}@keyframes play-hop{0%,6%,to{transform:none}1.5%{transform:translateY(-28%)scale(.9,1.14)}3%{transform:translateY(0)scale(1.18,.82)}4.5%{transform:scale(.97,1.05)}}.heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.heading h1{color:#fff4d5;text-shadow:0 4px #162240}.heading .muted{margin-top:12px;font-size:14px}.mode-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin:40px 0 60px;display:grid}.mode-card{text-align:center;background:radial-gradient(at 50% 20%,#546399aa,#1c2d51f5 68%),url(/art/puzzle-backdrop.png) 50%/cover;border:2px solid #7186b3;min-height:320px;padding:20px 24px 30px;position:relative}.mode-card:hover{border-color:#9bf6dc;transform:translateY(-6px)}.mode-card:nth-child(2){background-color:#31466e}.mode-card:nth-child(3){background-image:radial-gradient(at 50% 20%,#526f8d99,#1c2d51f5 68%),url(/art/canopy-backdrop.png)}.mode-card:nth-child(4){background-image:radial-gradient(at 50% 20%,#69639a99,#1c2d51f5 68%),url(/art/neon-backdrop.png)}.mode-icon{width:125px;height:130px;margin:0 auto 14px;display:block;position:relative}.mode-icon img{filter:drop-shadow(0 5px #101d3770);width:130px;height:130px}.mode-icon i{color:#ffea96;text-shadow:0 3px #24355c;font-size:21px;font-style:normal;position:absolute;bottom:10px;right:-7px}.mode-card h2{color:#fff4d5;margin-bottom:14px;font-size:23px}.mode-card b{color:#b2eeec;font-size:12px}.mode-card p{color:#c0cee2;margin-top:9px;font-size:12px;line-height:1.7}.mode-arrow{color:#b2e2ef;font-size:22px;position:absolute;top:14px;right:14px}.selection-layout{grid-template-columns:1fr 300px;gap:28px;display:grid}.slots{gap:12px;margin-bottom:20px;display:flex}.slot{text-align:left;background:linear-gradient(#283d61,#162746);flex:1;align-items:center;gap:12px;padding:12px;display:flex}.slot.active{background:linear-gradient(#395a6b,#203d56);border-color:#94f6d8}.slot>span:nth-child(2){color:#b8cde3;letter-spacing:1px;flex:1;font-size:8px}.slot b{color:#fff1d4;letter-spacing:0;margin-top:4px;font-size:14px;display:block}.player-dot{color:#142740;border-radius:4px;padding:8px;font-size:11px;font-weight:900}.p0{background:#7ee8fb}.p1{background:#ffb6d2}.roster{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.fighter-card{background:radial-gradient(at 50% 25%,#455b82,#1b2d4b);border:2px solid #526e9a;flex-direction:column;align-items:center;min-height:158px;padding:0 12px 13px;display:flex;position:relative}.fighter-card:hover{border-color:var(--accent)}.fighter-card.selected{border-color:var(--accent);box-shadow:inset 0 0 32px color-mix(in srgb, var(--accent) 22%, transparent), inset 0 2px #ffffff40, 0 4px #111a32, 0 0 16px color-mix(in srgb, var(--accent) 22%, transparent)}.fighter-card img{filter:drop-shadow(0 4px #10223b70);width:110px;height:110px}.fighter-card b{font-size:13px}.fighter-card small{color:#b5cbe4;margin-top:3px;font-size:9px}.card-marks{font:900 10px var(--pixel-font);letter-spacing:1px;color:var(--accent);position:absolute;top:10px;left:12px}.pal-detail{text-align:center;background:radial-gradient(ellipse at 50% 24%, color-mix(in srgb, var(--accent) 28%, #354668), #192c49 70%);border:2px solid #798bad;border-radius:10px;flex-direction:column;align-items:center;padding:26px 24px;display:flex;box-shadow:inset 0 3px #bccdea30,0 8px #0d162e60}.pal-detail .eyebrow{letter-spacing:1px;color:#b9ccdf;font-size:9px}.detail-portrait{filter:drop-shadow(0 6px #0c193b70);width:180px;height:180px;margin:0 auto 3px}.pal-detail h2{color:var(--accent);text-shadow:0 3px #17233c;font-size:32px}.power-detail{border-top:1px solid #6b81a6;border-bottom:1px solid #6b81a6;width:100%;margin:21px 0;padding:21px 0}.power-detail>span{font:800 9px var(--pixel-font);letter-spacing:1px;color:#bbd2e9}.power-detail h3{margin:10px 0;font-size:18px}.power-detail p{color:#bcd0e3;font-size:12px;line-height:1.7}.ability-icon{vertical-align:middle;width:24px;height:24px;margin-right:5px}.trait{color:#b7cbe3;text-align:left;align-items:center;gap:16px;width:100%;margin-bottom:12px;font-size:11px;display:flex}.trait>span{width:50px}.trait>div{background:#101d36;border-radius:2px;flex:1;height:6px}.trait i{background:var(--accent);height:100%;display:block}.pal-detail .primary{width:100%;margin-top:19px;font-size:13px}.pal-detail .fine{margin-top:18px;font-size:9px}.arena-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin:38px 0;display:grid}.arena-card{text-align:left;background:linear-gradient(#334668,#192b47);border:3px solid #627a9f;padding:0;overflow:hidden}.arena-card.selected{border-color:#a5fbe0;box-shadow:0 5px #122741,0 0 20px #97f6d530}.arena-card img{aspect-ratio:16/9;object-fit:cover;image-rendering:auto;width:100%;display:block}.arena-card>div{padding:25px 20px}.arena-card small{font:900 9px var(--pixel-font);color:#a5e6e2;letter-spacing:1.5px}.arena-card h2{color:#fff2d1;margin:12px 0;font-size:23px}.arena-card span{color:#bfd1e6;font-size:11px;line-height:1.6}.launch-bar{background:linear-gradient(#2f4567e8,#172943f5);border:2px solid #7086ab;border-radius:10px;align-items:center;gap:28px;padding:25px;display:flex;box-shadow:inset 0 3px #bacfed30,0 5px #111b35}.launch-bar>div{flex:1}.launch-bar b{font-size:15px}.launch-bar p{color:#bdcfe2;margin-top:8px;font-size:11px}.difficulty{color:#c2d3e8;flex-direction:column;gap:8px;font-size:10px;display:flex}select{font:inherit;color:var(--cream);background:#22385a;border:1px solid #829ac0;border-radius:4px;min-height:44px;padding:10px;font-size:12px}#play{background:#10172b;flex-direction:column;justify-content:center;align-items:center;max-width:none;min-height:100dvh;margin:0 auto;padding:0;display:flex}#stage{aspect-ratio:16/9;width:min(100%,177.778dvh - 80px);position:relative;overflow:hidden;box-shadow:0 20px 60px #0005}#game{position:absolute;inset:0}#game canvas{image-rendering:pixelated;display:block}.match-top{z-index:4;pointer-events:none;position:absolute;inset:0}#pause{pointer-events:auto;color:#e5f3ff;background:linear-gradient(#6d82a1e0,#324a70ed);width:4%;min-width:44px;height:8%;min-height:44px;padding:0;font-size:clamp(16px,2vw,32px);position:absolute;top:2.7%;right:1.4%}#match-label,#match-tip{display:none}#practice-reset{pointer-events:auto;white-space:nowrap;background:#233555de;min-height:32px;padding:5px 8px;font-size:11px;position:absolute;top:21%;right:1.4%}#hud{pointer-events:none;position:absolute;inset:0}.hud-player{background:linear-gradient(#4b5c83ee,#273758ee);border:2px solid #647aab;border-radius:6px;align-items:center;gap:8px;width:29%;max-height:13%;padding:5px 8px 5px 0;display:flex;position:absolute;top:2.3%;box-shadow:inset 0 2px #bdd6ff40,0 4px #172140b0,0 7px 12px #16233b60}.hud-0{left:5%}.hud-1{right:7.1%}.hud-portrait{flex-shrink:0;width:24%;margin:-7% 0 -6% -3%;position:relative}.hud-portrait img{filter:drop-shadow(0 3px #122040);width:100%;height:auto;display:block}.hud-portrait>span{font:900 clamp(6px, .65vw, 11px) var(--pixel-font);color:#bcefff;text-shadow:0 2px #11263d;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hud-1 .hud-portrait>span{color:#ffbcd6}.hud-vitals{flex:1;min-width:0}.hud-name{font-family:var(--pixel-font);text-transform:uppercase;letter-spacing:.7px;text-shadow:0 3px #203354;white-space:nowrap;font-size:clamp(10px,1.6vw,27px);line-height:1}.hud-name b{color:#f7f5e4}.hud-hp{font:900 clamp(17px, 2.2vw, 36px) var(--pixel-font);color:#cbffbc;text-shadow:0 2px #264d46;background:#112f3f;border:2px solid #b6efd6;border-radius:4px;place-items:center;min-width:19%;padding:5px;line-height:1;display:grid}.health{background:#102941;border:2px solid #a5fbe9;border-radius:3px;height:clamp(9px,1.6vw,22px);margin:5px 0 3px;padding:2px;position:relative;overflow:hidden;box-shadow:0 1px #162e49}.health:after{content:"";background:repeating-linear-gradient(90deg,#0000,#0000 calc(12.5% - 2px),#235a57 calc(12.5% - 2px) 12.5%);position:absolute;inset:2px}.health i{background:linear-gradient(#c0ffc9,#83f5ad);height:100%;transition:width .13s;display:block}.hud-bottom{justify-content:space-between;align-items:center;gap:4px;display:flex}.stocks{gap:2px;display:flex}.stocks img{object-fit:contain;filter:drop-shadow(0 2px #1d314c);width:clamp(10px,1.65vw,26px);height:auto}.guard-label{font:700 clamp(5px, .5vw, 8px) var(--pixel-font);color:#b6c9e1;align-items:center;gap:4px;display:flex}.guard-meter{background:#11233e;width:35px;height:3px;display:block}.guard-meter i{background:#87dbea;height:100%;display:block}.timer{text-align:center;background:linear-gradient(#44567bee,#18294be8);border:3px solid #7183ac;border-radius:5px;width:17%;padding:5px 4px;position:absolute;top:1.2%;left:50%;transform:translate(-50%);box-shadow:inset 0 3px #bfcef435,0 5px #18213d90,0 7px 18px #24313f50}.timer b{font:900 clamp(20px, 3vw, 49px) var(--pixel-font);letter-spacing:1px;color:#fff8e8;text-shadow:0 3px #14244d;line-height:1;display:block}.timer small{font:800 clamp(6px, .85vw, 14px) var(--pixel-font);letter-spacing:.25px;color:#bce7ff;text-transform:uppercase;white-space:nowrap;margin-bottom:5px;line-height:1.2;display:block}.timer>span{font:700 clamp(5px, .46vw, 8px) var(--pixel-font);color:#adbedb;letter-spacing:1px;margin-top:3px;display:block}.power-card{color:#f1f8ff;text-shadow:0 2px #162341,0 0 10px #132447;flex-direction:column;align-items:center;max-width:16%;display:flex;position:absolute;bottom:2.7%}.power-0{left:2.5%}.power-1{right:2.5%}.power-emblem{background:linear-gradient(#173c5cf2,#162b4aee);border:3px solid #a5eaf9;border-radius:7px;place-items:center;width:clamp(33px,5vw,81px);height:clamp(33px,5vw,81px);display:grid;box-shadow:inset 0 2px #bfedfa50,0 4px #15223a,0 0 15px #71ddfc50}.power-emblem img{width:78%;height:78%;image-rendering:pixelated}.power-card b{font:900 clamp(7px, 1.1vw, 17px) var(--pixel-font);text-transform:uppercase;white-space:nowrap;margin-top:7px}.power-pips{gap:5px;margin-top:6px;display:flex}.power-pips i{background:#617191;border-radius:3px;width:clamp(7px,.9vw,15px);height:clamp(7px,.9vw,15px);display:block;box-shadow:inset 0 1px #b7c9e630,0 2px #172843}.power-pips i.filled{background:#4adeff;box-shadow:inset 0 2px #c2f8ff70,0 2px #23769c,0 0 7px #31c3f744}.power-card small{font:900 clamp(6px, .55vw, 9px) var(--pixel-font);color:#b4eefa;letter-spacing:.8px;margin-top:5px}.power-card.recharging .power-emblem{opacity:.72;box-shadow:0 4px #15223a}#controls-help{color:#afc5dc;justify-content:space-between;gap:20px;width:min(100%,1248px);padding:12px 24px;font-size:10px;line-height:1.6;display:flex}#controls-help b{color:#87e4f7;margin-right:9px}#touch{touch-action:none;-webkit-user-select:none;user-select:none;justify-content:space-between;gap:12px;width:min(100%,960px);padding:14px 12px 8px;display:none}#touch.force{display:flex}.touch-move,.touch-actions{gap:8px;display:flex}#touch button{touch-action:none;min-width:54px;height:54px;padding:10px;font-size:12px}#touch [data-touch=power]{background:linear-gradient(#716bc0,#403d86);border-color:#ada3eb}#touch [data-touch=bonk]{background:linear-gradient(#ab864a,#785824);border-color:#f1d18f}#touch [data-touch=jump]{background:linear-gradient(#4e917d,#326856);border-color:#a7edd5}#lesson{background:#192d4df0;border:2px solid #a6dbc2;border-radius:6px;align-items:center;gap:15px;width:min(60%,620px);padding:14px 20px;font-size:12px;display:flex;position:absolute;bottom:3%;left:50%;transform:translate(-50%);box-shadow:0 4px #142445}#lesson>span{font:800 10px var(--pixel-font);color:#9df4d3;white-space:nowrap}#lesson b{font-size:13px}#lesson p{color:#c1d4e6;margin-top:5px;font-size:11px}#lesson .primary{white-space:nowrap;min-height:40px;padding:8px 12px;font-size:11px}#countdown{font:900 clamp(32px, 7vw, 110px) var(--pixel-font);color:#fff1b1;text-shadow:3px 3px #60709c,6px 7px #233354,0 0 24px #ffe38b70;pointer-events:none;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)rotate(-4deg)}.overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#081329bd;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:linear-gradient(145deg,#364d73,#182b48 65%);border:3px solid #92a6c9;border-radius:10px;width:min(100%,640px);max-height:92dvh;padding:36px;overflow:auto;box-shadow:inset 0 3px #d6e0fa30,0 7px #121c38,0 20px 80px #0005}.pause-modal{text-align:center;width:400px}.pause-modal h1{color:#fff0c4;text-shadow:0 3px #20314d;font-size:40px}.pause-modal p{margin-bottom:25px}.pause-modal button{width:100%;margin-top:16px;display:block}.pause-modal .primary{display:flex}.settings{width:680px}.settings .heading{margin-bottom:20px}.settings h2{font-size:28px}.settings-grid{border-top:1px solid #7890af;border-bottom:1px solid #7890af;grid-template-columns:1fr 1fr;gap:17px 30px;margin-bottom:24px;padding:22px 0;display:grid}.settings-grid label{align-items:center;gap:12px;font-size:12px;display:flex}.settings-grid input[type=range]{accent-color:#83edca;flex:1;width:100%;min-width:60px}.settings-grid input[type=checkbox]{accent-color:#83edca;width:18px;height:18px}.bindings{grid-template-columns:1fr 1fr;gap:35px;margin:20px 0;display:grid}.binding-column h3{color:#b5eddd;margin-bottom:14px;font-size:15px}.binding{text-transform:capitalize;justify-content:space-between;align-items:center;gap:15px;margin-bottom:8px;font-size:12px;display:flex}.binding button{min-width:88px;min-height:36px;padding:8px 14px;font-size:11px}.settings .fine{margin-top:20px}.settings #reset-keys{margin-top:16px;font-size:11px}.winner-art{justify-content:center;align-items:center;height:145px;display:flex;position:relative}.winner-art:before{content:"";pointer-events:none;background:radial-gradient(#ffe78655,#0000 70%);width:230px;height:230px;position:absolute}.winner-art img{filter:drop-shadow(0 5px #101d3a);width:170px;height:170px}.winner-art>span{color:#ffdf89;text-shadow:0 2px #213556;font-size:36px;position:absolute;top:20px;right:20%}.results{text-align:center;background:radial-gradient(at 50% 20%,#7c72946b,#0000 50%),linear-gradient(#344568,#172a47)}.results h1{color:#ffe896;text-shadow:0 3px #1f314d;margin-top:16px;font-size:38px}.results .muted{margin-top:14px;font-size:13px}.scorecards{grid-template-columns:1fr 1fr;gap:14px;margin:25px 0;display:grid}.scorecards>div{color:#bbcee5;background:#142948;border:2px solid #657fa7;border-radius:5px;flex-direction:column;gap:10px;padding:20px 10px;font-size:11px;display:flex}.scorecards b{color:#e4f4f0;font-size:13px}.scorecards strong{color:#fff0c8;font-size:18px}.results .primary{min-width:280px;margin:0 auto}.results .text-button{margin:4px auto 0;display:block}.error{background:#422a40;border:2px solid #af7996;border-radius:8px;padding:40px;line-height:2}.boot{padding:50px}[hidden]{display:none!important}@media (pointer:coarse){#touch{display:flex}}@media (width<=950px){.topbar{height:72px;padding:0 28px}.topnote{display:none}#menu{padding:28px 24px}.intro-copy{width:40%;top:9%}.intro-actions{gap:16px}.intro-actions button{gap:12px;padding:12px 17px}.mode-grid{grid-template-columns:repeat(2,1fr)}.mode-card{min-height:280px}.selection-layout{grid-template-columns:1fr 250px;gap:18px}.pal-detail{padding:22px 16px}.fighter-card{min-height:143px}.fighter-card img{width:96px;height:96px}.arena-grid{gap:12px}.arena-card>div{padding:20px 13px}.arena-card h2{font-size:19px}.launch-bar{flex-wrap:wrap}.hud-player{gap:5px;padding-right:4px}.guard-label{display:none}.timer{border-width:2px}.timer small{font-size:7px}}@media (width>=651px) and (width<=950px){.intro-copy{width:36%;top:3%}.intro-logo{max-height:42dvh}.intro-actions{gap:8px;margin-top:4px}.intro-actions button{gap:12px;min-height:48px;padding:8px 15px}.intro-actions .intro-icon{width:24px}.intro-actions #lets-play{min-height:56px;font-size:clamp(18px,2.5vw,24px)}.intro-actions #learn{width:100%;font-size:clamp(13px,1.65vw,16px)}#intro-settings button{font-size:14px}.intro-caption,.intro-local{display:none}}@media (width<=650px){.topbar{height:64px;padding:0 18px}#brand{letter-spacing:0;font-size:12px}#brand .brand-icon{margin-right:0;font-size:22px}.topbar button{padding:10px 12px;font-size:11px}#menu{padding:25px 18px}.intro-world{background-color:#233555;background-position:61% 0;background-repeat:no-repeat;background-size:auto 76dvh;height:auto;min-height:100dvh;padding:24px 20px 76px}.intro-world:before{z-index:0;background:linear-gradient(#0000 36%,#203557db 73%,#162846 96%)}.intro-copy{width:100%;padding-top:0;position:relative;top:auto;left:auto}.intro-logo{width:min(84%,380px);max-height:270px;margin-left:-7px}.intro-actions{align-items:center;gap:20px;margin:max(11dvh,36px) 4px 16px;position:relative}.intro-actions button{justify-content:start;gap:16px;width:92%;min-height:58px;padding:12px 20px;font-size:23px}.intro-actions #lets-play{min-height:74px;font-size:29px}.intro-actions #learn{width:92%;font-size:19px}#intro-settings{justify-content:center;display:flex}#intro-settings button{width:92%;font-size:19px}.intro-caption{width:70%;font-size:10px;line-height:1.5;bottom:25px;left:24px}.intro-local{display:none}.intro-sound{min-width:48px;min-height:48px;bottom:22px;right:20px}footer{gap:20px;padding:18px 24px;font-size:8px;line-height:1.6}footer span:last-child{text-align:right}.heading{align-items:start;margin-bottom:25px}.heading h1{font-size:33px}.heading .muted{font-size:12px}.heading .back{white-space:nowrap;padding:8px 12px}.mode-grid{gap:12px;margin:25px 0}.mode-card{min-height:268px;padding:12px 12px 22px}.mode-icon{width:100px;height:105px;margin-bottom:12px}.mode-icon img{width:100px;height:100px}.mode-card h2{font-size:20px}.mode-card b{font-size:10px}.mode-card p{font-size:11px}.selection-layout{grid-template-columns:1fr}.roster{gap:8px}.fighter-card{padding:0 5px 12px}.fighter-card b{font-size:12px}.fighter-card small{font-size:8px}.pal-detail{text-align:left;grid-template-columns:90px 1fr;gap:10px 15px;padding:20px;display:grid}.pal-detail .eyebrow{grid-column:span 2;margin:0}.detail-portrait{grid-row:span 2;width:100px;height:100px}.pal-detail h2{font-size:27px}.power-detail{border:0;margin:0;padding:0}.power-detail>span{font-size:8px}.power-detail h3{margin:5px 0;font-size:14px}.power-detail p{font-size:10px}.trait{display:none}.pal-detail .primary{grid-column:span 2;margin-top:10px}.pal-detail .fine{text-align:center;grid-column:span 2;margin:5px 0}.slot{gap:8px;padding:10px}.slot b{font-size:12px}.slot>span:nth-child(2){font-size:6px}.arena-grid{grid-template-columns:1fr;gap:15px;margin:25px 0}.arena-card{align-items:center;display:flex}.arena-card img{object-fit:cover;width:42%;height:145px}.arena-card>div{padding:16px}.arena-card h2{font-size:20px}.arena-card small{font-size:8px}.arena-card span{font-size:10px}.launch-bar{gap:22px;padding:20px}.launch-bar .primary{width:100%}#play{justify-content:center;min-height:100dvh}#stage{width:100%}.hud-player{border-width:1px;border-radius:3px;gap:2px;width:31%;padding:3px 3px 3px 0;top:5.5%}.hud-0{left:3%}.hud-1{right:7.8%}.hud-portrait{width:25%;margin-left:-3%}.hud-name{letter-spacing:-.4px;text-shadow:0 1px #203354;font-size:8px}.hud-hp{border-width:1px;min-width:17%;padding:3px;font-size:14px}.health{border-width:1px;height:7px;margin:3px 0;padding:1px}.health:after{background:repeating-linear-gradient(90deg,#0000,#0000 calc(25% - 1px),#235a57 calc(25% - 1px) 25%);inset:1px}.stocks img{width:8px}.stocks{gap:0}.timer{border-width:1px;width:18%;padding:3px 1px;top:1.4%}.timer b{letter-spacing:0;font-size:19px}.timer small{margin-bottom:3px;font-size:4px}.timer>span{display:none}#pause{border-width:1px;width:28px;min-width:28px;height:28px;min-height:28px;font-size:15px;top:3%;right:1%}.power-card{max-width:22%;bottom:3%}.power-emblem{border-width:2px;border-radius:4px;width:30px;height:30px}.power-card b{margin-top:4px;font-size:6px}.power-card small{display:none}.power-pips{gap:3px;margin-top:4px}.power-pips i{border-radius:1px;width:6px;height:6px}#controls-help{flex-direction:column;gap:3px;padding:12px;font-size:8px}#touch{gap:6px;padding:18px 8px 10px}.touch-move,.touch-actions{gap:4px}#touch button{min-width:48px;height:48px;min-height:48px;padding:8px 6px;font-size:10px}#lesson{border-width:1px;gap:8px;width:66%;padding:7px 8px;bottom:5px}#lesson b{font-size:9px}#lesson p,#lesson>span{font-size:7px}#lesson .primary{min-height:32px;padding:6px;font-size:8px}#practice-reset{min-height:32px;padding:5px 8px;font-size:8px;bottom:3%}#lesson:not([hidden])~#countdown{top:35%}.overlay{padding:12px}.modal{border-width:2px;border-radius:8px;padding:24px 18px}.settings h2{font-size:22px}.settings .eyebrow{letter-spacing:1px;font-size:8px}.settings .heading{align-items:center}.settings #close-settings{padding:8px;font-size:10px}.settings-grid{grid-template-columns:1fr;gap:15px}.bindings{gap:18px}.binding{font-size:11px}.binding button{min-width:65px;padding:8px;font-size:9px}.results h1{font-size:29px}.results .primary{min-width:230px;font-size:15px}.scorecards{gap:8px}.scorecards>div{padding:16px 8px;font-size:9px}.scorecards b{font-size:10px}.winner-art{height:100px}.winner-art img{width:125px;height:125px}}@media (width<=370px){.touch-actions{grid-template-columns:repeat(2,48px);display:grid}.intro-actions #lets-play{font-size:25px}}@media (height<=600px) and (width>=951px){.intro-world{min-height:100dvh}.intro-copy{width:36%;top:2%}.intro-logo{max-height:46dvh}.intro-actions{gap:10px;margin-top:4px}.intro-actions button,#intro-settings button{min-height:48px;padding:7px 15px;font-size:17px}.intro-actions #lets-play{min-height:59px;font-size:25px}.intro-actions #learn{font-size:17px}.intro-caption{font-size:9px}}@media (height<=520px) and (orientation:landscape){.topbar,footer{display:none}#play{padding:0 85px}#stage{width:min(100%,177.778dvh - 44.4444px)}#touch{pointer-events:none;z-index:40;align-items:end;width:100%;padding:15px 8px;position:fixed;inset:0}#touch button{pointer-events:auto;opacity:.9}.touch-move{flex-direction:column}.touch-actions{grid-template-columns:repeat(2,48px);gap:4px;display:grid}.touch-actions button{min-width:48px!important}.touch-move button{width:55px}#controls-help{padding:4px;font-size:7px}#lesson{bottom:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}#settings-open.match-settings{pointer-events:auto;color:#c2efff;background:linear-gradient(#536985df,#2d4265e5);width:4%;min-width:44px;height:8%;min-height:44px;padding:0;font-size:clamp(15px,1.7vw,26px);position:absolute;top:12.5%;right:1.4%}#settings-open.match-settings span{display:none}#stage:has(#lesson:not([hidden])) #practice-reset{min-height:48px;font-size:11px;top:20%;bottom:auto}@media (width<=650px){#pause{opacity:.85;border-width:2px;width:48px;min-width:48px;height:48px;min-height:48px;font-size:21px;top:auto;bottom:3%;right:calc(50% + 4px)}#settings-open.match-settings{opacity:.85;border-width:2px;width:48px;min-width:48px;height:48px;min-height:48px;font-size:21px;top:auto;bottom:3%;right:calc(50% - 52px)}#practice-reset{min-height:30px;padding:4px 6px;font-size:7px;inset:25% 1% auto auto;transform:none}#lesson:not([hidden]){bottom:30%}}.hud-damage{letter-spacing:.4px;color:#c7dceb;margin-top:4px;font-size:clamp(5px,.65vw,9px);display:block}.hud-damage b{color:#ffdda0;margin-left:5px;font-size:clamp(8px,.95vw,13px)}
