@font-face{font-family:Russo One;font-style:normal;font-display:swap;font-weight:400;src:url(./russo-one-latin-400-normal-BfOuQF9V.woff2) format("woff2"),url(./russo-one-latin-400-normal-CosRecV9.woff) format("woff")}@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:600;src:url(./chakra-petch-latin-600-normal-DVQm9bgb.woff2) format("woff2"),url(./chakra-petch-latin-600-normal-DQKfcdKo.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")}:root{color-scheme:dark;--bg: #05070d;--ink: #f4f6fa;--dim: #9aa3b5;--red: #ff2135;--red2: #c3111f;--cyan: #7fe0ff;--gold: #ffcf3f;--panel: rgba(12, 15, 22, .92);--line: rgba(255, 255, 255, .1);--display: "Russo One", "Arial Black", system-ui, sans-serif;--ui: "Chakra Petch", system-ui, -apple-system, sans-serif;--st: env(safe-area-inset-top, 0px);--sb: env(safe-area-inset-bottom, 0px);--sl: env(safe-area-inset-left, 0px);--sr: env(safe-area-inset-right, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);overflow:hidden;overscroll-behavior:none}body{font-family:var(--ui);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}#app{position:fixed;inset:0}#c{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}[hidden]{display:none!important}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;touch-action:manipulation}.logo{font-family:var(--display);font-style:italic;line-height:.82;letter-spacing:-.02em;display:flex;flex-direction:column;align-items:center;transform:skew(-8deg)}.logo .l1{font-size:clamp(64px,22vw,120px);color:var(--ink);text-shadow:0 0 30px rgba(127,224,255,.25)}.logo .l2{font-size:clamp(64px,22vw,120px);color:var(--red);text-shadow:0 0 34px rgba(255,33,53,.55);margin-left:.5em}.boot{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;background:var(--bg);z-index:50;transition:opacity .4s}.boot.out{opacity:0;pointer-events:none}.boot-bar{width:160px;height:4px;border-radius:2px;background:var(--line);overflow:hidden}.boot-bar i{display:block;height:100%;width:40%;background:var(--red);animation:bootbar 1s ease-in-out infinite}@keyframes bootbar{0%{transform:translate(-100%)}to{transform:translate(260%)}}.boot-error{color:var(--dim);max-width:280px;text-align:center}.btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:54px;padding:10px 28px;border-radius:14px;font-family:var(--display);font-size:20px;letter-spacing:.04em;transition:transform .08s}.btn:active{transform:scale(.96)}.btn small{font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:.14em;opacity:.8;margin-top:2px}.btn-red{background:linear-gradient(180deg,#ff3a4c,var(--red2));box-shadow:0 6px 24px #ff213566,inset 0 1px #ffffff4d}.btn-dark{background:#ffffff14;border:1px solid var(--line)}.btn-ghost{color:var(--dim);font-size:16px;min-height:44px}.btn-xl{min-height:72px;font-size:28px;min-width:240px}.icon-btn{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#0a0d1499;border:1px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.icon-btn svg{width:22px;height:22px;fill:var(--ink);stroke:var(--ink)}.icon-btn.off{opacity:.45}.screen{position:absolute;inset:0;z-index:20}.home{display:flex;flex-direction:column;justify-content:space-between;padding:calc(16px + var(--st)) calc(16px + var(--sr)) calc(28px + var(--sb)) calc(16px + var(--sl));background:linear-gradient(180deg,#05070dbf,#05070d00 40% 60%,#05070dd9)}.home-top{display:flex;justify-content:flex-end;gap:10px}.home-top #btn-sound .off,.home-top #btn-sound.off .on{display:none}.home-top #btn-sound.off .off{display:block}.home-logo{display:flex;flex-direction:column;align-items:center;margin-top:-8vh}.tag{margin:18px 0 0;color:var(--dim);font-weight:600;letter-spacing:.08em;font-size:14px;text-transform:uppercase}.home-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.home-actions .btn-dark{min-width:240px}.levels{background:#05070df0;display:flex;flex-direction:column;padding:calc(12px + var(--st)) calc(16px + var(--sr)) calc(16px + var(--sb)) calc(16px + var(--sl))}.levels-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.levels-head h2{font-family:var(--display);font-style:italic;margin:0;font-size:26px;flex:1}.stars-total{font-weight:700;color:var(--gold)}.level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;overflow-y:auto;padding-bottom:20px;touch-action:pan-y}.lvl-tile{aspect-ratio:1;border-radius:14px;background:#ffffff0f;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.lvl-tile b{font-family:var(--display);font-size:24px}.lvl-tile .st{font-size:11px;letter-spacing:1px;color:var(--gold);min-height:13px}.lvl-tile.boss{border-color:#ff213599}.lvl-tile.locked{opacity:.35}.lvl-tile.current{background:linear-gradient(180deg,#ff3a4c59,#c3111f40);border-color:var(--red)}.ready{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:0 20px calc(120px + var(--sb));pointer-events:none}.tap-go span{font-family:var(--display);font-style:italic;font-size:30px;letter-spacing:.04em;animation:pulse 1.1s ease-in-out infinite;text-shadow:0 2px 20px rgba(0,0,0,.8)}@keyframes pulse{50%{opacity:.45;transform:scale(.97)}}.intro-card{max-width:330px;margin-bottom:26px;padding:16px 18px;border-radius:16px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--cyan)}.intro-card h3{margin:0 0 6px;font-family:var(--display);font-style:italic;font-size:20px;color:var(--cyan)}.intro-card p{margin:0;color:#cfd6e4;font-size:15px;line-height:1.35;font-weight:500}.hud{position:absolute;inset:0;pointer-events:none;z-index:10}.hud-top{position:absolute;top:calc(10px + var(--st));left:calc(12px + var(--sl));right:calc(12px + var(--sr));display:flex;align-items:center;gap:12px}.hud-top .icon-btn{pointer-events:auto}.hud-mid{flex:1;min-width:0}.hud-level{font-family:var(--display);font-style:italic;font-size:14px;letter-spacing:.06em;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 6px rgba(0,0,0,.8)}.prog{position:relative;height:6px;border-radius:3px;background:#ffffff26}.prog i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:3px;background:linear-gradient(90deg,var(--red2),var(--red))}.prog b{position:absolute;top:50%;left:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--ink);box-shadow:0 0 10px #ffffffb3}.hud-score{text-align:right;min-width:74px}.hud-score b{display:block;font-family:var(--display);font-size:26px;line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.8)}.hud-score small{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--dim)}.hud-bottom{position:absolute;left:calc(16px + var(--sl));right:calc(16px + var(--sr));bottom:calc(18px + var(--sb));display:flex;align-items:flex-end;justify-content:space-between}.fuel{display:flex;flex-direction:column;gap:5px}.fuel span{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--cyan);text-shadow:0 1px 6px rgba(0,0,0,.8)}.fuel-bar{width:130px;height:8px;border-radius:4px;background:#ffffff26;overflow:hidden}.fuel-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#3fb8ff,var(--cyan));box-shadow:0 0 12px var(--cyan);transform-origin:left}.fuel.low span{color:#ff8a3d}.speed{font-family:var(--display);font-size:30px;line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.8)}.speed small{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.12em;margin-left:4px;color:var(--dim)}.pops{position:absolute;left:0;right:0;top:24%;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;z-index:12}.pop{font-family:var(--display);font-style:italic;font-size:30px;letter-spacing:.02em;color:var(--ink);text-shadow:0 3px 16px rgba(0,0,0,.9);animation:pop 1.3s ease-out forwards;white-space:nowrap}.pop.small{font-size:18px;color:#d7deea}.pop.pts{color:var(--gold);font-size:26px}.pop.perfect{color:var(--cyan);font-size:34px;text-shadow:0 0 22px rgba(127,224,255,.7)}.pop.bad{color:#ff8a3d}@keyframes pop{0%{opacity:0;transform:scale(.6) translateY(10px)}12%{opacity:1;transform:scale(1.12)}25%{transform:scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-26px)}}.coach{position:absolute;left:50%;bottom:calc(110px + var(--sb));transform:translate(-50%);z-index:12;pointer-events:none;padding:10px 16px;border-radius:12px;background:#080a10c7;border:1px solid rgba(127,224,255,.4);font-weight:700;letter-spacing:.08em;font-size:15px;color:var(--cyan);white-space:nowrap;animation:pulse 1s ease-in-out infinite}.panel-screen{display:grid;place-items:center;background:#0304088c;padding:20px}.panel{width:min(340px,100%);padding:26px 22px 18px;border-radius:22px;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 20px 60px #0009;animation:panelIn .35s cubic-bezier(.2,1.4,.4,1)}@keyframes panelIn{0%{opacity:0;transform:scale(.85) translateY(20px)}}.panel-title{margin:0;font-family:var(--display);font-style:italic;font-size:36px;letter-spacing:.02em}.panel-title.red{color:var(--red);text-shadow:0 0 24px rgba(255,33,53,.5)}.panel-sub{margin:-4px 0 4px;color:#cfd6e4;text-align:center;font-weight:600;line-height:1.35}.panel-score{display:flex;flex-direction:column;align-items:center;margin-bottom:6px}.panel-score small{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--dim)}.panel-score b{font-family:var(--display);font-size:44px;line-height:1.05}.win-stars{display:flex;gap:10px;margin:2px 0 4px}.win-stars i{width:46px;height:46px;background:#ffffff1f;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.win-stars i.on{background:var(--gold);filter:drop-shadow(0 0 8px rgba(255,207,63,.7));animation:starIn .5s cubic-bezier(.2,1.6,.4,1) backwards}.win-stars i:nth-child(2).on{animation-delay:.15s}.win-stars i:nth-child(3).on{animation-delay:.3s}@keyframes starIn{0%{transform:scale(0) rotate(-40deg)}}.win-stats{display:flex;gap:18px;color:var(--dim);font-size:13px;font-weight:700;letter-spacing:.06em;margin-bottom:4px}.win-stats b{color:var(--ink)}.row-btns{display:flex;gap:10px;width:100%;justify-content:center}.row-btns .btn{flex:1;font-size:16px;padding:10px 12px}.controls-hint{margin:4px 0 0;font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--dim);text-align:center}.controls-hint b{color:var(--ink);font-weight:700}.controls-hint.mouse{display:none}@media(hover:hover)and (pointer:fine){.controls-hint.mouse{display:block}.controls-hint.touch{display:none}}.credit{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:13px;font-weight:600;color:var(--dim);letter-spacing:.02em}.credit b{color:var(--ink)}.credit a{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#ffffff12;border:1px solid var(--line)}.credit a:focus-visible,.btn:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.credit svg{width:16px;height:16px;fill:var(--ink)}.cap{position:absolute;inset:0;pointer-events:none;z-index:30}.cap-top{position:absolute;left:12px;right:12px;top:12%;text-align:center;font-family:var(--display);font-style:italic;font-size:24px;line-height:1.12;text-shadow:0 2px 4px rgba(0,0,0,.9),0 0 24px rgba(0,0,0,.8);text-wrap:balance}.cap-top em{color:var(--red);font-style:inherit}.cap-mark{position:absolute;left:0;right:0;bottom:calc(64px + var(--sb));text-align:center;font-weight:700;font-size:12px;letter-spacing:.12em;color:#ffffffbf;text-shadow:0 1px 6px rgba(0,0,0,.9)}
