html,body{overscroll-behavior:none;background:#000;width:100%;height:100%;margin:0;padding:0;overflow:hidden}#app{width:100%;height:100%;position:fixed;inset:0}#app canvas{width:100%;height:100%;display:block}:root{--glass-bg:#ffffff24;--glass-border:#ffffff40;--glass-blur:18px;--glass-shadow:0 2px 12px #00000014;--glass-radius:16px;--text-color:#ffffffe6;--text-muted:#ffffff8c;--icon-size:24px;--button-size:64px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--dur-press:.14s;--dur-panel:.22s;--dur-panel-out:.15s}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-shadow)}.anim-scale-press:active{transition:transform var(--dur-press) var(--ease-out);transform:scale(.97)}.anim-panel-enter{transition:transform var(--dur-panel) var(--ease-out), opacity var(--dur-panel) var(--ease-out)}.anim-panel-exit{transition:transform var(--dur-panel-out) var(--ease-out), opacity var(--dur-panel-out) var(--ease-out)}.anim-popup-enter{animation:popup-bounce .38s var(--ease-out) both}@keyframes popup-bounce{0%{opacity:0;transform:scale(.85)}45%{opacity:1;transform:scale(1.08)}70%{transform:scale(.96)}to{opacity:1;transform:scale(1)}}.anim-row-stagger>*{opacity:0;transition:opacity var(--dur-panel) var(--ease-out), transform var(--dur-panel) var(--ease-out);transform:translateY(12px)}.anim-row-stagger.show>:first-child{transition-delay:0s}.anim-row-stagger.show>:nth-child(2){transition-delay:50ms}.anim-row-stagger.show>:nth-child(3){transition-delay:.1s}.anim-row-stagger.show>:nth-child(4){transition-delay:.15s}.anim-row-stagger.show>:nth-child(5){transition-delay:.2s}.anim-row-stagger.show>:nth-child(6){transition-delay:.25s}.anim-row-stagger.show>:nth-child(7){transition-delay:.3s}.anim-row-stagger.show>:nth-child(8){transition-delay:.35s}.anim-row-stagger.show>*{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.anim-scale-press:active,.anim-panel-enter,.anim-panel-exit,.anim-row-stagger>*{transition:opacity .15s var(--ease-out);transform:none}.anim-popup-enter{opacity:1;animation:none}}#hud-overlay{pointer-events:none;z-index:10;font-family:system-ui,sans-serif;position:fixed;inset:0}#hud-overlay>*{pointer-events:auto}.hud-drag-layer{touch-action:none;position:absolute;inset:0}.hud-joystick{-webkit-backdrop-filter:blur(8px);pointer-events:none;opacity:0;width:130px;height:130px;transition:opacity var(--dur-press,.14s) var(--ease-out,ease);background:#ffffff14;border:1.5px solid #ffffff2e;border-radius:50%;margin:-65px 0 0 -65px;position:fixed}.hud-joystick-thumb{background:#ffffff38;border:1px solid #ffffff59;border-radius:50%;width:48px;height:48px;margin-top:-24px;margin-left:-24px;transition:none;position:absolute;top:50%;left:50%}.hud-action-btn{width:var(--button-size,64px);height:var(--button-size,64px);-webkit-backdrop-filter:blur(8px);transition:transform var(--dur-press,.14s) var(--ease-out,ease);-webkit-user-select:none;user-select:none;background:#ffffff17;border:1.5px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;font-size:30px;line-height:1;display:flex;position:absolute}.hud-action-btn:active{transform:scale(.92)}.hud-action-btn svg{stroke:#ffffffd9;fill:none;stroke-width:1.5px;width:28px;height:28px}.hud-btn-scream{bottom:calc(170px + env(safe-area-inset-bottom));left:calc(30px + env(safe-area-inset-left))}.hud-btn-poop{bottom:calc(80px + env(safe-area-inset-bottom));left:calc(30px + env(safe-area-inset-left))}.cooldown-ring{pointer-events:none;opacity:0;transition:opacity var(--dur-press,.14s) var(--ease-out,ease);border-radius:50%;position:absolute;inset:-5px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 4px))}@media (width>=768px){.hud-btn-scream{left:calc(50px + env(safe-area-inset-left));bottom:calc(190px + env(safe-area-inset-bottom))}.hud-btn-poop{left:calc(50px + env(safe-area-inset-left));bottom:calc(100px + env(safe-area-inset-bottom))}}@media (hover:hover) and (pointer:fine){.hud-action-btn:hover{background:#ffffff24}}
