:root{color-scheme:dark;--ink:#f0d7c7;--muted:#b58779;--black:#140000}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:var(--black);color:var(--ink)}body{font-family:var(--artist-font,Georgia),'Times New Roman',serif;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:none;padding:8px 0;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:1px solid var(--ink);outline-offset:7px}button:hover,a:hover{color:#fff3e8}[hidden]{display:none!important}.memory-room{position:relative;isolation:isolate;width:100%;height:100svh;height:100dvh;min-height:440px;overflow:hidden}.memory-space{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 66% 43%,#7b100b44 0%,transparent 47%),radial-gradient(ellipse at 40% 64%,#b22c1540 0%,transparent 48%),linear-gradient(175deg,#210301 0%,#480905 48%,#150100 100%)}.memory-space:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 25%,#070000aa 100%);z-index:4}.memory-horizon{position:absolute;width:130%;height:75%;left:-15%;top:52%;opacity:.35;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),#a84a2920 10%),repeating-linear-gradient(0deg,transparent 0,transparent 48px,#a84a2918 50px);transform:perspective(420px) rotateX(63deg);transform-origin:center top;mask-image:linear-gradient(transparent,#0009 30%,transparent 90%)}.memory-fog{position:absolute;inset:-30%;pointer-events:none;background:radial-gradient(ellipse at 30% 45%,#a7211228 0%,transparent 45%),radial-gradient(ellipse at 72% 52%,#bd32172e 0%,transparent 30%),radial-gradient(ellipse at 55% 35%,#e3451a12 0%,transparent 35%);animation:memory-drift 32s ease-in-out infinite alternate;mix-blend-mode:screen}.memory-fog--near{transform:rotate(8deg);opacity:.8;animation-duration:23s}.memory-fog--far{transform:rotate(-13deg);opacity:.6;animation-delay:-13s}.memory-grain{position:absolute;inset:0;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.83' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.4' d='M0 0h180v180H0z'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:soft-light}#memory-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.memory-header,.memory-footer{position:absolute;left:clamp(24px,4vw,72px);right:clamp(24px,4vw,72px);display:flex;justify-content:space-between;align-items:center;z-index:5;gap:20px}.memory-header{top:max(26px,env(safe-area-inset-top))}.memory-brand{font-size:18px;letter-spacing:-1px}.memory-brand span{display:inline-block;font-size:15px;margin-left:18px;opacity:.5}.memory-header button,.memory-footer button{font-size:13px}.memory-header button span,.memory-footer button span{margin-left:12px;opacity:.6}.memory-title{position:absolute;left:clamp(24px,7vw,125px);top:27%;pointer-events:none;max-width:300px;z-index:2}.memory-kicker{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 24px}h1{font-weight:400;font-size:clamp(48px,6.3vw,94px);line-height:.86;letter-spacing:-.055em;margin:0;text-shadow:0 2px 28px #140000}h1 em{font-weight:400;color:#dbb4a0}#memory-status{font-size:13px;line-height:1.55;color:var(--muted);margin-top:30px;max-width:215px}.memory-footer{bottom:max(24px,env(safe-area-inset-bottom))}.memory-footer p{font-size:11px;color:var(--muted);max-width:260px;margin:0;line-height:1.5}.memory-list{position:absolute;z-index:8;top:0;right:0;bottom:0;width:min(460px,100%);padding:34px 30px;background:#180301f5;overflow-y:auto;overscroll-behavior:contain;border-left:1px solid #bd68552b;box-shadow:-30px 0 80px #10000088}.memory-list-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.memory-list h2{font-weight:400;font-size:26px;letter-spacing:-.03em;margin:0}.memory-list-heading button{font-size:34px;line-height:1}.memory-list-note{font-size:12px;color:var(--muted);line-height:1.65;margin:22px 0 32px}.memory-entry{border-top:1px solid #bd68552b;padding:24px 0}.memory-entry p{font-size:21px;line-height:1.45;overflow-wrap:anywhere;margin:0 0 14px}.memory-entry small{font-size:11px;color:var(--muted);line-height:1.5}.memory-entry[data-pending]{opacity:.72}.memory-empty{font-size:16px;color:var(--muted);line-height:1.6}.memory-demo{position:absolute;bottom:70px;left:50%;transform:translateX(-50%);font:11px/1.4 Georgia,serif;text-align:center;color:var(--muted);width:80%;margin:0;pointer-events:none}.is-paused .memory-fog{animation-play-state:paused}@keyframes memory-drift{0%{translate:-3% 2%;scale:1}100%{translate:4% -2%;scale:1.12}}@media(max-width:640px){.memory-title{top:19%;max-width:190px}.memory-title h1{font-size:62px}.memory-kicker{font-size:9px;margin-bottom:18px}#memory-status{font-size:11px;max-width:170px;margin-top:22px}.memory-header button,.memory-footer button{font-size:11px}.memory-footer{align-items:flex-end}.memory-footer p{font-size:9px;max-width:170px}.memory-list{padding:28px 24px}.memory-entry p{font-size:19px}.memory-fog{animation-duration:40s}.memory-brand{font-size:16px}}@media(max-height:520px){.memory-title{top:26%}.memory-title h1{font-size:46px}.memory-kicker{margin-bottom:12px}#memory-status{margin-top:18px}.memory-header{top:14px}.memory-footer{bottom:14px}}@media(prefers-reduced-motion:reduce){.memory-fog{animation:none}*{scroll-behavior:auto}}

.memory-space{background:linear-gradient(90deg,#12000088,#12000033),url("assets/optimized/memory-space.258e25f5d5.webp") center/cover no-repeat}.memory-horizon{opacity:.18}

#memory-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s}#memory-background.is-ready{opacity:.64}.memory-space:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#12000066,transparent),linear-gradient(0deg,#120000aa,transparent 30%);pointer-events:none}

/* The space itself is the interface. */
.memory-header,.memory-footer{left:22px;right:22px}.memory-brand{font-size:13px}.memory-brand span{margin-left:9px}.memory-header button,.memory-footer button{font-size:19px}.memory-footer p{display:none}.memory-demo{font-size:9px;bottom:25px;opacity:.55}.memory-footer{justify-content:flex-end}.memory-silence{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:italic 15px Georgia,serif;color:#c5a295;text-align:center;pointer-events:none;z-index:2}#memory-canvas{pointer-events:auto;cursor:pointer;touch-action:pan-y}#memory-focus{position:absolute;z-index:7;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,85vw);text-align:center;color:#f0d7c7;text-shadow:0 3px 25px #180000,0 1px 8px #180000}#memory-focus p{font:italic clamp(23px,3.3vw,43px)/1.35 Georgia,serif;overflow-wrap:anywhere;white-space:pre-wrap;margin:20px 0}#memory-focus small{font:11px/1.5 Georgia,serif;color:#bd9183}#memory-focus-close{font-size:24px;opacity:.7}.has-focus #memory-canvas{opacity:.22;transition:opacity .45s}

.memory-space{inset:-6%;transform:scale(1.1);will-change:transform}#memory-canvas{touch-action:none;cursor:grab}#memory-canvas.is-dragging{cursor:grabbing}.memory-header{pointer-events:none}.memory-header a{pointer-events:auto}.memory-header button[hidden],.memory-footer[hidden]{display:none}#memory-canvas:focus-visible{outline:none}

/* The words haunt the footage rather than opening a reading panel. */
.memory-possession{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:var(--possession,0);background:radial-gradient(ellipse at 40% 45%,#a9391922,transparent 48%),repeating-linear-gradient(0deg,transparent 0 7px,#03000044 8px 9px);mix-blend-mode:color-dodge}
#memory-canvas{z-index:2}.memory-horizon{display:none}.memory-space{transition:none}.memory-grain{opacity:.1}
@media(prefers-reduced-motion:reduce){.memory-possession{display:none}}
