:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f8efdc;--ink-dim:#f8efdc94;--ink-whisper:#f8efdc57;--serif-display:"Fraunces", "Iowan Old Style", Georgia, serif;--serif-body:"Cormorant Garamond", "Iowan Old Style", Georgia, serif}*{box-sizing:border-box}html,body{height:100%;font-family:var(--serif-body);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;touch-action:none;overscroll-behavior:none;background:#000;margin:0;overflow:hidden}canvas#scene{width:100vw;height:100vh;touch-action:none;cursor:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;height:100dvh;display:block}.intro{text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(14px)saturate(1.05)brightness(.92);background-color:#00000038;background-image:radial-gradient(at 50% 62%,#0000000f 20%,#0000002e 80%);place-content:center;gap:.85rem;transition:opacity 2.4s,-webkit-backdrop-filter .9s,backdrop-filter .9s,background-color .9s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.intro.touched{-webkit-backdrop-filter:blur(6px)saturate(1.03)brightness(.96);background-color:#00000024}.intro h1{font-family:var(--serif-display);font-variation-settings:"opsz" 144, "SOFT" 60, "WONK" 1;letter-spacing:.005em;color:var(--ink);text-shadow:0 2px 28px #0000008c,0 0 60px #ffdca024;font-feature-settings:"liga", "clig", "calt", "dlig", "swsh";margin:0;font-size:clamp(2.8rem,8.2vw,5.4rem);font-style:italic;font-weight:350;line-height:1.02;animation:7.5s ease-in-out infinite breathe}.intro h1 em{color:#fffaf0;text-shadow:0 0 14px #ffe4b68c,0 2px 28px #0000008c;font-style:normal;font-weight:400}.intro p{font-family:var(--serif-display);opacity:.8;letter-spacing:.01em;text-shadow:0 2px 14px #00000080;margin:0;font-size:clamp(1rem,1.55vw,1.22rem);font-style:italic;font-weight:300}.intro .cue{will-change:opacity, filter, transform}.intro .cue.swap{animation:.9s both cueSwap}@keyframes cueSwap{0%{opacity:.8;filter:blur();transform:translateY(0)}45%{opacity:0;filter:blur(5px);transform:translateY(-5px)}46%{opacity:0;filter:blur(5px);transform:translateY(5px)}to{opacity:.8;filter:blur();transform:translateY(0)}}.intro .hint{opacity:0;font-family:var(--serif-body);letter-spacing:.38em;text-transform:uppercase;color:var(--ink);text-shadow:0 2px 14px #000000d1,0 0 36px #0000008c,0 1px 2px #0009;filter:blur(3px);min-height:1.2em;margin-top:.7rem;font-size:clamp(.78rem,1.05vw,.92rem);font-style:normal;font-weight:500;transition:opacity 1.4s,letter-spacing 1.4s,filter 1.4s,transform 1.4s;transform:translateY(6px)}.intro .hint.show{opacity:.92;letter-spacing:.22em;filter:blur();transform:translateY(0)}.intro.fade{opacity:0;-webkit-backdrop-filter:blur()brightness();background-color:#0000}.pulse{pointer-events:none;opacity:0;width:72px;height:72px;transition:opacity 1.4s;position:fixed;top:64%;left:50%;transform:translate(-50%,-50%)}.pulse.show{opacity:.78}.pulse.hide{opacity:0}.pulse span{transform-origin:50%;border:1.3px solid #f8efdc8c;border-radius:50%;animation:2.6s ease-out infinite pulseRing;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:inset 0 0 22px #ffe4b62e,0 0 18px #ffe4b614}.pulse:after{content:"";background:#f8efdce6;border-radius:50%;width:7px;height:7px;animation:3.2s ease-in-out infinite beaconBreath;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1);box-shadow:0 0 16px #ffe4b680}@keyframes pulseRing{0%{opacity:0;transform:scale(.38)}24%{opacity:.85}to{opacity:0;transform:scale(1.28)}}@keyframes beaconBreath{0%,to{opacity:.9;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.35)}}@media (prefers-reduced-motion:reduce){.pulse span{opacity:.6;animation:none;transform:scale(1)}.pulse:after{animation:none}.intro .cue.swap{opacity:0;transition:opacity .3s;animation:none}.intro .hint{filter:none;letter-spacing:.22em;transition:opacity .6s;transform:none}.intro .hint.show{filter:none;letter-spacing:.22em;transform:none}.intro{-webkit-backdrop-filter:blur(6px);transition:opacity 1.2s}.intro.touched,.intro.fade{-webkit-backdrop-filter:blur()}}@keyframes breathe{0%,to{filter:brightness();transform:translateY(0)scale(1)}50%{filter:brightness(1.07);transform:translateY(-3px)scale(1.008)}}.hud{text-align:center;font-family:var(--serif-display);color:var(--ink);opacity:0;letter-spacing:.04em;text-shadow:0 2px 14px #0000008c,0 0 30px #ffdca01f;pointer-events:none;font-size:clamp(1.05rem,1.65vw,1.32rem);font-style:italic;font-weight:300;transition:opacity 2.2s,transform 2.2s,letter-spacing 2.2s;position:fixed;bottom:4.4rem;left:0;right:0;transform:translateY(12px)}.hud.show{opacity:.88;letter-spacing:.02em;transform:translateY(0)}.sound{right:calc(1.1rem + env(safe-area-inset-right,0px));bottom:calc(1rem + env(safe-area-inset-bottom,0px));color:var(--ink-dim);min-width:44px;min-height:44px;font:400 .66rem/1 var(--serif-body);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;text-shadow:0 1px 6px #0000008c;-webkit-tap-highlight-color:transparent;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:none;align-items:center;gap:.42rem;padding:.35rem .5rem;transition:color .6s,opacity .6s,letter-spacing .6s;display:flex;position:fixed}.sound:hover{color:var(--ink);letter-spacing:.26em}.sound:focus-visible{outline-offset:4px;color:var(--ink);border-radius:2px;outline:1px dotted #f4ecd873}.sound .icon{opacity:.75;justify-content:center;align-items:center;width:.95rem;height:.95rem;transition:opacity .5s;display:inline-flex}.sound .icon svg{width:100%;height:100%;display:block;overflow:visible}.sound .icon .icon-off,.sound[data-state=off] .icon .icon-on{display:none}.sound[data-state=off] .icon .icon-off{display:block}.sound .label{letter-spacing:inherit}.sound[data-state=playing] .icon{animation:3.8s ease-in-out infinite sound-breath}.sound[data-state=off]{color:#f4ecd866}.sound[data-state=off] .icon{opacity:.5}@keyframes sound-breath{0%,to{opacity:.55}50%{opacity:1}}.cursor{pointer-events:none;opacity:0;width:22px;height:22px;translate:var(--x,-100px) var(--y,-100px);z-index:5;will-change:translate, opacity;background:#f8efdc73;border-radius:50%;margin:-11px 0 0 -11px;transition:scale .18s,opacity .5s,background-color .3s;position:fixed;top:0;left:0;scale:1}.cursor.show{opacity:.85}.cursor.press{background:#f8efdc99;scale:.78}@media (hover:none),(pointer:coarse){.cursor{display:none}}@media (prefers-reduced-motion:reduce){.cursor{transition:opacity .3s}}.credit{left:calc(1.3rem + env(safe-area-inset-left,0px));bottom:calc(1.15rem + env(safe-area-inset-bottom,0px));font-family:var(--serif-display);opacity:.48;letter-spacing:.02em;color:var(--ink);pointer-events:none;text-shadow:0 1px 8px #000000a6;font-size:.82rem;font-style:italic;font-weight:300;position:fixed}.credit:before{content:"—";opacity:.55}.credit .sep{opacity:.55}.credit .by{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;color:inherit;border-bottom:1px dotted #f4ecd847;text-decoration:none;transition:color .5s,border-color .5s,opacity .5s}.credit .by:hover{color:var(--ink);border-bottom-color:#f4ecd899;outline:none}.credit .by:focus-visible{color:var(--ink);border-bottom-color:#f4ecd899;outline:none}.fallback{text-align:center;color:#f4ecd8;background:#1a1a22;justify-content:center;align-items:center;padding:2rem;display:none;position:fixed;top:0;bottom:0;left:0;right:0}body.no-webgl .fallback{display:flex}body.no-webgl canvas,body.no-webgl .intro,body.no-webgl .hud,body.no-webgl .sound,body.no-webgl .credit{display:none}@media (max-width:600px){.sound{right:calc(.75rem + env(safe-area-inset-right,0px));bottom:calc(.65rem + env(safe-area-inset-bottom,0px));font-size:.58rem}.credit{left:calc(.8rem + env(safe-area-inset-left,0px));bottom:calc(.7rem + env(safe-area-inset-bottom,0px));letter-spacing:.04em;font-size:.62rem}.credit:before{content:none}.credit .full{display:none}.hud{bottom:calc(3.6rem + env(safe-area-inset-bottom,0px))}}
