@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-top:#fff7ec;--bg-bottom:#ffe7d0;--glow:#ffbe7880;--surface:#fff;--tray:#e6d3b8;--tray-edge:#cdb693;--cell:#f1e3ce;--ink:#43362a;--ink-soft:#9a8975;--on-dark:#fff;--primary:#ff7a45;--primary-edge:#d2542a;--neutral:#eadcc8;--neutral-edge:#c9b69c;--danger:#f0455a;--danger-edge:#c22a3e;--good:#43c97f;--good-edge:#2a9d5e;--r-sm:12px;--r-md:18px;--r-lg:26px;--r-pill:999px;--edge:4px;--shadow-soft:0 6px 18px #78502821;--shadow-pop:0 16px 40px #5a371447;--slide-ms:.11s;--pop-ms:.11s;--spawn-ms:.14s;--spring:cubic-bezier(.34, 1.56, .64, 1)}@media (prefers-color-scheme:dark){:root{--bg-top:#241c16;--bg-bottom:#16110d;--glow:#ff96462e;--surface:#33291f;--tray:#3b2f24;--tray-edge:#2a2119;--cell:#4a3b2c;--ink:#f6eada;--ink-soft:#a2917c;--neutral:#4b3c2e;--neutral-edge:#33281e}}*{box-sizing:border-box}html,body{overscroll-behavior:none}body{min-height:100dvh;color:var(--ink);background:radial-gradient(120% 70% at 50% -10%, var(--glow) 0%, transparent 60%), linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 100%);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;background-attachment:fixed;justify-content:center;margin:0;font-family:Nunito Variable,Nunito,Segoe UI,system-ui,sans-serif;font-weight:700;display:flex}.app{width:100%;max-width:470px;height:100dvh;padding:max(12px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom));-webkit-user-select:none;user-select:none;flex-direction:column;gap:12px;display:flex;overflow:hidden}.stage{flex:auto;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;container-type:size}.topbar{justify-content:space-between;align-items:center;gap:10px;display:flex}.brand{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:1.05rem;font-weight:900;display:flex}.brand .brand-mark{flex:none;width:30px;height:30px}.stats{gap:8px;display:flex}.stat{background:var(--surface);border-radius:var(--r-pill);text-align:center;min-width:68px;box-shadow:var(--shadow-soft);padding:5px 14px;line-height:1.1}.stat .label{text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft);font-size:.55rem;font-weight:800;display:block}.stat .value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.15rem;font-weight:900;display:block}.stat.accent .value{color:var(--primary)}.stat .value.bump{animation:value-bump .26s var(--spring)}@keyframes value-bump{0%{transform:scale(1)}40%{transform:scale(1.24)}to{transform:scale(1)}}.btn{--btn-face:var(--primary);--btn-edge:var(--primary-edge);cursor:pointer;font:inherit;color:var(--on-dark);background:var(--btn-face);border-radius:var(--r-md);min-height:48px;box-shadow:0 var(--edge) 0 var(--btn-edge), var(--shadow-soft);touch-action:manipulation;white-space:nowrap;border:none;padding:14px 20px;font-size:.95rem;font-weight:900;transition:transform 90ms,box-shadow 90ms,filter .12s;position:relative;transform:translateY(0)}.btn:after{content:"";border-radius:calc(var(--r-md) - 4px) calc(var(--r-md) - 4px) 40% 40%;pointer-events:none;background:linear-gradient(#ffffff57,#0000);height:38%;position:absolute;inset:3px 3px auto}.btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.btn:disabled{--btn-face:var(--neutral);--btn-edge:var(--neutral-edge);color:var(--ink-soft);cursor:default;filter:saturate(.5)}.btn:disabled:active{box-shadow:0 var(--edge) 0 var(--btn-edge), var(--shadow-soft);transform:translateY(0)}.btn.secondary{--btn-face:var(--neutral);--btn-edge:var(--neutral-edge);color:var(--ink)}.btn.danger{--btn-face:var(--danger);--btn-edge:var(--danger-edge)}.btn.good{--btn-face:var(--good);--btn-edge:var(--good-edge)}.btn.wide{flex:1}.controls{align-items:center;gap:10px;margin-top:auto;padding-top:4px;display:flex}.switch{cursor:pointer;color:var(--ink-soft);touch-action:manipulation;align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:inline-flex}.switch input{appearance:none;border-radius:var(--r-pill);background:var(--neutral);cursor:pointer;flex:none;width:42px;height:25px;margin:0;transition:background .16s;position:relative;box-shadow:inset 0 2px 4px #00000029}.switch input:after{content:"";background:var(--surface);width:19px;height:19px;transition:transform .18s var(--spring);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #00000047}.switch input:checked{background:var(--good)}.switch input:checked:after{transform:translate(17px)}.switch input:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.ladder{scrollbar-width:none;gap:5px;padding:2px;display:flex;overflow-x:auto}.ladder::-webkit-scrollbar{display:none}.chip{background:var(--surface);opacity:.3;filter:grayscale(.85);width:30px;height:30px;transition:opacity .2s ease, filter .2s ease, transform .2s var(--spring);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:2px;display:flex;overflow:hidden}.chip.reached{opacity:1;filter:none}.chip.current{box-shadow:0 0 0 3px var(--primary), var(--shadow-soft);z-index:1;transform:scale(1.22)}.cat-svg{width:100%;height:100%;display:block}.cat-svg .eyes{transform-box:fill-box;transform-origin:50%;animation:6.5s infinite cat-blink;animation-delay:var(--bd,0s)}.chip .cat-svg .eyes{animation:none}@keyframes cat-blink{0%,93.5%,to{transform:scaleY(1)}96%{transform:scaleY(.15)}}.fx-canvas{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;background:#26180c8c;justify-content:center;align-items:center;padding:18px;animation:.16s fade-in;display:flex;position:absolute;inset:0}.overlay[hidden]{display:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.overlay-card{background:var(--surface);color:var(--ink);border-radius:var(--r-lg);text-align:center;width:100%;max-width:320px;box-shadow:var(--shadow-pop);animation:card-in .32s var(--spring);padding:26px 24px 22px}@keyframes card-in{0%{opacity:0;transform:scale(.82)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.overlay-card h2{letter-spacing:-.02em;margin:0 0 8px;font-size:1.5rem;font-weight:900}.overlay-card p{color:var(--ink-soft);margin:0 0 18px;font-size:.92rem;font-weight:700;line-height:1.45}.overlay-actions{flex-direction:column;gap:9px;display:flex}.hint{text-align:center;color:var(--ink-soft);margin:0;font-size:.74rem;font-weight:700;line-height:1.4;transition:opacity .7s}.hint.faded{opacity:0}@media (width<=400px){.app{gap:10px;padding-left:10px;padding-right:10px}.brand{font-size:.95rem}.brand .brand-mark{width:26px;height:26px}.stat{min-width:58px;padding:4px 11px}.stat .value{font-size:1.02rem}.btn{padding:13px 15px;font-size:.88rem}.chip{width:27px;height:27px}}@media (prefers-reduced-motion:reduce){.cat-svg .eyes,.overlay-card,.stat .value.bump{animation:none}.switch input:after,.hint{transition:none}}@media (orientation:landscape) and (height<=620px){.app{max-width:none;height:100dvh;min-height:0;padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));grid-template:"stage topbar""stage ladder""stage hint"1fr"stage controls"/minmax(0,1fr) clamp(170px,26vw,230px);gap:8px 14px;display:grid;overflow:hidden}.stage{grid-area:stage;height:100%}.topbar{grid-area:topbar}.ladder{grid-area:ladder}.hint{grid-area:hint;align-self:end}.controls{grid-area:controls;margin-top:0}.topbar{flex-direction:column;align-items:stretch;gap:6px}.brand{justify-content:center;font-size:.95rem}.stats{justify-content:center}.stat{flex:1;min-width:0;padding:4px 8px}.stat .value{font-size:.95rem}.controls{flex-direction:column;align-items:stretch;gap:7px}.btn{width:100%}.switch{justify-content:center;margin-left:0}.hint{font-size:.68rem}}@media (orientation:landscape) and (height<=420px){.hint,.ladder{display:none}}@media (width>=900px) and (aspect-ratio>=1){.app{max-width:620px}}:root{--paw-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='16.5' rx='6.4' ry='5.4' fill='%23000'/%3E%3Cellipse cx='4.6' cy='10.2' rx='2.6' ry='3.4' fill='%23000'/%3E%3Cellipse cx='9.6' cy='6.4' rx='2.6' ry='3.6' fill='%23000'/%3E%3Cellipse cx='15.2' cy='6.6' rx='2.6' ry='3.5' fill='%23000'/%3E%3Cellipse cx='19.8' cy='10.6' rx='2.5' ry='3.2' fill='%23000'/%3E%3C/svg%3E");--btn-pad-x:20px;--neon:#8338ec;--scene-1:#0b0616;--scene-2:#1b0e2c;--scene-3:#2a1240}html,body{overscroll-behavior:none;color:#f3e7d6;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;background:#06030d;height:100%;margin:0;font-family:Nunito Variable,Nunito,Segoe UI,system-ui,sans-serif;font-weight:700;overflow:hidden}.fit{position:fixed;inset:0;overflow:hidden}.pn{width:390px;height:844px;transform:translate(-50%, -50%) scale(var(--s,1));transform-origin:50%;-webkit-user-select:none;user-select:none;touch-action:none;position:absolute;top:50%;left:50%;overflow:hidden}.pn-bg{background:linear-gradient(180deg, var(--scene-1), var(--scene-2) 42%, var(--scene-3));z-index:0;position:absolute;inset:0}.pn-glow{height:340px;opacity:calc(.55 + .45 * var(--beat,0));z-index:1;background:radial-gradient(closest-side,#8338ec66,#0000 72%);position:absolute;top:-60px;left:-40px;right:-40px}.beats{z-index:2;pointer-events:none;background-image:repeating-linear-gradient(#ffffff12 0 1px,#0000 1px 66px);position:absolute;inset:-66px 0 0}.lane{background:linear-gradient(180deg, #ffffff08, color-mix(in srgb, var(--neon) 16%, transparent));z-index:3;touch-action:none;border-radius:0 0 14px 14px;width:92px;position:absolute;top:0;bottom:0;box-shadow:inset 0 0 0 1px #ffffff0f}.crack{opacity:0;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(#0000 40%,#f0455a59 100%),repeating-linear-gradient(158deg,#0000 0 12px,#ff3c5a8c 12px 14px,#0000 14px 26px);position:absolute;inset:0}.crack.on{animation:.26s ease-out crack-flash}@keyframes crack-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}.tiles{z-index:6;pointer-events:none;position:absolute;inset:0}.ntile{will-change:transform;background:linear-gradient(180deg, color-mix(in srgb, var(--neon) 42%, #160c24), color-mix(in srgb, var(--neon) 18%, #120a1e));width:84px;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--neon) 70%, transparent), 0 0 26px color-mix(in srgb, var(--neon) 40%, transparent);border-radius:16px;position:absolute;top:0}.ntile[hidden]{display:none}.ntile .tcat{z-index:2;width:62px;height:62px;position:absolute;top:17px;left:11px}.ntile .tcat .cat-svg{width:100%;height:100%;display:block}.ntile .cat-svg .eyes{animation-duration:2.4s}.ntile.long .tcat{top:auto;bottom:14px}.ntile .hold{display:none}.ntile.long .hold{background:linear-gradient(0deg, color-mix(in srgb, var(--neon) 90%, #fff), transparent);border-radius:999px;width:6px;margin-left:-3px;display:block;position:absolute;top:14px;bottom:76px;left:50%}.ntile.long.held .hold{animation:90ms linear infinite string-vibe}@keyframes string-vibe{0%,to{transform:translate(-1.5px)}50%{transform:translate(1.5px)}}.ntile.hit-good,.ntile.hit-perfect{animation:.18s ease-out forwards tile-hit}.ntile.hit-perfect{--hit-glow:#fff}@keyframes tile-hit{0%{filter:brightness(2.1);opacity:1}to{filter:brightness();opacity:0}}.ntile.hit-good .tcat,.ntile.hit-perfect .tcat,.ntile.hit-hold .tcat{animation:.18s ease-out tcat-pop}@keyframes tcat-pop{0%{transform:scale(1.14)}to{transform:scale(1)}}.ntile.hit-hold{animation:.18s ease-out tile-hold-flash}@keyframes tile-hold-flash{0%{filter:brightness(2.1)}to{filter:brightness()}}.ntile.long.held{filter:brightness(1.22);box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--neon) 95%, #fff), 0 0 34px color-mix(in srgb, var(--neon) 62%, transparent)}.ntile.hit-good .eyes,.ntile.hit-perfect .eyes,.ntile.hit-hold .eyes,.ntile.held .eyes{transform-box:fill-box;transform-origin:50%;animation:none;transform:scaleY(.16)}.ntile.missed{filter:grayscale(.7)brightness(.5)sepia(.5)hue-rotate(-30deg);opacity:.45}.hitline{z-index:7;pointer-events:none;background:#ffffff80;height:4px;position:absolute;top:642px;left:0;right:0;box-shadow:0 0 22px #ffffff8c}.keys{z-index:8;pointer-events:none;position:absolute;inset:0}.key{background:linear-gradient(#2a1c3e,#160d26);border-radius:14px 14px 18px 18px;width:92px;transition:transform 60ms;position:absolute;top:658px;bottom:0;box-shadow:inset 0 3px #ffffff1f,inset 0 -6px #00000073}.key.down{transform:translateY(3px)}.key.lit,.key.lit-perfect{background:linear-gradient(180deg, #fff, color-mix(in srgb, var(--neon) 70%, #fff));box-shadow:0 0 34px var(--neon), inset 0 -6px 0 #0003}.key.lit-perfect{box-shadow:0 0 44px #fff, 0 0 70px var(--neon), inset 0 -6px 0 #0003}.acc{text-align:center;letter-spacing:.12em;color:#fff;text-shadow:0 0 18px color-mix(in srgb, var(--neon) 90%, transparent);z-index:12;opacity:0;pointer-events:none;font-size:17px;font-weight:900;position:absolute;top:596px;left:0;right:0}.acc.show{animation:.4s ease-out acc-pop}@keyframes acc-pop{0%{opacity:0;transform:translateY(8px)scale(.9)}20%{opacity:1;transform:translateY(0)scale(1)}75%{opacity:1}to{opacity:0}}.combo2{text-align:center;z-index:12;opacity:0;pointer-events:none;transition:opacity .14s;position:absolute;top:300px;left:0;right:0}.combo2.show{opacity:1}.combo2 b{color:#fff;letter-spacing:-.04em;font-variant-numeric:tabular-nums;text-shadow:0 0 26px #8338ece6,0 0 60px #3a86ff8c;font-size:64px;font-weight:900;line-height:.9;display:block}.combo2 span{letter-spacing:.28em;color:#c9a6ff;font-size:12px;font-weight:900;display:block}.fever2{z-index:11;pointer-events:none;opacity:0;transition:opacity .22s;position:absolute;inset:0;box-shadow:inset 0 0 60px #8338ec8c,inset 0 0 130px #3a86ff47}.fever2.on{opacity:calc(.55 + .45 * var(--beat,0))}.fever2.on:before{content:"";-webkit-mask-composite:xor;background:linear-gradient(115deg,#ff5d8f,#ffc53d,#6fc24a,#3a86ff,#8338ec,#ff5d8f) 0 0/300% 100% border-box;border:5px solid #0000;border-radius:2px;animation:2.4s linear infinite rainbow-rim;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:padding-box,border-box;mask-clip:padding-box,border-box;-webkit-mask-origin:padding-box,border-box;mask-origin:padding-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes rainbow-rim{to{background-position:300% 0}}.pn.fever .pn-bg{filter:saturate(1.35) brightness(calc(1 + .12 * var(--beat,0)))}.hud{z-index:13;pointer-events:none;align-items:center;gap:6px;display:flex;position:absolute;top:16px;left:14px;right:14px}.hud .stat{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;text-align:center;background:#140e0a8c;border-radius:999px;flex:none;min-width:62px;padding:5px 10px;line-height:1.1}.hud .stat .label{text-transform:uppercase;letter-spacing:.09em;color:#fff9;font-size:.55rem;font-weight:800;display:block}.hud .stat .value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;font-size:1.15rem;font-weight:900;display:block}.hud .stat.accent .value{color:#ffc53d}.lives{gap:4px;margin-left:auto;display:flex}.lives i{background:#ff5d8f;border-radius:50%;width:9px;height:9px;box-shadow:0 0 8px #ff5d8fe6}.lives i.spent{box-shadow:none;background:#ffffff2e}.lives.hard i:nth-child(n+2){display:none}.lives.hard i{background:#ffc53d;box-shadow:0 0 10px #ffc53de6}.iconbtn{pointer-events:auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;width:34px;height:34px;font:inherit;cursor:pointer;touch-action:manipulation;background:#140e0a8c;border:none;border-radius:50%;flex:none;font-size:11px}.vtag{letter-spacing:.04em;color:#ffffff59;z-index:14;pointer-events:none;font-size:9px;font-weight:800;position:absolute;bottom:7px;right:9px}.countdown{z-index:14;color:#ffffffe6;text-shadow:0 0 40px #8338ece6;pointer-events:none;place-items:center;font-size:120px;font-weight:900;display:grid;position:absolute;inset:0}.countdown[hidden]{display:none}.pn>.fx-canvas{z-index:19}.curtain{z-index:18;pointer-events:none;position:absolute;inset:0}.curtain[hidden]{display:none}.curtain-l,.curtain-r{background:linear-gradient(90deg,#3b1030,#6a1b4a 60%,#48123a);width:52%;position:absolute;top:0;bottom:0;box-shadow:inset 0 0 60px #0009}.curtain-l{animation:.7s cubic-bezier(.3,.9,.3,1) forwards curtain-in;left:0;transform:translate(-100%)}.curtain-r{animation:.7s cubic-bezier(.3,.9,.3,1) forwards curtain-in;right:0;transform:translate(100%)}@keyframes curtain-in{to{transform:translate(0)}}.bow{z-index:2;justify-content:center;gap:10px;display:flex;position:absolute;bottom:96px;left:0;right:0}.bow .bowcat{width:76px;height:76px;animation:.62s cubic-bezier(.34,1.56,.64,1) forwards bow-up,.9s ease-in-out .7s 2 bow-nod;transform:translateY(140px)}.bow .bowcat:nth-child(2){animation-delay:90ms,.79s}.bow .bowcat:nth-child(3){animation-delay:.18s,.88s}.bow .bowcat:nth-child(4){animation-delay:.27s,.97s}.bow .bowcat .cat-svg{width:100%;height:100%}@keyframes bow-up{to{transform:translateY(0)}}@keyframes bow-nod{0%,to{rotate:0deg}50%{translate:0 6px;rotate:12deg}}.screen{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080410c7;justify-content:center;align-items:center;padding:22px 18px;animation:.16s fade-in;display:flex;position:absolute;inset:0}.screen[hidden]{display:none}.panel{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;text-align:center;background:linear-gradient(#241338,#180c28);border-radius:26px;width:100%;max-width:320px;max-height:100%;padding:22px 20px 20px;overflow-y:auto;box-shadow:0 20px 60px #0009,inset 0 0 0 1px #ffffff12}.panel::-webkit-scrollbar{display:none}.panel.wide{max-width:340px}.logo{letter-spacing:-.02em;background:linear-gradient(90deg,#6fa8ff,#4fd9c9,#ff87ac,#a05cff);color:#f6eeff;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 6px;font-size:1.8rem;font-weight:900}.panel h2{letter-spacing:-.02em;margin:0 0 8px;font-size:1.35rem;font-weight:900}.lede{color:#b9a6d4;margin:0 0 16px;font-size:.88rem;font-weight:700;line-height:1.45}.fine{color:#7e6c99;margin:12px 0 0;font-size:.7rem;font-weight:700;line-height:1.4}.btn{cursor:pointer;font:inherit;color:#fff;padding:13px var(--btn-pad-x);touch-action:manipulation;white-space:nowrap;background:#8338ec;border:none;border-radius:18px;width:auto;min-height:48px;font-size:.95rem;font-weight:900;transition:transform 90ms,box-shadow 90ms;position:relative;box-shadow:0 4px #5a21a8,0 6px 18px #00000059}.btn:active{transform:translateY(4px);box-shadow:0 0 #5a21a8,0 6px 18px #00000059}.btn:disabled{color:#a294be;cursor:default;background:#2a2038;box-shadow:0 4px #1b1426}.btn:disabled:active{transform:none;box-shadow:0 4px #1b1426}.btn.secondary{color:#f3e7d6;background:#3a2c4e;box-shadow:0 4px #241a32}.btn.secondary:active{box-shadow:0 0 #241a32}.btn.good{color:#06231f;background:#27bfb0;box-shadow:0 4px #157f75,0 6px 18px #00000059}.btn.good:active{box-shadow:0 0 #157f75}.btn.big{padding:16px 34px;font-size:1.1rem}.btn.full{width:100%}.menu-actions{justify-content:center;gap:9px;margin-top:14px;display:flex}.menu-actions .btn{flex:1}.menu-actions .audio-menu{flex:1 1 calc(var(--btn-pad-x) * 2)}.audio-menu{display:inline-flex;position:relative}.audio-menu>.btn{width:100%}.audio-pop{z-index:30;transform-origin:100% 100%;background:#2e1a46;border-radius:20px;gap:8px;padding:8px;animation:.13s ease-out audio-pop-in;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 12px 30px #0000008c,inset 0 0 0 1px #ffffff14}.audio-pop[hidden]{display:none}@keyframes audio-pop-in{0%{opacity:0;transform:scale(.7)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.audio-pop .btn.audio-icon{flex:none;place-items:center;padding:10px 12px;display:grid}.audio-icon svg{fill:currentColor;width:22px;height:22px;display:block}.audio-icon.is-off{opacity:.55}.btnrow{margin-top:10px}.btnrow:first-of-type{margin-top:14px}.btnrow>.btn,.btnrow>.tapzone{width:100%}.btnrow[hidden]{display:none}.menu-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.menu-head h2{margin:0}.starcount{color:#ffc53d;font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:1rem;font-weight:900;display:flex}.paw{color:#ffc53d;width:15px;height:15px;-webkit-mask:var(--paw-mask) center/contain no-repeat;-webkit-mask:var(--paw-mask) center/contain no-repeat;mask:var(--paw-mask) center/contain no-repeat;background:currentColor;display:inline-block}.paw.off{color:#ffffff29}.tracklist{scrollbar-width:none;flex-direction:column;gap:7px;max-height:400px;display:flex;overflow-y:auto}.tracklist::-webkit-scrollbar{display:none}.tline{display:block}.tline>.trow{width:100%}.trow{color:#f3e7d6;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;background:#ffffff0d;border:none;border-radius:16px;align-items:center;gap:10px;padding:8px 10px;display:flex}.trow:active{transform:translateY(2px)}.trow[disabled]{opacity:.45;cursor:default}.trow[disabled]:active{transform:none}.trow .tchip{flex:none;width:34px;height:34px}.trow .tchip .cat-svg{width:100%;height:100%}.trow .tmeta{flex:auto;min-width:0}.trow .tname{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:900;display:block;overflow:hidden}.trow .tsub{color:#9a87b6;white-space:nowrap;text-overflow:ellipsis;font-size:.66rem;font-weight:700;display:block;overflow:hidden}.trow .tpaws{flex:none;gap:2px;display:flex}.trow .tpaws .paw{width:13px;height:13px}.tapzone{color:#fff;width:100%;min-height:132px;font:inherit;cursor:pointer;touch-action:manipulation;background:radial-gradient(closest-side,#8338ec80,#8338ec1f);border:none;border-radius:22px;font-size:1.1rem;font-weight:900;box-shadow:inset 0 0 0 2px #ffffff1f}.tapzone:active{filter:brightness(1.4)}.calib-out{color:#ffc53d;font-variant-numeric:tabular-nums;margin:12px 0 0;font-size:.85rem;font-weight:800}.stamp{color:#ffc53d;border:5px solid #ffc53d;border-radius:50%;place-items:center;width:92px;height:92px;margin:0 auto 8px;animation:.42s cubic-bezier(.34,1.56,.64,1) stamp-in;display:grid}.stamp b{font-size:46px;font-weight:900;line-height:1}.stamp.g-S{color:#ffc53d;border-color:#ffc53d}.stamp.g-A{color:#27bfb0;border-color:#27bfb0}.stamp.g-B{color:#3a86ff;border-color:#3a86ff}.stamp.g-C{color:#9a87b6;border-color:#9a87b6}.stamp.fail{color:#f0455a;border-color:#f0455a}@keyframes stamp-in{0%{opacity:0;transform:scale(2.2)rotate(-18deg)}to{opacity:1;transform:scale(1)rotate(-8deg)}}.paws{justify-content:center;gap:6px;margin-bottom:12px;display:flex}.paws .paw{width:24px;height:24px}.resgrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.resgrid div{background:#ffffff0d;border-radius:14px;padding:7px 4px}.resgrid span{text-transform:uppercase;letter-spacing:.08em;color:#9a87b6;font-size:.6rem;font-weight:800;display:block}.resgrid b{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:900;display:block}@media (prefers-reduced-motion:reduce){.ntile.long.held .hold,.fever2.on:before,.bow .bowcat,.stamp{animation:none}.bow .bowcat{transform:none}}
