:root{--ink:#0b100c;--ink-walnut:#1a130d;--stage-green:#1f2410;--stage-deep:#141a08;--ivory:#eee5cf;--parchment:#d9cba9;--butter:#e2b43a;--butter-deep:#a87a1e;--butter-soft:#e2b43a59;--gold:#aa8850;--leaf:#5d6948;--walnut:#523a28;--line-faint:#aa885047;--line-soft:#aa885080;--disc:#0b100c73;--focus:var(--butter);--font-display:"Cormorant Garamond", "EB Garamond", Georgia, serif;--font-text:"EB Garamond", Georgia, serif;--font-script:"Pinyon Script", "EB Garamond", cursive;--size-display:clamp(2rem, 3.3vw, 3.6rem);--size-ending:clamp(1.5rem, 2.4vw, 2.75rem);--size-text:1rem;--size-small:.9375rem;--size-micro:.8125rem;--track-text:.02em;--track-micro:.12em;--edge:clamp(40px, 5.5vw, 104px);--gutter-mobile:24px;--gap-1:6px;--gap-2:12px;--gap-3:20px;--gap-4:32px;--rule:28px;--ease-unfurl:cubic-bezier(.22, .61, .36, 1);--ease-quiet:cubic-bezier(.4, 0, .2, 1);--dur-quick:.4s;--dur-soft:.9s;--dur-slow:1.6s;--dur-ending:2.4s;--app-height:100vh;--z-stage:0;--z-ui:2;--z-hint:3;--z-sound:4;--z-stats:5;--z-opening:8;--z-fallback:10}@supports (height:100dvh){:root{--app-height:100dvh}}.type-display{font:300 var(--size-display)/1.06 var(--font-display);letter-spacing:-.005em;color:var(--ivory);font-kerning:normal;text-wrap:balance}.type-display em{font-style:italic}.type-text{font:italic 400 var(--size-text)/1.5 var(--font-text);letter-spacing:var(--track-text);color:var(--parchment)}.type-small{font:italic 400 var(--size-small)/1.5 var(--font-text);letter-spacing:var(--track-text);color:var(--parchment)}.type-micro{font:400 var(--size-micro)/1 var(--font-text);letter-spacing:var(--track-micro);color:var(--parchment);font-variant-caps:all-small-caps}.type-script{font:400 clamp(1.625rem, 2.2vw, 2.25rem)/1.2 var(--font-script);color:var(--butter)}html,body{overscroll-behavior:none;margin:0}html{background-color:var(--ink)}body:before{content:"";height:100vh;z-index:-1;pointer-events:none;background:linear-gradient(to bottom, transparent 70%, var(--ink-walnut)), radial-gradient(120% 90% at 50% 38%, var(--stage-green) 0%, var(--stage-deep) 45%, var(--ink) 80%);height:100lvh;position:fixed;top:0;left:0;right:0}html{scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0;display:none}html:not([data-opening=EXPERIENCE]){overflow:hidden}html:not([data-opening=EXPERIENCE]):not([data-opening=REVEALING]) #stage{transition:none;opacity:0!important}html[data-opening=REVEALING] #stage{transition:opacity .6s}body{-webkit-tap-highlight-color:transparent;overflow-x:hidden}#stage{z-index:var(--z-stage);width:100%;height:var(--app-height);opacity:0;transition:opacity 1.4s;display:block;position:fixed;top:0;left:0}#scroll-space{pointer-events:none;width:1px;position:relative}#stats{z-index:var(--z-stats);color:#cfe;white-space:pre;background:#0000008c;padding:6px 8px;font:11px/1.35 ui-monospace,monospace;display:none;position:fixed;top:8px;left:8px}body.fixed-size #stage{position:absolute}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}#stage:focus-visible{outline:1px solid var(--focus);outline-offset:-4px}main[data-near=true] #stage{cursor:grab}main[data-near=true] #stage:active{cursor:grabbing}.pressed-flower{display:block;overflow:visible}.pressed-flower .petal{fill:var(--butter);fill-opacity:.94}.pressed-flower .heart{fill:var(--butter-deep)}.fallback{z-index:var(--z-fallback);color:var(--ivory);background:var(--ink);font:18px/1.6 var(--font-text);text-align:center;place-content:center;padding:2rem;display:grid;position:fixed;inset:0}.fallback h1{font:300 var(--size-display)/1.1 var(--font-display)}.fallback button{font:inherit;color:inherit;border:1px solid var(--parchment);cursor:pointer;background:0 0;padding:.5rem 1rem}.fallback button:focus-visible{outline:1px solid var(--focus);outline-offset:3px}html:not([data-opening=EXPERIENCE]) .sound-toggle{visibility:hidden;opacity:0;animation:none}.sound-toggle{right:max(8px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));z-index:var(--z-sound);height:44px;color:var(--parchment);opacity:.7;cursor:pointer;transition:opacity var(--dur-soft) ease;animation:sound-in var(--dur-slow) ease .8s backwards;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;align-items:center;gap:8px;padding:0 2px 0 0;display:flex;position:fixed}.sound-disc{background:var(--disc);width:36px;height:36px;box-shadow:inset 0 0 0 1px var(--line-faint);transition:box-shadow var(--dur-quick) ease;border-radius:50%;place-items:center;display:grid}.sound-toggle[aria-pressed=true] .sound-disc{box-shadow:inset 0 0 0 1px #e2b43a99}.sound-toggle svg{width:18px;height:18px;overflow:visible}.sound-toggle .waves,.sound-toggle .mute{transition:opacity var(--dur-quick) ease}.sound-toggle[aria-pressed=false] .waves,.sound-toggle[aria-pressed=true] .mute{opacity:0}.sound-label{opacity:0;transition:opacity var(--dur-quick) ease;text-shadow:0 0 6px var(--ink)}.sound-toggle:hover .sound-label,.sound-toggle:focus-visible .sound-label{opacity:1}main[data-phase=REVEALING] .sound-toggle{opacity:.45}main[data-phase=READING] .sound-toggle{opacity:.32}main[data-phase=ENDING] .sound-toggle{opacity:.6}main .sound-toggle:hover,main .sound-toggle:focus-visible{opacity:.95}.sound-toggle:focus-visible{outline:none}.sound-toggle:focus-visible .sound-disc{outline:1px solid var(--focus);outline-offset:3px}@media (pointer:coarse){.sound-toggle{padding-right:4px}.sound-disc{background:#0b100c4d;width:40px;height:40px}.sound-label{display:none}}@keyframes sound-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){#stage{transition:none}.sound-toggle,.sound-toggle .waves,.sound-toggle .mute,.sound-label{transition:none;animation:none}}main{--ui-intro:1;--ui-hint:1;--ui-orn:1;--ui-note:0;--ui-attn:0;--tracker:0}.bloom-ui{height:var(--app-height);z-index:var(--z-ui);pointer-events:none;position:fixed;top:0;left:0;right:0}main[data-phase=LOADING] .bloom-ui,html:not([data-opening=EXPERIENCE]) .bloom-ui,main[data-intro=off] .ui-intro{visibility:hidden}.ui-enter{animation:ui-enter 1.2s var(--ease-unfurl) var(--d,0s) backwards paused}html[data-opening=EXPERIENCE] main:not([data-phase=LOADING]) .ui-enter{animation-play-state:running}.ui-eyebrow{--d:.2s}.ui-rule{--d:.35s}.ui-title{--d:.5s}.ui-hint{--d:1.1s}.ui-cue{--d:1.8s}@keyframes ui-enter{0%{opacity:0;translate:0 6px}}.ui-intro{left:0;right:0;top:max(28px, calc(env(safe-area-inset-top) + 16px));padding:0 max(var(--gutter-mobile), env(safe-area-inset-left));text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute}.ui-inscription{flex-direction:column;align-items:center;display:flex;position:relative}.ui-column{display:none}.ui-eyebrow{opacity:var(--ui-intro);margin:0}.ui-rule{width:var(--rule);background:var(--line-soft);height:1px;opacity:var(--ui-orn);margin:10px 0 12px;display:block}.ui-title{opacity:var(--ui-intro);transform:translateY(calc((1 - var(--ui-intro)) * -4px));filter:blur(calc((1 - var(--ui-intro)) * 2px));margin:0;font-size:clamp(1.875rem,8.4vw,2.25rem)}.ui-hint{opacity:calc(var(--ui-hint) * (.62 + .33 * var(--ui-attn)));letter-spacing:calc(.02em + .02em * var(--ui-attn));align-items:center;gap:8px;margin:10px 0 0;display:inline-flex}.ui-mark{width:11px;height:11px;opacity:var(--ui-orn);filter:drop-shadow(0 0 calc(1px + var(--ui-attn) * 6px) var(--butter-soft));flex:none}#hint{transition:opacity var(--dur-slow) ease;margin-top:10px}.ui-cue{font:400 var(--size-micro)/1 var(--font-text);letter-spacing:var(--track-micro);color:var(--ivory);transition:opacity var(--dur-soft) ease;flex-direction:column-reverse;align-items:center;gap:6px;font-variant-caps:all-small-caps;display:flex}main[data-cue=off] .ui-cue{opacity:0}.ui-cue i{background:linear-gradient(var(--line-faint), var(--gold));width:1px;height:22px;animation:2.8s ease-in-out infinite cue-thread;display:block;position:relative}.ui-cue i:after{content:"";background:var(--butter);width:5px;height:5px;animation:cue-dot 2.8s var(--ease-quiet) infinite;border-radius:50%;position:absolute;top:0;left:-2px}@keyframes cue-thread{0%,to{opacity:.55}60%{opacity:1}}@keyframes cue-dot{0%{opacity:0;transform:translateY(-2px)}25%{opacity:1}75%{opacity:1}to{opacity:0;transform:translateY(calc(100% + 15px))}}main[data-cue=off] .ui-cue i,main[data-cue=off] .ui-cue i:after{animation-play-state:paused}@media (max-aspect-ratio:6/5) and (max-height:699px){.ui-intro{top:max(18px, calc(env(safe-area-inset-top) + 10px))}.ui-eyebrow,.ui-rule{display:none}.ui-title{font-size:1.75rem}.ui-hint,#hint{margin-top:6px}.ui-cue i{height:14px}}@media (max-aspect-ratio:6/5) and (max-height:560px){#hint{display:none}}@media (max-aspect-ratio:6/5) and (min-width:600px) and (min-height:700px){.ui-intro{top:6vh}.ui-title{font-size:2.75rem}.ui-eyebrow{font-size:1.0625rem}}@media (min-aspect-ratio:6/5){.ui-intro{top:21vh;left:var(--edge);text-align:left;align-items:flex-start;width:min(26vw,480px);padding:0 0 0 22px;right:auto}.ui-inscription{align-items:flex-start}.ui-column{background:linear-gradient(transparent, var(--line-faint) 30%, var(--line-soft));width:1px;opacity:var(--ui-orn);display:block;position:absolute;top:-22px;bottom:.75em;left:-22px}.ui-sprig{fill:none;width:22px;height:37px;stroke:var(--gold);stroke-opacity:.55;stroke-width:.75px;position:absolute;top:46%;left:-11px;overflow:visible}.ui-rule{margin:12px 0 16px}.ui-title{font-size:var(--size-display)}.ui-hint{gap:16px;margin-top:18px;margin-left:-28px}.ui-mark{width:12px;height:12px}#hint{margin:30px 0 0 -22px}.ui-cue{flex-direction:row;align-items:flex-end;gap:12px}.ui-cue i{height:34px}}@media (min-aspect-ratio:6/5) and (max-height:520px){.ui-intro{top:12vh}.ui-eyebrow,.ui-rule{display:none}.ui-title{font-size:1.75rem}.ui-hint{margin-top:10px}#hint{display:none}}.ui-tracker{top:15%;bottom:15%;right:max(6px, env(safe-area-inset-right));pointer-events:auto;cursor:pointer;touch-action:none;opacity:.5;width:28px;transition:opacity var(--dur-soft) ease;animation:ui-tracker-in var(--dur-slow) var(--ease-unfurl) .4s backwards;-webkit-tap-highlight-color:transparent;position:absolute}.ui-tracker:hover,.ui-tracker:focus-visible,.ui-tracker[data-dragging]{opacity:1}.ui-tracker:focus-visible{outline:none}.ui-tracker:focus-visible .ui-tracker-track{box-shadow:0 0 0 1px var(--focus)}.ui-tracker-track{background:var(--line-faint);width:1px;position:absolute;top:0;bottom:0;right:13px}.ui-tracker-fill{background:linear-gradient(var(--line-soft), var(--gold));transform-origin:top;transform:scaleY(var(--tracker));position:absolute;inset:0}.ui-tracker-bud{left:50%;top:calc(var(--tracker) * 100%);background:var(--butter);width:7px;height:7px;box-shadow:0 0 0 2px #0b100c80, 0 0 7px var(--butter-soft);transition:transform var(--dur-quick) var(--ease-quiet), box-shadow var(--dur-soft) ease;border-radius:50%;margin:-3.5px 0 0 -3.5px;position:absolute}.ui-tracker:hover .ui-tracker-bud,.ui-tracker[data-dragging] .ui-tracker-bud{transform:scale(1.3)}main[data-phase=READING] .ui-tracker{opacity:.42}main[data-phase=ENDING] .ui-tracker{opacity:.8}main[data-phase=ENDING] .ui-tracker-bud{box-shadow:0 0 0 2px #0b100c80, 0 0 12px var(--butter-soft);transform:scale(1.25)}@keyframes ui-tracker-in{0%{opacity:0}}@media (min-aspect-ratio:6/5){.ui-tracker{right:clamp(14px,2.2vw,36px)}}@media (pointer:coarse){.ui-tracker{top:12%;bottom:40%;right:env(safe-area-inset-right,0px);opacity:.45;width:40px}.ui-tracker-track{background:#aa885033;border-radius:1px;width:2px;right:7px}.ui-tracker-bud{width:8px;height:8px;box-shadow:0 0 6px var(--butter-soft);margin:-4px 0 0 -4px;left:calc(100% - 8px)}.ui-title{filter:none}}.ui-note{opacity:calc(var(--ui-note) * .75);margin:0;display:none;position:absolute}@media (max-aspect-ratio:1/2) and (min-height:700px){.ui-note{left:0;right:0;bottom:max(64px, calc(env(safe-area-inset-bottom) + 52px));text-align:center;display:block}}@media (min-aspect-ratio:6/5){.ui-note{left:var(--edge);display:block;top:50%;transform:translateY(-50%)}}.ui-ending{left:50%;bottom:max(12px, calc(env(safe-area-inset-bottom) + 6px));text-align:center;visibility:hidden;justify-items:center;gap:6px;width:min(76vw,300px);transition:visibility 0s linear .6s;display:grid;position:absolute;transform:translate(-50%)}.ui-ending[data-active=true]{visibility:visible;transition-delay:0s}.ui-ending>*{opacity:0;margin:0;transition:opacity .6s,transform .6s;transform:translateY(4px)}.ui-ending[data-active=true]>*{opacity:1;transition:opacity .9s var(--ease-unfurl) var(--d), transform .9s var(--ease-unfurl) var(--d);transform:none}.ui-ending-mark{--d:.1s;width:12px;height:12px;filter:drop-shadow(0 0 5px var(--butter-soft))}.ui-ending-line{--d:.25s;font:300 1.3125rem/1.12 var(--font-display);color:var(--ivory);text-wrap:balance}.ui-ending-line em{font-style:italic}.ui-ending-accent{--d:.6s;font-size:1.625rem;line-height:1.1}.ui-restart{--d:1s;pointer-events:auto;min-height:40px;color:var(--parchment);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.ui-ending[data-active=true]>.ui-restart{opacity:.75}.ui-ending[data-active=true]>.ui-restart:hover,.ui-ending[data-active=true]>.ui-restart:focus-visible{opacity:1;color:var(--ivory)}.ui-restart svg{fill:none;stroke:currentColor;stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.ui-restart:focus-visible{outline:1px solid var(--focus);outline-offset:3px}.ui-ending{gap:4px;width:min(84vw,320px)}.ui-restart{min-height:34px}.ui-dusk{height:calc(210px + env(safe-area-inset-bottom));z-index:-1;pointer-events:none;opacity:0;transition:opacity .7s var(--ease-quiet);background:linear-gradient(#0b100c00 0%,#0b100c73 16%,#0b100cd6 35%,#0b100ce6 100%);position:absolute;bottom:0;left:0;right:0}main[data-phase=ENDING] .ui-dusk{opacity:1}@media (max-height:560px){.ui-ending-line{font-size:1.125rem}.ui-ending-accent{font-size:1.375rem}}@media (min-aspect-ratio:6/5){.ui-ending-line{display:block}.ui-ending{white-space:normal;left:var(--edge);width:clamp(150px, calc(22vw - var(--edge) - 8px), 340px);text-align:left;grid-auto-flow:row;justify-items:start;gap:10px;top:50%;bottom:auto;transform:translateY(-50%)}.ui-ending-line{font-size:var(--size-ending)}.ui-ending-accent{font-size:clamp(1.625rem,2.2vw,2.25rem)}.ui-restart{margin-left:-12px}.ui-dusk{display:none}}@media (prefers-contrast:more){:root{--line-faint:var(--line-soft)}.ui-hint{opacity:calc(var(--ui-hint) * .95)}}@media (prefers-reduced-motion:reduce){.ui-enter,.ui-tracker{animation:none}.ui-tracker-bud{transition:none}.ui-title{filter:none;transform:none}.ui-cue i,.ui-cue i:after{animation:none}.ui-cue i:after{display:none}.ui-ending>*,.ui-ending[data-active=true]>*{transition-property:opacity;transform:none}}.opening{height:var(--app-height);z-index:var(--z-opening);color:var(--ivory);background:radial-gradient(110% 80% at 50% 42%, #10150a 0%, var(--ink) 70%), var(--ink);transition:opacity .9s var(--ease-quiet);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:fixed;top:0;left:0;right:0}.opening[data-state^=INTRO],.opening[data-state=READY]{cursor:pointer}.opening[data-state=REVEALING]{opacity:0;pointer-events:none}.opening-load{transition:opacity .45s var(--ease-quiet);justify-items:center;gap:16px;display:grid}.opening:not([data-state=BOOT]):not([data-state=LOADING]) .opening-load{opacity:0;visibility:hidden;transition:opacity .45s var(--ease-quiet), visibility 0s linear .45s}.opening-load-label{font:italic 400 var(--size-small)/1.5 var(--font-text);letter-spacing:.04em;color:var(--parchment);margin:0}.opening-load-track{background:var(--line-faint);width:min(220px,56vw);height:1px;position:relative;overflow:hidden}.opening-load-track i{background:linear-gradient(90deg, var(--gold), var(--butter));transform-origin:0;transform:scaleX(var(--load,0));position:absolute;inset:0}.opening-load-pct{font:400 var(--size-micro)/1 var(--font-text);font-variant-numeric:tabular-nums;letter-spacing:.12em;color:var(--parchment);opacity:.7}.opening-ready{text-align:center;animation:opening-in .6s var(--ease-unfurl) both;place-content:center;justify-items:center;gap:14px;display:grid;position:absolute;inset:0}.opening-ready-label{font:italic 400 var(--size-small)/1.5 var(--font-text);letter-spacing:.04em;color:var(--parchment);margin:0}.opening-ready .opening-begin{font-size:var(--size-small);animation-delay:.25s}.opening-ready-note{font:400 var(--size-micro)/1 var(--font-text);letter-spacing:var(--track-micro);color:var(--parchment);opacity:0;margin:0;font-variant-caps:all-small-caps;animation:.8s .7s forwards opening-hint}.opening-message{padding:0 max(28px, env(safe-area-inset-left));text-align:center;animation:opening-in .65s var(--ease-unfurl) both;place-content:center;justify-items:center;gap:30px;display:grid;position:absolute;inset:0}.opening[data-leaving=true] .opening-message{animation:opening-out .38s var(--ease-quiet) forwards}@keyframes opening-in{0%{opacity:0;transform:translateY(8px)}}@keyframes opening-out{to{opacity:0;transform:translateY(-8px)}}.opening-line{max-width:17em;font:300 clamp(1.75rem, 4.4vw, 3.1rem)/1.22 var(--font-display);letter-spacing:-.005em;color:var(--ivory);text-wrap:balance;margin:0}.opening-line span{display:block}.opening-em{font-style:italic}.opening-surprise{justify-items:center;gap:12px;margin:0;display:grid}.opening-surprise span:first-child{font:400 var(--size-micro)/1 var(--font-text);letter-spacing:.26em;color:var(--butter);font-variant-caps:all-small-caps}.opening-surprise span:last-child{font:italic 300 clamp(2rem, 5vw, 3.4rem)/1.1 var(--font-display);color:var(--ivory)}.opening-surprise-mark{background:linear-gradient(var(--line-faint), var(--gold));width:1px;height:38px}.opening-next{cursor:pointer;min-height:44px;font:400 var(--size-micro)/1 var(--font-text);letter-spacing:var(--track-micro);color:var(--parchment);opacity:0;background:0 0;border:0;align-items:center;gap:10px;padding:8px 16px;font-variant-caps:all-small-caps;animation:.8s .9s forwards opening-hint;display:inline-flex}.opening-next:focus{outline:none}.opening[data-keyboard=true] .opening-next:focus-visible{outline:1px solid var(--focus);outline-offset:2px}@keyframes opening-hint{to{opacity:.72}}.opening-dot{background:var(--butter);width:5px;height:5px;box-shadow:0 0 6px var(--butter-soft);border-radius:50%;animation:2.4s ease-in-out infinite opening-dot}.opening-message[data-surprise=true] .opening-next{margin-top:-18px}.opening-message[data-surprise=true] .opening-dot{width:6px;height:6px}@keyframes opening-dot{0%,to{opacity:.45}50%{opacity:1}}@media (max-aspect-ratio:6/5){.opening-line{font-size:clamp(1.6rem,7.2vw,2.3rem)}.opening-message{gap:26px}}@media (prefers-reduced-motion:reduce){@keyframes opening-in{0%{opacity:0}}@keyframes opening-out{to{opacity:0}}.opening-dot{opacity:.9;animation:none}.opening-next{animation-delay:.2s}}
