@font-face{font-family:Cinzel;src:url(../fonts/Cinzel-Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:EB Garamond;src:url(../fonts/EBGaramond-Italic.ttf)format("truetype");font-style:italic;font-display:swap}@font-face{font-family:EB Garamond;src:url(../fonts/EBGaramond-Medium.ttf)format("truetype");font-weight:500;font-display:swap}:root{--cream:#f1e6cf;--ink:#1b1410;--gold:#e2b56a;--glass:#18110cb8}*{box-sizing:border-box}html,body{height:100%;color:var(--cream);-webkit-font-smoothing:antialiased;background:#0b0908;margin:0;font-family:EB Garamond,Georgia,serif;overflow:hidden}#scene{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#scene:active{cursor:grabbing}#intro{text-align:center;background:radial-gradient(at 50% 60%,#0b090859,#0b0908eb 70%);flex-direction:column;justify-content:center;align-items:center;transition:opacity 1.6s,visibility 1.6s;display:flex;position:fixed;inset:0}.inside #intro{opacity:0;visibility:hidden;pointer-events:none}.eyebrow{letter-spacing:.32em;text-transform:uppercase;color:var(--gold);opacity:.85;margin:0 0 1.2rem;font-family:Cinzel,serif;font-size:.78rem}h1{letter-spacing:.08em;margin:0;font-family:Cinzel,serif;font-size:clamp(2rem,6vw,4.2rem);font-weight:400}.dedication{letter-spacing:.22em;text-transform:uppercase;opacity:.8;margin:1.6rem 0 2.6rem;font-family:Cinzel,serif;font-size:.9rem}.loader{background:#f1e6cf2e;width:180px;height:1px;margin-bottom:2rem;overflow:hidden}#progress{background:var(--gold);width:0;height:100%;transition:width .4s}.loaded .loader{opacity:0;transition:opacity .6s}#enter{letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:var(--cream);cursor:pointer;opacity:.25;pointer-events:none;border:0;border-radius:999px;padding:.95rem 2.2rem;font-family:Cinzel,serif;font-size:.85rem;transition:opacity .6s,transform .3s}.loaded #enter{opacity:1;pointer-events:auto}#enter:hover{transform:translateY(-1px)}.hint{opacity:.6;margin-top:1.4rem;font-size:1rem;font-style:italic}.loaded #status{visibility:hidden}#card{background:var(--glass);-webkit-backdrop-filter:blur(14px);opacity:0;visibility:hidden;border:1px solid #e2b56a40;border-radius:14px;width:min(380px,100vw - 2rem);padding:1.8rem 1.8rem 1.4rem;transition:opacity .5s,transform .5s,visibility .5s;position:fixed;top:50%;right:clamp(1rem,4vw,3rem);transform:translate(12px,-50%)}#card.on{opacity:1;visibility:visible;transform:translateY(-50%)}#card h2{letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 1rem;font-family:Cinzel,serif;font-size:.85rem;font-weight:400}#card blockquote{margin:0;font-size:1.25rem;font-style:italic;line-height:1.5}#card .source{letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin:1.1rem 0 0;font-family:Cinzel,serif;font-size:.7rem}#card-close{color:var(--cream);cursor:pointer;opacity:.6;background:0 0;border:0;font-size:1.4rem;position:absolute;top:.6rem;right:.8rem}@media (width<=640px){#card{top:auto;bottom:5.2rem;right:1rem;transform:translateY(12px)}#card.on{transform:none}}#tip{pointer-events:none;letter-spacing:.14em;text-transform:uppercase;background:var(--glass);opacity:0;border-radius:6px;padding:.4rem .7rem;font-family:Cinzel,serif;font-size:.72rem;transition:opacity .2s;position:fixed;top:0;left:0}#tip.on{opacity:1}#controls{left:50%;bottom:max(1.2rem, env(safe-area-inset-bottom));opacity:0;pointer-events:none;gap:.5rem;transition:opacity 1s 2.4s,transform 1s 2.4s;display:flex;position:fixed;transform:translate(-50%,20px)}.inside #controls{opacity:1;pointer-events:auto;transform:translate(-50%)}#controls button{letter-spacing:.14em;text-transform:uppercase;color:var(--cream);background:var(--glass);-webkit-backdrop-filter:blur(10px);cursor:pointer;border:1px solid #f1e6cf33;border-radius:999px;padding:.7rem 1.1rem;font-family:Cinzel,serif;font-size:.7rem}#controls button[aria-pressed=true]{color:var(--gold);border-color:#e2b56ab3}#help{opacity:0;pointer-events:none;margin:0;font-size:.95rem;font-style:italic;position:fixed;top:1.2rem;left:50%;transform:translate(-50%)}.inside #help{animation:7s 3.4s forwards helpfade}@keyframes helpfade{0%{opacity:0}15%{opacity:.7}80%{opacity:.7}to{opacity:0}}#credits{background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;visibility:hidden;border-radius:10px;max-width:420px;padding:1rem 1.2rem;font-size:.9rem;line-height:1.45;transition:opacity .4s;position:fixed;bottom:4.6rem;left:1rem}#credits.on{opacity:1;visibility:visible}#credits a{color:var(--gold)}#card-context{opacity:.75;margin:0 0 .9rem;font-size:.98rem;display:none}.touring #card-context{display:block}#tour-nav{border-top:1px solid #e2b56a2e;justify-content:space-between;align-items:center;margin-top:1.3rem;padding-top:1rem;display:none}.touring #tour-nav{display:flex}#tour-nav button{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--cream);cursor:pointer;border:0;border-radius:999px;padding:.55rem 1rem;font-family:Cinzel,serif;font-size:.72rem}#tour-nav #tour-prev{color:var(--cream);background:0 0;border:1px solid #f1e6cf4d;padding:.45rem .8rem}#tour-count{letter-spacing:.16em;opacity:.6;font-family:Cinzel,serif;font-size:.7rem}#controls button.primary{background:var(--cream);color:var(--ink);border-color:var(--cream)}#controls #tour-restart{letter-spacing:0;padding-left:.85rem;padding-right:.85rem;font-size:.9rem}#controls #tour-restart[hidden]{display:none}.touring #controls button.primary{background:var(--glass);color:var(--gold);border-color:#e2b56ab3}#areas,#times{opacity:0;pointer-events:none;gap:.4rem;transition:opacity 1s 2.4s;display:flex;position:fixed}.inside #areas,.inside #times{opacity:1;pointer-events:auto}#areas{top:max(1rem, env(safe-area-inset-top));flex-wrap:wrap;max-width:calc(100vw - 2rem);left:1rem}#times{top:max(1rem, env(safe-area-inset-top));right:1rem}#areas button,#times button{letter-spacing:.12em;text-transform:uppercase;color:var(--cream);background:var(--glass);-webkit-backdrop-filter:blur(10px);cursor:pointer;border:1px solid #f1e6cf2e;border-radius:999px;padding:.55rem .9rem;font-family:Cinzel,serif;font-size:.66rem}#areas button[aria-pressed=true],#times button[aria-pressed=true]{color:var(--gold);border-color:#e2b56abf}.pin{letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--cream);cursor:pointer;opacity:0;pointer-events:none;white-space:nowrap;border:0;border-radius:999px;padding:.5rem .95rem;font-family:Cinzel,serif;font-size:.72rem;transition:opacity .4s;position:fixed;top:0;left:0;box-shadow:0 6px 24px #00000059}.pin:after{content:"";background:var(--cream);z-index:-1;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.pin.on{opacity:1;pointer-events:auto}.pin.inner{padding:.38rem .75rem;font-size:.62rem}.pin.inner.on{opacity:.86}.pin.inner.on:hover{opacity:1}@media (width<=640px){#times{top:auto;bottom:4.6rem;right:50%;transform:translate(50%)}#areas button,#times button{padding:.5rem .7rem;font-size:.6rem}}#subareas{top:calc(max(1rem, env(safe-area-inset-top)) + 2.6rem);opacity:0;pointer-events:none;gap:.4rem;transition:opacity .5s;display:flex;position:fixed;left:1rem}.inside #subareas.on{opacity:1;pointer-events:auto}#subareas button{letter-spacing:.12em;text-transform:uppercase;color:var(--cream);-webkit-backdrop-filter:blur(10px);cursor:pointer;background:#18110c8c;border:1px solid #f1e6cf24;border-radius:999px;padding:.45rem .8rem;font-family:Cinzel,serif;font-size:.6rem}#subareas button[aria-pressed=true]{color:var(--gold);border-color:#e2b56abf}#help{top:6.4rem}@media (width<=900px){#times{top:auto;bottom:4.6rem;right:50%;transform:translate(50%)}}button{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}button:focus{outline:none}button:focus-visible{outline-offset:2px;outline:2px solid #e2b56ab3}#enter:disabled{opacity:.25;cursor:default}#tour-nav #tour-prev{opacity:.85;padding:.5rem .9rem;font-size:.68rem}#credits{bottom:4.8rem;left:50%;transform:translate(-50%)}@media (width<=640px){#controls{flex-wrap:nowrap;justify-content:center;gap:.35rem;width:calc(100vw - 1.2rem)}#controls button{letter-spacing:.08em;white-space:nowrap;padding:.6rem .75rem;font-size:.6rem}#times{inset:auto auto 4.2rem 50%;transform:translate(-50%)}#times button{white-space:nowrap;padding:.45rem .65rem;font-size:.56rem}#areas{scrollbar-width:none;flex-wrap:nowrap;max-width:calc(100vw - 1rem);left:.5rem;overflow-x:auto}#areas button,#subareas button{white-space:nowrap;flex:none}#subareas{scrollbar-width:none;max-width:calc(100vw - 1rem);left:.5rem;top:calc(max(1rem, env(safe-area-inset-top)) + 2.4rem);overflow-x:auto}#help{display:none}#card{width:auto;max-height:42vh;padding:1.1rem 1.2rem 1rem;inset:auto .6rem 7.6rem;overflow-y:auto;transform:translateY(12px)}#card.on{transform:none}#card blockquote{font-size:1.05rem}.pin{padding:.4rem .7rem;font-size:.6rem}}@media (width>=641px) and (width<=1000px){#controls button{white-space:nowrap;padding:.6rem .9rem;font-size:.64rem}#times{top:calc(max(1rem, env(safe-area-inset-top)) + 2.6rem);bottom:auto;left:auto;right:1rem;transform:none}#subareas{top:calc(max(1rem, env(safe-area-inset-top)) + 5.2rem)}#credits{max-width:min(420px,100vw - 2rem);bottom:4.6rem}}@media (width<=640px){#areas,#subareas{scrollbar-width:none;flex-wrap:nowrap;max-width:calc(100vw - 1rem);overflow-x:auto}#areas::-webkit-scrollbar{display:none}#subareas::-webkit-scrollbar{display:none}#areas button,#subareas button,#times button{min-height:40px}#subareas{top:calc(max(1rem, env(safe-area-inset-top)) + 3.2rem)}#card-context{padding-right:1.6rem}#card-close{min-width:40px;min-height:40px;top:.2rem;right:.2rem}}@media (width>=641px) and (width<=1100px) and (orientation:portrait){#card{width:min(560px,100vw - 2rem);inset:auto auto 5.4rem 50%;transform:translate(-50%,12px)}#card.on{transform:translate(-50%)}}#help{bottom:4.6rem;top:auto!important}:is(body:has(#card.on) #help,body:has(#credits.on) #help){visibility:hidden}#credits-close{color:var(--cream);cursor:pointer;opacity:.6;background:0 0;border:0;min-width:36px;min-height:36px;font-size:1.2rem;position:absolute;top:.3rem;right:.5rem}#credits{padding-right:2.6rem}
