:root{--bg:#bff2a6;--ink:#1d2140;--ink-2:rgba(29,33,64,.7);--white:#ffffff;--accent:#ff3b6b;--accent-2:#ffb21a;--go:#2fd06a;--go-dark:#1f9a4c;--frame:#b8a1f2;--frame-dark:#977fd0;--cream:#f8f1e6;--panel:#ffffff;--scrim:rgba(20,22,48,.45);--ui:#8f73e6;--ui-dark:#674fb6;--ui-soft:#ddd3f8;--glass:rgba(255,255,255,.62);--font:"Fredoka",ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold","Nunito","Trebuchet MS",system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}html{background:var(--bg)}body{position:relative;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:800;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}#scene.dragging{cursor:grabbing}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.flash{position:fixed;inset:0;pointer-events:none;background:#fff;opacity:0}.tray-count{position:fixed;left:0;top:0;transform:translate(-50%,-50%);z-index:2;pointer-events:none;display:flex;align-items:center;gap:5px;min-height:38px;padding:4px 11px 4px 9px;border:2px solid #fff;border-radius:19px;background:#fff8e8;color:#242b50;box-shadow:0 3px 10px #1d21402e}.tray-count-amount{display:flex;align-items:center;gap:5px}.tray-count-amount .ring-ico{font-size:16px;margin:0}.tray-count b{font-size:22px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.hud{position:fixed;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.round-btn{flex:none;pointer-events:auto;appearance:none;border:0;cursor:pointer;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--ui-soft) -40%,var(--ui) 55%);box-shadow:0 4px 0 var(--ui-dark),0 8px 16px #3c287838;display:grid;place-items:center;padding:0;transition:transform .08s}.round-btn svg{width:30px;height:30px;fill:#fff}.round-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ui-dark)}.goal{position:relative;flex:1 1 auto;min-width:0;max-width:380px;height:46px;margin:3px 60px 0 8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:23px 23px;align-items:center;pointer-events:none;transition:margin .35s ease}body.wide .hud .goal{position:absolute;left:140px;right:140px;top:0;max-width:380px;height:56px;margin:0 auto;grid-template-rows:28px 28px}.goal.enter{animation:goalIn .5s cubic-bezier(.2,1.4,.4,1)}@keyframes goalIn{0%{opacity:0;transform:translateY(-10px) scale(.92)}}.goal-pic{position:relative;z-index:1;grid-column:1;grid-row:1/3;width:42px;height:42px;border-radius:13px;background-color:var(--cream);background-repeat:no-repeat;box-shadow:inset 0 0 0 3px var(--frame),0 3px 0 var(--frame-dark),0 6px 14px #3c287829}body.wide .goal-pic{width:52px;height:52px;border-radius:15px}.goal-pic .num{position:absolute;bottom:-5px;left:-5px;min-width:20px;padding:0 5px;border-radius:9px;background:var(--ui);color:#fff;font-size:12px;line-height:18px;text-align:center;box-shadow:0 2px 0 var(--ui-dark)}.goal-pic.next{grid-column:3}.goal-pic.next .num{left:auto;right:-5px}.goal-pic .num.bonus{display:grid;place-items:center;padding:0 3px;background:#ffb51f;box-shadow:0 2px #c9780a}.goal-pic .num.bonus svg{width:13px;height:13px;margin:2px 0;fill:#fff;stroke:none;color:#ffe7a0}.goal-pic .crown{position:absolute;right:-7px;top:-9px;width:22px;height:19px;transform:rotate(14deg);fill:#ffd21a;stroke:#b56200;stroke-width:1.6;stroke-linejoin:round}.goal-pic.cur .crown{right:auto;left:-7px;transform:rotate(-14deg)}.goal-pic.end{display:grid;place-items:center}.goal-pic.end .star{width:30px;height:29px}.goal.debut{animation:goalDrop .7s .55s cubic-bezier(.2,1.5,.4,1) backwards}@keyframes goalDrop{0%{opacity:0;transform:translateY(-70px) scale(.6)}}.goal.debut .goal-pic.cur{animation:picPop .5s .8s cubic-bezier(.2,1.6,.4,1) backwards}.goal.debut .goal-pic.next{animation:picPop .5s 1.15s cubic-bezier(.2,1.6,.4,1) backwards,nextShine 1.1s 1.5s ease-in-out}@keyframes picPop{0%{opacity:0;transform:scale(.2) rotate(-25deg)}}@keyframes nextShine{40%{transform:scale(1.18) rotate(4deg);box-shadow:inset 0 0 0 3px var(--frame),0 3px 0 var(--frame-dark),0 0 0 7px #ffd21a99,0 0 24px 8px #ffd21a8c}}.goal.debut .goal-bar{transform-origin:0 50%;animation:barGrow .55s .95s cubic-bezier(.25,.9,.3,1) backwards}@keyframes barGrow{0%{transform:scaleX(0)}}.goal-pic.next.nudge{animation:nudge .45s cubic-bezier(.2,1.4,.4,1)}@keyframes nudge{30%{transform:scale(1.12) rotate(-6deg)}60%{transform:scale(1.04) rotate(4deg)}}.goal.armed .goal-pic.next{animation:nextCall .9s ease-in-out infinite}@keyframes nextCall{50%{transform:scale(1.1);box-shadow:inset 0 0 0 3px var(--frame),0 3px 0 var(--frame-dark),0 0 0 6px #ffd21a8c,0 0 18px 6px #ffd21a80}}.goal-bar{position:relative;grid-column:2;grid-row:1/3;align-self:center;margin:0 -8px}.goal-bar.bump{animation:barBump .3s ease-out}@keyframes barBump{35%{transform:scaleY(1.5)}}.goal-track{position:relative;display:block;height:14px;border-radius:999px;overflow:hidden;background:#ffffffb8;box-shadow:inset 0 2px 3px #1d214033,0 0 0 2px #fff,0 3px 8px #3c287824}body.wide .goal-track{height:16px}.goal-fill,.goal-ghost,.goal-tip{position:absolute;top:0;bottom:0;left:0;width:100%;transform:translate(-100%);transition:transform .5s cubic-bezier(.25,.9,.3,1)}.goal-fill,.goal-ghost{border-radius:inherit;overflow:hidden}.goal-ghost{background:repeating-linear-gradient(-45deg,rgba(255,255,255,.5) 0 5px,transparent 5px 9px) var(--ui);opacity:.42}.goal-fill{background:linear-gradient(180deg,var(--ui-soft) -70%,var(--ui) 55%,var(--ui-dark) 140%);box-shadow:inset 0 2px #fff6}.goal-fill:after{content:"";position:absolute;inset:0 0 0 -20px;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.26) 0 7px,transparent 7px 14px);animation:stripes .9s linear infinite}@keyframes stripes{to{transform:translate(19.8px)}}.goal.reset .goal-fill,.goal.reset .goal-ghost,.goal.reset .goal-tip{transition:none}.goal-tip:after{content:"";position:absolute;left:0;top:50%;width:28px;height:28px;margin:-14px;border-radius:50%;border:4px solid #fff;opacity:0}.goal-tip.pop:after{animation:tipPop .55s ease-out}@keyframes tipPop{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(2.1)}}.goal.pop,.bandbar.pop{animation:goalPop .6s cubic-bezier(.25,1.3,.4,1)}.bandbar.drop{animation:shake .4s}@keyframes goalPop{0%{transform:none}22%{transform:scale(1.26) rotate(var(--tilt,-5deg))}48%{transform:scale(.93) rotate(calc(var(--tilt,-5deg) * -.5))}72%{transform:scale(1.05) rotate(calc(var(--tilt,-5deg) * .2))}to{transform:none}}.goal.pop .goal-track{animation:trackFlash .5s ease-out}@keyframes trackFlash{30%{box-shadow:inset 0 2px 3px #1d214033,0 0 0 2px #fff,0 0 0 6px #ffd21a99,0 0 18px 6px #ffd21a8c}}@media(max-width:360px){.goal-pic{width:36px;height:36px;border-radius:11px}}@keyframes shake{20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.bottom{position:fixed;left:0;right:0;bottom:max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;padding:0 16px}.bandbar{display:flex;align-items:center;gap:12px;padding:9px 20px;border-radius:999px;background:var(--glass);color:var(--ink);font-size:clamp(18px,2.6vw,24px);box-shadow:0 6px 18px #3c28781f,inset 0 1px #fffc}.bandbar-n{font-weight:900;font-variant-numeric:tabular-nums;min-width:2.6em;text-align:right}.bandbar-track{position:relative;width:clamp(120px,34vw,260px);height:14px;border-radius:999px;background:var(--ui-soft);overflow:hidden;box-shadow:inset 0 2px 3px #0000001f}.bandbar-fill{position:absolute;inset:0;border-radius:inherit;background:var(--ui);transform:scaleX(0);transform-origin:left center;transition:transform .3s cubic-bezier(.2,.7,.2,1)}.bandbar-left{font-weight:800;white-space:nowrap;opacity:.9}.bandbar.armed .bandbar-fill{background:#ffc21a}.bandbar.armed .bandbar-left{opacity:1;font-weight:900}.bandbar.bump{animation:bump .25s}body.short .bandbar{padding:6px 16px;font-size:17px;gap:10px}body.short .bandbar-track{height:11px}@keyframes bump{50%{transform:scale(1.12)}}.ring-ico{display:inline-block;width:1.05em;height:.75em;margin-left:.35em;border-radius:50%;border:.17em solid #3d8bff;box-shadow:inset 0 -.05em #0003,0 .05em #1f5fc8}.ripple{position:fixed;width:0;height:0;pointer-events:none;z-index:5}.ripple i{position:absolute;left:-28px;top:-28px;width:56px;height:56px;border-radius:50%;border:4px solid #fff;box-shadow:0 0 0 3px #1d214059;opacity:0;animation:ripple 1.2s infinite}.ripple b{position:absolute;left:-19px;top:-16px;width:104px;height:104px;background:no-repeat 0 0/400% 100%;filter:drop-shadow(0 3px 4px rgba(29,33,64,.45));animation:hand 1.2s infinite step-end}@keyframes ripple{0%,35%{transform:scale(.4);opacity:0}36%{transform:scale(.4);opacity:1}to{transform:scale(1.4);opacity:0}}@keyframes hand{0%{background-position-x:0}35%{background-position-x:33.333%}50%{background-position-x:66.667%}70%{background-position-x:100%}}.screen{position:fixed;inset:0;display:grid;place-items:center;padding:16px;z-index:10}.screen.dim{background:var(--scrim);animation:fadeIn .25s}@keyframes fadeIn{0%{opacity:0}}.card{background:var(--cream);border-radius:30px;padding:28px 26px 22px;width:min(380px,100%);text-align:center;border:7px solid var(--frame);box-shadow:0 8px 0 var(--frame-dark),0 24px 60px #281e502e,inset 0 2px 10px #503c2814;animation:pop .35s cubic-bezier(.2,1.4,.4,1)}@keyframes pop{0%{transform:scale(.85);opacity:0}}.card h2{margin:0 0 12px;font-size:clamp(28px,6vw,36px);font-weight:900;letter-spacing:-.01em}.card .sub{margin:6px 0 18px;font-weight:700;color:var(--ink-2);font-size:16px;line-height:1.35}.kicker{margin:0 0 4px;color:var(--ink-2);font-size:15px;text-transform:uppercase;letter-spacing:.12em}.need{margin:6px 0 0;font-size:40px;font-weight:900;display:flex;align-items:center;justify-content:center}.boss{display:inline-block;margin:0 0 6px;padding:4px 12px;border-radius:999px;background:var(--accent);color:#fff;font-size:14px;letter-spacing:.08em;text-transform:uppercase}.big-btn,.soft-btn{display:block;width:100%;appearance:none;border:0;cursor:pointer;font:inherit;font-weight:900;border-radius:18px;transition:transform .08s}.big-btn{margin-top:6px;padding:16px 18px;font-size:24px;color:#fff;background:var(--ui);box-shadow:0 6px 0 var(--ui-dark)}.big-btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--ui-dark)}.big-btn.ad{background:#ffb21a;box-shadow:0 6px #c47f00;font-size:21px}.big-btn.ad small{font-size:14px;opacity:.85}.soft-btn{margin-top:12px;padding:12px 16px;font-size:18px;color:var(--ink);background:#fff;box-shadow:0 4px 0 var(--ui-soft),inset 0 0 0 2px var(--ui-soft)}.soft-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ui-soft),inset 0 0 0 2px var(--ui-soft)}.big-btn:focus-visible,.soft-btn:focus-visible,.round-btn:focus-visible,.grid button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}#menu{place-items:stretch;padding:max(24px,env(safe-area-inset-top)) 16px max(28px,env(safe-area-inset-bottom));pointer-events:none}.title-card{display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;height:100%;pointer-events:none}.title-card>div{width:min(340px,100%)}.menu-btns{pointer-events:auto}.logo{margin:0;display:flex;flex-direction:column;align-items:center;font-family:"Fredoka",var(--font);font-weight:700;line-height:.92;font-size:clamp(50px,14.5vw,88px);letter-spacing:.015em;transform:rotate(-3deg);animation:logoSquish 3.2s ease-in-out infinite;transform-origin:50% 90%}@keyframes logoSquish{0%,to{transform:rotate(-3deg) scale(1)}45%{transform:rotate(-3deg) scale(1.04,.95)}60%{transform:rotate(-3deg) scale(.98,1.03)}}:is(.logo,.fancy) [data-text]{position:relative;display:inline-block;isolation:isolate}:is(.logo,.fancy) [data-text]>b{position:relative;z-index:1;font-weight:inherit;color:transparent;-webkit-text-fill-color:transparent;background:linear-gradient(180deg,#fffef8,#fff3dc 52%,#ffc58e);-webkit-background-clip:text;background-clip:text}:is(.logo,.fancy) [data-text]:before,:is(.logo,.fancy) [data-text]:after{content:attr(data-text);position:absolute;left:0;top:0}:is(.logo,.fancy) [data-text]:before{z-index:-2;color:#fff;-webkit-text-fill-color:#fff;-webkit-text-stroke:.3em #fff;text-shadow:0 .09em 0 #fff,0 .2em .12em rgba(70,20,90,.35)}:is(.logo,.fancy) [data-text]:after{z-index:-1;color:#4b1f7a;-webkit-text-fill-color:#4b1f7a;-webkit-text-stroke:.17em #4b1f7a;text-shadow:0 .07em 0 #2d0f4e}.logo .w1{font-size:.78em}.logo .w2{display:flex;align-items:center;gap:.1em;margin-top:.02em;font-size:1.22em}.logo .w2 [data-text]>b{background:linear-gradient(180deg,#fffbd0,#ffe94a 30%,#ffc21a 62%,#ff8a00);-webkit-background-clip:text;background-clip:text}.logo .drop{position:relative;flex:none;width:.2em;height:.2em;border-radius:0 50% 50%;background:linear-gradient(135deg,#fff58a,#ffb000);box-shadow:0 0 0 .03em #4b1f7a,0 0 0 .055em #fff}.logo .drop:after{content:"";position:absolute;width:45%;height:45%;border-radius:50%;background:#ffc21a;box-shadow:0 0 0 .03em #4b1f7a,0 0 0 .055em #fff}.logo .drop.l{transform:rotate(-20deg)}.logo .drop.l:after{left:-70%;top:115%}.logo .drop.r{transform:rotate(110deg)}.logo .drop.r:after{left:-70%;top:115%}.title-card .tagline{display:inline-block;margin:14px 0 0;padding:6px 16px;border-radius:999px;background:#ffffffb8;color:var(--ink);font-size:17px;font-weight:600;box-shadow:0 4px 14px #3c28781f}.play-btn,.levels-btn{position:relative;display:flex;align-items:center;justify-content:center;width:100%;appearance:none;cursor:pointer;font-family:"Fredoka",var(--font);font-weight:700;letter-spacing:.02em;-webkit-tap-highlight-color:transparent}.play-btn{gap:12px;min-height:84px;padding:12px 24px;border:4px solid #fff;border-radius:30px;overflow:hidden;font-size:40px;color:#fff;background:linear-gradient(180deg,#9df46a,#41d153 52%,#22a843);text-shadow:0 3px 0 #16803a;box-shadow:0 7px #16803a,0 14px 28px #145a2859,inset 0 3px #ffffff80;animation:playPulse 1.5s ease-in-out infinite}.play-btn svg{width:36px;height:36px;fill:#fff;filter:drop-shadow(0 3px 0 #16803a)}.play-btn:after{content:"";position:absolute;top:-30%;bottom:-30%;left:-70%;width:45%;transform:skew(-20deg);pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:playShine 2.6s ease-in-out infinite}@keyframes playPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes playShine{0%,55%{transform:skew(-20deg)}to{transform:translate(467%) skew(-20deg)}}.play-btn:active{animation:none;transform:translateY(5px) scale(.98);box-shadow:0 2px #16803a,inset 0 3px #ffffff80}.play-btn:disabled,.levels-btn:disabled{animation:none;opacity:.6;cursor:default}.levels-btn{gap:10px;min-height:64px;margin-top:18px;padding:10px 20px;border:4px solid var(--frame);border-radius:24px;font-size:28px;color:var(--ui-dark);background:linear-gradient(180deg,#fff,#f6f2ff);box-shadow:0 6px 0 var(--frame-dark),0 12px 22px #281e502e;transition:transform .08s}.levels-btn svg{width:26px;height:26px;fill:var(--ui)}.levels-btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--frame-dark)}.play-btn:focus-visible,.levels-btn:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.fancy{font-family:"Fredoka",var(--font);font-weight:700;letter-spacing:.01em;line-height:1}.fancy [data-text]>b{background:linear-gradient(180deg,#fffef8,#fff3dc 52%,#ffc58e);-webkit-background-clip:text;background-clip:text}svg.defs{position:absolute;width:0;height:0;overflow:hidden}.star{position:relative;display:inline-block;width:24px;height:23px;flex:none}.star svg{display:block;width:100%;height:100%;overflow:visible;fill:#e4ddf6;stroke:#bdb2de;stroke-width:1.4;stroke-linejoin:round;color:transparent}.star.on svg{fill:url(#star-gold);stroke:#b56200;color:#fffc}.album-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin-top:12px;padding:6px 18px;appearance:none;cursor:pointer;border:3px solid var(--frame);border-radius:20px;font-family:"Fredoka",var(--font);font-weight:700;font-size:22px;color:var(--ui-dark);background:#fff;box-shadow:0 5px 0 var(--frame-dark);transition:transform .08s;-webkit-tap-highlight-color:transparent}.album-btn .album-n{padding:1px 10px;border-radius:999px;background:var(--ui);color:#fff;font-size:17px}.album-btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--frame-dark)}.album-btn:disabled{opacity:.6;cursor:default}body.short .album-btn{min-height:38px;margin-top:8px;font-size:18px}.daily-row{display:flex;gap:10px;justify-content:center}.daily-btn{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:12px;padding:4px 12px;appearance:none;cursor:pointer;border:3px solid #ffc21a;border-radius:18px;font-family:"Fredoka",var(--font);font-weight:700;font-size:17px;color:var(--ui-dark);background:#fff8e1;box-shadow:0 4px #c9780a;-webkit-tap-highlight-color:transparent;animation:dailyPulse 1.6s ease-in-out infinite}.daily-btn[hidden]{display:none}.daily-btn svg{width:24px;height:24px;flex:none;fill:#ff6b8a}.daily-btn .pic{width:30px;height:30px;flex:none;border-radius:9px;background-color:var(--cream);background-repeat:no-repeat}.daily-btn .pic .num{display:none}.daily-btn:active{transform:translateY(3px);box-shadow:0 1px #c9780a;animation:none}.daily-btn:disabled{opacity:.6;cursor:default;animation:none}.daily-btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}@keyframes dailyPulse{0%,to{box-shadow:0 4px #c9780a,0 0 #ffc21a00}50%{box-shadow:0 4px #c9780a,0 0 0 6px #ffc21a73}}@media(prefers-reduced-motion:reduce){.daily-btn{animation:none}}body.short .daily-row{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));flex-direction:column;gap:8px}body.short .daily-btn{flex:none;min-height:44px;margin:0;padding:4px 10px}body.short .daily-btn>span[data-t]{display:none}.album-card{width:min(440px,100%);padding:18px clamp(12px,3.5vw,22px) 16px}.album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px 4px 4px}.album-grid .slot,.album-mini-grid .slot{position:relative;aspect-ratio:1;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 3px var(--ui-soft);display:grid;place-items:center}.album-grid .slot canvas,.album-mini-grid .slot canvas{width:88%;height:88%}.album-grid .slot.has,.album-mini-grid .slot.has{box-shadow:inset 0 0 0 3px var(--frame),0 4px 0 var(--frame-dark)}.album-grid .slot.gold,.album-mini-grid .slot.gold{box-shadow:inset 0 0 0 3px #ffc21a,0 4px #c9780a,0 0 14px #ffc21a99}body.short .album-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.album-pop{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:11;width:min(330px,84vw);pointer-events:none}.album-pop .card{width:100%;padding:12px 14px 14px;animation:none}.album-mini-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 2px 8px}.album-mini-t{font-size:24px;color:var(--ink)}.album-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.album-mini-grid .slot{border-radius:13px}.slot.land{animation:bump .45s cubic-bezier(.2,1.6,.4,1)}body.short .album-pop{width:min(560px,84vw)}body.short .album-mini-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.sticker-pop{position:fixed;left:50%;top:45%;z-index:12;width:max-content;max-width:92vw;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;transform-origin:50% 40%;will-change:transform,opacity}.sticker-pop .sticker-img canvas{width:min(46vw,220px);height:min(46vw,220px);filter:drop-shadow(0 8px 14px rgba(40,20,60,.35))}.sticker-pop .sticker-t{white-space:nowrap;padding:6px 18px;border-radius:999px;background:#fff;color:var(--ink);font-size:24px;font-weight:900;box-shadow:0 4px 14px #3c287833}.sticker-pop .sticker-n{padding:2px 12px;border-radius:999px;background:var(--ui);color:#fff;font-size:16px;font-weight:700}body.short .sticker-pop .sticker-img canvas{width:120px;height:120px}body.short .sticker-pop .sticker-t{font-size:18px}.sticker-fly{position:fixed;z-index:12;pointer-events:none;opacity:0;will-change:transform;filter:drop-shadow(0 8px 14px rgba(40,20,60,.35))}.sticker-fly canvas{width:100%;height:100%}.select-card{width:min(480px,100%);padding:18px clamp(12px,3.5vw,22px) 14px}.select-head{display:flex;align-items:center;gap:10px;margin:0 2px 6px}.select-head h2{margin:0 auto 0 0;font-size:clamp(30px,8vw,40px)}.star-total{display:flex;align-items:center;gap:5px;padding:4px 12px 4px 7px;border-radius:999px;background:#fff;font-size:17px;font-weight:700;box-shadow:inset 0 0 0 2px var(--ui-soft),0 3px 0 var(--ui-soft)}.close-btn{flex:none;width:46px;height:46px;display:grid;place-items:center;padding:0;appearance:none;cursor:pointer;border:3px solid #fff;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff8aa5,var(--accent) 60%);box-shadow:0 4px #b8204a,0 6px 14px #b8204a4d;transition:transform .08s}.close-btn svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:3.6;stroke-linecap:round}.close-btn:active{transform:translateY(3px);box-shadow:0 1px #b8204a}.close-btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(7px,2vw,11px);margin:4px -4px 0;padding:12px 8px 16px;max-height:min(62vh,470px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;-webkit-mask:linear-gradient(transparent,#000 10px,#000 calc(100% - 16px),transparent);mask:linear-gradient(transparent,#000 10px,#000 calc(100% - 16px),transparent)}@media(max-width:420px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.lvl-tile{position:relative;display:flex;flex-direction:column;gap:3px;padding:5px 5px 4px;appearance:none;border:0;border-radius:18px;cursor:pointer;font:inherit;font-weight:700;color:var(--ink);background:#fff;box-shadow:inset 0 0 0 3px var(--frame),0 4px 0 var(--frame-dark);transition:transform .08s}.lvl-tile:active{transform:translateY(3px);box-shadow:inset 0 0 0 3px var(--frame),0 1px 0 var(--frame-dark)}.lvl-tile:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.lvl-tile .pic{position:relative;aspect-ratio:1;border-radius:13px;background-color:var(--cream);background-repeat:no-repeat;box-shadow:inset 0 -3px #0000000d;display:grid;place-items:center;font-size:22px;color:var(--ui-dark)}.lvl-tile .num{position:absolute;left:-2px;top:-2px;min-width:22px;padding:0 6px;border-radius:10px;background:var(--ui);color:#fff;font-size:13px;line-height:20px;box-shadow:0 2px 0 var(--ui-dark)}.lvl-tile.current{box-shadow:inset 0 0 0 3px #41d153,0 4px #16803a,0 0 0 4px #41d1534d;animation:tileGlow 1.4s ease-in-out infinite}.lvl-tile.current .num{background:#2fc04c;box-shadow:0 2px #16803a}.lvl-tile .go{position:absolute;right:-4px;bottom:-4px;width:24px;height:24px;border-radius:50%;background:#2fc04c;border:2px solid #fff;display:grid;place-items:center;box-shadow:0 2px #16803a}.lvl-tile .go svg{width:11px;height:11px;fill:#fff;margin-left:2px}@keyframes tileGlow{0%,to{transform:scale(1)}50%{transform:scale(1.05);box-shadow:inset 0 0 0 3px #41d153,0 4px #16803a,0 0 0 7px #41d1532e}}.lvl-tile.boss{box-shadow:inset 0 0 0 3px var(--accent),0 4px #b8204a}.lvl-tile.boss .num{background:var(--accent);box-shadow:0 2px #b8204a}.lvl-tile .crown{position:absolute;right:-7px;top:-10px;width:26px;height:22px;transform:rotate(14deg);fill:#ffd21a;stroke:#b56200;stroke-width:1.6;stroke-linejoin:round}.lvl-tile:disabled{cursor:default;background:#f1eff8;box-shadow:inset 0 0 0 3px #d9d5ea,0 4px #c4bfdc}.lvl-tile:disabled .pic{filter:grayscale(1) brightness(.8) contrast(.8)}.lvl-tile:disabled .num{background:#a9a4c4;box-shadow:0 2px #8d88ab}.lvl-tile .lock{position:absolute;inset:0;display:grid;place-items:center}.lvl-tile .lock svg{width:44%;height:44%;fill:#fff;filter:drop-shadow(0 2px 0 rgba(29,33,64,.45))}#win.leaving{pointer-events:none}#win.gone{opacity:0;transition:opacity .35s ease-out}.win-card{display:flex;flex-direction:column;align-items:center;padding-top:24px}.win-card h2{margin:0;font-size:clamp(34px,9vw,48px);transform:rotate(-3deg)}.fade{position:fixed;inset:0;z-index:9;opacity:0;pointer-events:none;transition:opacity .35s ease-out}.fade.on{opacity:1;pointer-events:auto;transition-duration:.25s;transition-timing-function:ease-in}.rays{position:absolute;left:50%;top:50%;width:620px;height:620px;margin:-310px 0 0 -310px;z-index:-1;border-radius:50%;pointer-events:none;background:repeating-conic-gradient(rgba(255,226,92,.6) 0 9deg,transparent 9deg 22.5deg);-webkit-mask:radial-gradient(circle,#000 16%,transparent 66%);mask:radial-gradient(circle,#000 16%,transparent 66%);animation:spin 14s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading{position:fixed;inset:0;z-index:30;background:#ffc93a;transition:opacity .4s ease-out}.loading picture,.loading img{display:block;width:100%;height:100%}.loading img{object-fit:cover;object-position:42% center}@media(orientation:portrait){.loading img{object-position:50% 40%}}.loading.out{opacity:0;pointer-events:none}.loading-bar{position:absolute;left:50%;bottom:max(28px,env(safe-area-inset-bottom));width:min(240px,60vw);height:12px;transform:translate(-50%);border-radius:999px;background:#ffffffbf;box-shadow:0 0 0 3px #1d2140;overflow:hidden}.loading-bar:after{content:"";position:absolute;inset:0;width:40%;border-radius:inherit;background:linear-gradient(90deg,#ff5fa2,#ffd23f,#3d8bff);animation:loadSlide 1.1s ease-in-out infinite alternate}@keyframes loadSlide{to{transform:translate(150%)}}.soft-btn[aria-pressed=false]{opacity:.6}.tools{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 62px);z-index:3;display:flex;gap:12px;pointer-events:none}body.wide .tools{bottom:auto;top:50%;left:max(28px,env(safe-area-inset-left));transform:translateY(-50%);flex-direction:column;gap:16px}.tool{position:relative;pointer-events:auto;appearance:none;border:0;cursor:pointer;width:58px;height:58px;border-radius:50%;padding:0;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff 40%,var(--cream) 100%);box-shadow:inset 0 0 0 3px var(--ui-soft),0 4px 0 var(--ui-dark),0 8px 16px #3c287838;transition:transform .08s,box-shadow .15s}.tool svg{width:32px;height:32px;fill:none;stroke:var(--ui);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.tool b{position:absolute;right:-6px;bottom:-6px;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:var(--ui);color:#fff;font-size:15px;line-height:24px;font-weight:900;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px #fff}.tool:active{transform:translateY(3px);box-shadow:inset 0 0 0 3px var(--ui-soft),0 1px 0 var(--ui-dark)}.tool.empty{filter:grayscale(.85);opacity:.6}.tool.armed{transform:translateY(-3px) scale(1.08);box-shadow:inset 0 0 0 3px #ffc21a,0 4px 0 var(--ui-dark),0 0 0 6px #ffc21a73,0 0 22px 6px #ffc21a80}.tool.armed svg{animation:snipSnip .5s ease-in-out infinite alternate}@keyframes snipSnip{to{transform:rotate(-14deg)}}.tool.bump{animation:bump .35s}.tool.shake{animation:shake .35s}body.short .tool{width:46px;height:46px}body.short .tool svg{width:26px;height:26px}body.short .tools{gap:10px}.win-reward{display:flex;gap:10px;margin-top:12px}.win-reward .chip{display:flex;align-items:center;gap:6px;padding:5px 14px 5px 8px;border-radius:999px;background:#fff;color:var(--ink);font-size:18px;box-shadow:0 4px 14px #3c287824}.win-reward svg{width:26px;height:26px;fill:none;stroke:var(--ui);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.win-reward.on{animation:pop .45s .55s cubic-bezier(.2,1.6,.4,1) backwards}.win-next{display:flex;align-items:center;gap:12px;margin-top:14px;padding:6px 18px 6px 6px;border-radius:999px;background:#ffffffeb;color:var(--ink);font-size:18px;font-weight:700;text-align:left;line-height:1.2;box-shadow:0 4px 14px #3c287824}.win-next .goal-pic{flex:none;position:relative;width:46px;height:46px}.win-next.on{animation:pop .45s .35s cubic-bezier(.2,1.6,.4,1) backwards}.next-btn{position:relative;overflow:hidden;margin-top:16px}.next-btn span{position:relative}.next-fill{position:absolute;inset:0;background:#ffffff47;transform:scaleX(0);transform-origin:left}.next-btn.run .next-fill{animation:nextFill 1.4s .4s linear forwards}.next-btn.wait .next-fill{transform:scaleX(1);animation:nextWait 1s ease-in-out infinite}@keyframes nextFill{to{transform:scaleX(1)}}@keyframes nextWait{50%{opacity:.4}}body.short .win-card{padding-top:12px}body.short .win-card h2{font-size:26px}.tip{position:fixed;left:50%;top:calc(max(12px,env(safe-area-inset-top)) + 64px);z-index:4;transform:translate(-50%);width:max-content;max-width:min(92vw,460px);padding:8px 18px;border-radius:999px;background:#fffffff2;color:var(--ink);text-align:center;font-size:clamp(15px,2.2vw,19px);font-weight:700;line-height:1.3;box-shadow:0 4px 14px #3c28782e;pointer-events:none;opacity:0;transition:opacity .25s}.tip.on{opacity:1;animation:tipIn .4s cubic-bezier(.2,1.4,.4,1)}@keyframes tipIn{0%{opacity:0;transform:translate(-50%) translateY(-8px) scale(.9)}}body.wide .tip{top:calc(max(12px,env(safe-area-inset-top)) + 70px)}body.short .tip{top:calc(max(8px,env(safe-area-inset-top)) + 54px);padding:5px 14px;font-size:14px}.float-n{position:fixed;z-index:4;pointer-events:none;font-family:"Fredoka",var(--font);font-weight:700;font-size:clamp(24px,4vw,34px);color:#fff;-webkit-text-stroke:3px var(--ui-dark);paint-order:stroke fill;text-shadow:0 3px 0 var(--ui-dark);opacity:0}.float-n.minus{color:#ff5a6a}body.short .win-next{margin-top:8px;font-size:15px}body.short .win-next .goal-pic{width:36px;height:36px}body.short .next-btn{margin-top:10px}.nogl{position:fixed;inset:0;display:grid;place-items:center;padding:24px;text-align:center;font-size:22px;background:var(--bg)}body.wide #menu{padding-left:max(48px,6vw)}body.wide .title-card{justify-content:center;align-items:flex-start;gap:clamp(24px,6vh,56px)}body.wide .title-card>div{width:min(340px,30vw)}body.wide .logo{font-size:clamp(50px,6vw,88px)}body.short .hud{top:max(8px,env(safe-area-inset-top))}body.short .round-btn{width:44px;height:44px}body.short .round-btn svg{width:26px;height:26px}body.wide.short .hud .goal{left:110px;right:110px;height:46px;grid-template-rows:23px 23px}body.short .goal-pic{width:42px;height:42px;border-radius:13px}body.short .goal-track{height:14px}body.short .bottom{bottom:max(10px,env(safe-area-inset-bottom));gap:6px}body.short #menu{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}body.short .title-card{gap:14px}body.short .title-card>div{width:clamp(220px,32vw,300px)}body.short .logo{font-size:40px}body.short .title-card .tagline{margin-top:8px;padding:4px 12px;font-size:14px}body.short .play-btn{min-height:54px;gap:10px;border-radius:24px;font-size:28px}body.short .play-btn svg{width:28px;height:28px}body.short .levels-btn{min-height:44px;margin-top:10px;border-radius:20px;font-size:20px}body.short .levels-btn svg{width:22px;height:22px}body.short .card{width:min(500px,100%);max-height:100%;overflow-y:auto;padding:14px 18px;border-width:6px}body.short .card h2{margin-bottom:6px;font-size:28px}body.short .big-btn{padding:10px;font-size:20px}body.short .soft-btn{margin-top:10px;padding:9px 12px;font-size:16px}body.short #pause .card{display:grid;grid-template-columns:1fr 1fr;column-gap:10px}body.short #pause .card>h2,body.short #pause .card>.big-btn{grid-column:1/-1}body.short #pause .toggles{display:contents}.rotate{display:none;position:fixed;inset:0;z-index:50;place-items:center;align-content:center;gap:18px;padding:24px;text-align:center;background:var(--bg);color:var(--ink);font-size:22px}.rotate p{margin:0;max-width:320px}.phone-ico{width:46px;height:78px;border:6px solid var(--ink);border-radius:12px;position:relative;animation:tilt 1.8s ease-in-out infinite}.phone-ico:after{content:"";position:absolute;left:50%;bottom:5px;width:12px;height:4px;margin-left:-6px;border-radius:2px;background:var(--ink)}@keyframes tilt{0%,25%{transform:rotate(-90deg)}55%,to{transform:rotate(0)}}@media(orientation:landscape)and (pointer:coarse)and (max-height:540px){.rotate{display:grid}}@media(max-height:560px){.card{padding:18px 20px 16px}.big-btn{padding:12px;font-size:20px}.logo{font-size:44px}}@media(max-height:640px){.play-btn{min-height:66px;font-size:32px}.levels-btn{min-height:52px;margin-top:12px;font-size:23px}}@media(prefers-reduced-motion:reduce){.fade,.goal,.goal-fill,.goal-ghost,.goal-tip{transition:none}.goal.enter,.goal.debut,.goal.pop,.goal.pop .goal-track,.bandbar.pop,.bandbar.drop,.slot.land,.goal-pic,.goal-bar,.goal-tip:after,.goal-fill:after,.card,.tray-count.bump,.ripple i,.ripple b,.win-reward.on,.win-next.on,.next-btn .next-fill,.tip.on,.tool.armed svg,.tool.bump,.bandbar.bump,.tool.shake,.lvl-tile.current,.rays,.phone-ico,.loading-bar:after,.logo,.play-btn,.play-btn:after{animation:none!important}}
