body.memory-obscured{overflow:hidden!important;background:#000!important}
body.memory-obscured> :not(.memory-veil){visibility:hidden!important}
.memory-veil{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#000;color:#fff;overflow:hidden;box-shadow:none}
.memory-veil::backdrop{background:#000}
.memory-noise{position:absolute;inset:0;overflow:hidden;white-space:pre;overflow-wrap:normal;font:clamp(11px,1.4vw,18px)/2 monospace;letter-spacing:.35em;color:#441c2a;opacity:.25;mask-image:radial-gradient(ellipse at center,transparent 10%,#000 90%);pointer-events:none;user-select:none}
.memory-eyes{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:clamp(30px,7vw,100px);pointer-events:none}
.memory-eyes i{display:block;width:14px;height:9px;border-radius:50%;background:#fff5e8;box-shadow:0 0 12px 4px #ffd7d3,0 0 42px 12px #7b142d;animation:memory-breathe 4s ease-in-out infinite}
.memory-eyes i:nth-child(2){transform:translateY(-32px);animation-delay:-1.3s}
.memory-eyes i:nth-child(3){animation-delay:-2.6s}
.memory-return{position:absolute;bottom:max(48px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:90vw;padding:16px 24px;border:1px solid #804051;background:#15090e;color:#fff;letter-spacing:.12em;z-index:1}
.memory-return:focus-visible{outline:2px solid white;outline-offset:6px}
@keyframes memory-breathe{0%,100%{opacity:.6;filter:blur(.4px)}50%{opacity:1;filter:blur(0);box-shadow:0 0 18px 6px #ffe4db,0 0 65px 20px #8b1836}}
.memory-veil.still i{animation:none}
@media(prefers-reduced-motion:reduce){.memory-eyes i{animation:none}}
@media print{body.memory-obscured> :not(.memory-veil){display:none!important}.memory-veil{position:fixed!important;display:block!important;background:#000!important}}
