body{overflow-x:hidden}.sky-stage{position:relative;margin:6px calc(50% - 50vw) 0;height:calc(100vh - 132px);min-height:540px;background:var(--c-bg)}svg.constellation{position:relative;z-index:1;width:100%;height:100%;display:block}.meteor-canvas{position:absolute;inset:0;z-index:2;pointer-events:none}.bgstar{fill:var(--map-starfield);animation:twinkle var(--tw, 3s) ease-in-out var(--td, 0s) infinite alternate}@keyframes twinkle{0%{opacity:.5}to{opacity:1}}.cluster{fill:var(--map-cluster-bg);stroke:var(--map-cluster-line);stroke-width:1;stroke-dasharray:3 6}.section-label{font-size:15px;font-weight:600;fill:var(--c-muted);letter-spacing:.1em;opacity:.85}.section-label tspan.sec-no{fill:var(--c-cy-deep);opacity:.8}.edge{stroke:var(--map-edge);stroke-width:1;fill:none;transition:stroke .5s cubic-bezier(.16,1,.3,1),opacity .25s}.edge.lit{stroke:var(--map-edge-lit);stroke-width:1.5}.edge-glow{stroke:var(--map-edge-lit);stroke-width:1.6;fill:none;pointer-events:none;opacity:0;transition:opacity .6s,stroke-width .2s;stroke-dasharray:3 15;stroke-linecap:round;animation:edgeFlow 3.4s linear infinite}.edge-glow.on{opacity:.85}svg.focus .edge-glow:not(.hot){opacity:.1}svg.focus .edge-glow.hot{opacity:1;stroke-width:2.2;animation-duration:1.15s}@keyframes edgeFlow{to{stroke-dashoffset:-18}}.edge-pulse{stroke:var(--map-edge-lit);stroke-width:1.3;fill:none;pointer-events:none;opacity:0;stroke-dasharray:46 4000;stroke-linecap:round;animation:edgePulse var(--period, 8.5s) linear infinite}@keyframes edgePulse{0%{stroke-dashoffset:46;opacity:0}1.5%{opacity:.7}9%{stroke-dashoffset:calc(-1 * var(--len, 600));opacity:0}to{stroke-dashoffset:calc(-1 * var(--len, 600));opacity:0}}svg.focus .edge-pulse:not(.hot){opacity:0}svg.focus .edge-pulse.hot{opacity:.9}.star{cursor:pointer;transition:opacity .4s cubic-bezier(.16,1,.3,1)}html.js .star:not(.shown){opacity:0}.star .core,.star .halo{pointer-events:none}.star .halo{fill:none}.star .core{transition:filter .12s cubic-bezier(.4,0,.2,1)}.star[data-status=unlit] .core{fill:var(--map-star-pale);stroke:var(--map-star-pale-line);stroke-width:1;animation:unlitBlink var(--blink, 15s) ease-in-out var(--bd, 0s) infinite}@keyframes unlitBlink{0%,44%,to{opacity:1}48%{opacity:.2}52%{opacity:1}56%{opacity:.45}62%{opacity:1}}.star[data-status=growing] .core,.star[data-status=seed] .core{fill:var(--c-amber)}.star[data-status=growing] .halo,.star[data-status=seed] .halo{fill:var(--c-amber);animation:amberBreath 4.6s ease-in-out var(--bd, 0s) infinite alternate}@keyframes amberBreath{0%{opacity:.1}to{opacity:.3}}.star[data-status=published] .core{fill:var(--c-card)}.star[data-status=published] .halo{fill:var(--c-cy);animation:haloPulse 3.8s ease-in-out infinite alternate}.star[data-status=evergreen] .core{fill:var(--c-accent)}.star[data-status=evergreen] .halo{fill:var(--c-accent);animation:violetBreath 5.2s ease-in-out var(--bd, 0s) infinite alternate}@keyframes violetBreath{0%{opacity:.14}to{opacity:.32}}.sky-stage .star[data-status=published] .core{fill:var(--c-cy)}.sky-stage .star[data-status=evergreen] .core{fill:var(--c-accent)}[data-theme=dark] .sky-stage .star[data-status=published] .core{fill:#f4f9fc}[data-theme=dark] .sky-stage .star[data-status=evergreen] .core{fill:#aab6ff}[data-theme=dark] .sky-stage .star[data-status=published] .halo{opacity:.45}@keyframes haloPulse{0%{opacity:.26}to{opacity:.5}}.star text{font-size:15px;fill:var(--c-muted);text-anchor:middle;pointer-events:none;transition:fill .12s cubic-bezier(.4,0,.2,1)}.star[data-status=published] text,.star[data-status=evergreen] text{fill:var(--c-fg)}.star:hover text,.star:focus-visible text,.star.pinned text{fill:var(--c-cy-deep)}.star:hover .core,.star.pinned .core{filter:drop-shadow(0 0 8px var(--c-cy))}.star:focus-visible{outline:none}.star:focus-visible .core{stroke:var(--c-cy-deep);stroke-width:1.5}svg.focus .star:not(.hot):not(.pinned){opacity:.16}svg.focus .edge:not(.hot){opacity:.14}svg.focus .edge.hot{stroke:var(--map-edge-lit);stroke-width:1.6}svg.focus .cluster,svg.focus .section-label,svg.focus .bgstar{opacity:.35}.edge,.cluster,.section-label,.bgstar{transition:opacity .25s}@media(max-width:768px){.sky-stage{height:calc(100vh - 170px);min-height:420px}}@media(prefers-reduced-motion:reduce){.bgstar,.star .halo,.star .core{animation:none!important}html.js .star:not(.shown){opacity:1}.edge{transition:none!important}.edge-glow,.edge-pulse{animation:none!important;opacity:0!important}}
