:root{--pink-50:#fff0f5;--pink-100:#ffe0eb;--pink-200:#ffc2d6;--pink-400:#ff7096;--pink-500:#ff4d7d;--red-600:#d6164d;--red-800:#8f0f38;--plum:#5a1e44;--gold:#ffc93c;--text:#4a1532;--muted:#9a5a78;--radius:22px;--ease-back:cubic-bezier(.34, 1.56, .64, 1);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#ffd1e3;font-family:Fredoka,Trebuchet MS,system-ui,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:#ffd1e3;height:100%;margin:0}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}button:focus-visible{outline-offset:2px;outline:3px solid #fff}svg{display:block}.app{--safe-top:env(safe-area-inset-top);flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}.app.has-ads{--safe-top:0px}.ad-strip{z-index:2;box-sizing:content-box;height:50px;padding-top:env(safe-area-inset-top);background:#5a1e44;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}@media (width>=768px){.ad-strip{height:90px}}.stage{z-index:1;flex:1;min-height:0;position:relative;overflow:hidden}.screen{position:absolute;inset:0}.btn{min-height:48px;color:var(--red-600);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:18px;font-weight:600;transition:transform .12s,box-shadow .12s;display:inline-flex;box-shadow:0 4px #f3a6c0,0 8px 18px #8f0f3826}.btn svg{width:20px;height:20px}.btn:active{transform:translateY(3px);box-shadow:0 1px #f3a6c0,0 4px 10px #8f0f3826}.btn.primary{color:#fff;background:linear-gradient(#ff6f95,#e8285c);box-shadow:0 4px #a5103f,0 10px 22px #d6164d59}.btn.primary:active{box-shadow:0 1px #a5103f,0 4px 10px #d6164d59}.btn.big{min-height:60px;padding:12px 44px;font-size:24px}.btn.ghost{box-shadow:none;background:#ffffff8c}.icon-btn{width:44px;height:44px;color:var(--red-600);background:#ffffffd9;border-radius:50%;flex-shrink:0;place-items:center;display:grid;box-shadow:0 3px #a5103f40}.icon-btn svg{width:22px;height:22px}.icon-btn:active{transform:translateY(2px)}.menu-screen{background:radial-gradient(120% 70% at 50% 0,#fff4f8 0%,#fff4f800 60%),linear-gradient(#ffd1e3 0%,#ffb3cb 55%,#ffd9c2 100%);flex-direction:column;display:flex;overflow:hidden}.menu-top{z-index:2;padding:calc(var(--safe-top) + 12px) 16px 8px;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.menu-top h2{color:var(--red-800);margin:0;font-size:22px;font-weight:600}.client-logo{object-fit:contain;visibility:hidden;max-width:45%;height:40px}.client-logo.loaded{visibility:visible}.floaters{pointer-events:none;position:absolute;inset:0;overflow:hidden}.floaters span{color:#ff7096;opacity:.35;animation:linear infinite float-up;position:absolute;bottom:-40px}@keyframes float-up{0%{transform:translateY(0)rotate(-10deg)}50%{transform:translateY(-55vh)translate(18px)rotate(10deg)}to{opacity:0;transform:translateY(-115vh)rotate(-10deg)}}.title-body{z-index:1;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:0 16px 32px;display:flex;position:relative}.title-art{filter:drop-shadow(0 10px 16px #d6164d4d);width:min(46vw,200px);height:auto;animation:1.4s ease-in-out infinite beat}@keyframes beat{0%,to{transform:scale(1)}15%{transform:scale(1.07)}30%{transform:scale(.98)}45%{transform:scale(1.04)}}.logo{color:var(--red-600);text-shadow:0 3px #fff,0 8px 18px #d6164d4d;flex-direction:column;margin:0;font-family:Pacifico,Brush Script MT,cursive;font-weight:400;line-height:.95;display:flex}.logo-small{font-size:clamp(30px,8vw,44px)}.logo-big{font-size:clamp(56px,17vw,96px)}.tagline{color:var(--muted);margin:0 0 10px;font-size:18px}.title-stars{color:var(--red-800);align-items:center;gap:6px;margin-top:6px;font-weight:600;display:flex}.title-stars svg{width:22px;height:22px;color:var(--gold)}.worlds{z-index:1;overscroll-behavior:contain;padding:4px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:18px;width:100%;max-width:640px;margin:0 auto;display:flex;position:relative;overflow-y:auto}.world{border-radius:var(--radius);color:#fff;padding:14px;box-shadow:0 8px 24px #8f0f382e}.world-1{background:linear-gradient(160deg,#ff9fbe,#ff7aa2)}.world-2{background:linear-gradient(160deg,#c4467d,#6a2a86)}.world-3{background:linear-gradient(160deg,#3a2a7a,#120c38)}.world-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.world-head h3{margin:0;font-size:20px;font-weight:600}.world-head p{opacity:.85;margin:2px 0 0;font-size:14px}.world-stars{white-space:nowrap;background:#fff3;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-weight:600;display:flex}.world-stars svg{width:18px;height:18px;color:var(--gold)}.level-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.level-tile{aspect-ratio:1;color:var(--red-600);background:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative;box-shadow:0 3px #00000026}.level-tile .num{font-size:clamp(18px,5vw,24px);font-weight:700;line-height:1}.level-tile .tile-stars{gap:1px;display:flex}.level-tile .tile-stars svg{color:#f1d3df;width:clamp(10px,3vw,14px);height:clamp(10px,3vw,14px)}.level-tile .tile-stars svg.on{color:var(--gold)}.level-tile.locked{color:#ffffffbf;box-shadow:none;cursor:default;background:#ffffff38}.level-tile.locked .tile-stars{display:none}.level-tile .lock{width:22px;height:22px}.level-tile.current{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 3px #00000026,0 0 #ffffffe6}50%{box-shadow:0 3px #00000026,0 0 0 6px #fff0}}.game-screen{overflow:hidden}.canvas-host{position:absolute;inset:0}.game-canvas{touch-action:none;cursor:crosshair;display:block}.hud{padding:calc(var(--safe-top) + 10px) 12px 0;pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.hud>*{pointer-events:auto}.hud-chip{height:44px;color:var(--red-600);background:#ffffffe0;border-radius:999px;align-items:center;gap:6px;padding:0 14px 0 10px;font-size:20px;font-weight:600;display:flex;box-shadow:0 3px #a5103f40}.hud-chip svg{width:24px;height:24px}.hud-goal{flex:0 150px;min-width:108px}.hud-heart{flex-shrink:0}.goal-col{flex-direction:column;flex:1;gap:3px;line-height:1;display:flex}.goal-text{font-size:17px}.goal-bar{background:#ffd6e3;border-radius:3px;height:6px;display:block;overflow:hidden}.goal-bar span{background:linear-gradient(90deg,#ff7096,#e8285c);border-radius:3px;height:100%;transition:width .25s;display:block}.hud-arrows{margin-left:auto}.hud-arrows svg{color:#b5651d}.hud-arrows.low{animation:.9s ease-in-out infinite low}@keyframes low{50%{background:#ffd6e0}}.hud-wind{color:#4d5bbf;padding-right:12px}.wind-arrows{letter-spacing:-2px;font-size:22px}.level-label{left:0;right:0;top:calc(var(--safe-top) + 62px);text-align:center;color:#ffffffeb;text-shadow:0 1px 3px #5a1e4499;pointer-events:none;font-size:14px;position:absolute}.level-label span{font-weight:600}.tip{left:50%;top:calc(var(--safe-top) + 90px);color:#fff;text-align:center;pointer-events:none;width:max-content;max-width:min(88%,420px);animation:tip-in .4s var(--ease-back) both;background:#5a1e44d1;border-radius:16px;padding:10px 16px;font-size:16px;position:absolute;transform:translate(-50%)}@keyframes tip-in{0%{opacity:0;transform:translate(-50%,-12px)}}.overlay{z-index:5;-webkit-backdrop-filter:blur(3px);background:#4a153273;place-items:center;padding:16px;animation:.2s ease-out both fade;display:grid;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}.card{text-align:center;width:min(100%,360px);animation:pop-in .35s var(--ease-back) both;background:linear-gradient(#fff,#fff0f5);border-radius:28px;padding:24px 20px 20px;box-shadow:0 20px 50px #4a153259}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}}.card h2{color:var(--red-600);margin:0;font-size:28px;font-weight:700}.card-sub{color:var(--muted);margin:6px 0 0;font-size:16px}.card-actions{flex-direction:column;gap:12px;margin-top:20px;display:flex}.card-foot{justify-content:center;margin-top:16px;display:flex}.card-foot .icon-btn{background:var(--pink-100);box-shadow:none}.result-stars{justify-content:center;align-items:flex-end;gap:6px;margin:16px 0 6px;display:flex}.result-stars svg{color:#f4d7e2;width:58px;height:58px}.result-stars svg:nth-child(2){width:72px;height:72px;margin-bottom:8px}.result-stars svg.on{color:var(--gold);filter:drop-shadow(0 3px #e09a00);animation:star-in .45s var(--ease-back) both}@keyframes star-in{0%{opacity:0;transform:scale(.2)rotate(-40deg)}}.broken-heart{margin:12px 0 2px;font-size:56px;line-height:1}@media (prefers-reduced-motion:reduce){.floaters,.title-art,.level-tile.current{animation:none}}
