/* BHNS cosmic layer: SVG atmosphere + native buttons; no graphics framework. */
.galaxy-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:16px}
.galaxy-intro h2{margin:5px 0;font-size:24px;letter-spacing:-.04em}.galaxy-intro p{margin:7px 0;line-height:1.6;font-size:13px}
.galaxy-kicker{color:#d9bd87;font-size:10px;letter-spacing:.22em;font-weight:750}
.galaxy-search-wrap{width:min(340px,100%);position:relative}.galaxy-search-wrap label{display:block;font-size:11px;color:#a4b6d0;margin-bottom:7px}.galaxy-search-wrap .search{width:100%}
.galaxy-results{position:absolute;top:100%;left:0;right:0;margin-top:6px;z-index:8;background:#101d32;border:1px solid #4a5f7e;border-radius:12px;max-height:270px;overflow:auto;box-shadow:0 18px 40px #0008}.galaxy-results:empty{display:none}.galaxy-results button{display:block;text-align:left;color:#edf5ff;background:none;border:0;border-bottom:1px solid #263b58;width:100%;padding:13px;min-height:44px}.galaxy-results button:hover,.galaxy-results button:focus-visible{background:#263b58}.galaxy-results small{display:block;color:#a4bad7;margin-top:4px}.galaxy-results p{padding:12px;color:#acbdd7}
.galaxy.galaxy-all{height:650px;min-height:0;background:radial-gradient(ellipse at 48% 48%,#11213e 0%,#060e20 50%,#030712 100%);border-color:#35445d;isolation:isolate;touch-action:pan-y}
.galaxy-all:before{display:none}.galaxy-all:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;box-shadow:inset 0 0 70px 22px #02061185;border-radius:inherit}
.galaxy-viewport{position:absolute;inset:0;overflow:hidden;touch-action:pan-y;cursor:grab}.galaxy-viewport.is-dragging{cursor:grabbing}.galaxy-viewport.is-zoomed{touch-action:none}.galaxy-scene{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.galaxy-sky,.galaxy-atmosphere,.galaxy-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.galaxy-sky{opacity:.8}.galaxy-atmosphere{overflow:visible}.galaxy-links path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.family-link{stroke-width:.8;opacity:.26}.family-link.is-related{stroke-width:1.6;opacity:.85}
.galaxy-star{width:100px;height:74px;min-height:0;gap:9px;padding:0;z-index:2;transform:translate(-50%,-50%);transition:filter .2s;scale:none;text-shadow:0 1px 6px #000,0 0 12px #000;background:none;box-shadow:none;touch-action:inherit}
.galaxy-star .star-core,.galaxy-star.galaxy-major .star-core,.galaxy-star.galaxy-root .star-core{position:relative;width:var(--core,10px);height:var(--core,10px);font-size:0;border:0;overflow:visible;background:radial-gradient(circle at 43% 38%,#fff 0%,#fff9e9 15%,var(--gen) 43%,transparent 75%);box-shadow:0 0 10px var(--gen),0 0 27px color-mix(in srgb,var(--gen) 50%,transparent);transition:transform .2s}
.galaxy-star .star-core:before{content:"";position:absolute;inset:-17px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gen) 18%,transparent),transparent 70%);pointer-events:none}
.galaxy-star.galaxy-major{--core:23px;height:90px}.galaxy-star.galaxy-root{--core:58px;width:148px;height:120px}
.galaxy-star.galaxy-root .star-core{box-shadow:0 0 22px #e7c47770,0 0 70px #e7c47740,0 0 125px #e7c47720}
.galaxy-star.galaxy-root .star-core:before{inset:-26px;background:radial-gradient(circle,#ffe2a82b,transparent 70%);animation:bhns-breathe 7s ease-in-out infinite alternate}
.galaxy-star.galaxy-major .star-core:after{content:"";position:absolute;left:50%;top:50%;width:1px;height:45px;transform:translate(-50%,-50%) rotate(30deg);background:linear-gradient(transparent,#e2f4ff8a,transparent);pointer-events:none}
.galaxy-star .star-name{font-size:11px;font-weight:550;line-height:1.35;max-width:112px;color:#c7d6eb;letter-spacing:.01em}.galaxy-star.galaxy-major .star-name{font-size:12px;font-weight:650;color:#e6f1ff}.galaxy-star.galaxy-root .star-name{font-size:14px;font-weight:750;color:#f1d89e}
.galaxy-star:hover,.galaxy-star:focus-visible,.galaxy-star.is-focused{z-index:4;scale:none;filter:brightness(1.15)}.galaxy-star:hover .star-core,.galaxy-star:focus-visible .star-core{transform:scale(1.22)}
.galaxy-star.is-focused:after{content:"";position:absolute;inset:0;border:1px solid #e9d098b0;border-radius:14px;box-shadow:0 0 25px #d8b77935;pointer-events:none}.galaxy-star:focus-visible{outline:2px solid #e9d098;outline-offset:3px}
.galaxy-hud{position:absolute;z-index:5;left:20px;top:18px;pointer-events:none}.galaxy-hud span{display:block;color:#9bb2d0;font-size:10px;letter-spacing:.18em}.galaxy-hud strong{display:block;font-size:12px;color:#e2d0aa;margin-top:6px;font-weight:550}
.galaxy-controls{position:absolute;z-index:5;right:14px;top:14px;display:flex;gap:5px;flex-wrap:wrap;max-width:260px;justify-content:flex-end}.galaxy-controls button{min-width:44px;min-height:44px;border:1px solid #354967;border-radius:10px;color:#dfebfc;background:#0c182be8;font-size:17px}.galaxy-controls button:hover{background:#243652}.galaxy-controls button[aria-pressed=true]{border-color:#d5b87d;color:#efd49c}.galaxy-controls .galaxy-fit{font-size:11px;padding:0 11px}.galaxy-controls button:disabled{opacity:.4;cursor:default}
.galaxy-all .star-caption{bottom:0;left:0;right:0;z-index:4;margin:0;padding:35px 16px 16px;background:linear-gradient(transparent,#030712e8);font-size:11px;line-height:1.7;color:#93a9c6}.galaxy-caption-main{color:#dfc690;display:block;letter-spacing:.08em;margin-bottom:3px;font-size:10px}
.galaxy-status{font-size:12px;color:#a8bdd8;min-height:22px;margin:12px 0 0}.galaxy-selection{color:#e6cf9e}.galaxy-help{color:#7e94b3;font-size:11px;margin:5px 0;line-height:1.7}
.galaxy-all.is-light .cosmic-detail{display:none}.galaxy-all.is-light .galaxy-star .star-core:before{display:none}.galaxy-all.is-light .galaxy-star .star-core{animation:none;box-shadow:0 0 13px color-mix(in srgb,var(--gen) 65%,transparent)}
@keyframes bhns-breathe{from{opacity:.4;transform:scale(.92)}to{opacity:.9;transform:scale(1.12)}}
@media(max-width:600px){.galaxy.galaxy-all{height:660px}.galaxy-intro{gap:10px}.galaxy-intro h2{font-size:21px}.galaxy-search-wrap{width:100%}.galaxy-hud{left:12px;top:16px}.galaxy-hud span{font-size:9px}.galaxy-hud strong{font-size:10px}.galaxy-controls{max-width:170px;right:8px;top:8px}.galaxy-controls .galaxy-fit{font-size:10px;padding:0 7px}.galaxy-star{width:76px}.galaxy-star .star-name{font-size:10px;max-width:76px}.galaxy-star.galaxy-major .star-name{font-size:11px}.galaxy-star.galaxy-root{--core:45px;width:128px}.galaxy-star.galaxy-root .star-name{font-size:12px}.galaxy-star.galaxy-major{--core:19px}.galaxy-all:after{box-shadow:inset 0 0 35px 8px #02061166}}
@media(prefers-reduced-motion:reduce){.galaxy-star .star-core:before{animation:none!important}.galaxy-star,.galaxy-star .star-core{transition:none}}

.galaxy-star.galaxy-root .star-name{max-width:148px}
@media(max-width:600px){.galaxy-star.galaxy-root .star-name{max-width:128px}}
/* Anchor each core exactly at the parent/child curve endpoints. */
.galaxy-star .star-core,.galaxy-star.galaxy-major .star-core,.galaxy-star.galaxy-root .star-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.galaxy-star .star-name{position:absolute;top:calc(50% + var(--core,10px)/2 + 9px);left:50%;transform:translateX(-50%);width:max-content}
.galaxy-star:hover .star-core,.galaxy-star:focus-visible .star-core{transform:translate(-50%,-50%) scale(1.22)}
