@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(./baloo-2-devanagari-wght-normal-B4j4n2PV.woff2)format("woff2-variations");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(./baloo-2-vietnamese-wght-normal-C4ZonJY6.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:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(./baloo-2-latin-ext-wght-normal-Dz43yst_.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:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(./baloo-2-latin-wght-normal-B_TVFhwJ.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{--ink:#5d3f72;--ink-soft:#8d6fa3;--pink:#ff8db8;--pink-deep:#f0679d;--pink-light:#ffd3e4;--cream:#fffaf3;--glass:#ffffffa8;--glass-strong:#ffffffdb;--shadow:0 14px 40px #78468c38;--font:"Baloo 2 Variable", "Baloo 2", ui-rounded, "SF Pro Rounded", "Hiragino Maru Gothic ProN", "Nunito", system-ui, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;font-family:var(--font);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;background:#f6dcec;margin:0;overflow:hidden}#app{position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}#game{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.hidden{display:none!important}.loading{z-index:50;background:linear-gradient(#e9dcff 0%,#ffd9ec 60%,#ffe6d6 100%);place-items:center;transition:opacity .45s;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.loading.fade{opacity:0;pointer-events:none}.loading-blob{background:radial-gradient(circle at 35% 30%,#fff 0 22%,#fff5f0 60%,#f6e2e8 100%);border-radius:50% 50% 46% 46%/62% 62% 38% 38%;width:64px;height:52px;animation:.9s ease-in-out infinite blob;box-shadow:0 10px 24px #965aa040}@keyframes blob{0%,to{transform:translateY(0)scale(1.08,.9)}45%{transform:translateY(-26px)scale(.94,1.06)}}#ui{pointer-events:none;z-index:10;position:absolute;top:0;bottom:0;left:0;right:0}#ui button{pointer-events:auto}.screen{flex-direction:column;align-items:center;animation:.35s both fade-in;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}button{color:inherit;cursor:pointer;touch-action:manipulation;border:none;font-family:inherit}.icon-btn{background:var(--glass);-webkit-backdrop-filter:blur(10px);border-radius:50%;place-items:center;width:48px;height:48px;transition:transform .15s cubic-bezier(.3,1.6,.5,1),background .2s;display:inline-grid;box-shadow:0 6px 18px #78468c2e,inset 0 1px #ffffffe6}.icon-btn svg{width:24px;height:24px;fill:var(--ink);stroke:var(--ink)}.icon-btn:active{transform:scale(.88)}.icon-btn.small{width:40px;height:40px}.icon-btn.small svg{width:20px;height:20px}.icon-btn.big{width:58px;height:58px}.icon-btn.toggle.off{background:#ffffff59}.icon-btn.toggle.off svg{opacity:.38}.icon-btn.toggle.off:after{content:"";background:var(--ink-soft);border-radius:2px;width:26px;height:3px;position:absolute;transform:rotate(-45deg)}.icon-btn.toggle{position:relative}.pill-btn{letter-spacing:.2px;background:var(--glass-strong);border-radius:26px;justify-content:center;align-items:center;gap:8px;height:52px;padding:0 22px;font-size:19px;font-weight:700;transition:transform .15s cubic-bezier(.3,1.6,.5,1);display:inline-flex;box-shadow:0 6px 16px #78468c29,inset 0 1px #fff}.pill-btn svg{fill:currentColor;stroke:currentColor;width:22px;height:22px}.pill-btn:active{transform:scale(.93)}.pill-btn.primary{color:#fff;text-shadow:0 1px 2px #b4326e59;background:linear-gradient(#ffa3c6 0%,#f57aa9 100%);box-shadow:0 8px 20px #f0679d6b,inset 0 2px #ffffff80,inset 0 -3px #c83c7840}.pill-btn.wide{width:100%}.hud{top:calc(var(--safe-top) + 14px);left:calc(var(--safe-left) + 18px);right:calc(var(--safe-right) + 14px);justify-content:space-between;align-items:flex-start;display:flex;position:absolute}.score{color:var(--cream);text-shadow:0 0 #ff9cc2,2.5px 0 #ff9cc2,-2.5px 0 #ff9cc2,0 2.5px #ff9cc2,0 -2.5px #ff9cc2,1.8px 1.8px #ff9cc2,-1.8px 1.8px #ff9cc2,1.8px -1.8px #ff9cc2,-1.8px -1.8px #ff9cc2,0 6px #d58fd0,0 10px 18px #78468c4d;transform-origin:0 60%;font-variant-numeric:tabular-nums;font-size:64px;font-weight:800;line-height:.95}.score.bump{animation:.32s cubic-bezier(.3,1.8,.5,1) bump}@keyframes bump{0%{transform:scale(1)}35%{transform:scale(1.22)}to{transform:scale(1)}}.score-sub{color:var(--ink-soft);opacity:.9;margin-top:6px;font-size:16px;font-weight:700}.combo{top:calc(var(--safe-top) + 100px);text-align:center;color:var(--pink-deep);text-shadow:0 2px #fff,0 6px 14px #f0679d4d;font-size:22px;font-weight:800;position:absolute;left:0;right:0}#popups{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.popup{color:var(--cream);white-space:nowrap;text-shadow:2px 0 #ff9cc2,-2px 0 #ff9cc2,0 2px #ff9cc2,0 -2px #ff9cc2,1.5px 1.5px #ff9cc2,-1.5px 1.5px #ff9cc2,1.5px -1.5px #ff9cc2,-1.5px -1.5px #ff9cc2,0 6px 14px #78468c59;will-change:transform, opacity;font-size:30px;font-weight:800;animation:1s cubic-bezier(.2,.9,.3,1) both popup;position:absolute;top:0;left:0}.popup.perfect{color:#fff;text-shadow:2px 0 #b98cff,-2px 0 #b98cff,0 2px #b98cff,0 -2px #b98cff,1.5px 1.5px #b98cff,-1.5px 1.5px #b98cff,1.5px -1.5px #b98cff,-1.5px -1.5px #b98cff,0 6px 14px #7846c859;font-size:26px}.popup.bonus{color:#fff6c9;text-shadow:2px 0 #f0a640,-2px 0 #f0a640,0 2px #f0a640,0 -2px #f0a640,1.5px 1.5px #f0a640,-1.5px 1.5px #f0a640,1.5px -1.5px #f0a640,-1.5px -1.5px #f0a640,0 6px 14px #c8782859;font-size:30px}@keyframes popup{0%{opacity:0;transform:translate(var(--x), var(--y)) translate(-50%, 0) scale(.4)}18%{opacity:1;transform:translate(var(--x), var(--y)) translate(-50%, -28px) scale(1.15)}60%{opacity:1;transform:translate(var(--x), var(--y)) translate(-50%, -48px) scale(1)}to{opacity:0;transform:translate(var(--x), var(--y)) translate(-50%, -78px) scale(.92)}}.title{padding:calc(var(--safe-top) + 12px) calc(var(--safe-right) + 14px) calc(var(--safe-bottom) + 18px) calc(var(--safe-left) + 14px);justify-content:space-between}.title-top{justify-content:flex-end;width:100%;display:flex}.settings-row{gap:10px;display:flex}.settings-row.center{justify-content:center;margin:6px 0 18px}.title-center{flex-direction:column;flex:1;align-items:center;margin-top:6px;display:flex}.logo{object-fit:contain;filter:drop-shadow(0 10px 18px #96509640);pointer-events:none;width:min(84vw,560px);max-height:20vh;animation:3.4s ease-in-out infinite logo-float}@keyframes logo-float{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-6px)rotate(1deg)}}.tagline{color:var(--ink-soft);align-items:center;gap:10px;margin-top:4px;font-size:15px;font-weight:700;display:flex}.pill{color:#fff;letter-spacing:1.5px;background:linear-gradient(#ffa3c6,#f57aa9);border-radius:12px;padding:2px 12px 0;font-size:14px;font-weight:800;box-shadow:0 4px 10px #f0679d4d}.headphones{align-items:center;gap:5px;display:inline-flex}.headphones svg{width:18px;height:18px;fill:var(--ink-soft);stroke:var(--ink-soft)}.title-bottom{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:440px;display:flex}.skin-row{align-items:center;gap:12px;display:flex}.skin-info{text-align:center;min-width:150px}.skin-name{font-size:22px;font-weight:800;line-height:1.1}.skin-lock{color:var(--ink-soft);min-height:18px;font-size:13px;font-weight:700}.skin-lock.locked:before{content:"🔒 "}.mode-switch{background:var(--glass);-webkit-backdrop-filter:blur(10px);border-radius:26px;padding:4px;display:flex;position:relative;box-shadow:0 6px 18px #78468c29,inset 0 1px #fff}.mode-switch button{min-width:112px;height:42px;color:var(--ink-soft);background:0 0;border-radius:21px;font-size:17px;font-weight:800;transition:background .2s,color .2s,transform .15s}.mode-switch button.active{color:#fff;background:linear-gradient(#ffa3c6 0%,#f57aa9 100%);box-shadow:0 4px 12px #f0679d59,inset 0 2px #ffffff73}.mode-switch button:active{transform:scale(.95)}.mode-hint{color:var(--ink-soft);min-height:18px;font-size:14px;font-weight:600}.hold-hint{background:#ffffff80;border-radius:22px;align-items:center;gap:8px;margin-top:4px;padding:10px 18px 8px;font-size:17px;font-weight:800;animation:1.8s ease-in-out infinite breathe;display:flex}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.finger,.tut-finger{background:radial-gradient(circle at 40% 35%,#fff 0 30%,#ffd0e2 70%);border-radius:50%;width:22px;height:22px;animation:1.4s ease-in-out infinite press;box-shadow:0 0 0 4px #ff8db859}@keyframes press{0%,to{transform:scale(1);box-shadow:0 0 0 4px #ff8db859}40%,70%{transform:scale(.8);box-shadow:0 0 0 10px #ff8db82e}}.title-best{color:var(--ink-soft);min-height:20px;font-size:15px;font-weight:700}.tutorial{left:0;right:0;bottom:calc(var(--safe-bottom) + 13vh);flex-direction:column;align-items:center;gap:12px;animation:.3s both fade-in;display:flex;position:absolute}.tut-finger{width:44px;height:44px}.tut-text{background:var(--glass-strong);box-shadow:var(--shadow);border-radius:20px;padding:8px 18px 6px;font-size:20px;font-weight:800}.tutorial.releasing .tut-finger{animation:none;transform:scale(.8);box-shadow:0 0 0 14px #ff8db840}.modal{-webkit-backdrop-filter:blur(3px);pointer-events:auto;background:#fae6f547;justify-content:center}.card{background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);width:min(86vw,340px);box-shadow:var(--shadow), inset 0 1px 0 #fff;text-align:center;border-radius:34px;padding:22px;animation:.5s cubic-bezier(.25,1.5,.5,1) both card-in}@keyframes card-in{0%{opacity:0;transform:translateY(30px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.card-label,.card-title{color:var(--ink-soft);letter-spacing:.5px;font-size:18px;font-weight:800}.card-title{color:var(--ink);font-size:26px}.go-score{color:var(--cream);text-shadow:3px 0 #ff9cc2,-3px 0 #ff9cc2,0 3px #ff9cc2,0 -3px #ff9cc2,2px 2px #ff9cc2,-2px 2px #ff9cc2,2px -2px #ff9cc2,-2px -2px #ff9cc2,0 7px #d58fd0,0 12px 20px #78468c47;font-variant-numeric:tabular-nums;margin:2px 0;font-size:84px;font-weight:800;line-height:1}.badge{color:#8a5300;background:linear-gradient(#ffe58f,#ffc54d);border-radius:14px;margin:4px 0 6px;padding:3px 14px 1px;font-size:16px;font-weight:800;animation:.9s cubic-bezier(.3,1.8,.5,1) .25s both badge;display:inline-block;box-shadow:0 4px 12px #f0aa2859}@keyframes badge{0%{transform:scale(0)rotate(-12deg)}to{transform:scale(1)rotate(-3deg)}}.go-best{color:var(--ink-soft);font-size:17px;font-weight:700}.go-stats{color:var(--ink-soft);opacity:.85;min-height:16px;margin-top:2px;font-size:14px;font-weight:600}.card-row{justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.card-row .pill-btn{flex:1}.toast{top:calc(var(--safe-top) + 86px);background:var(--glass-strong);box-shadow:var(--shadow);white-space:nowrap;border-radius:22px;padding:10px 20px 8px;font-size:17px;font-weight:800;animation:2.8s both toast;position:absolute;left:50%;transform:translate(-50%)}@keyframes toast{0%{opacity:0;transform:translate(-50%,-16px)scale(.9)}10%,85%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-10px)scale(.96)}}@media (orientation:landscape) and (max-height:520px){.logo{width:min(46vw,420px);max-height:22vh}.title-bottom{gap:6px}.mode-hint,.title-best{display:none}.score{font-size:48px}}@media (orientation:landscape) and (min-aspect-ratio:3/2){.title-center{margin-top:0}.tutorial{bottom:calc(var(--safe-bottom) + 8vh)}}@media (max-height:380px){.tagline{display:none}.hold-hint{padding:6px 14px 4px;font-size:14px}}@media (orientation:landscape) and (max-height:430px){.title{display:block}.title-top{top:calc(var(--safe-top) + 8px);right:calc(var(--safe-right) + 10px);width:auto;position:absolute}.title-center{top:calc(var(--safe-top) + 6px);left:calc(var(--safe-left) + 12px);align-items:flex-start;margin:0;position:absolute}.logo{width:min(30vw,300px);max-height:30vh}.tagline,.mode-hint,.title-best{display:none}.title-bottom{right:calc(var(--safe-right) + 12px);bottom:calc(var(--safe-bottom) + 10px);align-items:flex-end;gap:6px;width:auto;max-width:none;position:absolute}.skin-name{font-size:17px}.mode-switch button{min-width:84px;height:34px;font-size:15px}.hold-hint{padding:6px 12px 4px;font-size:14px}.icon-btn{width:38px;height:38px}.icon-btn svg{width:19px;height:19px}.icon-btn.small{width:32px;height:32px}.score{font-size:40px}.card{transform-origin:50%;zoom:.78}.tutorial{bottom:calc(var(--safe-bottom) + 10px)}}body.system-paused *,body.system-paused :before,body.system-paused :after{animation-play-state:paused!important}
