:root{--text:#fff3e0;--text-2:#e8cfaf;--accent:#f2b45c;--bg-dark:#2a1c17;--sky-top:#3d5c9c;--sky-mid:#a9bcd6;--sky-horizon:#f7cf96;--card-alpha:.5;--card-bg:rgba(28, 16, 12, var(--card-alpha));--card-border:#ffd6a040;--text-shadow:0 1px 12px #28140a80;--font-display:"Cinzel", "Times New Roman", serif;--font-text:"EB Garamond", Georgia, serif;--gutter:6vw}*,:before,:after{box-sizing:border-box}html{scroll-behavior:auto}html,body{background:var(--bg-dark);color:var(--text);font-family:var(--font-text);margin:0;font-size:100%}#scene{width:100vw;height:100vh;display:block;position:fixed;inset:0}#fade{background:var(--bg-dark);opacity:0;pointer-events:none;z-index:1;transition:opacity .15s;position:fixed;inset:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#loader{z-index:20;background:linear-gradient(to bottom, var(--sky-top), var(--sky-mid) 55%, var(--sky-horizon));place-items:center;transition-property:opacity;transition-timing-function:ease;display:grid;position:fixed;inset:0}#loader.is-hidden{opacity:0;pointer-events:none}.loader-inner{justify-items:center;gap:1.2rem;display:grid}.loader-brand{font-family:var(--font-display);letter-spacing:.08em;text-shadow:var(--text-shadow);font-size:clamp(1.6rem,4vw,2.8rem);font-weight:500}.loader-line{background:#fff3e04d;width:min(240px,60vw);height:1px;display:block;overflow:hidden}.loader-progress{background:var(--text);transform-origin:0;height:100%;transition:transform .3s;display:block;transform:scaleX(0)}.topbar{z-index:5;padding:1.1rem var(--gutter) 2.2rem;pointer-events:none;text-shadow:var(--text-shadow);background:linear-gradient(#1c100c6b,#1c100c00);align-items:center;gap:1.4rem;display:flex;position:fixed;top:0;left:0;right:0}.brand,#clock{font-family:var(--font-display);letter-spacing:.08em;font-weight:500}.brand{font-size:1rem}.clock-wrap{color:var(--text-2);pointer-events:auto;align-items:center;gap:.5rem;display:inline-flex}#clock{font-size:.95rem}.clock-arc{width:40px;height:12px;overflow:visible}.clock-arc path{fill:none;stroke-width:1.2px;stroke-linecap:round}.clock-arc-bg{stroke:#fff3e040}.clock-arc-fg{stroke:var(--accent)}#explore-btn{pointer-events:auto;margin-left:auto}button{font-family:var(--font-text);color:var(--text);background:var(--card-bg);border:1px solid var(--card-border);cursor:pointer;-webkit-backdrop-filter:blur(8px)saturate(1.2);border-radius:4px;padding:.45rem .9rem;font-size:1rem}button:hover{border-color:var(--accent)}.station-nav{z-index:5;gap:.9rem;display:grid;position:fixed;top:50%;right:1.6rem;transform:translateY(-50%)}.station-nav button{border:1px solid var(--text-2);-webkit-backdrop-filter:none;background:0 0;border-radius:50%;width:10px;height:10px;padding:0;position:relative}.station-nav button[aria-current=step]{background:var(--accent);border-color:var(--accent)}.station-nav button span{font-family:var(--font-display);letter-spacing:.06em;color:var(--text);text-shadow:var(--text-shadow);opacity:0;pointer-events:none;font-size:.8rem;transition:opacity .15s;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.station-nav button:hover span,.station-nav button:focus-visible span{opacity:1}#tour{z-index:2;position:relative}.station{height:140vh;display:flow-root;position:relative}.station-last{height:100vh}.card{margin-left:var(--gutter);background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(8px)saturate(1.2);width:min(440px,38vw);text-shadow:var(--text-shadow);opacity:0;will-change:opacity;border-radius:4px;padding:1.4rem 1.6rem;position:sticky;top:50vh;transform:translateY(-50%)}.card p{max-width:42ch;margin:0;font-size:1.15rem;line-height:1.6}.kicker{font-family:var(--font-display);letter-spacing:.08em;color:var(--text-2);margin-bottom:.4rem!important;font-size:.85rem!important}.kicker abbr{text-decoration:none}h1,h2{font-family:var(--font-display);letter-spacing:.08em;margin:0 0 .6rem;font-weight:500;line-height:1.15}h1{font-size:clamp(2.6rem,6vw,5.5rem)}h2{font-size:clamp(1.6rem,3vw,2.4rem)}.explore-cta{margin-top:1.2rem}.title-block{text-align:center;text-shadow:0 2px 24px #28140a99;opacity:0;padding:0 1rem;position:sticky;top:58vh}.subtitle{color:var(--text);margin:0;font-size:clamp(1.15rem,2vw,1.5rem)}.scroll-hint{font-family:var(--font-display);letter-spacing:.12em;color:var(--text-2);justify-items:center;gap:.5rem;margin-top:2rem;font-size:.8rem;display:inline-grid}.scroll-line{background:linear-gradient(to bottom, transparent, var(--text-2));transform-origin:top;width:1px;height:42px;animation:2.2s ease-in-out infinite scroll-line}@keyframes scroll-line{0%{opacity:0;transform:scaleY(0)}40%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)translateY(20px)}}@media (width<=767px){.topbar{gap:.7rem;padding:.8rem 16px 1.6rem}.brand,#clock{white-space:nowrap;font-size:.82rem}.clock-arc{display:none}#explore-btn{white-space:nowrap;padding:.3rem .6rem;font-size:.9rem}.station-nav{right:.6rem}.card{width:auto;max-height:42vh;margin:0;position:fixed;inset:auto 8px 8px;overflow:auto;transform:none}.explore-cta{width:100%}.card p{font-size:1.05rem}}@media (prefers-reduced-motion:reduce){.scroll-line{animation:none}}.no-webgl body{background:linear-gradient(to bottom, var(--sky-top), var(--sky-mid) 55%, var(--sky-horizon));background-attachment:fixed;min-height:100vh}.no-webgl #scene,.no-webgl #explore-btn,.no-webgl .explore-cta{display:none}.no-webgl .card,.no-webgl .title-block{opacity:1;background:#1c100c9e}#fallback{z-index:6;border:1px solid var(--card-border);background:#1c100cb3;border-radius:4px;max-width:36ch;padding:.8rem 1rem;font-size:1rem;line-height:1.5;position:fixed;bottom:16px;left:16px}.fallback-brand{font-family:var(--font-display);letter-spacing:.08em;margin:0 0 .3rem}.debug-stats{bottom:0;right:0;top:auto!important;left:auto!important}.test-mode #tour,.test-mode .topbar,.test-mode .station-nav{display:none}html.exploring{overflow:hidden}.exploring #tour,.exploring .station-nav,.exploring #explore-btn{opacity:0;pointer-events:none}#explore-ui{z-index:4;pointer-events:none;position:fixed;inset:0}.explore-panel{left:var(--gutter);background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(8px)saturate(1.2);pointer-events:auto;text-shadow:var(--text-shadow);border-radius:4px;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex;position:fixed;bottom:1.6rem}.sun-control,.pick-control{gap:.3rem;font-size:1rem;display:grid}.sun-control input{width:min(260px,50vw);accent-color:var(--accent)}.explore-hint{right:var(--gutter);max-width:34ch;color:var(--text-2);text-align:right;text-shadow:var(--text-shadow);margin:0;font-size:.95rem;position:fixed;bottom:1.6rem}.info-card{left:var(--gutter);background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(8px)saturate(1.2);width:min(440px,38vw);text-shadow:var(--text-shadow);pointer-events:auto;border-radius:4px;padding:1.4rem 1.6rem;position:fixed;top:50%;transform:translateY(-50%)}.info-card p{max-width:42ch;margin:0;font-size:1.15rem;line-height:1.6}#info-close{padding:.1rem .55rem;font-size:1.2rem;line-height:1;position:absolute;top:.4rem;right:.4rem}.hover-label{z-index:6;font-family:var(--font-display);letter-spacing:.06em;color:var(--text);border:1px solid var(--card-border);pointer-events:none;white-space:nowrap;text-shadow:var(--text-shadow);background:#1c100c99;border-radius:4px;padding:.25rem .6rem;font-size:.85rem;position:fixed;transform:translate(-50%,-120%)}@media (width<=767px){.explore-panel{justify-content:space-between;bottom:8px;left:8px;right:8px}.explore-hint{display:none}.info-card{width:auto;max-height:42vh;inset:auto 8px 84px;overflow:auto;transform:none}}.pick-control select{font-family:var(--font-text);color:var(--text);border:1px solid var(--card-border);background:#1c100cb3;border-radius:4px;max-width:14rem;padding:.25rem .4rem;font-size:1rem}.context-lost{z-index:8;text-align:center;border:1px solid var(--card-border);background:#1c100cbf;border-radius:4px;max-width:36ch;padding:1rem 1.3rem;font-size:1.1rem;line-height:1.5;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.context-lost p{margin:0}
