.lp-mem{position:fixed;inset:0;z-index:30;background:#000;display:grid;place-items:center;overflow:hidden;touch-action:none;padding:calc(env(safe-area-inset-top) + 2rem) calc(env(safe-area-inset-right) + 1.25rem) calc(env(safe-area-inset-bottom) + 2.5rem) calc(env(safe-area-inset-left) + 1.25rem)}.lp-mem-residue{transition:opacity 1.6s ease;background:radial-gradient(120% 62% at 50% 40%,rgba(29,95,196,.5),transparent 66%),radial-gradient(70% 40% at 50% 8%,rgba(127,228,255,.22),transparent 72%)}.lp-mem-photo,.lp-mem-residue{position:absolute;inset:0;pointer-events:none}.lp-mem-photo{margin:auto;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:opacity 1.2s ease}.lp-mem-last,.lp-mem-stayed{position:relative;margin:0;text-align:center;color:#fff;transition:opacity 2.4s ease;text-shadow:0 0 40px rgba(0,0,0,.9),0 0 90px rgba(0,0,0,.8)}.lp-mem-stayed{font-size:clamp(1.05rem,5.4vw,1.5rem);font-weight:300;letter-spacing:.36em;text-indent:.36em;text-transform:uppercase}.lp-mem-last{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom) + 3.4rem);font-family:var(--font-bodoni),Didot,serif;font-style:italic;font-size:clamp(.95rem,4.4vw,1.15rem);letter-spacing:.02em;color:rgba(255,255,255,.82)}.lp-mem-leave{position:absolute;top:calc(env(safe-area-inset-top) + .4rem);right:calc(env(safe-area-inset-right) + .4rem);appearance:none;width:2.9rem;height:2.9rem;border:0;border-radius:50%;background:transparent;color:rgba(255,255,255,.34);font-size:1.3rem;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.lp-mem-line{color:#fff;text-shadow:0 0 30px color-mix(in srgb,var(--lp-accent) 30%,transparent)}.lp-remember{animation:lp-remember-in 1.4s ease both}.lp-remember.is-awake{animation:lp-remember-in 1.4s ease both,lp-remember-breathe 4.6s ease-in-out 1.4s infinite}@keyframes lp-remember-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes lp-remember-breathe{0%,to{border-color:color-mix(in srgb,var(--lp-accent) 42%,transparent);box-shadow:0 0 34px -12px color-mix(in srgb,var(--lp-accent) 60%,transparent)}50%{border-color:color-mix(in srgb,var(--lp-accent) 82%,transparent);box-shadow:0 0 42px -6px color-mix(in srgb,var(--lp-accent) 74%,transparent)}}@media (prefers-reduced-motion:reduce){.lp-mem-last,.lp-mem-photo,.lp-mem-residue,.lp-mem-stayed{transition:none}.lp-remember,.lp-remember.is-awake{animation:none;opacity:1;transform:none}}.lp-holder{position:relative;width:100%;flex:0 0 auto}.lp-crystal-wake{position:absolute;left:50%;top:50%;width:46%;aspect-ratio:1;margin:-23% 0 0 -23%;border-radius:50%;pointer-events:none;mix-blend-mode:screen;opacity:0;background:radial-gradient(closest-side,color-mix(in srgb,#eaf9ff 62%,transparent),color-mix(in srgb,var(--lp-accent) 30%,transparent) 44%,transparent 78%);animation:lp-crystal-pulse 1.8s cubic-bezier(.22,1,.36,1) 1 both}@keyframes lp-crystal-pulse{0%{transform:scale(.42);opacity:0}18%{opacity:1}46%{opacity:.55}to{transform:scale(1.9);opacity:0}}.lp-listen{animation:lp-listen-in 1.2s ease both}.lp-listen.is-awake{animation:lp-listen-in 1.2s ease both,lp-listen-breathe 4.2s ease-in-out 1.2s infinite}@keyframes lp-listen-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes lp-listen-breathe{0%,to{border-color:color-mix(in srgb,var(--lp-accent) 42%,transparent);box-shadow:0 0 34px -12px color-mix(in srgb,var(--lp-accent) 60%,transparent)}50%{border-color:color-mix(in srgb,var(--lp-accent) 88%,transparent);box-shadow:0 0 42px -6px color-mix(in srgb,var(--lp-accent) 78%,transparent)}}.lp-recede{transition:opacity .7s ease}.lp-screen[data-reveal="1"] .lp-recede{opacity:var(--lp-recede,1)}.lp-changed{margin:.9rem 0 0;color:#fff;text-shadow:0 0 26px color-mix(in srgb,var(--lp-accent) 34%,transparent)}.lp-waiting{margin:.9rem 0 0;opacity:0;transition:opacity .9s ease}.lp-waiting[data-on="1"]{opacity:1}@media (prefers-reduced-motion:reduce){.lp-crystal-wake{animation:none;opacity:0}.lp-listen,.lp-listen.is-awake{animation:none;opacity:1;transform:none}.lp-recede,.lp-waiting{transition:none}}