.galaxy-shell{
    --space-x:0px;
    --space-y:0px;
    --space-x-back:0px;
    --space-y-back:0px;
    background:
        radial-gradient(ellipse at 50% 44%,rgba(21,119,166,.2),transparent 24%),
        radial-gradient(ellipse at 20% 15%,rgba(29,53,110,.15),transparent 29%),
        linear-gradient(#01050a 0 54%,#03101a 78%,#07090d);
}
.galaxy-shell::before{
    content:"";
    position:absolute;
    z-index:2;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 50% 48%,transparent 0 34%,rgba(0,5,10,.16) 60%,rgba(0,3,7,.72) 100%),
        radial-gradient(ellipse at 50% 46%,rgba(48,173,224,.06),transparent 54%);
}
.galaxy-nebula{
    transform:translate3d(var(--space-x),var(--space-y),0) scale(1.1);
    background:
        radial-gradient(ellipse at 18% 27%,rgba(30,91,177,.2),transparent 24%),
        radial-gradient(ellipse at 82% 29%,rgba(90,42,154,.15),transparent 23%),
        radial-gradient(ellipse at 52% 66%,rgba(5,145,166,.16),transparent 30%),
        conic-gradient(from 210deg at 50% 50%,transparent,rgba(45,134,180,.07),transparent 24%);
    filter:blur(9px);
    transition:transform 1.15s cubic-bezier(.18,.75,.22,1);
}
.galaxy-strata{
    transform:translate3d(var(--space-x-back),var(--space-y-back),0) scale(1.04);
    transition:transform 1.4s cubic-bezier(.18,.75,.22,1);
}
.galaxy-stage::after{
    content:"";
    position:absolute;
    z-index:-1;
    inset:6% 10%;
    pointer-events:none;
    border-radius:50%;
    background:radial-gradient(ellipse,rgba(42,159,208,.07),transparent 64%);
    filter:blur(36px);
}
.galaxy-stage{perspective:1500px}
.galaxy-node.system{
    transform:translate(-50%,-50%) scale(var(--node-depth-scale,1));
    transform-origin:center;
    will-change:left,top,transform;
    transition:opacity .45s ease,filter .3s ease,transform .14s linear;
}
.galaxy-node.system::before{
    transform:scale(var(--planet-breathe,1));
    transition:transform .35s ease,box-shadow .35s ease;
}
.galaxy-node.system.is-motion-home::before{
    box-shadow:inset -12px -15px 20px rgba(0,0,0,.52),inset 7px 5px 13px rgba(255,255,255,.16),0 0 25px color-mix(in srgb,var(--tone),transparent 38%),0 0 72px color-mix(in srgb,var(--tone),transparent 70%);
}
.galaxy-node.system.is-free-motion .node-kicker{opacity:.78}
.galaxy-link{
    stroke:rgba(87,207,240,.48);
    stroke-width:1.35;
    stroke-dasharray:2 8;
    filter:drop-shadow(0 0 6px rgba(83,218,255,.55));
    transition:opacity .38s ease,stroke .38s ease,stroke-width .38s ease,filter .38s ease;
}
.galaxy-link.system{
    stroke:rgba(105,224,255,.66);
    stroke-width:1.7;
    stroke-dasharray:2 7;
}
.galaxy-link.child.is-visible{
    opacity:.72;
}
.galaxy-link.child:not(.is-visible){
    opacity:0!important;
}
.galaxy-node.child{
    transform:translate(-50%,-50%) scale(.42);
    transition:opacity .38s ease,transform .5s cubic-bezier(.2,.85,.2,1.18),filter .38s ease;
}
.galaxy-node.child.is-visible{
    transform:translate(-50%,-50%) scale(1);
}
.galaxy-node.system.is-hover-active::after{
    border-style:dashed;
    animation-duration:2.8s;
}
.galaxy-node.system.is-pinned::after{
    border-width:2px;
    box-shadow:0 0 36px color-mix(in srgb,var(--tone),transparent 35%),inset 0 0 20px color-mix(in srgb,var(--tone),transparent 75%);
}
.galaxy-shell.is-network-focus .galaxy-node:not(.is-related):not(.center){
    filter:brightness(.58) saturate(.55);
}
.galaxy-shell.is-network-focus .galaxy-link:not(.is-related){
    opacity:.12;
}
.galaxy-shell.is-network-focus .galaxy-link.is-related{
    opacity:1;
    stroke:rgba(123,232,255,.92);
    stroke-width:2.3;
    filter:drop-shadow(0 0 9px rgba(93,223,255,.92));
}
.galaxy-shell.is-network-focus .galaxy-node.is-related{
    filter:brightness(1.22) drop-shadow(0 0 11px color-mix(in srgb,var(--tone),transparent 44%));
}
@media(max-width:900px){
    .galaxy-nebula,.galaxy-strata{transform:none}
    .galaxy-link{stroke-width:1.7}
    .galaxy-node.system{transform:translate(-50%,-50%);will-change:auto}
}
@media(prefers-reduced-motion:reduce){
    .galaxy-nebula,.galaxy-strata,.galaxy-node.child,.galaxy-node.system{transition:none}
}
