@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');

:root{color-scheme:light;--text:#fffdf1;--panel:#183b32a6;--line:#fffae540;--focus:#fff4b9;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#263c36}body{font:400 14px/1.65 Inter,system-ui,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:6px}button{border:0}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}
.world{position:relative;min-height:680px;height:100svh;isolation:isolate;overflow:hidden;background:#263c36}
.landscape{position:absolute;inset:-2%;z-index:-4;transform:translate3d(var(--pan-x,0px),var(--pan-y,0px),0) scale(1.01);transition:transform 1.8s var(--ease)}
.landscape img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:58% center;transition:opacity 1.5s ease;pointer-events:none}.landscape-night{opacity:0}
.shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(15,37,31,.62),rgba(15,37,31,.08) 64%,transparent),linear-gradient(180deg,rgba(12,34,26,.35),transparent 24%,transparent 72%,rgba(11,28,23,.7));transition:background 1s}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:32px 48px;gap:24px}.wordmark{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:24px;font-weight:500;letter-spacing:-1px;line-height:1}.wordmark-dot{margin-left:-11px;color:#f4dc99}.emblem{font:400 34px/1 Georgia,serif;margin-right:4px;color:#f4dc99}
.controls{display:flex;align-items:center;gap:8px;padding:4px 8px;background:#163a304d;border:1px solid #fff8dd30;border-radius:999px;backdrop-filter:blur(12px)}.icon-button,.theme-button{display:flex;align-items:center;justify-content:center;background:transparent;min-width:44px;height:44px;border-radius:999px;transition:background .2s}.icon-button:hover,.theme-button:hover{background:#fff8dd20}.theme-button{gap:8px;padding:0 12px;font-size:12px;min-width:88px}.control-divider{height:16px;width:1px;background:var(--line);margin:0 4px}.play-icon,.sound-on,.moon-icon{display:none}#motion[aria-pressed=true] .pause-icon,#sound[aria-pressed=true] .sound-off{display:none}#motion[aria-pressed=true] .play-icon,#sound[aria-pressed=true] .sound-on{display:block}
.intro{position:absolute;left:8.3%;top:30%;max-width:660px;transition:opacity .6s,transform .9s var(--ease);text-shadow:0 2px 24px #152e2c22}.title-ornament{display:flex;align-items:center;gap:16px;font-size:24px;color:#f9e5b3;margin-bottom:24px}.title-ornament span{display:block;width:40px;height:1px;background:#f9e5b38c}.eyebrow{font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;margin:0 0 16px;color:#fff7dd}h1{font:400 clamp(48px,5.7vw,88px)/1.12 Baskerville,'Libre Baskerville',Georgia,serif;letter-spacing:-2.5px;margin:0 0 24px}.welcome{font-size:16px;letter-spacing:.1px;margin:0 0 40px;color:#fff9e9}.enter-button{display:flex;gap:32px;align-items:center;background:#f8f5e8;color:#253f32;padding:16px 24px;min-height:56px;border:1px solid #fff9e766;border-radius:999px;box-shadow:0 8px 32px #1023191a;font-size:12px;font-weight:500;transition:transform .3s,background .3s}.enter-button:hover{background:white;transform:translateY(-3px)}.enter-button svg{width:18px}
.scene-footer{position:absolute;left:48px;right:48px;bottom:32px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11px;letter-spacing:.3px}.location{display:flex;align-items:center;gap:12px}.location svg{width:24px;height:24px;color:#f4dc99}.footer-note{color:#f6f1de;letter-spacing:.2px}.scene-index{display:flex;align-items:center;gap:16px;font-variant-numeric:tabular-nums}.scene-index span{width:48px;height:1px;background:#fff6df73}
.motes{position:absolute;inset:0;z-index:-1;pointer-events:none}.mote{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;background:#ffffd1;border-radius:50%;opacity:0;box-shadow:0 0 12px #eaffb5;animation:drift var(--duration) var(--delay) infinite ease-in-out}.mote:nth-child(3n){width:2px;height:2px}@keyframes drift{0%,100%{opacity:0;transform:translate3d(0,16px,0)}25%,65%{opacity:.65}80%{transform:translate3d(32px,-56px,0);opacity:0}}
.return-button{position:absolute;left:48px;bottom:100px;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(12px);border-radius:999px;min-height:48px;padding:12px 24px;display:flex;align-items:center;gap:16px;font-size:12px}.immersed .intro{opacity:0;transform:translateY(16px);pointer-events:none}.immersed .landscape{transform:translate3d(var(--pan-x,0px),var(--pan-y,0px),0) scale(1.06)}.immersed .shade{background:linear-gradient(180deg,#0c221a40,transparent 24%,transparent 75%,#0b1c2370)}
[data-theme=dark]{color-scheme:dark;--panel:#0e232ed9}[data-theme=dark] .landscape-night{opacity:1}[data-theme=dark] .landscape-day{opacity:0}[data-theme=dark] .sun-icon{display:none}[data-theme=dark] .moon-icon{display:block}[data-theme=dark] .controls{background:#0c1e38a1}[data-theme=dark] .mote{box-shadow:0 0 16px 2px #b5ffbd}
.paused .mote{animation-play-state:paused}.paused .landscape{transition:none;transform:scale(1.01)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-aspect-ratio:2/1){.intro{top:25%}h1{font-size:64px}.title-ornament{margin-bottom:16px}.welcome{margin-bottom:24px}}
@media(max-width:700px){.world{min-height:600px}.topbar{padding:24px;gap:16px}.wordmark{font-size:22px;gap:8px}.emblem{font-size:28px;margin-right:0}.controls{gap:0;padding:4px}.control-divider{margin:0}.theme-button{min-width:72px;padding:0 8px}.landscape img{object-position:60% center}.intro{left:24px;right:24px;top:29%;max-width:100%}h1{font-size:clamp(42px,10vw,64px);letter-spacing:-1.5px}.eyebrow{font-size:10px;letter-spacing:2px}.welcome{font-size:14px;margin-bottom:32px}.title-ornament{margin-bottom:24px}.shade{background:linear-gradient(90deg,#0f251f99,#0f251f22),linear-gradient(180deg,#0c221a4d,transparent 28%,transparent 68%,#0b1c23b3)}.scene-footer{left:24px;right:24px;bottom:24px}.footer-note{display:none}.return-button{left:24px;bottom:88px}.scene-index span{width:24px}}
@media(max-width:359px){.topbar{padding:16px}.wordmark{font-size:20px}.emblem{display:none}.intro{left:24px;right:16px}h1{font-size:42px}.scene-footer{left:24px;right:24px}.icon-button{min-width:40px}.theme-button{min-width:66px}.eyebrow{letter-spacing:1.5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.landscape{transform:scale(1.01)!important}}

.night-toggle{position:absolute;right:40px;top:32px;width:48px;height:48px;border:1px solid #fff8dd40;border-radius:50%;display:grid;place-items:center;background:#163a3059;color:#fff5d4;backdrop-filter:blur(12px);z-index:3;transition:background .3s}
.night-toggle:hover{background:#163a3099}.night-toggle .to-day{display:none}[data-theme=dark] .night-toggle .to-night{display:none}[data-theme=dark] .night-toggle .to-day{display:block}
.shade{pointer-events:none}
.owl{position:absolute;left:var(--perch-x);top:var(--perch-y);width:44px;height:44px;margin-left:-22px;margin-top:-38px;background:none;padding:0;border:0;transform-origin:22px 38px;z-index:1}
.owl:focus-visible{outline:1px solid #fff4b9;border-radius:24px}
.owl::after{content:"";position:absolute;width:9px;height:2px;left:18px;top:38px;border-radius:50%;background:#030b1199;opacity:0;transition:opacity .7s}.owl.is-settled::after{opacity:1}
.landscape .owl img{object-fit:contain;object-position:center;transition:opacity .7s;pointer-events:none}
.landscape .owl .owl-flight{width:var(--flight-w);height:var(--flight-h);left:calc(22px - var(--flight-w)/2);top:calc(38px - var(--flight-h)*.74);opacity:1;filter:brightness(.48) saturate(.2)}
.landscape .owl .owl-rest{width:var(--owl-w);height:var(--owl-h);left:calc(22px - var(--owl-w)/2);top:calc(38px - var(--owl-h)*.88);opacity:0;filter:brightness(.68) saturate(.65);}
.owl.is-settled .owl-flight{opacity:0}.owl.is-settled .owl-rest{opacity:1}
.owl.is-flying{pointer-events:none}
@media(max-width:700px){.night-toggle{right:24px;top:24px}}
@media(min-aspect-ratio:16/9){.landscape > img{object-position:58% 0%}}
