.galaxy-orbits{pointer-events:none}
.galaxy-manifesto{
    position:absolute;
    z-index:18;
    left:50%;
    top:108px;
    width:min(780px,68vw);
    transform:translateX(-50%);
    pointer-events:none;
    text-align:center;
    filter:drop-shadow(0 8px 22px rgba(0,8,14,.9));
}
.galaxy-manifesto::before{
    content:"";
    position:absolute;
    z-index:-1;
    inset:-32px -70px -24px;
    background:radial-gradient(ellipse at center,rgba(4,27,39,.78) 0,rgba(3,17,26,.34) 42%,transparent 72%);
}
.galaxy-manifesto>span{
    display:block;
    color:#5cb9d0;
    font-size:7px;
    font-weight:700;
    letter-spacing:.5em;
}
.galaxy-manifesto h1{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    margin:8px 0 5px;
    color:#dff8ff;
    font-size:clamp(18px,1.45vw,27px);
    line-height:1.2;
    letter-spacing:.16em;
    text-shadow:0 0 9px rgba(108,224,255,.42),0 0 30px rgba(61,160,208,.2);
}
.galaxy-manifesto h1 strong{font-weight:760;white-space:nowrap}
.galaxy-manifesto h1 i{
    position:relative;
    width:30px;
    height:30px;
    flex:0 0 30px;
    border-radius:50%;
    background:radial-gradient(circle at 35% 28%,#d9f7ff 0 5%,#45b9f2 19%,#116ab5 57%,#042d68 100%);
    box-shadow:inset -5px -5px 8px rgba(0,10,45,.55),0 0 8px #63ddff,0 0 20px rgba(56,164,255,.7);
}
.galaxy-manifesto h1 i::before{
    content:"";
    position:absolute;
    z-index:1;
    inset:1px;
    border-radius:50%;
    background:
        radial-gradient(ellipse at 18% 34%,rgba(83,224,185,.96) 0 10%,transparent 12%),
        radial-gradient(ellipse at 53% 67%,rgba(69,205,174,.92) 0 13%,transparent 15%),
        radial-gradient(ellipse at 82% 29%,rgba(103,230,199,.88) 0 8%,transparent 10%);
    background-repeat:repeat-x;
    background-size:38px 28px,42px 28px,35px 28px;
    animation:theme-earth-spin 6.8s linear infinite;
}
.galaxy-manifesto h1 i::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:45px;
    height:13px;
    border:1px solid rgba(190,230,255,.82);
    border-radius:50%;
    transform:translate(-50%,-50%) rotate(-20deg);
    box-shadow:0 0 8px rgba(100,220,255,.7);
}
.galaxy-manifesto h1 i b{
    position:absolute;
    z-index:3;
    left:50%;
    top:50%;
    width:45px;
    height:45px;
    pointer-events:none;
    animation:theme-earth-orbit 4.8s linear infinite;
}
.galaxy-manifesto h1 i b::after{
    content:"";
    position:absolute;
    right:-1px;
    top:50%;
    width:3px;
    height:9px;
    border-radius:50%;
    transform:translateY(-50%);
    background:#efffff;
    box-shadow:0 0 5px #fff,0 0 12px #66e4ff,0 0 20px rgba(94,214,255,.8);
}
.galaxy-manifesto p{
    margin:0;
    color:#4f8290;
    font-size:7px;
    letter-spacing:.42em;
}
.galaxy-orbit{
    fill:none;
    stroke:rgba(100,213,240,.36);
    stroke-width:1.55;
    stroke-dasharray:4 9;
    filter:drop-shadow(0 0 5px rgba(81,203,235,.36));
    transform-origin:center;
    animation:solar-orbit-flow 18s linear infinite;
}
.galaxy-orbit:nth-child(2n){
    stroke:rgba(149,211,232,.27);
    stroke-dasharray:3 12;
    animation-direction:reverse;
    animation-duration:24s;
}
.galaxy-orbit:nth-child(3n){animation-duration:29s}
.galaxy-orbit-runner{
    fill:var(--runner-tone,#78e2ff);
    stroke:rgba(238,252,255,.9);
    stroke-width:.8;
    pointer-events:none;
    filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px var(--runner-tone,#78e2ff));
}
.galaxy-orbit-runner.tail{stroke-width:0;filter:drop-shadow(0 0 6px var(--runner-tone,#78e2ff))}
.galaxy-link.system{
    opacity:.14;
    stroke-width:1;
    stroke-dasharray:1 22;
    filter:drop-shadow(0 0 3px rgba(83,218,255,.28));
}
.galaxy-shell.is-network-focus .galaxy-link.system.is-related{
    opacity:.9;
    stroke-width:2;
    stroke-dasharray:2 7;
}
.galaxy-node.system{
    --size:calc(76px * var(--planet-scale,1));
}
.galaxy-node.system .node-kicker{
    color:color-mix(in srgb,var(--tone),#fff 32%);
    letter-spacing:.15em;
}
.galaxy-node.system .node-label small{
    display:block;
    margin-bottom:3px;
    color:color-mix(in srgb,var(--tone),#fff 12%);
    font-size:7px;
    font-weight:650;
    letter-spacing:.16em;
}
.galaxy-node.center .node-label{
    display:flex;
    flex-direction:column;
    gap:6px;
    min-width:230px;
}
.galaxy-node.center .node-label b{
    color:#8ee9ff;
    font-size:9px;
    letter-spacing:.18em;
}
.galaxy-node.center .node-label em{
    color:#6eafc0;
    font-size:8px;
    font-style:normal;
    letter-spacing:.05em;
}
.galaxy-node[data-planet=SATURN]::after{
    inset:12%;
    border-width:2px;
    border-color:color-mix(in srgb,var(--tone),transparent 34%);
    border-left-color:transparent;
    border-right-color:transparent;
    transform:rotate(-16deg) scaleX(1.75) scaleY(.48);
    animation:saturn-ring 10s linear infinite;
}
.galaxy-node[data-planet=JUPITER]::before{
    background:
        linear-gradient(4deg,transparent 20%,rgba(255,255,255,.18) 23% 28%,transparent 31% 48%,rgba(15,31,35,.28) 51% 58%,transparent 61%),
        radial-gradient(circle at 35% 28%,#fff 0 2%,color-mix(in srgb,var(--tone),#fff 28%) 3%,var(--tone) 24%,color-mix(in srgb,var(--tone),#06111a 58%) 62%,#02070c 100%);
}
.galaxy-black-hole{
    position:absolute;
    z-index:4;
    right:7vw;
    top:17vh;
    width:150px;
    height:150px;
    pointer-events:none;
    opacity:.9;
    filter:drop-shadow(0 0 24px rgba(81,108,255,.2));
}
.galaxy-black-hole::before{
    content:"";
    position:absolute;
    inset:29%;
    z-index:3;
    border-radius:50%;
    background:#000;
    box-shadow:0 0 0 4px rgba(3,5,10,.95),0 0 22px 10px rgba(47,70,150,.36),0 0 48px 17px rgba(109,53,196,.13);
}
.galaxy-black-hole::after{
    content:"";
    position:absolute;
    inset:20% 2%;
    z-index:2;
    border-radius:50%;
    background:conic-gradient(from 20deg,transparent 0 8%,#6ce2ff 12%,#6557d9 20%,transparent 32% 48%,#f2a35c 57%,#9a57d7 67%,transparent 78%);
    mask:radial-gradient(ellipse,#0000 0 27%,#000 31% 47%,#0000 54%);
    transform:rotate(-14deg) scaleY(.32);
    filter:blur(1.2px) drop-shadow(0 0 9px rgba(100,196,255,.75));
    animation:black-hole-disc 9s linear infinite;
}
.galaxy-black-hole i{
    position:absolute;
    inset:9%;
    border:1px solid rgba(110,207,255,.2);
    border-radius:50%;
    transform:scaleY(.42) rotate(-14deg);
    box-shadow:0 0 18px rgba(71,112,255,.16),inset 0 0 18px rgba(165,83,255,.12);
}
.galaxy-black-hole b{
    position:absolute;
    left:50%;
    top:50%;
    width:4px;
    height:4px;
    border-radius:50%;
    background:#fff;
    box-shadow:44px 4px 0 rgba(116,221,255,.7),-50px -13px 0 rgba(255,255,255,.48),36px -38px 0 rgba(178,137,255,.6),-31px 45px 0 rgba(255,175,105,.46);
    animation:black-hole-dust 6s ease-in-out infinite;
}
.galaxy-black-hole span{
    position:absolute;
    left:50%;
    bottom:-4px;
    transform:translateX(-50%);
    color:#4e7484;
    font-size:6px;
    letter-spacing:.34em;
    white-space:nowrap;
}
@keyframes solar-orbit-flow{to{stroke-dashoffset:-190}}
@keyframes theme-earth-spin{to{background-position:38px 0,42px 0,35px 0}}
@keyframes theme-earth-orbit{
    from{transform:translate(-50%,-50%) rotate(-20deg) scaleY(.29) rotate(0deg)}
    to{transform:translate(-50%,-50%) rotate(-20deg) scaleY(.29) rotate(360deg)}
}
@keyframes saturn-ring{to{transform:rotate(344deg) scaleX(1.75) scaleY(.48)}}
@keyframes black-hole-disc{to{transform:rotate(346deg) scaleY(.32)}}
@keyframes black-hole-dust{50%{transform:rotate(160deg) scale(1.16)}}
@media(max-width:900px){
    .galaxy-manifesto{top:79px;width:calc(100vw - 40px)}
    .galaxy-manifesto::before{inset:-16px -20px -15px}
    .galaxy-manifesto>span,.galaxy-manifesto p{display:none}
    .galaxy-manifesto h1{gap:8px;margin:0;font-size:12px;letter-spacing:.06em}
    .galaxy-manifesto h1 i{width:22px;height:22px;flex-basis:22px}
    .galaxy-manifesto h1 i::after{width:33px;height:10px}
    .galaxy-manifesto h1 i b{width:33px;height:33px}
    .galaxy-black-hole{right:2vw;top:13vh;width:82px;height:82px;opacity:.58}
    .galaxy-black-hole span{display:none}
    .galaxy-orbit{animation:none;opacity:.62}
    .galaxy-node.system{--size:calc(64px * var(--planet-scale,1))}
}
@media(prefers-reduced-motion:reduce){
    .galaxy-orbit,.galaxy-black-hole::after,.galaxy-black-hole b,.galaxy-node[data-planet=SATURN]::after,.galaxy-manifesto h1 i::before,.galaxy-manifesto h1 i b{animation:none}
}
