:root{--ink: #eaf2ff;--ink-dim: rgba(234, 242, 255, .55);--ink-faint: rgba(234, 242, 255, .28);--accent: #7df9ff;--hot: #ff3d81;--display: "Unbounded", sans-serif;--mono: "IBM Plex Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;background:#000;color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased;touch-action:none;overscroll-behavior:none}#stage{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 70% 15%,rgba(34,16,64,.55),transparent 60%),radial-gradient(110% 90% at 20% 90%,rgba(6,36,52,.5),transparent 65%),#000}#stage canvas{display:block;width:100%;height:100%;cursor:crosshair}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;transition:opacity .5s ease,visibility .5s}#hud.hidden{opacity:0;visibility:hidden}#btn-show{position:fixed;right:22px;bottom:18px;z-index:11;width:44px;height:44px;border-radius:50%;border:1px solid rgba(234,242,255,.18);background:transparent;color:var(--ink-dim);font-size:16px;font-family:var(--mono);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .5s ease}body.ui-hidden #btn-show{opacity:.13;pointer-events:auto}body.ui-hidden #btn-show:hover{opacity:.7}.hud-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:18px 22px}.brand{display:flex;align-items:baseline;gap:10px}.brand-mark{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent),0 0 30px var(--accent);align-self:center;animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.7);opacity:.6}}.brand-name{font-family:var(--display);font-weight:900;font-size:13px;letter-spacing:.22em}.brand-sub{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.stats{font-size:11px;letter-spacing:.08em;color:var(--ink-dim);text-align:right;display:flex;gap:8px;align-items:center}.stat-sep{color:var(--ink-faint)}.stat-live{color:var(--hot);font-size:9px;letter-spacing:.2em;animation:blink 1.6s steps(2,start) infinite}@keyframes blink{50%{opacity:.25}}.shape-title{position:absolute;left:0;right:0;bottom:17vh;text-align:center}.shape-name{font-family:var(--display);font-weight:900;font-size:clamp(26px,6vw,64px);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);text-shadow:0 0 30px rgba(125,249,255,.35)}.shape-name span{display:inline-block;opacity:0;filter:blur(14px);transform:translateY(.35em) scale(1.4);animation:letter-in .7s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--base, 0ms) + var(--i) * 55ms)}@keyframes letter-in{to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}.shape-index{margin-top:10px;font-size:10px;letter-spacing:.5em;color:var(--ink-faint);text-transform:uppercase}.hud-bottom{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:flex-end;padding:18px 22px;gap:16px}.hints{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);max-width:60%}.hints b{color:var(--ink-dim);font-weight:500}.touch-controls{display:flex;gap:10px;pointer-events:auto}.touch-controls button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(234,242,255,.22);background:#080c1873;color:var(--ink-dim);font-size:16px;font-family:var(--mono);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;transition:all .25s ease}.touch-controls button:hover,.touch-controls button.active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 18px #7df9ff59}#intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;text-align:center;background:radial-gradient(80% 60% at 50% 45%,#0a0e1e40,#000000c7);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);transition:opacity .45s ease,visibility .45s}#intro.gone{opacity:0;visibility:hidden;pointer-events:none}.intro-kicker{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:26px;animation:fade-up 1s .1s cubic-bezier(.16,1,.3,1) both}.intro-title{font-family:var(--display);font-weight:900;font-size:clamp(54px,13vw,150px);line-height:.92;letter-spacing:.04em;background:linear-gradient(160deg,#fff 20%,#7df9ff 55%,#ff3d81 95%);-webkit-background-clip:text;background-clip:text;color:transparent;animation:fade-up 1.1s .25s cubic-bezier(.16,1,.3,1) both}.intro-sub{margin-top:28px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);animation:fade-up 1.1s .4s cubic-bezier(.16,1,.3,1) both}.intro-sub span{color:var(--ink)}.intro-cta{margin-top:60px;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-faint);animation:fade-up 1.1s .55s cubic-bezier(.16,1,.3,1) both,breathe 2.2s 1.6s ease-in-out infinite}@keyframes fade-up{0%{opacity:0;transform:translateY(26px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes breathe{0%,to{opacity:.35}50%{opacity:1}}#fallback[hidden]{display:none!important}#fallback{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;line-height:2;color:var(--ink-dim);background:#000;padding:24px}@media (max-width: 640px){.hints span.kbd{display:none}.hints{max-width:50%;font-size:9px}.shape-title{bottom:21vh}.brand-sub{display:none}.brand-name{font-size:11px}.stats{font-size:9px;gap:5px;white-space:nowrap}}@media (prefers-reduced-motion: reduce){.brand-mark,.stat-live,.intro-cta{animation:none}.shape-name span{animation:none;opacity:1;filter:none;transform:none}.intro-kicker,.intro-title,.intro-sub{animation-duration:.01s}}
