@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-400-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-400-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Homemade Apple;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/homemade-apple-400.woff2)format("woff2")}:root{--ink:#e6e1d6;--ink-dim:#e6e1d69e;--ink-faint:#e6e1d680;--line:#e6e1d633;--accent:#e9c48f;--accent-soft:#e9c48f57;--panel:#0b0c109e;--panel-strong:#0b0c10c7;--bg:#0b0c0e;--serif:"Cormorant Garamond", "Iowan Old Style", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--ease:cubic-bezier(.22, .61, .36, 1);--edge-x:max(1.6rem, env(safe-area-inset-left), env(safe-area-inset-right));--edge-top:max(1.4rem, env(safe-area-inset-top));--edge-bottom:max(1.4rem, env(safe-area-inset-bottom))}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);overscroll-behavior:none;-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}#stage{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}body.is-exploring #stage{cursor:grab}body.is-exploring #stage.is-grabbing{cursor:grabbing}.overlay svg{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round}.overlay{pointer-events:none;z-index:2;font-family:var(--mono);position:fixed;inset:0}.overlay button,.overlay a{pointer-events:auto}.btn{border:1px solid var(--line);min-height:2.75rem;color:var(--ink);font:inherit;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;transition:border-color .3s var(--ease), color .3s var(--ease), background .3s var(--ease), box-shadow .4s var(--ease), opacity .6s var(--ease);background:#0b0c1059;justify-content:center;align-items:center;gap:.7rem;padding:0 1.5rem;font-size:.68rem;display:inline-flex;position:relative}.btn:before,.btn:after{content:"";border:1px solid var(--accent);opacity:0;width:.5rem;height:.5rem;transition:opacity .3s var(--ease), transform .3s var(--ease);position:absolute}.btn:before{border-bottom:0;border-right:0;top:-4px;left:-4px;transform:translate(3px,3px)}.btn:after{border-top:0;border-left:0;bottom:-4px;right:-4px;transform:translate(-3px,-3px)}.btn:hover,.btn:focus-visible{border-color:var(--accent-soft);color:#fff;background:#e9c48f14;outline:none}.btn:hover:before,.btn:hover:after,.btn:focus-visible:before,.btn:focus-visible:after{opacity:1;transform:none}.btn--primary{border-color:var(--accent-soft);color:var(--accent)}.btn--primary:hover,.btn--primary:focus-visible{box-shadow:0 0 2.2rem #e9c48f2e}.btn--small{min-width:5.5rem;min-height:2.1rem;padding:0 1rem;font-size:.6rem}.btn svg{width:.8rem;height:.8rem}.btn:disabled{opacity:0;cursor:default}.icon-btn{background:var(--panel);border:1px solid var(--line);width:2.3rem;height:2.3rem;color:var(--ink-dim);cursor:pointer;-webkit-backdrop-filter:blur(8px);transition:color .3s var(--ease), border-color .3s var(--ease);place-items:center;padding:0;display:grid}.icon-btn svg{width:1rem;height:1rem}.icon-btn:hover,.icon-btn:focus-visible{color:var(--accent);border-color:var(--accent-soft);outline:none}.icon-btn__on,.icon-btn[aria-pressed=true] .icon-btn__off{display:none}.icon-btn[aria-pressed=true] .icon-btn__on{display:block}.seg{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(8px);display:inline-flex}.seg button{min-width:2.6rem;min-height:2.1rem;color:var(--ink-faint);font:inherit;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:color .3s var(--ease), background .3s var(--ease);background:0 0;border:0;padding:0 .8rem;font-size:.62rem}.seg button+button{border-left:1px solid var(--line)}.seg button:hover,.seg button:focus-visible{color:var(--ink);outline:none}.seg button[aria-pressed=true]{color:var(--accent);background:#e9c48f1a}.seg button:focus-visible,.icon-btn:focus-visible,.btn:focus-visible,.menu__credits a:focus-visible{outline:1px solid var(--accent);outline-offset:-4px}.btn:focus-visible{outline-offset:3px}.seg--small button{min-width:2.3rem;min-height:2.3rem;padding:0 .55rem}.key{border:1px solid var(--ink-faint);min-width:1.7rem;height:1.55rem;color:var(--ink);letter-spacing:.06em;background:#ffffff0a;border-bottom-width:2px;border-radius:3px;place-items:center;padding:0 .45rem;font-size:.56rem;display:inline-grid}.start{transition:opacity 1.4s var(--ease), visibility 0s linear 1.4s;background:radial-gradient(#0b0c0e4d 0%,#0b0c0ee0 72%);place-items:center;padding:2rem 1.5rem;display:grid;position:absolute;inset:0}.start__inner{text-align:center;width:min(92vw,42rem);transition:transform 2.4s var(--ease);flex-direction:column;align-items:center;display:flex}.start__kicker{letter-spacing:.5em;text-transform:uppercase;color:var(--accent);margin:0 0 1.4rem;padding-left:.5em;font-size:.62rem}.start__title{font-family:var(--serif);letter-spacing:.22em;text-transform:uppercase;text-wrap:balance;text-shadow:0 0 2.4rem #000000b3;margin:0;padding-left:.22em;font-size:clamp(1.7rem,4vw + .4rem,3.4rem);font-weight:400;line-height:1.12}.start__subtitle{font-family:var(--serif);color:var(--ink-dim);margin:1.2rem 0 2.8rem;font-size:clamp(1rem,.7vw + .8rem,1.3rem);font-style:italic}.start__load{width:min(18rem,70vw);transition:opacity .8s var(--ease)}.meter{background:var(--line);height:1px;overflow:hidden}.meter span{background:var(--accent);transform-origin:0;height:100%;transition:transform .4s var(--ease);display:block;transform:scaleX(0)}.start__status{letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);margin:.8rem 0 0;font-size:.6rem}.start__go{min-width:12rem;margin-top:-2rem}body.is-ready .start__load{opacity:0}.start__options{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.2rem 1.6rem;margin-top:2.6rem;display:flex}.start__note{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:.55rem;margin:0;font-size:.58rem;display:flex}.start__note svg{width:.95rem;height:.95rem}body.has-begun .start{opacity:0;visibility:hidden}body.has-begun .start button{pointer-events:none}body.is-ending .start{opacity:1;visibility:visible;transition:opacity 3s var(--ease) .6s, visibility 0s;background:0 0}body.is-ending .start__inner>:not(.start__title){visibility:hidden}body.is-ending .start__inner{transform:translateY(-24vh)}.hud{opacity:0;visibility:hidden;transition:opacity 1.2s var(--ease), visibility 0s linear 1.2s;position:absolute;inset:0}body.has-begun .hud{opacity:1;visibility:visible;transition:opacity 1.6s var(--ease) .6s, visibility 0s}.hud>*{transition:opacity 1s var(--ease), transform 1s var(--ease)}body.is-ending .hud>:not(.hud__corner){opacity:0}.chapter{left:var(--edge-x);top:var(--edge-top);border-left:1px solid var(--accent-soft);flex-direction:column;gap:.35rem;max-width:min(60vw,28rem);padding-left:.9rem;display:flex;position:absolute}.chapter__index{letter-spacing:.4em;text-transform:uppercase;color:var(--accent);text-shadow:0 0 .8rem #000000d9,0 0 .25rem #000000b3;font-size:.58rem}.chapter__name{font-family:var(--serif);color:var(--ink);text-shadow:0 0 1.2rem #000000bf;transition:font-size 1.2s var(--ease);font-size:1.15rem;font-style:italic;line-height:1.2}.chapter.is-new .chapter__name{font-size:clamp(1.5rem,1.6vw + 1rem,2.4rem)}.chapter.is-new{animation:chapter-in 1.4s var(--ease) both}@keyframes chapter-in{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-.8rem)}to{opacity:1;clip-path:inset(0);transform:none}}.hud__corner{right:var(--edge-x);top:var(--edge-top);align-items:center;gap:.5rem;display:flex;position:absolute}.memories{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(8px);letter-spacing:.24em;text-transform:uppercase;height:2.3rem;color:var(--ink-dim);align-items:center;gap:.55rem;padding:0 .85rem;font-size:.62rem;display:flex}.memories svg{width:.95rem;height:.95rem;color:var(--accent)}.memories__count{color:var(--ink);letter-spacing:.12em}.memories.is-pulsing{animation:pulse 1.6s var(--ease)}@keyframes pulse{0%{border-color:var(--accent);box-shadow:0 0 #e9c48f8c}to{box-shadow:0 0 0 1.2rem #e9c48f00}}.reticle{opacity:0;width:2.5rem;height:2.5rem;transition:opacity .6s var(--ease), transform .5s var(--ease);margin:-1.25rem 0 0 -1.25rem;position:absolute;top:50%;left:50%}body.is-exploring .reticle{opacity:.85}.reticle__dot{background:var(--ink);border-radius:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;position:absolute;top:50%;left:50%;box-shadow:0 0 6px #000c}.reticle svg{stroke-width:1.5px;width:100%;height:100%;transform:rotate(-90deg)}.reticle__track,.reticle__fill{opacity:0;transition:opacity .4s var(--ease)}.reticle__track{stroke:var(--ink-faint)}.reticle__fill{stroke:var(--accent);stroke-dasharray:94.25;stroke-dashoffset:94.25px;filter:drop-shadow(0 0 4px #e9c48fb3)}.reticle.is-focusing{transform:scale(1.12)}.reticle.is-focusing .reticle__track,.reticle.is-focusing .reticle__fill{opacity:1}.reticle.is-known .reticle__fill{stroke:var(--ink-dim);filter:none}.toast{left:50%;top:calc(var(--edge-top) + 4.2rem);border:1px solid var(--accent-soft);background:var(--panel-strong);-webkit-backdrop-filter:blur(10px);text-align:center;opacity:0;flex-direction:column;align-items:center;gap:.4rem;width:max-content;max-width:88vw;padding:.9rem 1.8rem 1rem;display:flex;position:absolute;transform:translate(-50%,-.6rem)}.toast.is-visible{opacity:1;transform:translate(-50%)}.toast__kicker{letter-spacing:.42em;text-transform:uppercase;color:var(--accent);padding-left:.42em;font-size:.56rem}.toast__name{font-family:var(--serif);color:var(--ink);font-size:1.2rem;font-style:italic}.tutorial{left:50%;bottom:calc(var(--edge-bottom) + 3.4rem);border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(8px);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);white-space:nowrap;opacity:0;align-items:center;gap:.75rem;padding:.55rem 1rem;font-size:.6rem;display:flex;position:absolute;transform:translate(-50%,.5rem)}.tutorial.is-visible{opacity:1;transform:translate(-50%)}.tutorial .key:empty{display:none}.journey{left:50%;bottom:var(--edge-bottom);align-items:center;gap:.9rem;width:min(30rem,56vw);display:flex;position:absolute;transform:translate(-50%)}.journey__track{background:var(--line);flex:1;height:2px;position:relative}.journey__fill{background:linear-gradient(90deg, #e9c48f40, var(--accent));width:0;height:100%;position:absolute;top:0;left:0}.journey__fill:after{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 10px var(--accent);border-radius:50%;position:absolute;top:-2px;right:-3px}.journey__ticks i{background:var(--ink-faint);width:1px;height:8px;position:absolute;top:-3px}.journey__ticks i.is-passed{background:var(--accent-soft)}.journey__percent{letter-spacing:.2em;text-align:right;min-width:2.6rem;color:var(--ink-dim);text-shadow:0 0 .6rem #000000d9;font-size:.56rem}.keys{left:var(--edge-x);bottom:var(--edge-bottom);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);text-shadow:0 0 .6rem #000c;flex-direction:column;gap:.45rem;margin:0;padding:0;font-size:.56rem;list-style:none;display:flex;position:absolute}.keys li{align-items:center;gap:.35rem;display:flex}.keys li>span:last-child{margin-left:.35rem}.narration{left:50%;bottom:calc(var(--edge-bottom) + 6.2rem);opacity:0;width:min(88vw,42rem);font-family:var(--serif);letter-spacing:.01em;text-align:center;text-wrap:balance;color:var(--ink);text-shadow:0 0 1.8rem #08090cf2,0 0 .6rem #08090ccc,0 0 .2rem #08090cb3;will-change:opacity, transform, filter;margin:0;font-size:clamp(1.15rem,1.25vw + .75rem,1.9rem);font-style:italic;font-weight:400;line-height:1.35;position:absolute;transform:translate(-50%,.5rem)}body:not(.has-begun) .narration{visibility:hidden}.scroll-cue{left:50%;bottom:calc(var(--edge-bottom) + 3rem);letter-spacing:.4em;text-transform:uppercase;color:var(--ink-dim);opacity:0;transition:opacity 1.2s var(--ease);flex-direction:column;align-items:center;gap:.8rem;padding-left:.4em;font-size:.6rem;display:flex;position:absolute;transform:translate(-50%)}.scroll-cue.is-visible{opacity:1}.scroll-cue i{background:linear-gradient(var(--accent), transparent);width:1px;height:2.2rem;animation:drip 2.8s var(--ease) infinite;transform-origin:top;display:block}@keyframes drip{0%{opacity:0;transform:scaleY(0)}35%{opacity:1}to{opacity:0;transform:scaleY(1)translateY(.6rem)}}.end{opacity:0;visibility:hidden;transition:opacity 1.6s var(--ease), transform 1.6s var(--ease), visibility 0s linear 1.6s;flex-direction:column;align-items:center;gap:1.4rem;display:flex;position:absolute;top:36%;left:50%;transform:translate(-50%,.6rem)}body.is-ending .end{opacity:1;visibility:visible;transition:opacity 2.4s var(--ease) 1.4s, transform 2.4s var(--ease) 1.4s, visibility 0s;transform:translate(-50%)}.end__memories{letter-spacing:.32em;text-transform:uppercase;color:var(--ink-dim);text-shadow:0 0 1rem #000000d9;margin:0;font-size:.62rem}.end__memories span:first-child{color:var(--accent)}.menu{-webkit-backdrop-filter:blur(14px)saturate(.7);pointer-events:auto;animation:fade-in .5s var(--ease) both;background:#08090c9e;place-items:center;padding:1.5rem;display:grid;position:absolute;inset:0}.menu[hidden]{display:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.menu__panel{border:1px solid var(--line);background:#0e0f13b8;width:min(92vw,30rem);max-height:100%;padding:2.2rem 2.2rem 1.8rem;overflow:auto}.menu__title{font-family:var(--serif);letter-spacing:.24em;text-transform:uppercase;margin:0 0 1.6rem;font-size:1.9rem;font-weight:400}.menu__actions{gap:.6rem;margin-bottom:1.8rem;display:grid}.menu__settings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:.75rem;margin:0 0 1.8rem;padding:1.2rem 0;display:grid}.menu__settings>div{justify-content:space-between;align-items:center;gap:1rem;display:flex}.menu__settings dt{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-dim);font-size:.62rem}.menu__settings dd{margin:0}.menu__settings>div[hidden]{display:none}.menu__subtitle{letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin:0 0 .9rem;font-size:.62rem;font-weight:400}.keys--menu{color:var(--ink-dim);position:static}.menu__credits{font-family:var(--serif);color:var(--ink-faint);margin:1.6rem 0 0;font-size:.92rem;font-style:italic;line-height:1.5}.menu__credits a{color:var(--accent);margin-left:.3rem}@media (max-width:40rem){:root{--edge-x:max(1rem, env(safe-area-inset-left), env(safe-area-inset-right));--edge-top:max(1rem, env(safe-area-inset-top));--edge-bottom:max(1.1rem, env(safe-area-inset-bottom))}.chapter{max-width:calc(100vw - 2 * var(--edge-x) - 10.5rem)}.chapter__name{font-size:.98rem}.chapter.is-new .chapter__name{font-size:1.35rem}.memories__label,.hud__corner .seg,.keys:not(.keys--menu){display:none}.journey{width:min(76vw,22rem)}.narration{bottom:calc(var(--edge-bottom) + 7.8rem);font-size:1.1rem}.tutorial{white-space:normal;text-align:center;width:max-content;max-width:88vw}}@media (max-height:30rem){.keys:not(.keys--menu){display:none}.tutorial{bottom:calc(var(--edge-bottom) + 1.9rem)}.narration{bottom:calc(var(--edge-bottom) + 4.9rem);font-size:1.05rem}.toast{top:calc(var(--edge-top) + 3rem);padding:.6rem 1.4rem .7rem}.menu__panel{padding:1.4rem 1.6rem}}.noscript{font-family:var(--serif);place-content:center;display:grid;position:fixed;inset:0}.fallback{z-index:3;text-align:center;font-family:var(--serif);color:var(--ink-dim);place-content:center;padding:2rem;font-style:italic;display:grid;position:fixed;inset:0}body.has-failed .overlay{display:none}@media (prefers-reduced-motion:reduce){.scroll-cue i,.memories.is-pulsing,.chapter.is-new,.menu{animation:none!important}}
