@font-face{font-family:Pixelify Sans;src:url(/fonts/pixelify-sans-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/atkinson-hyperlegible-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/atkinson-hyperlegible-700.woff2)format("woff2");font-weight:700;font-display:swap}:root{--cream:#fff7d7;--yellow:#ffd522;--orange:#ff7b24;--red:#ef3f3b;--pink:#ff5b98;--green:#73e356;--blue:#46c7ff;--purple:#8649ff;--brown:#752d25;--ink:#251116;--night:#171026;--display:"Pixelify Sans", monospace;--body:"Atkinson Hyperlegible", sans-serif;color-scheme:dark;font-synthesis:none}*,:before,:after{box-sizing:border-box}html,body{background:var(--night);width:100%;height:100%;color:var(--cream);font-family:var(--body);margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent;font:inherit}button{color:inherit}:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}[hidden]{display:none!important}.battle{isolation:isolate;touch-action:none;user-select:none;background:radial-gradient(circle at 50% 32%,#7b285d,#0000 44rem),linear-gradient(#29133d,#100b1b);position:fixed;inset:0;overflow:hidden}#battleCanvas{width:100%;height:100%;display:block;position:absolute;inset:0}.speed-lines,.hit-flash{z-index:3;pointer-events:none;position:absolute;inset:0}.speed-lines{opacity:var(--speed,0);background:repeating-conic-gradient(from 0deg at 50% 56%, transparent 0 8deg, #ffffff47 8.5deg 9deg, transparent 9.5deg 18deg);mask-image:radial-gradient(circle,#0000 0 19%,#000 58%,#0000 92%)}.hit-flash{opacity:0;mix-blend-mode:screen;background:#ff3a4061}.hit-flash.is-hit{animation:.22s ease-out hit-flash}.topbar{inset:max(.65rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) auto max(.75rem, env(safe-area-inset-left));z-index:20;pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:start;gap:.65rem;display:grid;position:absolute}.top-button,.token-chip,.battle-logo{background:#251116e6;border:2px solid #fff7d7d1;box-shadow:4px 4px #00000059}.top-button{min-height:2.65rem;color:var(--cream);font-family:var(--display);cursor:pointer;pointer-events:auto;justify-self:start;padding:.52rem .72rem;font-size:clamp(.67rem,1.4vw,.85rem);text-decoration:none}.battle-logo{border-color:var(--orange);min-height:2.65rem;font-family:var(--display);letter-spacing:.035em;align-items:center;gap:.55rem;padding:.42rem .78rem;font-size:clamp(.75rem,1.5vw,1rem);display:flex}.logo-sausage{background:var(--red);border-radius:999px;width:2.35rem;height:1rem;display:block;position:relative;rotate:-8deg}.logo-sausage:before,.logo-sausage:after{background:var(--cream);content:"";border-radius:50%;width:.35rem;height:.35rem;position:absolute;top:50%;translate:0 -50%}.logo-sausage:before{left:.48rem}.logo-sausage:after{right:.48rem}.logo-sausage i{background:var(--ink);border-radius:50%;width:.19rem;height:.19rem;position:absolute;top:48%;translate:0 -50%}.logo-sausage i:first-child{left:.56rem}.logo-sausage i:last-child{right:.56rem}.topbar__right{justify-self:end;gap:.5rem;display:flex}.topbar__right .top-button{justify-self:end}.token-chip{grid-template-columns:auto auto;align-content:center;column-gap:.35rem;min-height:2.65rem;padding:.28rem .65rem;display:grid}.token-chip>span{color:var(--yellow);filter:drop-shadow(0 0 .4rem var(--yellow));grid-row:1/3;align-self:center;font-size:1.6rem}.token-chip strong{color:var(--yellow);font-family:var(--display);font-size:1rem;line-height:1}.token-chip small{letter-spacing:.08em;font-size:.56rem;font-weight:700}.hud{inset:max(4.4rem, calc(env(safe-area-inset-top) + 4rem)) clamp(.7rem, 2vw, 1.4rem) auto;z-index:12;pointer-events:none;grid-template-columns:minmax(9rem,1.25fr) auto minmax(8rem,.8fr) minmax(9rem,1.25fr);align-items:start;gap:clamp(.45rem,1.3vw,.9rem);display:grid;position:absolute}.health-card,.round-card,.score-card,.super-card{background:#251116d1;border:2px solid #fff7d7b8;min-height:3.7rem;padding:.52rem .68rem;box-shadow:4px 4px #0000004d}.hud-label,.score-card{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.hud small,.hud-label span{color:#e8d9c7;letter-spacing:.1em;font-size:.62rem;font-weight:700;display:block}.hud strong{font-family:var(--display)}.meter{background:#0000006b;border:1px solid #fff7d780;height:.72rem;margin-top:.38rem;overflow:hidden}.meter span{transform-origin:0;width:100%;height:100%;transition:transform .17s ease-out;display:block}.meter--health span{background:linear-gradient(90deg, var(--red), var(--orange), var(--yellow))}.meter--super span{background:linear-gradient(90deg, var(--blue), var(--purple), var(--pink))}.round-card{text-align:center;min-width:6.5rem;padding-inline:.85rem}.round-card strong{color:var(--yellow);font-size:1.2rem;line-height:1;display:block}.round-card span{font-size:.61rem;font-weight:700}.score-card{text-align:center;justify-content:space-around}.score-card strong{color:var(--yellow);font-size:1.1rem;display:block}.announcement,.combo{z-index:15;pointer-events:none;font-family:var(--display);text-align:center;text-shadow:4px 4px 0 var(--ink);position:absolute;left:50%;translate:-50%}.announcement{max-width:min(90vw,44rem);color:var(--yellow);opacity:0;font-size:clamp(1.6rem,5vw,4rem);line-height:.9;top:28%}.announcement.is-visible{animation:1.45s ease-out both announcement}.combo{color:var(--cream);opacity:0;font-size:clamp(1.2rem,3.5vw,2.4rem);top:39%}.combo.is-visible{animation:.72s ease-out both combo-pop}.damage-number-layer{z-index:14;pointer-events:none;position:absolute;inset:0}.damage-number{color:var(--yellow);font-family:var(--display);text-shadow:3px 3px 0 var(--ink);font-size:clamp(1rem,2.4vw,1.7rem);animation:.7s ease-out both damage-rise;position:absolute}.screen{z-index:10;padding:max(4.8rem, calc(env(safe-area-inset-top) + 4.4rem)) clamp(.75rem, 2vw, 1.5rem) max(1rem, env(safe-area-inset-bottom));background:linear-gradient(120deg,#431132bd,#1710266b),radial-gradient(circle at 50% 40%,#0000,#0b0713a6);place-items:center;display:grid;position:absolute;inset:0;overflow:auto}.menu-card{border:3px solid var(--cream);background:#251116f0;width:min(100%,67rem);margin:auto;padding:clamp(1rem,2.2vw,1.7rem);box-shadow:.8rem .8rem #00000059}.eyebrow,.result-kicker{color:var(--yellow);font-family:var(--display);letter-spacing:.08em;margin:0 0 .35rem;font-size:clamp(.72rem,1.5vw,.9rem)}.menu-card h1,.result-card h2,.pause-card h2{font-family:var(--display);letter-spacing:-.04em;margin:0;font-size:clamp(3rem,7.2vw,5.7rem);line-height:.72}.menu-card h1 span,.result-card h2 span{color:var(--orange)}.intro{max-width:59ch;margin:.8rem 0 1rem;font-size:clamp(.94rem,1.45vw,1.08rem);line-height:1.35}.intro strong{color:var(--yellow)}.loadout-tabs{border-bottom:2px solid var(--orange);gap:.45rem;display:flex}.tab-button{color:var(--cream);font-family:var(--display);cursor:pointer;background:#00000040;border:2px solid #fff7d77a;border-bottom:0;padding:.55rem 1rem;font-size:.8rem}.tab-button.is-active{border-color:var(--orange);background:var(--orange);color:var(--ink)}.shop-panel{padding-top:.75rem}.shop-heading{justify-content:space-between;align-items:center;gap:1rem;min-height:2.8rem;margin-bottom:.65rem;display:flex}.shop-heading small{color:#d8c5bc;letter-spacing:.12em;font-size:.62rem;font-weight:700;display:block}.shop-heading>div>strong{color:var(--yellow);font-family:var(--display);font-size:clamp(1rem,2vw,1.35rem)}.shop-heading>p{color:#d8c5bc;margin:0;font-size:.85rem}.mini-stats{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.mini-stats span{border:1px solid #fff7d766;padding:.26rem .42rem;font-size:.72rem;font-weight:700}.shop-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.shop-item{min-height:5.2rem;color:var(--cream);text-align:left;cursor:pointer;background:#ffffff0b;border:2px solid #fff7d747;align-content:space-between;gap:.35rem;padding:.58rem;display:grid;position:relative;overflow:hidden}.shop-item:before{background:var(--item-color,var(--orange));content:"";width:.33rem;position:absolute;inset:0 auto 0 0}.shop-item:hover{border-color:var(--item-color,var(--orange))}.shop-item.is-selected{border-color:var(--yellow);background:#ffd5221f;box-shadow:inset 0 0 1rem #ffd52214}.shop-item__name{font-family:var(--display);padding-left:.22rem;font-size:clamp(.72rem,1.3vw,.9rem);line-height:.95;display:block}.shop-item__description{color:#d8c5bc;padding-left:.22rem;font-size:.67rem;line-height:1.15;display:block}.shop-item__price{color:var(--yellow);background:#0000004d;justify-self:start;margin-left:.22rem;padding:.15rem .32rem;font-size:.67rem;font-weight:700}.shop-item.is-locked .shop-item__price:before{content:"● "}.menu-actions{grid-template-columns:1fr auto;align-items:end;gap:1rem;margin-top:.9rem;display:grid}.control-guide{flex-wrap:wrap;gap:.45rem .75rem;font-size:.68rem;font-weight:700;display:flex}kbd{color:var(--yellow);font-family:var(--display);background:#00000059;border:1px solid #fff7d7a6;padding:.16rem .3rem;font-size:.68rem}.battle-button,.shop-button{min-height:3.5rem;font-family:var(--display);cursor:pointer;border:0;padding:.6rem 1.2rem}.battle-button{background:var(--yellow);min-width:12rem;box-shadow:.42rem .42rem 0 var(--red);color:var(--ink)}.battle-button span,.battle-button>span{font-size:1.35rem;line-height:1;display:block}.battle-button small{font-family:var(--body);margin-top:.18rem;font-size:.67rem;font-weight:700;display:block}.shop-button{border:2px solid var(--cream);color:var(--cream);background:0 0}.result-card,.pause-card{border:3px solid var(--cream);text-align:center;background:#251116f5;width:min(100%,39rem);padding:clamp(1.3rem,4vw,2.5rem);box-shadow:.8rem .8rem #00000061}.result-card>p:not(.result-kicker){color:#e7d9cf;margin:1rem auto}.result-stats{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1.2rem 0;display:grid}.result-stats div{border:2px solid #fff7d759;padding:.65rem .4rem}.result-stats small{color:#d8c5bc;font-size:.62rem;font-weight:700;display:block}.result-stats strong{color:var(--yellow);font-family:var(--display);font-size:1.55rem}.result-actions{justify-content:center;gap:.75rem;display:flex}.pause-card>p{color:var(--yellow);font-family:var(--display);margin:0 0 .4rem}.pause-card .battle-button,.pause-card .shop-button{width:min(100%,19rem);margin:1.2rem auto 0}.pause-card .shop-button{margin-top:.7rem;display:block}.touch-controls{inset:auto max(.8rem, env(safe-area-inset-right)) max(.8rem, env(safe-area-inset-bottom)) max(.8rem, env(safe-area-inset-left));z-index:18;pointer-events:none;justify-content:space-between;align-items:end;display:flex;position:absolute}.move-pad{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:10.5rem;height:10.5rem;display:grid}.move-pad button,.action-pad button{color:var(--cream);font-family:var(--display);cursor:pointer;pointer-events:auto;background:#251116bf;border:2px solid #fff7d7b8;box-shadow:3px 3px #00000047}.move-pad button[data-control=forward]{grid-area:1/2}.move-pad button[data-control=left]{grid-area:2/1}.move-pad button[data-control=backward]{grid-area:3/2}.move-pad button[data-control=right]{grid-area:2/3}.move-pad button.is-pressed,.action-pad button:active{background:var(--orange);translate:2px 2px;box-shadow:1px 1px #00000047}.action-pad{align-items:end;gap:.55rem;display:flex}.action-pad button{aspect-ratio:1;border-radius:50%;place-items:center;width:4.6rem;display:grid}.action-pad button>span{align-self:end;font-size:.92rem}.action-pad button small{font-family:var(--body);align-self:start;font-size:.52rem;font-weight:700}.action-pad .attack-control{border-color:var(--yellow);background:#ef3f3bd6;width:6.1rem}.action-pad .attack-control>span{font-size:1.15rem}.action-pad .super-control{border-color:var(--blue)}.action-pad .super-control.is-charging{opacity:.48}.pause-button{z-index:20;top:max(8.7rem, calc(env(safe-area-inset-top) + 8.3rem));right:max(.8rem, env(safe-area-inset-right));aspect-ratio:1;border:2px solid var(--cream);width:2.7rem;color:var(--cream);font-family:var(--display);cursor:pointer;background:#251116d1;position:absolute}@keyframes announcement{0%{opacity:0;scale:.55}16%,68%{opacity:1;scale:1}to{opacity:0;scale:1.16}}@keyframes combo-pop{0%{opacity:0;scale:.55}22%,72%{opacity:1;scale:1}to{opacity:0;translate:-50% -2rem}}@keyframes damage-rise{0%{opacity:0;translate:-50%;scale:.65}18%{opacity:1;scale:1.15}to{opacity:0;translate:-50% -3.2rem;scale:.9}}@keyframes hit-flash{0%,to{opacity:0}28%{opacity:1}}@media (width<=850px){.hud{grid-template-columns:1fr auto 1fr}.score-card{display:none}.shop-list{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-card{margin-top:.5rem}}@media (width<=620px){.topbar{grid-template-columns:1fr auto}.battle-logo{display:none}.topbar__right{grid-column:2}.hud{top:max(4.1rem, calc(env(safe-area-inset-top) + 3.8rem));grid-template-columns:1fr auto 1fr;gap:.3rem}.health-card,.round-card,.super-card{min-height:3.35rem;padding:.42rem}.round-card{min-width:4.6rem;padding-inline:.35rem}.round-card span{display:none}.hud-label{font-size:.62rem}.screen{padding-top:max(4.2rem, calc(env(safe-area-inset-top) + 3.9rem));place-items:start center}.menu-card{border-width:2px;padding:.8rem;box-shadow:.42rem .42rem #00000059}.menu-card h1{font-size:clamp(2.65rem,13vw,3.6rem)}.intro{margin-block:.55rem .7rem;font-size:.82rem}.shop-heading{display:block}.shop-heading>p{margin-top:.3rem;font-size:.72rem}.mini-stats{justify-content:flex-start;margin-top:.35rem}.mini-stats span{font-size:.61rem}.shop-list{max-height:12.5rem;overflow-y:auto}.shop-item{min-height:4.5rem;padding:.45rem}.menu-actions{grid-template-columns:1fr}.control-guide{display:none}.battle-button{width:100%}.move-pad{width:8.8rem;height:8.8rem}.action-pad{gap:.3rem}.action-pad button{width:3.8rem}.action-pad .attack-control{width:5rem}.dash-control{display:none!important}.pause-button{top:max(7.9rem, calc(env(safe-area-inset-top) + 7.5rem))}}@media (height<=720px) and (width>=621px){.screen{place-items:start center}.menu-card{margin-top:0}.menu-card h1{font-size:clamp(2.8rem,8vh,4.2rem)}.intro{margin-block:.5rem .7rem}.shop-item{min-height:4.55rem}}@media (hover:hover) and (pointer:fine){.touch-controls{display:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
