:root{--candy-pink: #ff6fb5;--candy-deep: #d63b8a;--candy-cream: #fff6fb;--candy-blue: #49c8ff;--candy-yellow: #ffd54a;--candy-mint: #6fe3c4;--shadow-soft: 0 6px 0 rgba(0, 0, 0, .16);font-family:"Baloo 2",Nunito,Trebuchet MS,system-ui,sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#1a0f22;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none}#app{position:fixed;inset:0}#scene{position:absolute;inset:0;width:100%;height:100%;display:block}#ui{position:absolute;inset:0;pointer-events:none}#boot{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:radial-gradient(circle at 50% 30%,#ffd3ea,#ff9ed0 45%,#b660c8);transition:opacity .5s ease,visibility .5s ease;z-index:50}#boot.is-hidden{opacity:0;visibility:hidden}.boot-logo{display:flex;gap:14px;font-size:clamp(38px,9vw,78px);font-weight:800;letter-spacing:1px}.boot-word{color:#fff;text-shadow:0 5px 0 var(--candy-deep),0 9px 16px rgba(0,0,0,.28);animation:bob 1.9s ease-in-out infinite}.boot-word--alt{color:var(--candy-yellow);animation-delay:.22s}@keyframes bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}.boot-bar{width:min(62vw,340px);height:20px;border-radius:999px;background:#fff6;box-shadow:inset 0 3px 7px #0000002e;overflow:hidden}.boot-bar i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--candy-yellow),var(--candy-mint),var(--candy-blue));transition:width .3s ease}.boot-hint{color:#fff;font-size:clamp(14px,3.4vw,19px);font-weight:600;text-shadow:0 2px 0 rgba(0,0,0,.18)}@media(prefers-reduced-motion:reduce){.boot-word{animation:none}}.screen{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));pointer-events:auto}.screen.is-visible{display:flex}.screen.is-passive{pointer-events:none}.screen.is-passive .btn{pointer-events:auto}.screen--menu{background:radial-gradient(circle at 50% 30%,#ffe9f629,#7816546b 70%),linear-gradient(180deg,#3c0c321f,#3c0c3280)}.screen--levels{background:#320c2ed1}.screen--dim{background:#260824ad}.title{display:flex;gap:12px;font-size:clamp(40px,10vw,84px);font-weight:800;color:#fff;text-shadow:0 5px 0 var(--candy-deep),0 10px 18px rgba(0,0,0,.3)}.title-alt{color:var(--candy-yellow)}.subtitle{color:#fff;font-size:clamp(14px,3.6vw,20px);font-weight:600;text-align:center;max-width:22ch;text-shadow:0 2px 0 rgba(0,0,0,.22)}.panel-title{color:#fff;font-size:clamp(22px,5.5vw,34px);font-weight:800;text-shadow:0 3px 0 rgba(0,0,0,.25)}.btn{font:inherit;font-weight:800;color:#fff;border:none;cursor:pointer;border-radius:999px;padding:16px 34px;font-size:clamp(17px,4.4vw,23px);background:linear-gradient(180deg,#ff86c2,var(--candy-pink));box-shadow:var(--shadow-soft),inset 0 2px #ffffff80;transition:transform .12s ease,filter .12s ease;min-height:56px;min-width:56px}.btn:active{transform:translateY(4px);filter:brightness(.96)}.btn:focus-visible{outline:4px solid #fff;outline-offset:3px}.btn--play{background:linear-gradient(180deg,#8ef2c9,var(--candy-mint));color:#12503c;font-size:clamp(20px,5.6vw,30px);padding:20px 52px;box-shadow:0 7px #2f9c78,0 12px 20px #00000038}.btn--ghost{background:#fff3;box-shadow:0 4px #0003;border:2px solid rgba(255,255,255,.55)}.btn--icon{padding:0;width:58px;height:58px;font-size:26px;display:grid;place-items:center}.btn--pause{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right))}.menu-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.skins{display:flex;flex-direction:column;align-items:center;gap:8px}.skins-label{color:#fff;font-weight:700;font-size:15px;opacity:.9}.skin-row{display:flex;gap:10px}.chip{padding:11px 20px;font-size:15px;background:#ffffff42;border:3px solid transparent;box-shadow:0 4px #0000002e;min-height:48px}.chip.is-active{border-color:#fff;background:#ffffff73}.chip--0{color:#ffdcec}.chip--1{color:#d8fff2}.chip--2{color:#fff6cf}.toggles{display:flex;gap:12px}.toggle{width:58px;height:58px;padding:0;font-size:24px;display:grid;place-items:center;background:#ffffff2e;opacity:.45;filter:grayscale(1)}.toggle.is-on{opacity:1;filter:none;background:linear-gradient(180deg,#ffe07a,var(--candy-yellow))}.level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;width:min(92vw,760px);max-height:60vh;overflow-y:auto;padding:4px}.level-card{font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;padding:18px 20px;border:none;border-radius:22px;color:#4a1338;background:linear-gradient(180deg,#fff,#ffe3f1);box-shadow:0 6px #00000038;transition:transform .12s ease}.level-card:active{transform:translateY(4px)}.level-card.is-locked{filter:grayscale(.75);opacity:.6;cursor:not-allowed}.level-name{font-weight:800;font-size:20px}.level-tag{font-size:14px;opacity:.75}.level-stars{font-size:22px;letter-spacing:2px}.star{color:#00000029;font-style:normal}.star--on{color:#ffc21a;text-shadow:0 2px 0 #d98f00}.screen--hud{justify-content:flex-start;align-items:stretch}.hud-bar{display:flex;gap:10px;align-self:flex-start;flex-wrap:wrap}.hud-chip{display:flex;align-items:center;gap:8px;padding:9px 16px 9px 12px;border-radius:999px;background:#3a0c308c;color:#fff;font-weight:800;font-size:19px;backdrop-filter:blur(6px);box-shadow:inset 0 0 0 2px #ffffff40}.hud-icon{font-size:21px}.toast{position:absolute;top:22%;left:50%;transform:translate(-50%,-8px);padding:14px 30px;border-radius:999px;background:#fffffff0;color:var(--candy-deep);font-weight:800;font-size:clamp(17px,4.2vw,24px);box-shadow:0 6px #0000002e;opacity:0;transition:opacity .25s ease,transform .25s ease;pointer-events:none;white-space:nowrap}.toast.is-on{opacity:1;transform:translate(-50%)}.panel{display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 34px;border-radius:30px;background:linear-gradient(180deg,#ff7abbf7,#be3e8cf7);box-shadow:0 12px #00000038,0 20px 40px #0000004d;width:min(92vw,460px)}.panel--results{gap:16px}.result-stars{font-size:clamp(38px,11vw,60px);letter-spacing:8px}.result-rows{width:100%;display:flex;flex-direction:column;gap:8px}.result-row{display:flex;justify-content:space-between;color:#fff;font-weight:700;font-size:17px;padding:9px 15px;border-radius:14px;background:#00000029}.result-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.touch-layer{position:absolute;inset:0;pointer-events:none}.stick{position:absolute;top:0;left:0;width:136px;height:136px;margin:-68px 0 0 -68px;border-radius:50%;border:4px solid rgba(255,255,255,.6);background:#ffffff29;opacity:0;transition:opacity .15s ease}.stick-knob{position:absolute;inset:34px;border-radius:50%;background:#ffffffe6;box-shadow:0 4px 10px #00000040}.jump-btn{position:absolute;right:max(26px,env(safe-area-inset-right));bottom:max(30px,env(safe-area-inset-bottom));width:116px;height:116px;border-radius:50%;border:5px solid rgba(255,255,255,.75);background:radial-gradient(circle at 50% 35%,#9df3d0,var(--candy-mint));color:#10503b;font:inherit;font-weight:800;font-size:20px;pointer-events:auto;box-shadow:0 7px #2f9c78;touch-action:none}.jump-btn:active{transform:translateY(4px);box-shadow:0 3px #2f9c78}@media(max-width:520px){.jump-btn{width:98px;height:98px;font-size:17px}.hud-chip{font-size:16px;padding:7px 13px 7px 10px}}@media(prefers-reduced-motion:reduce){.btn,.level-card,.toast{transition:none}}
