*{box-sizing:border-box}html,body{background:var(--letterbox,#000);touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;height:100%;margin:0;overflow:hidden}#game{position:fixed;inset:0}#game canvas{display:block}[hidden]{display:none!important}.ui-root{z-index:1;pointer-events:none;position:fixed;inset:0}.safe-probe{visibility:hidden;width:0;height:0;padding-top:max(env(safe-area-inset-top,0px), var(--safe-area-inset-top,0px));padding-right:max(env(safe-area-inset-right,0px), var(--safe-area-inset-right,0px));padding-bottom:max(env(safe-area-inset-bottom,0px), var(--safe-area-inset-bottom,0px));padding-left:max(env(safe-area-inset-left,0px), var(--safe-area-inset-left,0px));position:fixed;top:0;left:0}.stage{padding:var(--inset-top,0px) var(--inset-right,0px) var(--inset-bottom,0px) var(--inset-left,0px);position:absolute}.logo-rocks{width:calc(var(--u,1px) * 120);height:calc(var(--u,1px) * 64);margin-bottom:calc(var(--u,1px) * 14);position:relative}.rock{clip-path:polygon(22% 0,70% 6%,100% 38%,86% 82%,46% 100%,6% 76%,0 30%);display:block;position:absolute}.rock-a{left:0;top:calc(var(--u,1px) * 22);width:calc(var(--u,1px) * 40);height:calc(var(--u,1px) * 40);background:linear-gradient(135deg, #ffb09f 0%, var(--coral) 45%, #a83a30 100%);animation:3.2s ease-in-out infinite bob}.rock-b{left:calc(var(--u,1px) * 42);width:calc(var(--u,1px) * 34);height:calc(var(--u,1px) * 34);background:linear-gradient(135deg, #ffe0a0 0%, var(--amber) 45%, #b06a1c 100%);animation:3.2s ease-in-out -1.1s infinite bob;top:0}.rock-c{left:calc(var(--u,1px) * 78);top:calc(var(--u,1px) * 16);width:calc(var(--u,1px) * 42);height:calc(var(--u,1px) * 42);background:linear-gradient(135deg, #ffb09f 0%, var(--coral) 45%, #a83a30 100%);animation:3.2s ease-in-out -2.2s infinite bob}@keyframes bob{50%{transform:translateY(calc(var(--u,1px) * 5)) rotate(6deg)}}@media (prefers-reduced-motion:reduce){.rock{animation:none}}:root{--letterbox:#0c2a33;--field:#123d49;--sand:#e8d5a6;--sand-dark:#b9a46f;--ink:#0c2a33;--coral:#ff6f59;--amber:#f6b042;--text:#f4ead0;--text-dim:#f4ead0b3;--font:ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", "Hiragino Maru Gothic ProN", "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}body{color:var(--text);font-family:var(--font)}.hud{left:0;right:0;top:calc(var(--inset-top,0px) + var(--u,1px) * 14);text-align:center;pointer-events:none;position:absolute}.hud-score{font-size:calc(var(--u,1px) * 56);letter-spacing:.01em;color:var(--sand);font-variant-numeric:tabular-nums;text-shadow:0 calc(var(--u,1px) * 2) 0 #00000047;font-weight:900;line-height:1}.hud-best{margin-top:calc(var(--u,1px) * 4);font-size:calc(var(--u,1px) * 12);letter-spacing:.18em;color:var(--text-dim);font-weight:800}.screen{padding:calc(var(--u,1px) * 24 + var(--inset-top,0px)) calc(var(--u,1px) * 24 + var(--inset-right,0px)) calc(var(--u,1px) * 24 + var(--inset-bottom,0px)) calc(var(--u,1px) * 24 + var(--inset-left,0px));pointer-events:auto;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.screen:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px);background:#081e26a8;animation:.25s ease-out both fade-in;position:fixed;inset:0}.screen-light:before{-webkit-backdrop-filter:none;backdrop-filter:none;background:#081e2624}.panel{text-align:center;flex-direction:column;align-items:center;width:100%;animation:.3s cubic-bezier(.2,.9,.3,1) both rise;display:flex}.logo{font-size:calc(var(--u,1px) * 58);letter-spacing:.01em;text-transform:uppercase;color:var(--sand);text-shadow:0 calc(var(--u,1px) * 4) 0 #0000004d;margin:0;font-weight:900;line-height:.95}.tagline{margin:calc(var(--u,1px) * 12) 0 calc(var(--u,1px) * 36);font-size:calc(var(--u,1px) * 15);color:var(--text-dim);font-weight:700}.heading{font-size:calc(var(--u,1px) * 44);text-transform:uppercase;color:var(--sand);margin:0;font-weight:900;line-height:1}.big-score{font-size:calc(var(--u,1px) * 92);color:var(--text);font-variant-numeric:tabular-nums;text-shadow:0 calc(var(--u,1px) * 4) 0 #0000004d;font-weight:900;line-height:1}.meta{margin:calc(var(--u,1px) * 6) 0 0;font-size:calc(var(--u,1px) * 13);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-weight:800}.meta.is-new-best{color:var(--amber)}.heading+.btn{margin-top:calc(var(--u,1px) * 30)}.panel>.meta:last-child{margin-top:calc(var(--u,1px) * 20)}.btn{appearance:none;font-family:inherit;font-weight:900;font-size:calc(var(--u,1px) * 21);letter-spacing:.02em;min-width:calc(var(--u,1px) * 200);min-height:48px;padding:calc(var(--u,1px) * 16) calc(var(--u,1px) * 30);cursor:pointer;touch-action:manipulation;border:0;border-radius:999px;line-height:1;transition:transform 80ms ease-out,box-shadow 80ms ease-out}.btn-primary{background:var(--sand);color:var(--ink);box-shadow:0 calc(var(--u,1px) * 5) 0 var(--sand-dark)}.btn-primary:active{transform:translateY(calc(var(--u,1px) * 4));box-shadow:0 calc(var(--u,1px) * 1) 0 var(--sand-dark)}.btn-ghost{color:var(--amber);box-shadow:inset 0 0 0 calc(var(--u,1px) * 2.5) var(--amber);font-size:calc(var(--u,1px) * 17);background:0 0}.btn-ghost:active{transform:scale(.97)}.btn:focus{outline:none}.btn:focus-visible{outline:calc(var(--u,1px) * 3) solid var(--text);outline-offset:calc(var(--u,1px) * 3)}.actions{align-items:center;gap:calc(var(--u,1px) * 16);margin-top:calc(var(--u,1px) * 30);flex-direction:column;display:flex}.actions.is-arming{animation:.45s step-end both arm}.spinner{width:calc(var(--u,1px) * 52);height:calc(var(--u,1px) * 52);margin-bottom:calc(var(--u,1px) * 22);border:calc(var(--u,1px) * 6) solid #e8d5a638;border-top-color:var(--sand);border-radius:50%;animation:.9s linear infinite spin}.screen[data-screen=ad] .heading{font-size:calc(var(--u,1px) * 26)}@keyframes fade-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(calc(var(--u,1px) * 14))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes arm{0%{pointer-events:none}to{pointer-events:auto}}@media (prefers-reduced-motion:reduce){.spinner,.panel,.screen:before{animation:none}}
