.observatory-root{position:fixed;inset:0;overflow:hidden;color:rgb(var(--color-text-base));font-family:var(--font-body);--obs-muted: 169, 173, 169;--obs-line: rgba(185, 164, 123, .24);animation:observatory-enter .9s ease-out both}@keyframes observatory-enter{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.sky-canvas{position:absolute;inset:0;touch-action:none;background:radial-gradient(120% 90% at 50% 42%,#101a2ce6,#080d1af2 45%,#03050a)}.sky-canvas:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(115% 115% at 50% 50%,transparent 55%,rgba(2,4,8,.55) 100%);z-index:3}.sky-tooltip{position:absolute;top:0;left:0;pointer-events:none;opacity:0;transition:opacity .16s;font-size:.6875rem;letter-spacing:.12em;color:rgb(var(--color-text-base));background:#080f14d1;border:1px solid var(--obs-line);padding:.3rem .7rem;border-radius:2px;white-space:nowrap;z-index:4}.observatory-topbar{position:absolute;top:0;left:0;right:0;z-index:6;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.75rem;font-size:.8125rem}.observatory-brand{font-family:var(--font-display);font-size:1.0625rem;letter-spacing:.02em;color:rgb(var(--color-text-base));text-decoration:none}.observatory-brand span[lang=en]{color:rgb(var(--obs-muted));font-size:.875rem;letter-spacing:.14em}.topbar-actions{display:flex;align-items:center;gap:1.5rem}.exit-link{color:rgb(var(--obs-muted));text-decoration:none;letter-spacing:.1em;min-height:44px;display:inline-flex;align-items:center}.exit-link:hover{color:rgb(var(--color-accent))}.sky-directory{position:relative}.sky-directory summary{cursor:pointer;color:rgb(var(--obs-muted));letter-spacing:.1em;min-height:44px;display:inline-flex;align-items:center;list-style:none}.sky-directory summary::-webkit-details-marker{display:none}.sky-directory summary:hover{color:rgb(var(--color-accent))}.directory-panel{position:absolute;right:0;top:100%;width:17rem;max-height:60vh;overflow:auto;background:#080f14f0;border:1px solid var(--obs-line);padding:1rem 1.25rem;z-index:8}.directory-season{font-family:var(--font-display);font-size:.8125rem;color:rgb(var(--color-accent));margin-bottom:.75rem}.directory-panel ul{list-style:none;margin:0;padding:0}.directory-panel li{padding:.35rem 0;border-bottom:1px solid rgba(185,164,123,.1)}.directory-panel li:last-child{border-bottom:0}.directory-panel button{background:none;border:0;color:rgb(var(--color-text-base));cursor:pointer;font-size:.8125rem;padding:.25rem 0;min-height:2rem}.directory-panel button:hover{color:rgb(var(--color-accent))}.directory-panel li>button span{color:rgb(var(--obs-muted));font-size:.6875rem;letter-spacing:.08em;margin-left:.35rem}.directory-objects{display:block;padding-left:.75rem}.directory-objects button{color:rgb(var(--obs-muted));font-size:.75rem;margin-right:.5rem}.constellation-label{position:absolute;top:0;left:0;z-index:5;pointer-events:none;text-align:center;opacity:0;transition:opacity .24s;text-shadow:0 0 12px rgba(3,5,8,.9)}.constellation-label.is-visible{opacity:1}.label-en{display:block;font-size:.6875rem;letter-spacing:.34em;text-transform:uppercase;color:rgb(var(--color-accent))}.label-zh{display:block;font-family:var(--font-display);font-size:1.25rem;letter-spacing:.2em;margin-top:.15rem}.label-season{display:block;font-size:.625rem;letter-spacing:.16em;color:rgb(var(--obs-muted));margin-top:.25rem}.sky-disclaimer{position:absolute;left:1.75rem;bottom:1.25rem;z-index:5;font-size:.625rem;letter-spacing:.14em;color:#a9ada9b8;pointer-events:none}.sky-disclaimer span{display:block;line-height:1.9}.season-caption{position:absolute;right:1.75rem;bottom:5.25rem;z-index:5;font-family:var(--font-display);font-size:.8125rem;letter-spacing:.14em;color:rgb(var(--obs-muted));pointer-events:none}.season-caption span[lang=en]{color:rgb(var(--color-accent));letter-spacing:.2em;text-transform:uppercase}.season-switcher{position:absolute;right:1.75rem;bottom:1.5rem;z-index:6;display:flex;gap:1.4rem}.season-switcher button{position:relative;background:none;border:0;cursor:pointer;padding:.35rem .1rem;min-height:44px;color:rgb(var(--obs-muted));display:flex;flex-direction:column;align-items:center;gap:.1rem}.season-switcher button:disabled{cursor:default}.season-en{font-size:.625rem;letter-spacing:.22em;text-transform:uppercase}.season-zh{font-family:var(--font-display);font-size:.875rem;letter-spacing:.3em}.season-switcher button:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:rgb(var(--color-accent));opacity:0;transition:opacity .2s}.season-switcher button[aria-pressed=true]{color:rgb(var(--color-text-base))}.season-switcher button[aria-pressed=true]:after{opacity:1}.season-switcher button:hover:not(:disabled){color:rgb(var(--color-accent))}.intro-hint{position:absolute;left:50%;bottom:18%;transform:translate(-50%);z-index:5;text-align:center;font-family:var(--font-display);font-size:.9375rem;letter-spacing:.22em;line-height:2.2;color:#e8e4dad9;opacity:0;transition:opacity 1.2s;pointer-events:none}.intro-hint.is-visible{opacity:1}.object-cta{position:absolute;left:50%;bottom:2rem;transform:translate(-50%);z-index:6;text-align:center;animation:cta-enter .5s ease-out both}.object-cta p{font-family:var(--font-display);font-size:.9375rem;letter-spacing:.1em;margin-bottom:.6rem;text-shadow:0 0 10px rgba(3,5,8,.9)}.cta-catalog{color:rgb(var(--color-accent));margin-right:.5rem;letter-spacing:.14em}.cta-button{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;padding:.55rem 1.5rem;background:#080f1499;border:1px solid rgba(185,164,123,.68);color:rgb(var(--color-text-base));font-family:var(--font-display);font-size:.8125rem;letter-spacing:.14em;cursor:pointer;transition:background-color .2s,border-color .2s}.cta-button:hover{background:#b9a47b24;border-color:rgb(var(--color-accent))}@keyframes cta-enter{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.constellation-card{position:absolute;top:50%;right:2rem;transform:translateY(-50%);z-index:6;width:min(21rem,calc(100vw - 3rem));max-height:min(74vh,40rem);overflow:auto;background:#080f14db;border:1px solid var(--obs-line);padding:1.75rem 1.75rem 1.5rem;animation:card-enter .5s ease-out both;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes card-enter{0%{opacity:0;transform:translateY(-50%) translate(16px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.card-close{position:absolute;top:.25rem;right:.5rem;width:44px;height:44px;background:none;border:0;color:rgb(var(--obs-muted));font-size:1.375rem;cursor:pointer}.card-close:hover{color:rgb(var(--color-text-base))}.card-eyebrow{font-size:.625rem;letter-spacing:.3em;text-transform:uppercase;color:rgb(var(--color-accent));margin-bottom:.5rem}.constellation-card h2{font-family:var(--font-display);font-size:1.625rem;font-weight:400;letter-spacing:.06em;margin:0 0 .75rem}.constellation-card h2 span{display:block;font-size:.8125rem;letter-spacing:.2em;color:rgb(var(--obs-muted));margin-top:.25rem}.card-summary{font-size:.875rem;line-height:1.95;color:#e8e4dae0;margin-bottom:1.25rem}.card-section{border-top:1px solid var(--obs-line);padding:.85rem 0}.card-section h3{font-size:.6875rem;font-weight:400;letter-spacing:.24em;color:rgb(var(--obs-muted));margin:0 0 .5rem}.card-section ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1rem}.card-section button{background:none;border:0;padding:.3rem 0;min-height:2rem;color:rgb(var(--color-text-base));font-size:.8125rem;cursor:pointer}.card-section button:hover,.card-section button[aria-pressed=true]{color:rgb(var(--color-accent))}.card-section button span{color:rgb(var(--obs-muted));font-size:.6875rem;margin-left:.3rem}.card-meta{display:flex;gap:2rem;border-top:1px solid var(--obs-line);padding:.85rem 0;margin:0}.card-meta dt{font-size:.625rem;letter-spacing:.2em;color:rgb(var(--obs-muted));margin-bottom:.25rem}.card-meta dd{margin:0;font-size:.8125rem}.card-cta{width:100%;justify-content:center;margin-top:.5rem}.card-external{display:inline-flex;align-items:center;min-height:44px;margin-top:.5rem;font-size:.75rem;letter-spacing:.08em;color:rgb(var(--obs-muted));text-decoration:none}.card-external:hover{color:rgb(var(--color-accent))}.telescope{position:absolute;left:2.25rem;bottom:3.5rem;z-index:5;width:90px;height:110px;pointer-events:none;opacity:.9;transition:opacity .4s}.telescope.is-hidden{opacity:0}.telescope-tube{position:absolute;left:50%;bottom:40px;transform-origin:50% 88%;transform:translate(-50%) rotate(-38deg)}.tl-body{fill:#232a2df2;stroke:#b9a47bd9;stroke-width:1.4}.tl-lens{fill:#e8d5aff2}.telescope-mount{position:absolute;left:50%;bottom:6px;transform:translate(-50%)}.tl-leg{stroke:#b9a47bbf;stroke-width:2.4;fill:none}.tl-body-fill{fill:#232a2df2;stroke:#b9a47bcc}.telescope-ground{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:110px;height:1px;background:#b9a47b4d}.telescope-view{position:fixed;inset:0;z-index:10;background:#03050a;display:flex;align-items:center;justify-content:center;animation:tv-black .28s ease-out both}@keyframes tv-black{0%{opacity:0}to{opacity:1}}.telescope-stage{display:grid;grid-template-columns:minmax(0,60fr) minmax(0,34fr);gap:3rem;align-items:center;width:min(100% - 4rem,74rem);padding:2rem 0}.telescope-eyepiece{position:relative;aspect-ratio:1;max-height:76vh;margin-inline:auto;width:100%;max-width:76vh}.telescope-eyepiece img,.telescope-visual-canvas{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%;animation:tv-reveal 1.1s .22s ease-out both}.telescope-visual-fallback{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 42% 40%,rgba(185,164,123,.25),transparent 45%),radial-gradient(circle at 50% 50%,#0a121c,#04070b);animation:tv-reveal 1.1s .22s ease-out both}@keyframes tv-reveal{0%{clip-path:circle(4% at 50% 50%);opacity:.4}to{clip-path:circle(50% at 50% 50%);opacity:1}}.eyepiece-ring{position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(185,164,123,.4);box-shadow:0 0 60px #000000e6 inset;pointer-events:none}.telescope-info .eyebrow{font-size:.625rem;letter-spacing:.3em;text-transform:uppercase;color:rgb(var(--color-accent));margin-bottom:.75rem}.telescope-info h2{font-family:var(--font-display);font-weight:400;font-size:2rem;letter-spacing:.04em;margin:0 0 1.25rem}.telescope-info h2 span{display:block;font-size:.875rem;letter-spacing:.16em;color:rgb(var(--obs-muted));margin-top:.35rem}.telescope-info dl{margin:0 0 1.25rem;border-top:1px solid var(--obs-line)}.telescope-info dl>div{display:flex;gap:1.5rem;padding:.55rem 0;border-bottom:1px solid rgba(185,164,123,.12)}.telescope-info dt{flex:none;width:3.5rem;font-size:.6875rem;letter-spacing:.2em;color:rgb(var(--obs-muted));padding-top:.15rem}.telescope-info dd{margin:0;font-size:.875rem}.telescope-summary{font-size:.875rem;line-height:2;color:#e8e4dae0;margin-bottom:1.5rem}.explore-link{text-decoration:none}.telescope-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;background:none;border:0;color:rgb(var(--obs-muted));font-size:1.75rem;cursor:pointer;z-index:11}.telescope-close:hover{color:rgb(var(--color-text-base))}.fallback-sky svg{width:100%;height:100%}.fallback-constellation{cursor:pointer;outline-offset:4px}.fallback-star{fill:#e8e4da}.fallback-star.mag-1{fill:#f2e6c8}.fallback-line{stroke:#b9a47b66;stroke-width:.7}.fallback-label{fill:#a9ada9e6;font-size:15px;text-anchor:middle;letter-spacing:.3em}.fallback-dso{fill:none;stroke:#b9a47bb3;stroke-width:1}.fallback-note{position:absolute;left:50%;bottom:4.5rem;transform:translate(-50%);font-size:.6875rem;letter-spacing:.1em;color:rgb(var(--obs-muted))}@media (max-width: 767px){.observatory-topbar{padding:.75rem 1rem}.topbar-actions{gap:.85rem}.sky-disclaimer{display:none}.season-caption{right:1rem;bottom:6.5rem;font-size:.75rem}.season-switcher{right:1rem;left:1rem;bottom:.75rem;justify-content:space-between;gap:.5rem}.telescope{left:.75rem;bottom:6rem;transform:scale(.8);transform-origin:bottom left}.constellation-card{top:auto;right:1rem;left:1rem;bottom:5.5rem;transform:none;width:auto;max-height:52vh;animation-name:card-enter-mobile}@keyframes card-enter-mobile{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.object-cta{bottom:5.5rem;width:calc(100% - 2rem)}.telescope-stage{grid-template-columns:1fr;gap:1.5rem;width:calc(100% - 2rem);max-height:100vh;overflow:auto;padding:3.5rem 0 1.5rem}.telescope-eyepiece{max-width:62vw;max-height:none}.telescope-info h2{font-size:1.5rem}}@media (prefers-reduced-motion: reduce){.constellation-card,.object-cta,.telescope-view,.telescope-eyepiece img,.telescope-visual-canvas,.telescope-visual-fallback{animation-duration:.01ms!important}.constellation-label,.sky-tooltip,.intro-hint{transition:none}}
