:root{color-scheme:dark;--ink: #f4efe6;--mute: rgba(244, 239, 230, .42)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background:#050308;color:var(--ink);font-family:Outfit,system-ui,sans-serif;font-weight:300;letter-spacing:.08em;cursor:none;-webkit-user-select:none;user-select:none;touch-action:none}canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#field{z-index:0}#dust{z-index:1;pointer-events:none}.veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,rgba(5,3,8,.45) 100%),linear-gradient(180deg,rgba(5,3,8,.18),transparent 18%,transparent 82%,rgba(5,3,8,.28));opacity:1;transition:opacity 2.4s ease}.cursor{position:fixed;top:0;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;border:1px solid rgba(244,239,230,.7);border-radius:50%;z-index:20;pointer-events:none;mix-blend-mode:screen;transform:translate3d(-100px,-100px,0);transition:width .35s ease,height .35s ease,margin .35s ease,border-color .35s ease}.cursor.is-hold{width:42px;height:42px;margin:-21px 0 0 -21px;border-color:#f4efe640}.hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}.label{position:absolute;top:max(28px,env(safe-area-inset-top));left:max(28px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:6px;opacity:0;animation:rise 2.8s 1.1s ease forwards}.mark{display:block;width:88px;height:auto;opacity:.78;pointer-events:none}.meta{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--mute)}.hint{position:absolute;left:50%;bottom:max(36px,env(safe-area-inset-bottom));transform:translate(-50%);font-size:11px;letter-spacing:.42em;text-transform:lowercase;color:var(--mute);opacity:0;animation:rise 2.2s 2.4s ease forwards;transition:opacity 1.6s ease;white-space:nowrap}.hint.is-gone{opacity:0!important}.presence{position:absolute;top:max(32px,env(safe-area-inset-top));right:max(28px,env(safe-area-inset-right));font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:11px;letter-spacing:.12em;min-width:7ch;text-align:right;white-space:nowrap;color:var(--mute);opacity:0;animation:rise 2.2s 1.8s ease forwards}.whisper{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(28px,6vw,72px);letter-spacing:.12em;text-align:center;color:#f4efe6c7;text-shadow:0 0 48px rgba(244,239,230,.18);opacity:0;pointer-events:none;mix-blend-mode:screen;transition:opacity 1.8s ease,transform 2.4s ease,filter 1.8s ease;max-width:86vw}.whisper.is-on{opacity:1;transform:translate(-50%,-54%)}.whisper.is-off{opacity:0;filter:blur(10px);transform:translate(-50%,-58%)}.life{position:absolute;left:50%;top:46%;transform:translate(-50%,-46%);display:grid;grid-template-columns:minmax(2ch,1fr) auto minmax(2ch,1fr);column-gap:.08em;row-gap:clamp(10px,2.2vh,18px);width:min(92vw,720px);list-style:none;opacity:0;pointer-events:none;z-index:2;font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(22px,4.6vw,42px);letter-spacing:.1em;line-height:1.05;color:#f4efe680;text-shadow:0 0 16px rgba(5,3,8,.95),0 1px 8px rgba(5,3,8,.9)}.life li{display:contents}.life-before{text-align:right;white-space:pre}.life-glyph{display:inline-flex;align-items:center;justify-content:center;min-width:1em;color:#f7f2ea;text-shadow:0 0 18px rgba(5,3,8,.95),0 0 28px rgba(244,239,230,.35)}.life-after{text-align:left;white-space:pre}.life.is-open{opacity:1;transform:translate(-50%,-50%);transition:opacity 2.2s ease,transform 2.2s ease}.life.is-open .life-glyph,.life.is-open .life-before,.life.is-open .life-after{animation:life-in 1.6s ease both}.life.is-open li:nth-child(1) .life-before,.life.is-open li:nth-child(1) .life-glyph,.life.is-open li:nth-child(1) .life-after{animation-delay:.15s}.life.is-open li:nth-child(2) .life-before,.life.is-open li:nth-child(2) .life-glyph,.life.is-open li:nth-child(2) .life-after{animation-delay:.45s}.life.is-open li:nth-child(3) .life-before,.life.is-open li:nth-child(3) .life-glyph,.life.is-open li:nth-child(3) .life-after{animation-delay:.75s}.life.is-open li:nth-child(4) .life-before,.life.is-open li:nth-child(4) .life-glyph,.life.is-open li:nth-child(4) .life-after{animation-delay:1.05s}.life.is-open li:nth-child(5) .life-before,.life.is-open li:nth-child(5) .life-glyph,.life.is-open li:nth-child(5) .life-after{animation-delay:1.35s}@keyframes life-in{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}.door{position:absolute;left:50%;bottom:max(88px,calc(env(safe-area-inset-bottom) + 72px));transform:translate(-50%,12px);display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 36px;text-decoration:none;color:var(--ink);pointer-events:none;opacity:0;visibility:hidden;background:#f4efe609;border:1px solid rgba(244,239,230,.16);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:opacity 2.4s ease,transform 2.4s ease,background .4s ease,border-color .4s ease,visibility 0s linear 2.4s}.door.is-open{opacity:1;visibility:visible;transform:translate(-50%);pointer-events:auto;transition:opacity 2.4s ease,transform 2.4s ease,background .4s ease,border-color .4s ease,visibility 0s}.door:hover,.door:focus-visible{background:#f4efe614;border-color:#f4efe652;outline:none}.door-meta,.door-sub{font-size:9px;letter-spacing:.38em;text-transform:lowercase;color:var(--mute)}.door-title{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:clamp(18px,2.4vw,28px);letter-spacing:.16em;text-transform:lowercase}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.hint{letter-spacing:.22em;font-size:10px}.label{left:20px;top:22px}}@media(hover:none){.cursor{display:none}body{cursor:auto}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
