*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}@supports (height: 100dvh){html,body,#root{height:100dvh}}body{background:#0b0b0d;overflow:hidden;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;cursor:url(/cursor.png) 6 3,auto}canvas{display:block}.enter-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:#0a0b0d url(/enter_bg.jpg) center / cover no-repeat;opacity:0;transition:opacity .9s ease}.enter-bg.show{opacity:1}.hint{position:fixed;left:50%;bottom:12%;transform:translate(-50%);color:#e8e6e1;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;pointer-events:none;animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.25}50%{opacity:.9}}.skip-intro{position:fixed;top:0;right:0;padding:16px 20px;background:none;border:none;color:#e8e6e1;font-family:inherit;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;opacity:.55;cursor:pointer;transition:opacity .15s}.skip-intro:hover,.skip-intro:focus-visible{opacity:1}.tap-hint{position:relative;width:0;height:0;pointer-events:none;animation:tap-in .4s ease-out}.tap-ring{position:absolute;left:-26px;top:-26px;width:52px;height:52px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0b0b0d99,0 0 12px #fff9;opacity:0;animation:tap-ripple 2s ease-out infinite}.tap-hand{position:absolute;left:-19px;top:-5px;width:56px;height:56px;transform-origin:33% 8%;animation:tap-bob 2s ease-in-out infinite}@keyframes tap-in{0%{opacity:0}}@keyframes tap-bob{0%,to{transform:translate(12px,16px)}35%{transform:translate(0)}43%{transform:translate(0) scale(.88)}52%{transform:translate(0)}}@keyframes tap-ripple{0%,40%{opacity:0;transform:scale(.3)}45%{opacity:.95;transform:scale(.3)}85%,to{opacity:0;transform:scale(1.5)}}@media (prefers-reduced-motion: reduce){.tap-hint,.tap-hand{animation:none}.tap-ring{animation:pulse 1.8s ease-in-out infinite}}.page{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0b0d;opacity:0;pointer-events:none;transition:opacity 1s ease}.page.show{opacity:1;pointer-events:auto}
