@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/caveat-latin-400-normal.woff)format("woff")}:root{--paper:#f3efe6;--ink:#3a3a3c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.stage{z-index:0;position:fixed;inset:0}.scroll{z-index:1;pointer-events:none;height:1000vh;position:relative}.intro{z-index:2;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:0 24px;display:flex;position:fixed;inset:0}.intro-kicker{font-variant:small-caps;letter-spacing:.18em;text-transform:lowercase;opacity:.65;margin:0 0 .6rem;font-size:clamp(.72rem,.65rem + .3vw,.85rem)}.intro-title{letter-spacing:-.035em;margin:0;font-size:clamp(3rem,1.6rem + 6vw,6.5rem);font-weight:600;line-height:.95}.intro-sub{opacity:.7;max-width:30ch;margin:1.1rem 0 0;font-size:clamp(.95rem,.88rem + .35vw,1.1rem);line-height:1.45}.hint{z-index:2;letter-spacing:.08em;color:#3a3a3cb3;pointer-events:none;flex-direction:column;align-items:center;gap:6px;font-size:.8rem;display:flex;position:fixed;bottom:clamp(20px,5vh,44px);left:50%;transform:translate(-50%)}.hint-chevron{animation:1.8s ease-in-out infinite hint-bob}@keyframes hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.hint-chevron{animation:none}}.minimap{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#f3efe6e0;border:1px solid #3a3a3c24;border-radius:10px;width:clamp(132px,16vw,210px);margin:0;padding:10px 10px 8px;position:fixed;bottom:clamp(12px,2.5vw,28px);right:clamp(12px,2.5vw,28px);box-shadow:0 6px 24px #2820181f}.minimap svg{width:100%;height:auto;display:block}.minimap figcaption{letter-spacing:.04em;text-align:center;margin-top:6px;font-size:clamp(.72rem,.68rem + .2vw,.82rem)}.plan-room{fill:#ffffff8c}.plan-outdoor{fill:#a3b48659}.plan-wall{fill:var(--ink)}.plan-window{fill:#3a3a3c66}.plan-label{fill:var(--ink);letter-spacing:.04px;font-size:.42px}.nowebgl{text-align:center;max-width:760px;margin:0 auto;padding:clamp(32px,8vh,80px) 16px 48px}.nowebgl-title{letter-spacing:-.035em;margin:0;font-size:clamp(2.4rem,1.6rem + 4vw,4.5rem);font-weight:600}.nowebgl-note{opacity:.8;max-width:52ch;margin:1rem auto 2rem;line-height:1.55}.nowebgl-plan{background:#fff9;border:1px solid #3a3a3c24;border-radius:12px;margin:0;padding:16px}.nowebgl-plan svg{width:100%;height:auto;display:block}.minimap-cone{fill:#c48c4852}.minimap-dot{fill:#b5762e;stroke:#fff;stroke-width:.1px}.wordmark{z-index:3;pointer-events:none;flex-direction:column;gap:2px;display:flex;position:fixed;top:clamp(14px,3vw,30px);left:clamp(16px,3vw,34px)}.wordmark-name{letter-spacing:-.02em;font-size:clamp(1.05rem,.95rem + .5vw,1.35rem);font-weight:600}.wordmark-tag{font-variant:small-caps;text-transform:lowercase;letter-spacing:.14em;opacity:.6;font-size:clamp(.62rem,.58rem + .2vw,.72rem)}.chapters{z-index:3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f3efe6b8;border:1px solid #3a3a3c14;border-radius:10px;padding:6px 12px 6px 6px;position:fixed;top:50%;left:clamp(8px,2vw,26px);transform:translateY(-50%)}.chapters ol{flex-direction:column;gap:clamp(6px,1.2vh,12px);margin:0;padding:0;list-style:none;display:flex}.chapter{color:var(--ink);font:inherit;letter-spacing:.04em;opacity:.35;cursor:pointer;pointer-events:auto;background:0 0;border:0;align-items:baseline;gap:10px;padding:6px 4px;font-size:clamp(.72rem,.66rem + .3vw,.86rem);transition:opacity .3s;display:flex}.chapter:hover,.chapter:focus-visible{opacity:.75}.chapter:focus-visible{outline:1px solid var(--ink);outline-offset:2px;border-radius:4px}.chapter.is-active{opacity:1}.chapter-num{font-variant-numeric:tabular-nums;font-size:.85em}.rail{z-index:3;pointer-events:none;background:#3a3a3c26;border-radius:2px;width:2px;height:min(42vh,320px);position:fixed;top:50%;right:clamp(12px,2.4vw,30px);transform:translateY(-50%)}.rail-fill{transform-origin:top;background:#3a3a3c8c;border-radius:2px;position:absolute;inset:0}.rail-dot{background:var(--paper);border:2px solid var(--ink);border-radius:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;position:absolute;left:50%}.final{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:#f3efe6eb;border:1px solid #3a3a3c24;border-radius:12px;flex-direction:column;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 32px);padding:18px 22px;display:flex;position:fixed;top:clamp(72px,9vh,96px);left:50%;transform:translate(-50%);box-shadow:0 10px 30px #28201829}.final-line{margin:0;font-size:clamp(.85rem,.8rem + .25vw,.98rem)}.final-back{border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:inherit;cursor:pointer;pointer-events:auto;border-radius:999px;padding:9px 18px;font-size:clamp(.82rem,.78rem + .2vw,.92rem)}.final-back:hover,.final-back:focus-visible{background:#1f1f21}@media (width<=600px){.chapter-label{display:none}.chapter{padding:6px 2px}.chapters{padding:2px 6px;top:auto;bottom:14px;left:12px;transform:none}.chapters ol{flex-direction:row;gap:4px}.rail{height:30vh}}@media (prefers-reduced-motion:reduce){.chapter{transition:none}}.is-frozen,.is-frozen body{overflow:hidden}.is-frozen .scroll{height:100vh}.is-snap *,.is-snap :before,.is-snap :after{transition:none!important;animation:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
