:root{--bg:#141414;--fg:#fff;--muted:#ffffff9e;--panel:#141414c7;--line:#ffffff2e;--accent:#ff3d3d;--accent-fg:#fff;--error:#ff8a80;--radius:999px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}canvas{touch-action:none;display:block;position:fixed;top:0;left:0}#legend{pointer-events:none}[hidden]{display:none!important}.intro{padding:16px max(16px, env(safe-area-inset-right)) 64px max(16px, env(safe-area-inset-left));background:#1414148c;place-items:center;display:grid;position:fixed;inset:0}.intro__card{text-align:center;max-width:26rem}.intro h1{letter-spacing:-.01em;margin:0 0 .4rem;font-size:clamp(1.6rem,5vw,2.2rem);font-weight:700}.intro__lead{color:var(--muted);margin:0 0 1.4rem;line-height:1.45}.intro__error{color:var(--error);margin:1rem 0 0;line-height:1.45}.intro__privacy{color:var(--muted);margin:1.2rem 0 0;font-size:.85rem}.button{border:1px solid var(--line);border-radius:var(--radius);min-height:48px;color:var(--fg);font:600 1rem/1 var(--font);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff14;justify-content:center;align-items:center;gap:.5rem;padding:0 1.25rem;display:inline-flex}.button:hover{background:#ffffff24}.button:focus-visible,.segmented input:focus-visible+span{outline:2px solid var(--fg);outline-offset:2px}.button--primary{background:var(--accent);color:var(--accent-fg);border-color:#0000}.button--primary:hover{background:#ff5757}.button--primary:disabled{opacity:.6;cursor:progress}.button__icon{fill:currentColor;width:1.1em;height:1.5em}#start{min-height:56px;padding:0 1.75rem;font-size:1.1rem}.button--pause{min-width:8.5rem;min-height:56px;font-size:1.1rem}.button--pause[aria-pressed=true]{background:var(--fg);color:var(--bg)}.bottom{padding:0 max(12px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));pointer-events:none;position:fixed;bottom:0;left:0;right:0}.controls{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;border-radius:36px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;width:fit-content;max-width:100%;margin:0 auto 6px;padding:8px;display:flex}.segmented{border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:3px;display:flex}.segmented label{position:relative}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented span{border-radius:var(--radius);min-width:3.1rem;min-height:42px;color:var(--muted);font-variant-numeric:tabular-nums;cursor:pointer;place-items:center;padding:0 .6rem;font-weight:600;display:grid}.segmented input:checked+span{color:var(--bg);background:#ffffffe6}.credit{text-align:center;color:var(--muted);pointer-events:auto;font-size:.72rem;line-height:1.6}.credit a{color:inherit}@media (height<=500px){.controls{flex-wrap:nowrap;gap:8px;padding:5px}.button,.button--pause{min-height:44px}.segmented span{min-width:2.7rem;min-height:38px}.intro{padding-bottom:40px}.intro__lead{margin-bottom:1rem}}@media (width<=420px){.controls{border-radius:28px}.segmented{order:3}}
