html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:#17140c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}canvas{display:block}.hud{position:fixed;inset:0;pointer-events:none;color:#fffacfdb;text-shadow:0 1px 8px rgba(0,0,0,.75)}.enter-prompt{position:absolute;left:50%;top:50%;display:grid;min-width:180px;transform:translate(-50%,-50%);gap:6px;padding:14px 16px;border:1px solid rgba(255,250,207,.28);border-radius:8px;background:#14110ab8;box-shadow:0 18px 60px #00000061;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .18s ease,transform .18s ease}.enter-prompt strong{font-size:16px;font-weight:650;letter-spacing:0}.enter-prompt span{color:#fffacfb3;font-size:13px}.coords,.seed{position:absolute;bottom:14px;padding:6px 8px;border:1px solid rgba(255,250,207,.14);border-radius:6px;background:#14110a7a;color:#fffacfad;font-size:12px;font-variant-numeric:tabular-nums}.coords{left:14px}.seed{right:14px}.reticle{position:absolute;left:50%;top:50%;width:7px;height:7px;transform:translate(-50%,-50%);border:1px solid rgba(255,252,210,.42);border-radius:50%;opacity:0;transition:opacity .16s ease}.secret-state{position:absolute;left:50%;top:calc(50% + 72px);transform:translate(-50%,-4px);padding:4px 8px;border:1px solid rgba(255,250,207,.18);border-radius:6px;background:#14110a94;color:#fffacfb8;font-size:12px;opacity:0;transition:opacity .16s ease,transform .16s ease}.secret-state.is-visible{opacity:1;transform:translate(-50%)}.is-locked .enter-prompt{opacity:0;transform:translate(-50%,-48%)}.is-locked .secret-state{opacity:0}.is-locked .reticle{opacity:1}.scare-layer{position:fixed;inset:0;z-index:10;display:grid;place-items:center;overflow:hidden;pointer-events:none;opacity:0}.scare-layer:before{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,245,150,.88),transparent 28%),#ffffd2b3;content:"";opacity:0;z-index:3}.scare-hands{position:absolute;z-index:2;width:118vmax;height:118vmax;object-fit:contain;opacity:0;filter:contrast(1.45) saturate(.86) brightness(.9) drop-shadow(0 0 24px rgba(0,0,0,.95));transform:scale(1.6) rotate(0)}.scare-face{position:absolute;z-index:1;width:115vmax;height:115vmax;object-fit:cover;opacity:0;filter:contrast(1.75) saturate(.95) brightness(.58);transform:scale(.55) translate(18vw) rotate(-9deg)}.scare-layer.is-active{opacity:1}.scare-layer.is-grab:before{animation:scare-flash .52s steps(2,end) both}.scare-layer.is-grab .scare-hands{animation:hand-grab .98s cubic-bezier(.12,.9,.02,1) both}.scare-layer.is-face .scare-face{animation:scare-lunge 1.04s cubic-bezier(.08,.92,.02,1) both}.scare-blackout{position:absolute;inset:0;display:grid;place-items:center;background:#000;opacity:0}.restart-button{position:absolute;left:50%;top:50%;min-width:128px;transform:translate(-50%,-50%);padding:10px 14px;border:1px solid rgba(255,255,255,.34);border-radius:6px;background:#ffffff1a;color:#f3f0dd;cursor:pointer;font:inherit;opacity:0;pointer-events:none}.scare-layer.is-blackout .scare-blackout{opacity:1}.scare-layer.can-restart{pointer-events:auto}.scare-layer.can-restart .restart-button{opacity:1;pointer-events:auto;transition:opacity .6s ease}.is-jumpscare .coords,.is-jumpscare .seed,.is-jumpscare .reticle,.is-jumpscare .enter-prompt,.is-jumpscare .secret-state{opacity:0}@keyframes scare-lunge{0%{opacity:0;transform:scale(.48) translate(26vw) rotate(-14deg)}7%{opacity:1;transform:scale(1.1) translate(8vw) rotate(7deg);filter:contrast(3) saturate(.25) brightness(2.2)}32%{opacity:1;transform:scale(1.72) translate(0) rotate(-3deg);filter:contrast(2.15) saturate(1.2) brightness(.72)}66%{transform:scale(2.35) translate(-3vw) rotate(2deg);filter:contrast(2.45) saturate(.55) brightness(.36)}to{opacity:1;transform:scale(3.2) translate(-6vw) rotate(-1deg);filter:contrast(2.8) saturate(.28) brightness(.11)}}@keyframes hand-grab{0%{opacity:0;transform:scale(1.85) rotate(7deg)}4%{opacity:1;transform:scale(1.34) rotate(-4deg);filter:contrast(2.6) saturate(.35) brightness(1.9) drop-shadow(0 0 36px rgba(0,0,0,1))}18%{opacity:1;transform:scale(1.06) rotate(2deg)}52%{transform:scale(1.2) rotate(-3deg) translate(-1.2vw)}to{opacity:1;transform:scale(1.38) rotate(1deg) translate(-2.8vw);filter:contrast(1.7) saturate(.65) brightness(.55) drop-shadow(0 0 28px rgba(0,0,0,1))}}@keyframes scare-flash{0%{opacity:0}6%{opacity:1}15%{opacity:0}26%{opacity:.75}to{opacity:0}}@media(max-width:640px){.coords,.seed{bottom:10px;font-size:11px}.coords{left:10px}.seed{right:10px}}
