:root{--wall:#f2efe8;--shaft:#faf8f4;--ink:#2a2925;--paper:#fffdf8;--pad:18px}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--wall);height:100%;color:var(--ink);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;padding:0;font:400 13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}#stage{touch-action:none;outline:none;width:100%;height:100%;display:block}.hud{pointer-events:none;--edge-left:0px;--edge-right:0px;position:fixed;inset:0}.hud__lives,.hud__sig{left:calc(var(--edge-left) + var(--pad) + env(safe-area-inset-left))}.hud__score{right:calc(var(--edge-right) + var(--pad) + env(safe-area-inset-right))}.hud>*{position:absolute}.hud__lives{top:calc(var(--pad) + env(safe-area-inset-top));gap:8px;display:flex}.hud__lives.is-shaken{animation:.26s ease-out shake}.dot{background:var(--ink);opacity:.75;border-radius:50%;width:8px;height:8px;transition:transform .26s cubic-bezier(.4,0,.2,1),opacity .26s ease-out}.dot.is-lost{opacity:0;transform:scale(0)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.hud__score{top:calc(var(--pad) + env(safe-area-inset-top));opacity:.75;font-size:15px;line-height:1}.hud__score.is-bumped{animation:.18s ease-out bump}@keyframes bump{50%{transform:translateY(-2px)}}.hud__sig{bottom:calc(var(--pad) + env(safe-area-inset-bottom));line-height:1.35}.hud__title{letter-spacing:.02em;opacity:.45;margin:0;font-size:13px;font-weight:400}.hud__sig nav a{pointer-events:auto;color:inherit;opacity:.28;font-size:10px;text-decoration:none;transition:opacity .15s ease-out}.hud__sig nav a:hover,.hud__sig nav a:focus-visible{opacity:.6;text-decoration:underline}.end{background:color-mix(in srgb, var(--wall) 55%, transparent);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;animation:.32s ease-out fade-in;display:flex;position:fixed;inset:0}.end[hidden]{display:none}.end__line{opacity:.8;margin:0;font-size:15px}.end__restart{opacity:.4;margin-top:22px;font-size:12px}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.dot,.hud__score,.hud__lives,.end{transition-duration:1ms;animation:none}}
