@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:#0b0a09;color:#e8e2d6;font-family:Cormorant Garamond,serif;overflow:hidden;-webkit-user-select:none;user-select:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}header{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;justify-content:center;padding:18px 20px 0;pointer-events:none;background:linear-gradient(to bottom,#0b0a09 30%,transparent)}header h1{font-family:UnifrakturMaguntia,serif;font-weight:400;font-size:clamp(1.4rem,3.5vw,2.1rem);line-height:1}header h1 .half{color:#a41f1f}.note{height:100dvh;display:flex;align-items:center;justify-content:center;text-align:center;font-family:IBM Plex Mono,monospace;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:#9a927f;line-height:2.4;padding:20px}.note code{color:#e8e2d6;border:1px solid #2a2723;padding:.2em .6em}#timeline{position:fixed;z-index:40;left:50%;bottom:clamp(16px,3.5vh,40px);transform:translate(-50%);width:min(720px,90vw);display:flex;align-items:center;gap:clamp(10px,2vw,20px)}.tl-skip{flex:0 0 auto;background:none;border:1px solid #2a2723;color:#9a927f;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.9rem;line-height:1;width:2.2em;height:2.2em;display:grid;place-items:center;transition:color .2s,border-color .2s,background .2s}.tl-skip:hover{color:#e8e2d6;border-color:#a41f1f;background:#a41f1f1f}.tl-skip:active{transform:scale(.92)}.tl-main{flex:1 1 auto;min-width:0}.tl-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.tl-year{font-family:UnifrakturMaguntia,serif;font-size:clamp(1.3rem,3vw,2rem);line-height:1;color:#a41f1f}.tl-pos{font-family:IBM Plex Mono,monospace;font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:#9a927f;white-space:nowrap}.tl-track{position:relative;height:22px;cursor:pointer;touch-action:none;display:flex;align-items:center}.tl-track:before{content:"";position:absolute;left:0;right:0;height:2px;background:#2a2723}.tl-fill{position:absolute;left:0;height:2px;width:0;background:#a41f1f}.tl-handle{position:absolute;top:50%;left:0;width:12px;height:12px;border-radius:50%;background:#a41f1f;box-shadow:0 0 0 4px #a41f1f2e;transform:translate(-50%,-50%);transition:box-shadow .2s,transform .1s}.tl-track:hover .tl-handle,.tl-track.drag .tl-handle{box-shadow:0 0 0 6px #a41f1f47}.tl-track.drag .tl-handle{transform:translate(-50%,-50%) scale(1.15)}#toast{position:fixed;top:20px;left:50%;transform:translate(-50%,-160%);opacity:0;pointer-events:none;z-index:50;background:#a41f1f;color:#fff;border:none;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500;padding:.8em 1.6em;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s cubic-bezier(.2,.8,.2,1)}#toast.show{transform:translate(-50%);opacity:1;pointer-events:auto}#timeline.v{left:auto;right:clamp(10px,3vw,18px);bottom:auto;top:50%;transform:translateY(-50%);width:auto;flex-direction:column;gap:12px}#timeline.v .tl-main{display:flex;flex-direction:column;align-items:center;gap:12px;height:42vh}#timeline.v .tl-meta{flex-direction:column;align-items:center;gap:4px;margin:0}#timeline.v .tl-year{font-size:clamp(1.2rem,6vw,1.7rem)}#timeline.v .tl-track{flex:1 1 auto;width:22px;height:auto}#timeline.v .tl-track:before{left:50%;right:auto;top:0;bottom:0;width:2px;height:auto;transform:translate(-50%)}#timeline.v .tl-fill{left:50%;top:0;width:2px;transform:translate(-50%)}#timeline.v .tl-handle{left:50%}#feed{height:100dvh;display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}#feed::-webkit-scrollbar{display:none}.card{flex:0 0 auto;width:min(58vh,86vw);height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10vh clamp(16px,2.5vw,44px) 8vh;content-visibility:auto;contain-intrinsic-size:58vh 100vh;position:relative}.card .frame{position:relative;width:100%;aspect-ratio:1/1;opacity:0;transform:translateY(34px) scale(.97);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}.card .frame:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,#2a2723 20%,#e8e2d614,#2a2723 60%) #2a2723;background-size:200% 100%;animation:shimmer 1.6s linear infinite;border:1px solid #2a2723;transition:opacity .6s cubic-bezier(.2,.8,.2,1)}.card .frame.loaded:before{opacity:0}.card .frame img{display:block;width:100%;height:100%;object-fit:cover;border:1px solid #2a2723;filter:grayscale(.2) contrast(1.05);opacity:0;transition:opacity .6s cubic-bezier(.2,.8,.2,1),filter .5s}.card .frame.loaded img{opacity:1}.card .frame:hover img{filter:grayscale(0) contrast(1.08)}.card .frame:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border:1px solid #2a2723;pointer-events:none}.card .fresh{position:absolute;top:14px;left:50%;transform:translate(-50%);background:#a41f1f;color:#fff;z-index:2;font-family:IBM Plex Mono,monospace;font-size:.66rem;letter-spacing:.35em;text-transform:uppercase;font-weight:500;padding:.55em 1.3em .55em 1.65em;white-space:nowrap;animation:throb 1.6s ease-in-out infinite}.card .name{margin-top:3vh;text-align:center;font-style:italic;font-weight:600;font-size:clamp(1.7rem,2.8vw,2.9rem);line-height:1;opacity:0;transform:translateY(22px);transition:opacity .7s .08s cubic-bezier(.2,.8,.2,1),transform .7s .08s cubic-bezier(.2,.8,.2,1)}.card .name .dead{color:#a41f1f}.card .when{margin-top:1.2vh;font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.35em;text-transform:uppercase;color:#9a927f;opacity:0;transition:opacity .7s .16s}.card .cross{position:absolute;bottom:2.2vh;left:50%;transform:translate(-50%);color:#2a2723;font-size:.9rem}.card.vis .frame,.card.vis .name{opacity:1;transform:none}.card.vis .when{opacity:1}@keyframes throb{0%,to{opacity:1}50%{opacity:.55}}@media (max-width: 768px){#feed{flex-direction:column;overflow-x:hidden;overflow-y:auto}.card{width:100%;min-height:0;height:auto;padding:3.5vh 20px;contain-intrinsic-size:100vw 560px}.card .frame{width:min(82vw,460px)}.card .name{font-size:clamp(1.9rem,5.5vw,3.4rem)}}#watch{flex:0 0 auto;width:min(760px,94vw);height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12vh 20px 10vh;position:relative}@media (max-width: 768px){#watch{width:100%;height:auto;min-height:0;padding:14vh 20px 6vh}}#watch h2{font-family:UnifrakturMaguntia,serif;font-weight:400;font-size:clamp(1.6rem,4.5vw,2.6rem);color:#b9cbd8;text-shadow:0 0 26px rgba(185,203,216,.45)}#watch .sub{margin-top:1.2vh;font-family:IBM Plex Mono,monospace;font-size:.64rem;letter-spacing:.4em;text-transform:uppercase;color:#9a927f}#watch .descend{position:absolute;bottom:3vh;left:50%;transform:translate(-50%);font-family:IBM Plex Mono,monospace;font-size:.6rem;letter-spacing:.4em;text-transform:uppercase;color:#9a927f}#ghosts{margin-top:5vh;display:grid;gap:clamp(18px,3vw,36px);grid-template-columns:repeat(auto-fit,minmax(130px,160px));justify-content:center;max-width:900px;width:100%}.ghost{text-align:center}.ghost .gframe{position:relative;aspect-ratio:4/5;overflow:hidden;animation:hover 5s ease-in-out infinite}.ghost .gframe:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,#2a2723 20%,#e8e2d614,#2a2723 60%) #2a2723;background-size:200% 100%;animation:shimmer 1.6s linear infinite;transition:opacity .6s cubic-bezier(.2,.8,.2,1)}.ghost .gframe.loaded:before{opacity:0}.ghost:nth-child(2n) .gframe{animation-delay:-2.5s}.ghost:nth-child(3n) .gframe{animation-duration:6.5s}.ghost img{display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) brightness(1.12);opacity:0;border:1px solid rgba(185,203,216,.25);box-shadow:0 0 22px #b9cbd847,0 0 60px #b9cbd81f;transition:opacity .6s cubic-bezier(.2,.8,.2,1);animation:seance 3.4s ease-in-out infinite}.ghost .gframe.loaded img{opacity:.8}.ghost:nth-child(2n) img{animation-delay:-1.7s}.ghost img.xxx{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;clip-path:inset(0 50% 0 0);border:none;box-shadow:none;opacity:0;animation:manifest 9s ease-in-out infinite}.ghost:nth-child(2n) img.xxx{animation-delay:-3s}.ghost:nth-child(3n) img.xxx{animation-delay:-6s}.ghost .gname{margin-top:1em;font-style:italic;font-weight:600;font-size:1.05rem;color:#b9cbd8;line-height:1.15}.ghost .soon{margin-top:.5em;font-family:IBM Plex Mono,monospace;font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;color:#9a927f;animation:throb 2.8s ease-in-out infinite}@keyframes hover{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes seance{0%,to{box-shadow:0 0 22px #b9cbd847,0 0 60px #b9cbd81f}50%{box-shadow:0 0 34px #b9cbd880,0 0 90px #b9cbd838}}@keyframes manifest{0%,42%{opacity:0}58%,74%{opacity:.85}90%,to{opacity:0}}
