:root{--forest:#1e2a1b;--parchment:#efe6cf;--ochre:#c4a26a;--glow:#fbf3de;--night:#0b1c22;--deep:#10302d;--dusk:#3c5a6b;--gold:#c9a66b;--gold-deep:#9c6d27;--cream:#f3ead8;--cream-dim:#f3ead8b8;--thread:#c0392b;--speck:#6f9c8c;--font-display:"Fraunces", Georgia, serif;--font-story:"Fraunces", Georgia, serif;--font-caps:"Fraunces", Georgia, serif;--font-button:"Josefin Sans", "Helvetica Neue", Arial, sans-serif;--font-title:"Londrina Solid", "Arial Rounded MT Bold", sans-serif;--radius:min(36vmin, 290px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--night);height:100%;color:var(--cream);font-family:var(--font-story);font-variation-settings:"SOFT" 100, "WONK" 1;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-weight:300;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:1.5px dashed var(--gold);outline-offset:6px}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}#world{position:fixed;inset:0;overflow:hidden}.sky{background:radial-gradient(60% 45% at 50% 38%,#e9bd6a29,#0000 70%),linear-gradient(#0a1a24 0%,#123036 45%,#16362f 100%);position:absolute;inset:0}.moon{aspect-ratio:1;filter:drop-shadow(0 0 18px #f0a93e73)drop-shadow(0 0 60px #f0a93e2e);width:clamp(64px,9vmin,108px);animation:9s ease-in-out infinite alternate rock;position:absolute;top:max(18px,5vh);left:max(20px,7vw);rotate:-10deg}.moon svg{width:100%;height:100%;display:block;overflow:visible}@keyframes rock{0%{translate:0;rotate:-14deg}to{translate:0 6px;rotate:-4deg}}.layer{position:absolute;inset:-50px -60px -20px}.layer svg{width:100%;height:100%;display:block}.lantern{animation:6s ease-in-out infinite alternate sway}.lantern:nth-of-type(2n){animation-duration:7.5s;animation-delay:-3s}@keyframes sway{0%{rotate:-1.6deg}to{rotate:1.6deg}}#fireflies{pointer-events:none;position:absolute;inset:0}#fireflies i{opacity:.2;background:#fff3c4;border-radius:50%;width:5px;height:5px;position:absolute;box-shadow:0 0 10px 3px #f6d58ccc}.veil{opacity:0;background:radial-gradient(#0814188c,#081418d9);transition:opacity 2.5s;position:absolute;inset:0}.entered .veil{opacity:1}.shroud{opacity:.93;background:#050d10;transition:opacity 3s;position:absolute;inset:0}.entered .shroud{opacity:0}.grain{opacity:.14;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:1s steps(4,end) infinite grain;position:absolute;inset:-50%}@keyframes grain{0%{translate:0}25%{translate:-3% 2%}50%{translate:2% -3%}75%{translate:-2% -1%}}#mute{z-index:20;top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:44px;height:44px;color:var(--gold);background:#0b1c228c;border:1px solid #e9bd6a80;border-radius:50%;place-items:center;transition:border-color .3s,background .3s;display:grid;position:fixed}#mute:hover{border-color:var(--gold);background:#0b1c22cc}#mute svg{width:22px;height:22px}#stage{z-index:10;position:fixed;inset:0}.scene{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2rem;padding:72px 16px 40px;display:flex;position:absolute;inset:0}.narration{max-width:min(34em,50vw);color:var(--cream);text-shadow:0 2px 18px #0009;text-wrap:pretty;cursor:default;margin:0;font-size:clamp(.96rem,.8rem + .88vw,1.4rem);font-style:italic;font-weight:300;line-height:1.55}.narration.small{color:var(--cream-dim);font-size:clamp(.88rem,.76rem + .64vw,1.12rem);font-style:italic}.narration .para{display:block}.narration .para+.para{margin-top:.75em}.narration .w{white-space:nowrap;display:inline-block}.narration .c{display:inline-block}.next{font-family:var(--font-button);font-variation-settings:normal;text-transform:uppercase;letter-spacing:.32em;color:var(--glow);text-shadow:0 0 10px #ffecc473,0 1px 12px #0a0e0899;background:0 0;border:0;padding:1em .4em 1.1em .72em;font-size:clamp(.74rem,.7rem + .2vw,.86rem);font-weight:600;line-height:1;transition:color .4s,text-shadow .4s;position:relative}.next:after{content:"";background:var(--gold);opacity:.8;width:2.4em;height:1px;transition:width .5s cubic-bezier(.22,1,.36,1),opacity .4s;position:absolute;bottom:.35em;left:50%;translate:-50%}.next:hover,.next:focus-visible{text-shadow:0 0 6px #fff6dee6,0 0 22px #ffe6b499}.next:hover:after,.next:focus-visible:after{opacity:1;width:calc(100% - .4em)}.next.quiet{color:var(--cream-dim);text-shadow:0 1px 12px #0a0e0899;font-weight:400}.next.quiet:after{opacity:.35}#mirror{aspect-ratio:3/4;filter:drop-shadow(0 20px 40px #0000008c);width:min(58vmin,340px);transition:filter .6s}#mirror svg{width:100%;height:100%;overflow:visible}#mirror .halo{fill:var(--gold);opacity:.1;filter:blur(18px);transition:opacity .6s}#mirror:hover,#mirror:focus-visible{filter:drop-shadow(0 0 40px #e9bd6a80)}#mirror:hover .halo{opacity:.35}#mirror .rim{stroke:var(--gold);stroke-width:1.5px;vector-effect:non-scaling-stroke}#mirror .inscription{font-family:var(--font-caps);fill:#0e2329;paint-order:stroke;stroke:#e8f4ef8c;stroke-width:3px;font-size:17.6px;font-style:italic;font-weight:400;transition:fill .5s}#mirror:hover .inscription{fill:#6b4a17}#scene-things{gap:0}.things-center{z-index:1;pointer-events:none;width:min(60vmin,360px);position:relative}.question{font-family:var(--font-display);font-variation-settings:"SOFT" 100, "WONK" 1;color:var(--gold);text-shadow:0 0 30px #e9bd6a59;margin:0;font-size:clamp(1.28rem,.88rem + 1.92vw,2.24rem);font-style:italic;font-weight:300;line-height:1.1}.meaning{max-width:17em;min-height:3.2em;color:var(--cream-dim);margin:.8rem auto 0;font-size:clamp(.8rem,.72rem + .4vw,1rem);font-style:italic}.things{--spin:0deg;width:0;height:0;margin:0;padding:0;list-style:none;position:absolute;top:50%;left:50%}.things li{--k:0;transform:rotate(var(--angle)) translateY(calc(var(--k) * var(--radius) * -1)) rotate(calc(-1 * var(--angle) - var(--spin)));position:absolute;top:0;left:0}.things button{width:clamp(64px,14vmin,104px);color:var(--cream);flex-direction:column;align-items:center;gap:.2rem;transition:color .3s,filter .3s;display:flex;translate:-50% -50%}.things button svg{aspect-ratio:1;width:100%;transition:transform .5s cubic-bezier(.34,1.56,.64,1),filter .4s;overflow:visible}.things button span{font-family:var(--font-caps);text-transform:uppercase;letter-spacing:.16em;color:var(--cream-dim);font-size:.66rem;font-weight:400}.things button:hover,.things button:focus-visible,.things button.armed{color:var(--gold)}.things button:hover svg,.things button:focus-visible svg,.things button.armed svg{filter:saturate(.45)sepia(.25)brightness(.98)contrast(1.05)drop-shadow(0 0 14px #e9bd6a8c);transform:scale(1.12)rotate(-5deg)translateY(-3px)}@media (width<=760px){.narration{max-width:100%}}@media (width<=520px){:root{--radius:min(41vw, 190px)}.things-center{width:50vw}.question{font-size:1.08rem}.meaning{font-size:.74rem}.things button{width:62px}.things button span{font-size:.56rem}#mirror .rim{stroke:var(--gold);stroke-width:1.5px;vector-effect:non-scaling-stroke}#mirror .inscription{font-size:21px}}.chosen{width:clamp(120px,24vmin,190px);color:var(--gold);filter:drop-shadow(0 0 20px #e9bd6a99)}.chosen svg{width:100%}.choices{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;display:flex}.map-rose{width:clamp(140px,28vmin,220px)}.map-rose svg{width:100%;overflow:visible}.thread{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}#scene-thread{justify-content:flex-start;padding-top:max(72px,11vh)}.spool-wrap{flex-direction:column;align-items:center;gap:.4rem;display:flex;position:absolute;bottom:max(24px,5vh);left:50%;translate:-50%}.spool{touch-action:none;cursor:grab;filter:drop-shadow(0 12px 18px #0009)drop-shadow(0 0 22px #ff2a1f40);width:clamp(96px,13vmin,140px);transition:filter .4s}.spool:hover,.spool:focus-visible{filter:drop-shadow(0 12px 18px #0009)drop-shadow(0 0 30px #ff2a1f8c)}.spool:active{cursor:grabbing}.spool svg{width:100%;display:block}.pull-hint{color:var(--cream-dim);text-shadow:0 2px 12px #000c;margin:0;font-size:.84rem;font-style:italic}.fairy{z-index:15;background:radial-gradient(circle,#fffbe6 0 3px,#ffecaacc 5px,#f6d58c00 70%);border-radius:50%;width:36px;height:36px;position:fixed}.fairy i{background:#dcf0ff73;border-radius:50%;width:10px;height:14px;animation:80ms linear infinite alternate flutter;position:absolute;top:8px}.fairy i:first-child{transform-origin:100% 100%;left:5px}.fairy i:last-child{transform-origin:0 100%;right:5px}@keyframes flutter{to{scale:1 .4}}.giggle{z-index:16;pointer-events:none;font-family:var(--font-display);color:#fff3c4;text-shadow:0 0 10px #f6d58ce6;white-space:nowrap;font-size:.88rem;font-style:italic;position:fixed}#scene-act2 .title{font-family:var(--font-display);font-variation-settings:"SOFT" 100, "WONK" 1;color:var(--gold);margin:0;font-size:clamp(1.76rem,1.12rem + 3.2vw,3.6rem);font-style:italic;font-weight:300}.thread .hit{pointer-events:stroke;cursor:pointer}.pixie{z-index:18;pointer-events:none;filter:drop-shadow(0 0 14px #ffe7a3e6);width:64px;height:64px;position:fixed;top:0;left:0}.pixie svg{width:100%;height:100%;overflow:visible}.pixie-dust{z-index:17;pointer-events:none;background:#fff6cf;border-radius:50%;width:4px;height:4px;position:fixed;top:0;left:0;box-shadow:0 0 8px 2px #ffe296e6}.telescope{z-index:8;pointer-events:none;background:radial-gradient(circle at var(--x,50%) var(--y,50%), transparent calc(var(--r,0vmin) - 6vmin), #966e9647 calc(var(--r,0vmin) - 1.5vmin), #140a16eb calc(var(--r,0vmin) + 1.5vmin), #000 calc(var(--r,0vmin) + 5vmin));position:fixed;inset:0}.telescope.gilded{background:radial-gradient(circle at var(--x,50%) var(--y,50%), transparent calc(var(--r,0vmin) - 3.5vmin), #e9bd6a42 calc(var(--r,0vmin) - .8vmin), #281a08f0 calc(var(--r,0vmin) + 2vmin), #000 calc(var(--r,0vmin) + 5vmin))}.telescope:before,.telescope:after{content:"";left:var(--x,50%);top:var(--y,50%);width:calc(var(--r,0vmin) * 2 + 6vmin);aspect-ratio:1;opacity:0;border-radius:50%;transition:opacity 2s;position:absolute;translate:-50% -50%}.telescope.gilded:before{opacity:1;border:1.5px solid #e9bd6a99;animation:3.2s ease-in-out infinite alternate gild;box-shadow:0 0 28px 6px #e9bd6a59,inset 0 0 28px 4px #e9bd6a40}.telescope.gilded:after{opacity:1;width:calc(var(--r,0vmin) * 2 + 16vmin);border:1px dashed #e9bd6a59;animation:60s linear infinite spin}@keyframes gild{0%{box-shadow:0 0 18px 3px #e9bd6a40,inset 0 0 18px 2px #e9bd6a2e}to{box-shadow:0 0 36px 9px #e9bd6a73,inset 0 0 34px 6px #e9bd6a4d}}@keyframes spin{to{rotate:360deg}}.pixie-aura{z-index:17;opacity:0;pointer-events:none;mix-blend-mode:screen;width:360px;height:360px;position:fixed;top:0;left:0}.pixie-aura svg{width:100%;height:100%;overflow:visible}.flash{z-index:40;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 55%,#fffdf2 0%,#ffe9b3 35%,#ffd68c99 70%,#ffc87833 100%);position:fixed;inset:0}.fairy-space .shroud{background:radial-gradient(circle at 50% 38%,#2b2140 0%,#120d1d 55%,#050408 100%)}#scene-fairy{justify-content:flex-start;gap:1.4rem;padding-top:52vh}.steps{flex-direction:column;align-items:center;gap:.9rem;display:flex}.steps-label{color:#efe6f3;text-shadow:0 2px 18px #0009;margin:0;font-size:clamp(.96rem,.8rem + .88vw,1.4rem);font-style:italic}.dots{gap:12px;display:flex}.dots i{border:1px solid var(--gold);border-radius:50%;width:9px;height:9px;transition:background .4s,box-shadow .4s}.dots i.taken{background:var(--gold);box-shadow:0 0 12px #e9bd6acc}.in-between .sky{background:radial-gradient(60% 45% at 50% 38%,#d6b4d624,#0000 70%),linear-gradient(#17131f 0%,#2d2638 45%,#3a3044 100%)}.in-between .moon{filter:saturate(.35)brightness(1.05)drop-shadow(0 0 18px #d6c4e873)}.in-between #fireflies i{background:#f1e9f7;box-shadow:0 0 10px 3px #d6c4e8b3}.in-between .veil{background:radial-gradient(#140e1a59,#140e1abf)}.in-between #scene-act2 .title{color:#e2d3ec}.voice{visibility:hidden;opacity:0;align-items:center;gap:4px;height:18px;display:flex}.voice i{background:var(--gold);transform-origin:50%;border-radius:2px;width:2px;height:100%;animation:1.1s ease-in-out infinite speak;box-shadow:0 0 8px #e9bd6ab3}.voice i:nth-child(2){animation-delay:-.3s}.voice i:nth-child(3){animation-delay:-.7s}.voice i:nth-child(4){animation-delay:-.15s}.voice i:nth-child(5){animation-delay:-.5s}@keyframes speak{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}.caption{color:#efe6f3;text-shadow:0 2px 18px #0009;text-wrap:balance;max-width:min(30em,50vw);min-height:3.2em;margin:0;font-size:clamp(.96rem,.8rem + .88vw,1.4rem);font-style:italic;line-height:1.55}@media (width<=760px){.caption{max-width:100%}}.reflect{flex-direction:column;align-items:center;gap:1.2rem;width:min(30em,50vw);display:flex}@media (width<=760px){.reflect{width:100%}}.reflect-question{color:#efe6f3;text-shadow:0 2px 18px #0009;font-size:clamp(.96rem,.8rem + .88vw,1.4rem);font-style:italic;line-height:1.5}.reflect textarea{resize:none;width:100%;color:var(--cream);font:inherit;text-align:center;background:0 0;border:0;border-bottom:1px solid #e9bd6a99;border-radius:0;padding:.4em .2em;font-size:1rem;font-style:italic;line-height:1.6}.reflect textarea::placeholder{color:#f3ead866}.reflect textarea:focus{border-bottom-color:var(--gold);outline:none}.audio-note{color:var(--cream-dim);opacity:.8;margin-top:-1rem;font-size:.8rem;font-style:italic}.audio-note:hover{color:var(--cream)}@media (prefers-reduced-motion:reduce){.lantern,.moon,.voice i,.telescope:before,.telescope:after,.grain,.fairy i{animation:none}.veil,.shroud{transition:none}}#photos{--dim:0;z-index:1;background:var(--forest);transition:opacity 1.6s;position:fixed;inset:0;overflow:hidden}#photos .shot{opacity:0;filter:saturate(.8)contrast(1.06)brightness(.92)sepia(.14);background:50%/cover no-repeat;position:absolute;inset:-3%}#photos .film-lift{mix-blend-mode:lighten;background:#282e1e29;position:absolute;inset:0}#photos .film-leak{mix-blend-mode:screen;opacity:.26;background:radial-gradient(60% 45% at 104% 8%,#ffb36b 0%,#ff8c4666 35%,#0000 70%),radial-gradient(40% 30% at -4% 96%,#ff9a5c 0%,#0000 70%);position:absolute;inset:0}#photos .film-vignette{background:radial-gradient(78% 74%,#0000 50%,#0a0e0899 100%);position:absolute;inset:0}#photos .film-grain{opacity:.24;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:1s steps(4,end) infinite grain;position:absolute;inset:-50%}#photos:after{content:"";background:rgba(10, 14, 8, var(--dim));pointer-events:none;position:absolute;inset:0}.full-piece #photos{opacity:0;pointer-events:none}.glow-title{font-family:var(--font-title);font-variation-settings:normal;text-transform:uppercase;letter-spacing:.05em;color:var(--glow);text-wrap:balance;text-shadow:0 0 4px #fff6dee6,0 0 16px #ffecc48c,0 0 42px #ffe2aa59,0 2px 24px #0a0e0880;margin:0;font-weight:400;line-height:.95}#scene-opening{justify-content:flex-start;gap:2rem;padding-top:34vh}@media (aspect-ratio<=1){#scene-opening{padding-top:22vh}}#scene-opening .glow-title{max-width:14ch;font-size:clamp(28px,4.2vw,62px)}#scene-things .question.glow-title{font-family:var(--font-title);color:var(--glow);font-size:clamp(30px,3.4vw,50px);font-style:normal;font-weight:400}#scene-things .prompt{color:var(--parchment);text-shadow:0 2px 14px #000000b3;margin:.7rem auto 0;font-size:clamp(.9rem,.8rem + .4vw,1.1rem);font-style:italic}.meaning-card{border-top:1px solid #c9a66b00;justify-items:center;gap:.35rem;max-width:17em;min-height:4.6em;margin:2.2rem auto 0;padding-top:1rem;transition:border-color .5s;display:grid}.meaning-card.on{border-top-color:#c9a66b8c}.meaning-name{font-family:var(--font-button);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);text-shadow:0 1px 10px #000000b3;font-size:.72rem;font-weight:600}.meaning-card .meaning{min-height:0;color:var(--parchment);text-shadow:0 2px 14px #000c;margin:0;font-size:clamp(.92rem,.82rem + .4vw,1.1rem)}.things button svg,.chosen svg{filter:saturate(.45)sepia(.25)brightness(.92)contrast(1.05)}.name-form input{width:min(16em,100%);color:var(--parchment);font:inherit;text-align:center;text-shadow:0 1px 10px #0009;background:0 0;border:0;border-bottom:1px solid #c9a66bb3;padding:.3em .2em;font-size:1.3rem;font-style:italic}.name-form input::placeholder{color:#efe6cf73}.name-form input:focus{border-bottom-color:var(--glow);outline:none}#scene-ask{gap:1.6rem}#scene-ask .chosen{width:clamp(90px,14vmin,130px)}.answer-form{flex-direction:column;align-items:center;gap:1.3rem;width:min(32em,50vw);display:flex}.answer-form .ask-question{font-size:clamp(30px,3.6vw,54px)}.answer-form textarea{resize:none;width:100%;color:var(--parchment);font:inherit;text-align:center;text-shadow:0 1px 10px #0009;background:0 0;border:0;border-bottom:1px solid #c9a66bb3;border-radius:0;padding:.4em .2em;font-size:1.05rem;font-style:italic;line-height:1.6}.answer-form textarea::placeholder{color:#efe6cf73}.answer-form textarea:focus{border-bottom-color:var(--glow);outline:none}.answer-note{color:var(--cream-dim);margin:-.4rem 0 0;font-size:.78rem;font-style:italic}.ask-dots{gap:12px;display:flex}.ask-dots i{border:1px solid var(--gold);border-radius:50%;width:8px;height:8px;transition:background .4s,box-shadow .4s}.ask-dots i.now{border-color:var(--glow);box-shadow:0 0 10px #fbf3de99}.ask-dots i.taken{background:var(--gold)}@media (width<=760px){.answer-form{width:100%}}#scene-closing .narration{font-size:clamp(1.05rem,.85rem + .95vw,1.55rem)}.see-you{font-family:var(--font-button);letter-spacing:.28em;text-transform:uppercase;color:var(--glow);text-shadow:0 0 10px #ffecc480;margin:.4rem 0 0;font-size:.82rem}#key{z-index:20;left:max(16px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));width:40px;height:40px;color:var(--gold);opacity:.35;place-items:center;transition:opacity .4s,filter .4s;display:grid;position:fixed}#key:hover,#key:focus-visible{opacity:1;filter:drop-shadow(0 0 8px #e9bd6a99)}#key svg{width:24px;height:24px}.full-piece #key{display:none}#photos[data-photo=portal] .shot{filter:saturate(.82)contrast(1.08)brightness(.9)sepia(.16)blur(.6px)}#photos .film-grain{transition:opacity 1.6s}#photos[data-photo=portal] .film-grain{opacity:.42;background-size:220px 220px}#photos[data-photo=portal]:before{content:"";z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.22;background:radial-gradient(55% 45% at 50% 42%,#fff4d699,#0000 70%);position:absolute;inset:0}@media (width<=520px){#scene-things .question.glow-title{font-size:22px}#scene-things .prompt{font-size:.8rem}}
