@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:500;src:url(./chakra-petch-latin-500-normal-BR1ody1F.woff2)format("woff2"),url(./chakra-petch-latin-500-normal-CnUQnZ4D.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(./chakra-petch-latin-700-normal-CnDBPjkL.woff2)format("woff2"),url(./chakra-petch-latin-700-normal-D1s_c2du.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:italic;font-display:swap;font-weight:700;src:url(./chakra-petch-latin-700-italic-9iZTKxpm.woff2)format("woff2"),url(./chakra-petch-latin-700-italic-7rUAET50.woff)format("woff")}:root{--bg:#07070a;--surface:#101018;--surface2:#181826;--line:#2a2a3d;--blue:#22d3ee;--pink:#f0abfc;--pinkHot:#e879f9;--red:#ef4444;--redDeep:#b91c1c;--text:#f4f4f8;--dim:#a1a1b5;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--fs-s:15px;--fs-m:18px;--fs-l:28px;--ease:cubic-bezier(.22, 1, .36, 1);--over:cubic-bezier(.34, 1.56, .64, 1);--glow-b:0 0 12px #22d3ee8c;--glow-p:0 0 12px #f0abfc99;--glow-r:0 0 16px #ef444499;--st:env(safe-area-inset-top,0px);--sr:env(safe-area-inset-right,0px);--sb:env(safe-area-inset-bottom,0px);--sl:env(safe-area-inset-left,0px);color:var(--text);background:var(--bg);font-family:Chakra Petch,Arial Narrow,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:var(--bg);height:100dvh;margin:0;overflow:hidden}canvas#game{outline:none;width:100vw;height:100dvh;display:block;position:fixed;inset:0}#ui{pointer-events:none;font-variant-numeric:tabular-nums;position:fixed;inset:0}svg{width:100%;height:100%;display:block}.btn{pointer-events:auto;font:700 var(--fs-m) / 1 inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--text);background:var(--surface);border:2px solid var(--line);min-height:48px;padding:0 var(--s5);cursor:pointer;transition:transform .12s var(--ease), border-color .2s, box-shadow .2s, background .2s;border-radius:0;font-family:inherit}.btn:hover{border-color:var(--blue);box-shadow:var(--glow-b)}.btn:active{transform:scale(.95)}.btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.btn.primary{background:var(--red);box-shadow:var(--glow-r);border-color:#ff7a7a}.btn.primary:hover{background:#f25555;box-shadow:0 0 24px #ef4444cc}.btn.ghost{background:#101018bf}.btn.big{letter-spacing:.14em;min-height:64px;padding:0 56px;font-size:24px}.btn.wide{flex:1}.btn.icon{width:48px;height:48px;color:var(--blue);background:#0a0a1099;border-color:#22d3ee73;padding:11px}.btn.pulse{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{background:var(--red);box-shadow:0 0 12px #ef444480}50%{background:#f56262;box-shadow:0 0 38px #ef4444}}.hide{display:none!important}.corner{top:calc(var(--st) + var(--s3));left:calc(var(--sl) + var(--s3));gap:var(--s2);z-index:30;display:flex;position:fixed}.hud{opacity:0;transition:opacity .3s var(--ease);position:fixed;inset:0}.hud.on{opacity:1}.hud-tl{top:calc(var(--st) + var(--s3) + 56px);left:calc(var(--sl) + var(--s4));position:absolute}.timer{color:var(--blue);text-shadow:0 0 14px #22d3eecc,0 2px #000;letter-spacing:.02em;font:italic 700 56px/1 Chakra Petch,sans-serif;transition:color .2s}.timer.idle{opacity:.75}.hud-tr{top:calc(var(--st) + var(--s3));right:calc(var(--sr) + var(--s4));align-items:flex-end;gap:var(--s3);flex-direction:column;display:flex;position:absolute}.money{align-items:center;gap:var(--s1);color:var(--pink);text-shadow:0 0 12px #f0abfcbf,0 2px #000;font:700 38px/1 Chakra Petch,sans-serif;display:flex}.money .glyph{filter:drop-shadow(0 0 6px #f0abfccc);width:30px;height:30px}.money.jump{animation:jump .3s var(--over)}@keyframes jump{0%{transform:translateY(0)scale(1)}35%{transform:translateY(-6px)scale(1.12)}to{transform:translateY(0)scale(1)}}.combo{width:64px;height:64px;transform:scale(var(--cs,1));transform-origin:100% 0;transition:transform .25s var(--over);place-items:center;display:grid;position:relative}.combo .ring{position:absolute;inset:0}.combo .ring rect{fill:#0a0a108c;stroke-width:4px}.combo .track{stroke:#f0abfc2e}.combo .fill{stroke:var(--pink);stroke-dasharray:100;filter:drop-shadow(0 0 4px #f0abfce6);fill:none!important}.combo .cnum{color:var(--pink);text-shadow:0 0 10px #f0abfce6;font:italic 700 24px/1 Chakra Petch,sans-serif;position:relative}.combo[data-level="0"] .cnum{color:var(--dim);text-shadow:none}.combo.pop .cnum{animation:cpop .15s var(--ease) 2 alternate}@keyframes cpop{to{transform:scale(1.3)}}.combo.shatter{pointer-events:none;animation:.7s ease-in forwards shatter;position:absolute;top:54px;right:0}.combo.shatter .ring{display:none}@keyframes shatter{0%{opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:translate(0)rotate(0)}to{opacity:0;clip-path:polygon(0 0,60% 0,40% 100%,0 100%);transform:translate(-14px,160px)rotate(-38deg)}}.tool{left:calc(var(--sl) + var(--s4));bottom:calc(var(--sb) + var(--s4));width:64px;position:absolute}.ticon{width:64px;height:64px;color:var(--blue);filter:drop-shadow(0 0 6px #22d3ee99);background:#0a0a1099;border:2px solid #22d3ee80;padding:10px}.dash{margin-top:var(--s2);background:#22d3eed9;height:6px;position:relative;overflow:hidden}.dash i{transform-origin:100%;background:#22223a;position:absolute;inset:0}.dash.ready{box-shadow:var(--glow-b)}.pips{top:calc(var(--st) + 140px);gap:var(--s2);opacity:0;transition:opacity .2s, transform .25s var(--over);display:flex;position:absolute;left:50%;transform:translate(-50%)scale(.8)}.pips.show{opacity:1;transform:translate(-50%)scale(1)}.pips i{background:var(--red);width:22px;height:22px;box-shadow:var(--glow-r);transform:rotate(45deg)}.pips i.lost{box-shadow:none;background:0 0;border:2px solid #ef444480}.marker{top:calc(var(--st) + 6px);opacity:0;width:0;transition:opacity .3s;position:absolute;left:0}.marker.on{opacity:1}.marker .dia{border:3px solid var(--red);width:18px;height:18px;box-shadow:var(--glow-r);animation:1.2s ease-in-out infinite mark;position:absolute;top:0;left:-9px;transform:rotate(45deg)}.marker .ico{width:22px;height:22px;color:var(--red);filter:drop-shadow(0 0 4px #ef4444e6);position:absolute;top:24px;left:-11px}@keyframes mark{50%{background:#ef444459;box-shadow:0 0 26px #ef4444}}.vignette{opacity:0;position:absolute;inset:0;box-shadow:inset 0 0 120px 30px #ef4444d9}.vignette.hit{animation:.45s ease-out vig}.vignette.out{background:#ef444459;animation:.9s ease-out vig}@keyframes vig{0%{opacity:1}to{opacity:0}}.hotframe{opacity:0;border:3px solid var(--pink);transition:opacity .3s;position:absolute;inset:0;box-shadow:inset 0 0 40px #f0abfc59,0 0 #0000}.hotframe.on{animation:.5s ease-in-out infinite alternate hot}@keyframes hot{0%{opacity:.25}to{opacity:.85}}.floaters,.hints{position:absolute;inset:0}.float{color:var(--pink);text-shadow:0 0 10px #f0abfce6,0 2px #000;white-space:nowrap;font:italic 700 24px/1 Chakra Petch,sans-serif;position:absolute;top:0;left:0}.hpbar{opacity:0;gap:2px;transition:opacity .15s;display:flex;position:absolute;top:0;left:0}.hpbar.on{opacity:1}.hpbar i{background:var(--pink);width:10px;height:6px;box-shadow:var(--glow-p)}.hpbar i.gone{box-shadow:none;background:#ffffff26}.hint{gap:var(--s1);opacity:0;display:flex;position:absolute;top:0;left:0}.hint.on{opacity:1;animation:.9s step-end infinite blink}@keyframes blink{0%{opacity:1}70%{opacity:.25}}.key{min-width:32px;height:32px;padding:0 var(--s2);border:2px solid var(--pink);color:var(--pink);box-shadow:var(--glow-p);background:#0a0a10bf;place-items:center;font:700 16px/1 Chakra Petch,sans-serif;display:inline-grid}.key.sq{width:32px;padding:5px}.towernote{gap:var(--s2);padding:var(--s2);opacity:0;color:var(--red);border:2px solid var(--red);transition:opacity .15s, transform .25s var(--over);background:#0a0a10bf;display:flex;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)scale(.8)}.towernote svg,.towernote span{width:36px;height:36px}.towernote span{color:var(--blue)}.towernote.on{opacity:1;transform:translate(-50%,-50%)scale(1)}.touch{display:none;position:fixed;inset:0}body.touchui .touch.on{display:block}body.touchui .tool{bottom:auto;top:calc(var(--st) + var(--s3) + 128px);width:44px}body.touchui .ticon{width:44px;height:44px;padding:7px}.stick{opacity:0;background:#0a0a1059;border:2px solid #22d3ee8c;width:120px;height:120px;transition:opacity .15s;position:absolute;top:-60px;left:-60px}.stick.on{opacity:1}.stick i{width:48px;height:48px;box-shadow:var(--glow-b);background:#22d3eed9;position:absolute;top:34px;left:34px}.tbtn{pointer-events:auto;color:var(--text);touch-action:none;background:#0a0a108c;border:2px solid #22d3ee99;border-radius:0;padding:14px;transition:transform 80ms;position:absolute}.tbtn.down{background:#22d3ee40;transform:scale(.9)}.tbtn.attack{right:calc(var(--sr) + 24px);bottom:calc(var(--sb) + 28px);border-color:var(--red);color:#fff;width:92px;height:92px;box-shadow:var(--glow-r);background:#ef444473;padding:20px}.tbtn.dashb{right:calc(var(--sr) + 40px);bottom:calc(var(--sb) + 136px);width:60px;height:60px;color:var(--blue)}.tbtn.dashb.cool{opacity:.45}.tbtn.jump{right:calc(var(--sr) + 132px);bottom:calc(var(--sb) + 32px);width:60px;height:60px;color:var(--blue)}.tbtn.viewb{right:calc(var(--sr) + 116px);bottom:calc(var(--sb) + 142px);width:48px;height:48px;color:var(--pink);border-color:#f0abfc99;padding:10px}.tbtn.shopb{right:calc(var(--sr) + 172px);bottom:calc(var(--sb) + 142px);width:48px;height:48px;color:var(--blue);padding:10px}.tbtn.viewb.fp{background:#f0abfc38}.crosshair{opacity:0;width:22px;height:22px;transition:opacity .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hud.fp .crosshair{opacity:.85}.crosshair i{background:var(--blue);box-shadow:var(--glow-b);position:absolute}.crosshair i:first-child,.crosshair i:nth-child(2){width:2px;height:7px;left:10px}.crosshair i:first-child{top:0}.crosshair i:nth-child(2){bottom:0}.crosshair i:nth-child(3),.crosshair i:nth-child(4){width:7px;height:2px;top:10px}.crosshair i:nth-child(3){left:0}.crosshair i:nth-child(4){right:0}.viewfade{opacity:0;pointer-events:none;background:#07060d;position:absolute;inset:0}.viewfade.go{animation:.15s linear viewfade}@keyframes viewfade{0%,to{opacity:0}50%{opacity:.92}}.toast.small{bottom:auto;top:calc(var(--st) + 30%);font-size:var(--fs-s);letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}.screen{pointer-events:auto;padding:calc(var(--st) + 72px) calc(var(--sr) + var(--s4)) calc(var(--sb) + var(--s4)) calc(var(--sl) + var(--s4));opacity:0;transition:opacity .28s var(--ease);z-index:20;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.screen.in{opacity:1}.screen.out{opacity:0}.screen.dim{background:#040408b8}.screen.solid{background:radial-gradient(circle at 50% 30%,#161228,#07070a 70%)}.panel{gap:var(--s3);width:min(360px,100%);padding:var(--s5);box-shadow:var(--glow-b), 0 20px 60px #0009;transition:transform .35s var(--over);background:#0a0a10eb;border:2px solid #22d3ee80;flex-direction:column;display:flex;transform:scale(.92)}.screen.in .panel{transform:scale(1)}.panel.wide{width:min(560px,100%);max-height:100%;overflow:auto}h2{margin:0 0 var(--s2);font:italic 700 var(--fs-l) / 1.1 "Chakra Petch", sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);text-shadow:var(--glow-b)}.title{background:linear-gradient(#07070a33,#07070a00 30%,#07070abf 100%),radial-gradient(circle at 50% 42%,#07070a8c,#07070a00 60%);flex-direction:column;justify-content:space-between}.title-wrap{justify-content:center;align-items:center;gap:var(--s4);flex-direction:column;flex:1;min-height:0;display:flex}.title .logo{filter:drop-shadow(0 0 24px #f0abfc59);width:min(56vw,44vh,400px);height:auto;animation:logoIn .9s var(--over) both}@keyframes logoIn{0%{opacity:0;transform:scale(.8)rotate(-4deg)}}.wordmark{margin:calc(var(--s4) * -1) 0 var(--s2);letter-spacing:.04em;text-align:center;white-space:nowrap;font:italic 700 clamp(40px,9vw,84px)/1 Chakra Petch,sans-serif}.wordmark span:first-child{color:#c9f6ff;text-shadow:0 0 6px #22d3ee,0 0 18px #22d3ee,0 0 42px #22d3eeb3;-webkit-text-stroke:1px #22d3ee}.wordmark span:last-child{color:#fde8ff;text-shadow:0 0 6px #f0abfc,0 0 18px #e879f9,0 0 42px #e879f9b3;-webkit-text-stroke:1px #f0abfc}.title .wordmark{animation:1.4s step-end .2s both neonOn}@keyframes neonOn{0%{opacity:0}10%{opacity:1}15%{opacity:.2}25%{opacity:1}30%{opacity:.4}40%{opacity:1}}.wordmark.small{margin:0;font-size:clamp(30px,7vw,56px)}.title-stats{gap:var(--s4);font-size:var(--fs-s);color:var(--dim);display:flex}.title-stats span{align-items:center;gap:var(--s1);display:flex}.title-stats svg{width:18px;height:18px;color:var(--pink)}.title-stats b{color:var(--text)}.legend{justify-content:center;gap:var(--s2) var(--s4);font-size:var(--fs-s);color:var(--dim);flex-wrap:wrap;max-width:820px;display:flex}.legend span{align-items:center;gap:var(--s2);display:flex}.legend .key{min-width:26px;height:26px;color:var(--blue);box-shadow:none;border-color:#22d3ee99;font-size:14px}.studio{color:var(--dim);font-size:var(--fs-m);margin:0;line-height:1.4}.studio b{color:var(--text)}.names{gap:var(--s3);flex-wrap:wrap;display:flex}.names span{text-align:center;min-width:100px;padding:var(--s3);border:2px solid var(--pink);color:var(--pink);box-shadow:var(--glow-p);flex:1;font:italic 700 22px/1 Chakra Petch,sans-serif}.cast{gap:var(--s3);grid-template-columns:repeat(3,1fr);display:grid}.cast figure{align-items:center;gap:var(--s2);padding:var(--s3);background:var(--surface2);border:1px solid var(--line);flex-direction:column;margin:0;display:flex}.cast img{object-fit:contain;width:100%;height:120px}.cast figcaption{font-size:var(--fs-s);color:var(--dim);text-transform:uppercase;letter-spacing:.1em}.small{color:var(--dim);margin:0;font-size:14px;line-height:1.4}.shop{background:linear-gradient(90deg,#04040800 0%,#0404088c 45%);justify-content:flex-end;padding:0}.shop-panel{justify-content:center;gap:var(--s4);width:min(600px,100%);height:100%;padding:calc(var(--st) + 72px) calc(var(--sr) + var(--s5)) calc(var(--sb) + var(--s5)) var(--s5);transition:transform .35s var(--ease);background:#050508f0;border-left:2px solid #22d3ee8c;flex-direction:column;display:flex;overflow:auto;transform:translate(100%);box-shadow:-10px 0 40px #0009}.shop.in .shop-panel{transform:none}.run-stats{gap:var(--s2);grid-template-columns:repeat(3,1fr);display:grid}.run-stats div{gap:var(--s1);padding:var(--s3);background:var(--surface);border:1px solid var(--line);flex-direction:column;display:flex}.run-stats small{color:var(--dim);font-size:14px}.run-stats b{font:italic 700 26px/1 Chakra Petch,sans-serif}.run-stats b i{color:var(--dim);font-size:16px}.pink{color:var(--pink);text-shadow:var(--glow-p)}.wallet{align-items:center;gap:var(--s2);color:var(--pink);text-shadow:var(--glow-p);font:700 44px/1 Chakra Petch,sans-serif;display:flex}.wallet svg{width:36px;height:36px}.cards{gap:var(--s3);grid-template-columns:repeat(3,1fr);display:grid}.card{pointer-events:auto;align-items:flex-start;gap:var(--s2);padding:var(--s3);text-align:left;min-height:48px;color:var(--text);background:var(--surface);border:2px solid var(--line);cursor:pointer;transition:transform .15s var(--ease), box-shadow .2s, border-color .2s;border-radius:0;flex-direction:column;font-family:inherit;display:flex;position:relative}.card:active{transform:scale(.96)}.card .cicon{width:56px;height:56px;color:var(--dim)}.card .cname{font:700 var(--fs-m) / 1.1 "Chakra Petch", sans-serif}.card .cdmg{gap:var(--s1);color:var(--dim);flex-direction:column;font-size:14px;display:flex}.bars{gap:2px;display:flex}.bars i{background:#ffffff1f;width:9px;height:8px}.bars i.on{background:var(--pink)}.card .cprice{align-items:center;gap:var(--s1);font:700 22px/1 Chakra Petch,sans-serif;display:flex}.card .cprice svg{width:20px;height:20px}.card .ctag{top:var(--s2);right:var(--s2);color:var(--red);align-items:center;gap:2px;font-size:14px;display:flex;position:absolute}.card .ctag svg{width:16px;height:16px}.card.afford{border-color:var(--blue);box-shadow:var(--glow-b), inset 0 0 24px #22d3ee1f}.card.afford .cicon,.card.afford .cprice{color:var(--blue)}.card.locked{opacity:.55;filter:grayscale()}.card.owned{border-color:#f0abfc99}.card.owned .cicon,.card.owned .cprice{color:var(--pink)}.card.bought{animation:bought .45s var(--over)}@keyframes bought{0%{transform:scale(.9);box-shadow:0 0 40px #f0abfc}}.card.nope{animation:.3s nope}@keyframes nope{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.row{gap:var(--s3);flex-wrap:wrap;display:flex}.win{background:radial-gradient(circle at 50% 40%,#07070a4d,#07070ad9 70%)}.win-wrap{align-items:center;gap:var(--s4);flex-direction:column;width:min(620px,100%);display:flex}.win .logo{width:min(52vw,36vh,340px);animation:logoIn .9s var(--over) both}.win .run-stats,.win .row{width:100%}.toast{left:50%;bottom:calc(var(--sb) + 30%);opacity:0;padding:var(--s2) var(--s4);font-size:var(--fs-m);transition:opacity .3s, transform .3s var(--ease);white-space:nowrap;background:#0a0a10cc;border:1px solid #22d3ee80;position:fixed;transform:translate(-50%,12px)}.toast.in{opacity:1;transform:translate(-50%)}@media (max-width:560px){.timer{font-size:44px}.money{font-size:30px}.cards{grid-template-columns:1fr}.card{align-items:center;column-gap:var(--s3);row-gap:var(--s1);grid-template-rows:auto auto;grid-template-columns:44px 1fr auto;display:grid}.card .cicon{grid-row:span 2;width:44px;height:44px}.card .cprice{grid-area:1/3}.card .ctag{display:none}.wallet{font-size:36px}.cast img{height:90px}.btn.big{padding:0 40px}}@media (max-height:500px){.title .logo{width:min(30vw,34vh)}.wordmark{font-size:clamp(34px,6vw,56px)}.title-wrap{gap:var(--s2)}.shop-panel{gap:var(--s2);padding-top:calc(var(--st) + var(--s4));justify-content:flex-start}.shop .cards .card .cicon{width:36px;height:36px}.wallet{font-size:30px}.run-stats b{font-size:20px}.screen{padding-top:calc(var(--st) + var(--s4))}.hud-tl{top:calc(var(--st) + var(--s3) + 52px)}.timer{font-size:40px}.tbtn.dashb{bottom:calc(var(--sb) + 128px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.12s!important;animation-duration:.01ms!important}}
