:root{--ink:#23233a;--cream:#fff8e7;--green:#6cc24a;--green-dark:#3f8a2e;--orange:#ff8a3d;--orange-dark:#d4671f;--shadow:0 18px 50px #23233a40;color:var(--ink);font-family:Fredoka,system-ui,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#d6efff;height:100%;margin:0;overflow:hidden}#scene{touch-action:none;cursor:grab;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#scene:active{cursor:grabbing}.overlay{z-index:10;background:linear-gradient(#d6efff1a,#23233a59);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.card{background:var(--cream);width:min(460px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow);text-align:center;border:3px solid #fff;border-radius:28px;padding:28px 28px 22px;overflow-y:auto}.kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--green-dark);margin:0 0 6px;font-size:13px;font-weight:600}h1{color:var(--green-dark);text-shadow:0 3px #d3efbf;margin:0;font-size:clamp(42px,10vw,60px);font-weight:700;line-height:1}h2{margin:0;font-size:30px;font-weight:700}.lead{margin:12px 0 18px;font-size:18px}.keys{text-align:left;gap:8px;margin:0 0 22px;padding:0;font-size:15px;list-style:none;display:grid}.keys li{background:#fff;border-radius:14px;align-items:center;gap:12px;padding:8px 12px;display:flex}.keys .k{flex-wrap:wrap;gap:4px;min-width:132px;display:flex}kbd{background:var(--ink);color:#fff;border-radius:7px;padding:2px 7px;font-family:inherit;font-size:13px;font-weight:600;box-shadow:0 2px #000}.touch .only-desktop,body:not(.touch) .only-touch{display:none}.btn{font:inherit;color:#fff;background:var(--orange);box-shadow:0 5px 0 var(--orange-dark);cursor:pointer;border:0;border-radius:999px;padding:14px 38px;font-size:20px;font-weight:600;transition:transform .1s,box-shadow .1s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:0 2px 0 var(--orange-dark);transform:translateY(3px)}.btn:disabled{cursor:progress;background:#b9b9c6;box-shadow:0 5px #9a9aab}.btn:focus-visible,.icon-btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.credits{opacity:.7;margin:16px 0 0;font-size:12.5px}#hud{z-index:5;pointer-events:none;position:fixed;inset:0}.pill{top:max(16px, env(safe-area-inset-top));background:#fff8e7eb;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:20px;font-weight:600;display:flex;position:absolute;box-shadow:0 6px 18px #23233a2e}#eggs{left:max(16px, env(safe-area-inset-left))}#eggs.bump{animation:.35s bump}@keyframes bump{40%{transform:scale(1.2)}}#timer{font-variant-numeric:tabular-nums;left:50%;transform:translate(-50%)}.egg-icon{background:radial-gradient(circle at 35% 30%,#fff,#fff3c4 45%,#f4c46a);border-radius:50%/60% 60% 40% 40%;width:18px;height:23px;display:inline-block;box-shadow:inset -2px -2px #f4a25999}#minimap{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));border:4px solid var(--cream);background:#4fc3f7;border-radius:50%;width:150px;height:150px;position:absolute;box-shadow:0 6px 18px #23233a40}.icon-btn{cursor:pointer;pointer-events:auto;background:#fff8e7eb;border:0;border-radius:50%;width:44px;height:44px;font-size:20px;position:absolute;top:176px;right:67px;box-shadow:0 6px 18px #23233a2e}#stick{z-index:6;left:max(24px, env(safe-area-inset-left));bottom:max(28px, env(safe-area-inset-bottom));touch-action:none;background:#fff8e759;border:3px solid #ffffffbf;border-radius:50%;place-items:center;width:124px;height:124px;display:grid;position:fixed}#knob{background:var(--cream);pointer-events:none;border-radius:50%;width:56px;height:56px;box-shadow:0 4px 10px #0003}#jump-btn{z-index:6;right:max(24px, env(safe-area-inset-right));bottom:max(36px, env(safe-area-inset-bottom));width:92px;height:92px;font:inherit;color:#fff;background:var(--orange);box-shadow:0 5px 0 var(--orange-dark);touch-action:none;border:0;border-radius:50%;font-size:17px;font-weight:700;position:fixed}#jump-btn:active{box-shadow:0 2px 0 var(--orange-dark);transform:translateY(3px)}@media (width<=600px){.card{padding:22px 18px 18px}.pill{padding:7px 13px;font-size:17px}#minimap{width:108px;height:108px}.icon-btn{width:40px;height:40px;font-size:18px;top:132px;right:46px}}
