:root{--ink: #fff;--gold: #ffd23f;--pink: #ff5e7e;--cyan: #7cf5ff;--bg: #120a2e}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Roboto,Segoe UI,sans-serif;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;overscroll-behavior:none;-webkit-font-smoothing:antialiased}#game{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:max(24px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 30%,#3b1a5c,#120a2e 70%);text-align:center}.screen[hidden]{display:none}.screen:not([hidden]){animation:screen-in .24s cubic-bezier(.2,.8,.2,1)}@keyframes screen-in{0%{opacity:0;transform:scale(.97)}}#play:not([hidden]){animation:none}#play{background:none;pointer-events:none}#over{background:#120a2e}h1{font-size:clamp(56px,18vw,92px);margin:0;font-weight:900;letter-spacing:-2px;line-height:.9;color:var(--gold);text-shadow:0 0 24px rgba(255,210,63,.5);transform:rotate(-4deg)}h1 span{display:block;color:var(--pink);transform:rotate(6deg) translate(18px);text-shadow:0 0 24px rgba(255,94,126,.6)}h2{margin:0;font-size:28px}.tag{margin:4px 0 14px;opacity:.85;font-size:17px;min-height:1em}.btn{width:min(320px,100%);min-height:58px;padding:14px 18px;border-radius:20px;border:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:2px;background:#3a2466;color:var(--ink);font:inherit;font-size:19px;font-weight:800;letter-spacing:.2px;box-shadow:0 5px #1f1240,0 10px 18px #00000040;transform:translateY(0);transition:transform .08s ease-out,box-shadow .08s ease-out,filter .08s;cursor:pointer}.btn.pressed{transform:translateY(4px);box-shadow:0 1px #1f1240,0 3px 8px #00000040;filter:brightness(1.08)}.btn:disabled{opacity:.55}.btn.primary{background:linear-gradient(180deg,#ff7a93,var(--pink) 55%,#f04a6c);font-size:21px;min-height:64px;box-shadow:0 6px #a8264a,0 12px 26px #ff5e7e66}.btn.primary.pressed{box-shadow:0 1px #a8264a,0 4px 10px #ff5e7e59;transform:translateY(5px)}.btn.ghost{background:#ffffff0f;box-shadow:inset 0 0 0 2px #ffffff2e;min-height:52px;font-size:17px}.btn.ghost.pressed{transform:scale(.97);box-shadow:inset 0 0 0 2px #ffffff4d}.btn small{flex-basis:100%;font-weight:600;opacity:.7;font-size:13px;margin-top:2px}.pill{display:inline-flex;align-items:center;padding:9px 16px;border-radius:999px;border:none;font:inherit;font-size:15px;font-weight:700;color:var(--cyan);background:#7cf5ff1a;margin-top:4px;transition:transform .08s,background .08s;cursor:pointer}.pill.pressed{transform:scale(.95);background:#7cf5ff33}.row{display:flex;gap:10px;width:min(320px,100%)}.row .btn{flex:1}.meta{margin:6px 0 0;opacity:.85}.meta a{color:var(--cyan)}.fine{font-size:12px;opacity:.5;max-width:300px}.banner{background:var(--gold);color:#222;padding:10px 14px;border-radius:14px;font-weight:700;max-width:340px}.note{font-size:clamp(40px,9vh,72px);font-weight:900;color:var(--cyan);line-height:1}#calBird{width:min(300px,90%);height:min(220px,30vh);display:block}.meter[hidden]{display:none}.meter{width:min(280px,90%);height:12px;border-radius:6px;background:#ffffff26;overflow:hidden}#calBar{height:100%;width:0;background:var(--cyan);transition:width .1s}.score{font-size:110px;font-weight:900;line-height:1}#clipPreview{width:min(180px,40vw);max-height:32vh;border-radius:14px;border:2px solid rgba(255,255,255,.3);object-fit:cover}#toast{position:fixed;left:50%;bottom:40px;transform:translate(-50%,40px);opacity:0;background:#fff;color:#222;padding:12px 18px;border-radius:14px;font-weight:700;transition:.25s;pointer-events:none;max-width:90vw}#toast.on{opacity:1;transform:translate(-50%)}.fine a{color:inherit}#getApp [hidden]{display:none}.ic{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;margin-right:.45em;flex-shrink:0}.banner .ic{color:#b3261e}#finalBest .ic{color:var(--gold)}
