:root { --solar-drop: clamp(154px, calc(100vh - 826px), 254px); }

.grid-header > .solar-system-module { grid-column: 3; }
.solar-preview-page .grid-header > .solar-system-module { grid-column:1; width:100vw; height:100vh; min-height:100vh; }
.solar-system-module {
  z-index: 4; position: relative; height: calc(var(--header-height) + var(--solar-drop)); min-width: 0;
  padding: 0; overflow: hidden; isolation: isolate; color: #dff8ff;
  font-family: "Segoe UI", Arial, sans-serif; background: #02060d;
}
.solar-system-module button { font: inherit; }
.solar-system-module .solar-map { position: absolute; inset: 3px; overflow: hidden; cursor: crosshair; background:
  radial-gradient(ellipse at 47% 51%, rgba(255,139,26,.13), transparent 19%),
  radial-gradient(ellipse at 73% 20%, rgba(86,58,146,.12), transparent 28%),
  linear-gradient(145deg, #030916 0%, #01040a 58%, #050918 100%); }
.solar-system-module .solar-map::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.26; background-image:
  linear-gradient(rgba(49,214,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(49,214,255,.06) 1px, transparent 1px); background-size:31px 31px; mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent); }
.solar-stars { position:absolute; inset:-40%; pointer-events:none; opacity:.6; background-image:radial-gradient(#c8f7ff 0 1px,transparent 1.2px); background-size:37px 43px; animation:solar-star-drift 90s linear infinite; }
.solar-stars-b { opacity:.28; background-size:61px 67px; transform:rotate(21deg); animation-duration:140s; animation-direction:reverse; }

.solar-caption,.solar-readout,.solar-selection { position:absolute; z-index:20; pointer-events:none; display:grid; gap:2px; text-shadow:0 1px 5px #000; }
.solar-caption { left:9px; top:8px; padding:3px 6px; border-left:2px solid rgba(255,78,221,.72); background:linear-gradient(90deg,rgba(2,6,13,.88),transparent); }
.solar-caption small,.solar-readout small,.solar-selection small { color:#7893a8; font-size:6.5px; letter-spacing:1.2px; }
.solar-caption strong { color:#7cecff; font-size:10px; line-height:1; letter-spacing:.8px; }
.solar-caption span,.solar-readout span,.solar-readout em,.solar-selection span { color:#819bad; font-size:6.5px; font-style:normal; letter-spacing:.45px; }
.solar-readout { right:9px; bottom:8px; justify-items:end; padding:3px 6px; border-right:2px solid rgba(35,218,255,.58); background:linear-gradient(270deg,rgba(2,6,13,.9),transparent); }
.solar-readout b { color:var(--green,#54ff9f); font-size:7.5px; }
.solar-selection { left:9px; bottom:8px; max-width:115px; padding:3px 6px; border-left:1px solid rgba(126,236,255,.38); background:rgba(2,7,14,.7); }
.solar-selection b { overflow:hidden; color:#dffbff; font-size:7.5px; text-overflow:ellipsis; white-space:nowrap; }
.solar-selection span { color:#ff8fe7; }

.solar-local-compact { position:absolute; inset:4% 20% 5% 10%; }
.solar-orbit-track { position:absolute; z-index:3; left:48%; top:50%; display:block; width:var(--orbit); aspect-ratio:1; border-radius:50%; transform-origin:center; animation:solar-orbit var(--duration) linear var(--delay) infinite; }
.solar-orbit-track::before { content:""; position:absolute; inset:0; border:1px solid rgba(94,205,235,.15); border-radius:50%; box-shadow:inset 0 0 14px rgba(35,176,228,.025); }
.solar-local-compact .solar-orbit-track { transform:translate(-50%,-50%) scaleY(.56); }
.solar-world { position:absolute; z-index:6; left:50%; top:0; display:grid; place-items:center; width:max(12px,calc(var(--world-size) + 5px)); height:max(12px,calc(var(--world-size) + 5px)); padding:0; border:0; border-radius:50%; color:#dffbff; background:transparent; cursor:pointer; transform:translate(-50%,-50%) scaleY(1.78); }
.solar-world > i { display:block; width:var(--world-size); height:var(--world-size); border:1px solid color-mix(in srgb,var(--world-color),#fff 38%); border-radius:50%; background:
  radial-gradient(circle at 31% 27%,rgba(255,255,255,.6),transparent 19%),
  radial-gradient(circle at 62% 64%,color-mix(in srgb,var(--world-color),#02050b 34%),var(--world-color) 54%,#050811 100%);
  box-shadow:0 0 6px color-mix(in srgb,var(--world-color),transparent 12%); transition:filter .18s,transform .18s,box-shadow .18s; }
.solar-world > span { position:absolute; left:50%; top:calc(100% + 1px); display:none; padding:2px 4px; border:1px solid rgba(74,210,239,.33); color:#dffcff; background:rgba(2,7,15,.94); font:700 6px/1.1 monospace; white-space:nowrap; transform:translateX(-50%); }
.solar-world:hover,.solar-world:focus-visible,.solar-world.is-selected { z-index:25; outline:none; }
.solar-world:hover > i,.solar-world:focus-visible > i,.solar-world.is-selected > i { filter:brightness(1.42); transform:scale(1.35); box-shadow:0 0 5px #fff,0 0 14px var(--world-color); }
.solar-world:hover > span,.solar-world:focus-visible > span,.solar-world.is-selected > span { display:block; }
.solar-world-saturn > i::after { content:""; position:absolute; left:50%; top:50%; width:150%; height:44%; border:1px solid #e8d3a1; border-radius:50%; transform:translate(-50%,-50%) rotate(-18deg); opacity:.85; }

.solar-sun { position:absolute; z-index:12; left:48%; top:50%; width:58px; height:58px; padding:0; border:0; border-radius:50%; color:#fff; background:transparent; cursor:pointer; transform:translate(-50%,-50%); }
.solar-sun::before,.solar-sun::after { content:""; position:absolute; inset:-12px; border-radius:50%; pointer-events:none; background:radial-gradient(circle,rgba(255,213,104,.28),rgba(255,110,12,.09) 44%,transparent 71%); animation:solar-corona 5.5s ease-in-out infinite; }
.solar-sun::after { inset:-22px; opacity:.45; animation-delay:-2.2s; }
.solar-sun > i { position:absolute; inset:8px; overflow:hidden; border:1px solid #fff2a7; border-radius:50%; background:
  radial-gradient(circle at 33% 30%,#fffbd1 0 7%,transparent 8%),
  repeating-radial-gradient(circle at 41% 47%,rgba(255,238,125,.25) 0 2px,transparent 3px 7px),
  radial-gradient(circle,#ffd866 0 24%,#ff9d1e 55%,#d94b08 78%,#681400 100%);
  box-shadow:inset -5px -5px 11px rgba(121,29,0,.55),0 0 7px #fff4b2,0 0 20px #ff9b18,0 0 45px rgba(255,79,5,.48); animation:solar-surface-rotate 34s linear infinite; }
.solar-sun > b { position:absolute; z-index:2; inset:0; display:grid; place-items:center; color:#491300; font:800 21px/1 Georgia,serif; text-shadow:0 0 4px #fff7b0; }
.solar-sun > b span { position:absolute; animation:solar-rune-swap 7s ease-in-out infinite; }
.solar-sun > b span+span { opacity:0; animation-delay:-3.5s; }
.solar-sun > em { position:absolute; left:50%; top:calc(100% + 3px); color:#ffd98a; font:700 6.5px monospace; font-style:normal; letter-spacing:.8px; white-space:nowrap; transform:translateX(-50%); }
.solar-sun:hover > i,.solar-sun:focus-visible > i,.solar-sun.is-selected > i { filter:brightness(1.22); }

.solar-deep-compact { position:absolute; z-index:10; right:9%; top:17%; width:24%; height:39%; border-top:1px dashed rgba(194,104,255,.35); border-right:1px dashed rgba(194,104,255,.25); }
.solar-deep-compact::before { content:""; position:absolute; right:18%; top:45%; width:3px; height:3px; border-radius:50%; background:#ffb780; box-shadow:0 0 7px #ff754d,0 0 18px rgba(221,73,255,.55); animation:solar-deep-pulse 3.4s ease-in-out infinite; }
.solar-deep-compact > small { position:absolute; right:0; top:-10px; color:#956caf; font:600 5.5px monospace; white-space:nowrap; }
.solar-deep-compact .solar-world { left:72%; top:55%; transform:translate(-50%,-50%); --world-size:8px; --world-color:#a97867; }
.solar-deep-compact > b { position:absolute; right:0; top:61%; color:#ff75e5; font:700 6px monospace; }
.solar-expand { position:absolute; z-index:30; right:8px; top:7px; display:flex; align-items:center; gap:4px; padding:3px 5px; border:1px solid rgba(54,213,244,.42); color:#7cecff; background:rgba(3,9,17,.85); font:700 6px monospace; cursor:pointer; }
.solar-expand:hover,.solar-expand:focus-visible { border-color:#8af0ff; box-shadow:0 0 10px rgba(37,217,255,.25); outline:none; }
.solar-expand b { font-size:9px; }

body.solar-map-open { overflow:hidden; }
body.solar-map-open .grid-header { z-index:110; }
.solar-overlay { position:fixed; z-index:10000; inset:0; padding:clamp(8px,1.5vw,24px); background:rgba(0,2,8,.93); backdrop-filter:blur(8px); }
.solar-overlay[hidden] { display:none; }
.solar-dialog { display:grid; grid-template-rows:auto minmax(0,1fr); width:100%; height:100%; overflow:hidden; border:1px solid rgba(70,224,255,.58); background:#020610; box-shadow:inset 0 0 55px rgba(23,130,186,.08),0 0 34px rgba(0,0,0,.8); }
.solar-dialog-head { position:relative; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:54px; padding:8px 12px; border-bottom:1px solid rgba(52,215,245,.28); background:linear-gradient(90deg,rgba(8,22,38,.98),rgba(6,9,22,.98)); }
.solar-dialog-head > div:first-child { display:grid; gap:3px; }
.solar-dialog-head small { color:#6d8da6; font:600 8px monospace; letter-spacing:1.2px; }
.solar-dialog-head strong { color:#b7f7ff; font:700 clamp(11px,1.2vw,17px) monospace; letter-spacing:1px; }
.solar-controls { display:flex; align-items:center; gap:5px; }
.solar-controls button,.solar-controls output { min-width:31px; height:28px; padding:0 8px; border:1px solid rgba(65,207,237,.34); color:#a9eff9; background:#06101c; font:700 8px monospace; }
.solar-controls button { cursor:pointer; }
.solar-controls button:hover,.solar-controls button:focus-visible { border-color:#7cecff; color:#fff; outline:none; }
.solar-controls output { display:grid; place-items:center; color:#7596aa; }
.solar-controls .solar-close { border-color:rgba(255,78,221,.54); color:#ff8ce8; }
.solar-dialog-body { display:grid; grid-template-columns:minmax(0,1fr) clamp(250px,27vw,410px); min-height:0; }
.solar-viewport { position:relative; min-width:0; overflow:hidden; cursor:grab; background:
  radial-gradient(ellipse at 31% 47%,rgba(255,117,17,.11),transparent 22%),
  radial-gradient(ellipse at 78% 41%,rgba(98,54,162,.13),transparent 35%),
  radial-gradient(circle at 20% 20%,#0a1730,#02050d 62%); touch-action:none; }
.solar-viewport.is-dragging { cursor:grabbing; }
.solar-viewport::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.37; background-image:radial-gradient(#c8f7ff 0 1px,transparent 1.2px); background-size:41px 47px; }
.solar-panzoom { position:absolute; left:50%; top:50%; width:1600px; height:860px; transform-origin:center; will-change:transform; }
.solar-map-hint { position:absolute; z-index:4; left:12px; bottom:8px; color:#546f82; font:600 7px monospace; letter-spacing:.5px; pointer-events:none; }

.solar-info { position:relative; z-index:2; min-width:0; overflow:auto; padding:16px; border-left:1px solid rgba(54,213,244,.24); background:linear-gradient(165deg,rgba(7,18,31,.98),rgba(3,7,15,.99)); }
.solar-info-title { padding:0 0 13px 12px; border-left:3px solid #ff9c28; border-bottom:1px solid rgba(65,207,237,.17); }
.solar-info-title small,.solar-info-title span { color:#788fa1; font:600 8px monospace; letter-spacing:1px; }
.solar-info-title h2 { margin:5px 0; color:#effeff; font:700 clamp(18px,2.2vw,31px)/1 monospace; text-transform:uppercase; }
.solar-info section { margin-top:16px; }
.solar-info h3 { margin:0 0 9px; color:#72eaff; font:700 9px monospace; letter-spacing:1.4px; }
.solar-info dl { display:grid; grid-template-columns:minmax(95px,.72fr) minmax(0,1fr); gap:1px; margin:0; }
.solar-info dt,.solar-info dd { margin:0; padding:5px 6px; background:rgba(12,28,43,.54); font:600 8px/1.35 monospace; }
.solar-info dt { color:#68869a; }.solar-info dd { overflow-wrap:anywhere; color:#c7dce7; }
.solar-forteca-info { padding:12px; border:1px solid rgba(255,78,221,.22); background:rgba(31,8,39,.18); }
.solar-forteca-info > small { display:block; color:#8b7191; font:600 7px monospace; }
.solar-forteca-info > strong { display:block; margin:4px 0 7px; color:#ff8ce8; font:700 17px monospace; }
.solar-forteca-info p { color:#91a9b8; font:8px/1.45 monospace; }
.solar-subsystem-label { display:block; margin:10px 0 5px; color:#7e92a0; font:600 7px monospace; }
.solar-subsystem-chip { display:inline-block; margin:0 4px 4px 0; padding:3px 6px; border:1px solid rgba(42,220,255,.52); color:#aef5ff; background:rgba(17,110,145,.12); font:700 7px monospace; box-shadow:inset 0 0 8px rgba(35,203,240,.08); }
.solar-forteca-info a { display:inline-block; margin-top:10px; padding:6px 8px; border:1px solid rgba(84,255,159,.44); color:#76ffb0; font:700 8px monospace; text-decoration:none; }

.grid-power-off .solar-system-module .solar-sun,.grid-power-off .solar-system-module .solar-orbit-track,.grid-power-off .solar-system-module .solar-stars,
.solar-system-module.is-power-off .solar-sun,.solar-system-module.is-power-off .solar-orbit-track,.solar-system-module.is-power-off .solar-stars { animation-play-state:paused; }
.grid-power-off .solar-system-module .solar-map,.solar-system-module.is-power-off .solar-map { filter:saturate(.35) brightness(.58); }

@keyframes solar-orbit { from { transform:translate(-50%,-50%) scaleY(.56) rotate(0deg); } to { transform:translate(-50%,-50%) scaleY(.56) rotate(360deg); } }
@keyframes solar-orbit-expanded { from { transform:translate(-50%,-50%) scaleY(.72) rotate(0deg); } to { transform:translate(-50%,-50%) scaleY(.72) rotate(360deg); } }
@keyframes solar-surface-rotate { to { transform:rotate(360deg); } }
@keyframes solar-corona { 50% { opacity:.62; transform:scale(1.13) rotate(7deg); } }
@keyframes solar-rune-swap { 0%,42% { opacity:1; filter:blur(0); transform:scale(1); } 50%,92% { opacity:0; filter:blur(3px); transform:scale(.88); } 100% { opacity:1; filter:blur(0); transform:scale(1); } }
@keyframes solar-star-drift { to { transform:translate3d(5%,3%,0) rotate(.01deg); } }
@keyframes solar-deep-pulse { 50% { opacity:.45; transform:scale(1.7); } }

@media (max-width:1500px) {
  .solar-caption span,.solar-readout span:nth-of-type(2),.solar-readout em,.solar-selection small { display:none; }
  .solar-local-compact { right:17%; left:5%; }
  .solar-selection { max-width:82px; }
}
@media (max-width:900px) {
  .solar-overlay { padding:0; }
  .solar-dialog-head { align-items:flex-start; flex-direction:column; }
  .solar-controls { width:100%; overflow-x:auto; }
  .solar-dialog-body { grid-template-columns:1fr; grid-template-rows:minmax(45vh,1fr) minmax(210px,42vh); }
  .solar-info { border-top:1px solid rgba(54,213,244,.24); border-left:0; }
}
@media (max-width:520px) {
  .solar-caption,.solar-readout { transform:scale(.86); }.solar-caption{transform-origin:left top}.solar-readout{transform-origin:right bottom}
  .solar-selection { display:none; }.solar-local-compact{inset:10% 15% 8% 1%}.solar-deep-compact{right:2%;width:20%}
  .solar-controls button[data-solar-focus],.solar-controls button[data-solar-reset] { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .solar-system-module * { scroll-behavior:auto!important; }
  .solar-orbit-track,.solar-stars,.solar-sun > i,.solar-sun::before,.solar-sun::after { animation-duration:240s!important; }
}

/* Unified expanded command map */
.solar-unified-canvas { width:1800px; height:1040px; overflow:visible; background:radial-gradient(circle at 36% 50%,rgba(255,126,18,.12),transparent 20%),radial-gradient(circle at 73% 45%,rgba(155,72,255,.11),transparent 34%); }
.solar-unified-canvas::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.42; background-image:radial-gradient(#d9f9ff 0 1px,transparent 1.3px),radial-gradient(#a3c6ff 0 1px,transparent 1.3px); background-position:0 0,31px 43px; background-size:77px 83px,131px 139px; }
.solar-canvas-title { position:absolute; left:42px; top:36px; display:grid; gap:4px; padding-left:10px; border-left:2px solid #ff5ddd; color:#76eafc; font:700 12px monospace; letter-spacing:1px; }.solar-canvas-title span { color:#718ba1; font-size:8px; }
.solar-unified-sun { left:680px!important; top:520px!important; width:82px!important; height:82px!important; transform:translate(-50%,-50%)!important; }.solar-unified-sun > i { inset:10px!important; }.solar-unified-sun > b { position:absolute; inset:0; z-index:3; display:grid; place-items:center; color:#571707; font:800 29px Georgia,serif; }.solar-unified-sun > span { display:block!important; top:calc(100% + 9px)!important; font-size:10px!important; }
.solar-unified-orbit { position:absolute; left:680px; top:520px; width:calc(var(--radius) * 2); height:calc(var(--radius) * 1.28); border:1px solid rgba(91,221,248,.18); border-radius:50%; transform:translate(-50%,-50%); animation:solar-unified-orbit var(--duration) linear var(--delay) infinite; }
.solar-unified-orbit .solar-unified-object { left:50%; top:0; transform:translate(-50%,-50%) scaleY(1.28); }.solar-unified-object { position:absolute; z-index:5; width:max(23px,calc(var(--world-size) + 12px)); height:max(23px,calc(var(--world-size) + 12px)); padding:0; border:0; border-radius:50%; background:transparent; cursor:pointer; color:#e8fbff; }.solar-unified-object > i { position:relative; display:block; width:var(--world-size); height:var(--world-size); margin:auto; border:1px solid color-mix(in srgb,var(--world-color),#fff 40%); border-radius:50%; background:radial-gradient(circle at 29% 24%,rgba(255,255,255,.72),transparent 13%),radial-gradient(circle at 68% 70%,color-mix(in srgb,var(--world-color),#030710 55%),var(--world-color) 57%,#03050b 100%); box-shadow:inset -4px -4px 7px rgba(0,0,0,.45),0 0 8px color-mix(in srgb,var(--world-color),transparent 15%); }.solar-unified-object > span { position:absolute; left:50%; top:calc(100% + 3px); display:block; padding:3px 5px; border:1px solid rgba(70,211,239,.26); background:rgba(2,7,15,.9); color:#d9fbff; font:700 8px monospace; white-space:nowrap; transform:translateX(-50%); }.solar-unified-object > span small { display:block; color:#ff91e9; font-size:6px; }.solar-unified-object:hover,.solar-unified-object.is-selected { z-index:20; outline:0; }.solar-unified-object:hover > i,.solar-unified-object.is-selected > i { transform:scale(1.35); filter:brightness(1.4); box-shadow:0 0 6px #fff,0 0 19px var(--world-color); }.solar-unified-object.is-selected::after { content:""; position:absolute; inset:-7px; border:1px solid #7cf2ff; border-radius:50%; animation:solar-selected 1.4s ease-in-out infinite; }
.solar-unified-orbit:has(.solar-world-saturn) .solar-unified-object > i::after { content:""; position:absolute; left:50%; top:50%; width:165%; height:44%; border:1px solid #eed79b; border-radius:50%; transform:translate(-50%,-50%) rotate(-19deg); }
.solar-unified-moon { position:absolute; left:calc(50% + 18px); top:-4px; width:9px; height:9px; padding:0; border:0; border-radius:50%; background:transparent; transform:rotate(var(--moon-angle)); cursor:pointer; opacity:0; pointer-events:none; }.solar-unified-moon i { display:block; width:4px; height:4px; margin:auto; border-radius:50%; background:#d6f3ff; box-shadow:0 0 6px #aeefff; }.solar-unified-moon span { position:absolute; left:9px; top:0; color:#b9f4ff; font:700 7px monospace; white-space:nowrap; }.solar-unified-moon:hover,.solar-unified-moon.is-selected,.solar-unified-moon:has(+*) { opacity:1; }.solar-unified-orbit:has(.is-selected) .solar-unified-moon,.solar-unified-moon.is-related { opacity:1; pointer-events:auto; }
.solar-exoworld-node { position:absolute; z-index:3; min-width:110px; min-height:76px; border-left:1px dashed rgba(225,119,255,.28); }.solar-exoworld-node::before { content:""; position:absolute; left:8px; top:19px; width:5px; height:5px; border-radius:50%; background:#fff3ce; box-shadow:0 0 9px #fff,0 0 20px #ff9e55; }.solar-exoworld-node em { position:absolute; left:18px; top:14px; color:#aa83b9; font:600 7px monospace; white-space:nowrap; }.solar-exoworld-node .solar-unified-object { left:8px; top:35px; }.solar-command-world > i { box-shadow:0 0 10px #ff77d8,0 0 22px #9e64ff; }.solar-command-world > span small { color:#ffb1ee; }
.solar-map-tools { position:absolute; z-index:20; right:10px; bottom:10px; display:flex; gap:3px; }.solar-map-tools button { padding:5px 6px; border:1px solid rgba(74,211,241,.35); color:#8deffc; background:#06101c; font:700 7px monospace; cursor:pointer; }.solar-map-tools button[aria-pressed="false"] { border-color:rgba(111,136,153,.28); color:#617889; }.solar-search { position:absolute; z-index:20; right:11px; top:10px; display:grid; gap:4px; color:#7897a9; font:700 7px monospace; }.solar-search input { width:170px; padding:6px 8px; border:1px solid rgba(70,211,239,.38); color:#d9faff; background:#06101c; font:700 9px monospace; }.solar-search input:focus { outline:1px solid #7cecff; }
.solar-layer-orbits-off .solar-unified-orbit { border-color:transparent; }.solar-layer-labels-off .solar-unified-object > span,.solar-layer-labels-off .solar-exoworld-node em { display:none; }.solar-layer-moons-off .solar-unified-moon { display:none!important; }.solar-layer-exoworlds-off .solar-exoworld-node { display:none; }.solar-layer-animation-off .solar-unified-orbit { animation-play-state:paused; }.solar-focus-active .solar-unified-object:not(.is-selected):not(.is-related),.solar-focus-active .solar-exoworld-node:not(:has(.is-selected)) { opacity:.35; }.solar-trace-active .solar-unified-orbit:has(.is-selected) { border:2px solid #ff69da; box-shadow:0 0 18px rgba(255,89,214,.36); }.solar-internals-open .solar-subsystem-chip { animation:solar-selected 1.2s ease-in-out infinite; }
.solar-info-actions { display:flex; flex-wrap:wrap; gap:5px; margin-top:11px; }.solar-info-actions a,.solar-info-actions button { display:inline-flex; align-items:center; justify-content:center; min-height:27px; margin:0; padding:5px 7px; border:1px solid rgba(73,215,244,.45); color:#9cf2ff; background:rgba(4,15,27,.94); font:700 7px/1 monospace; letter-spacing:.35px; text-decoration:none; cursor:pointer; }.solar-info-actions a { border-color:rgba(84,255,159,.5); color:#76ffb0; }.solar-info-actions button:hover,.solar-info-actions button:focus-visible,.solar-info-actions a:hover,.solar-info-actions a:focus-visible { border-color:#e2fdff; color:#fff; outline:none; box-shadow:0 0 10px rgba(59,218,255,.2); }.solar-info-actions button[data-solar-trace] { border-color:rgba(255,78,221,.48); color:#ff9aec; }.solar-info-actions button[data-solar-internals] { border-color:rgba(255,185,71,.5); color:#ffd38c; }
@keyframes solar-unified-orbit { from { transform:translate(-50%,-50%) rotate(0deg); } to { transform:translate(-50%,-50%) rotate(360deg); } } @keyframes solar-selected { 50% { opacity:.35; transform:scale(1.25); } }

/* Expanded-map visual rebalance: local system is the hero, exoworlds stay atmospheric. */
.solar-unified-canvas { background:radial-gradient(circle at 38% 50%,rgba(255,137,24,.18),transparent 27%),radial-gradient(ellipse at 78% 47%,rgba(132,66,194,.13),transparent 38%); }
.solar-unified-sun { width:104px!important; height:104px!important; }.solar-unified-sun > i { inset:11px!important; box-shadow:inset -8px -8px 15px rgba(121,29,0,.58),0 0 12px #fff4b2,0 0 31px #ff9b18,0 0 67px rgba(255,79,5,.52)!important; }.solar-unified-sun > b { font-size:34px; }.solar-unified-sun > span { top:calc(100% + 11px)!important; font-size:9px!important; }
.solar-unified-orbit { border-color:rgba(103,223,247,.12); border-width:1px; box-shadow:inset 0 0 19px rgba(35,176,228,.02); }.solar-unified-orbit .solar-unified-object { width:max(31px,calc(var(--world-size) + 20px)); height:max(31px,calc(var(--world-size) + 20px)); }.solar-unified-orbit .solar-unified-object > i { width:calc(var(--world-size) * 1.72); height:calc(var(--world-size) * 1.72); border-width:1px; box-shadow:inset -5px -5px 9px rgba(0,0,0,.5),inset 2px 2px 3px rgba(255,255,255,.18),0 0 10px color-mix(in srgb,var(--world-color),transparent 22%); }.solar-unified-orbit .solar-unified-object > span { top:calc(100% + 5px); padding:1px 2px; border:0; background:transparent; color:#d9fbff; font-size:7px; line-height:1.1; text-shadow:0 1px 5px #000,0 0 6px #000; }.solar-unified-orbit .solar-unified-object > span small { margin-top:2px; color:#ff9bea; font-size:5.5px; letter-spacing:.25px; }.solar-unified-orbit .solar-unified-object:hover > i,.solar-unified-orbit .solar-unified-object.is-selected > i { transform:scale(1.25); }.solar-unified-orbit:has(.is-selected) { border-color:rgba(255,104,222,.82); border-width:2px; box-shadow:0 0 20px rgba(255,89,214,.32),inset 0 0 18px rgba(255,89,214,.08); }
.solar-exoworld-node { min-width:128px; min-height:86px; border-left-color:rgba(185,114,247,.2); }.solar-exoworld-node::before { width:6px; height:6px; opacity:.8; }.solar-exoworld-node em { color:#b38ec4; font-size:6.5px; }.solar-exoworld-node .solar-unified-object { width:31px; height:31px; }.solar-exoworld-node .solar-unified-object > i { width:max(13px,calc(var(--world-size) * 1.25)); height:max(13px,calc(var(--world-size) * 1.25)); box-shadow:inset -4px -4px 7px rgba(0,0,0,.48),0 0 11px color-mix(in srgb,var(--world-color),transparent 20%); }.solar-exoworld-node .solar-unified-object > span { top:calc(100% + 3px); padding:1px 2px; border:0; background:transparent; font-size:6.5px; text-shadow:0 1px 5px #000,0 0 6px #000; }.solar-exoworld-node .solar-unified-object > span small { font-size:5px; }.solar-command-world > i { box-shadow:inset -4px -4px 7px rgba(0,0,0,.45),0 0 13px #ff77d8,0 0 29px #9e64ff; }
.solar-unified-object.is-selected::after { inset:-10px; border-color:#f6bcff; border-width:2px; box-shadow:0 0 13px #ff77dc; }.solar-unified-object.is-selected > span { color:#fff; font-size:8px; }.solar-unified-moon { opacity:0; }.solar-unified-orbit:has(.is-selected) .solar-unified-moon,.solar-unified-moon.is-related { opacity:1; }
.solar-map-tools { padding:4px; border:1px solid rgba(51,182,215,.15); background:rgba(2,7,15,.55); }.solar-map-tools button { border-color:rgba(74,211,241,.27); background:rgba(4,13,23,.9); font-size:6.5px; }.solar-map-tools button[aria-pressed="true"] { color:#baf7ff; border-color:rgba(74,211,241,.5); box-shadow:inset 0 0 8px rgba(46,192,232,.08); }
.solar-unified-orbit .solar-unified-object { transform:translate(-50%,-50%)!important; }.solar-unified-orbit .solar-unified-object > i { aspect-ratio:1/1; border-radius:50%; }.solar-exoworld-node .solar-unified-object { animation:solar-exoworld-motion var(--exo-duration,18s) ease-in-out var(--exo-delay,0s) infinite alternate; }.solar-layer-animation-off .solar-exoworld-node .solar-unified-object,.solar-layer-animation-off .solar-unified-moon { animation-play-state:paused; }.solar-unified-moon { animation:solar-moon-motion 2.8s linear infinite; }
@keyframes solar-exoworld-motion { 0% { transform:translate(-50%,-50%) translate(-13px,-7px); } 50% { transform:translate(-50%,-50%) translate(13px,7px); } 100% { transform:translate(-50%,-50%) translate(-9px,11px); } } @keyframes solar-moon-motion { to { transform:rotate(360deg); } }

/* R25 Solar System: cleaner field, legible telemetry and one orbital model. */
.solar-system-module .solar-map::before,.solar-system-module .solar-stars,.solar-viewport::before,.solar-unified-canvas::before { display:none; }
.solar-caption { gap:3px; padding:5px 8px; }.solar-caption small { font-size:8px; }.solar-caption strong { font-size:13px; letter-spacing:1px; }.solar-caption span { font-size:8px; }
.solar-selection { max-width:145px; padding:5px 7px; }.solar-selection small { font-size:8px; }.solar-selection b { font-size:10px; }.solar-selection span { font-size:8px; }
.solar-sun { width:46px; height:46px; }.solar-sun > i { inset:7px; }.solar-sun > b { font-size:23px; }.solar-sun > em { font-size:8px; }
.solar-readout { display:grid; grid-template-columns:repeat(2,minmax(56px,1fr)); gap:3px; right:8px; bottom:7px; padding:0; border:0; background:none; }
.solar-status-card { display:grid!important; grid-template-columns:auto 1fr; align-items:center; gap:4px; min-height:23px; padding:3px 5px; border:1px solid rgba(58,210,241,.28); background:rgba(3,10,19,.88); }
.solar-status-card small { color:#87a7b7; font-size:7px; letter-spacing:.45px; }.solar-status-card b { justify-self:end; color:#c9f8ff; font:800 8px/1 monospace; }.solar-status-power b { color:var(--green,#54ff9f); }
.solar-unified-canvas { width:1900px; height:1420px; background:radial-gradient(circle at 36% 37%,rgba(255,126,18,.13),transparent 23%),radial-gradient(ellipse at 75% 44%,rgba(155,72,255,.08),transparent 37%); }
.solar-unified-sun,.solar-unified-orbit { left:820px!important; top:680px!important; }
.solar-unified-sun { width:78px!important; height:78px!important; }.solar-unified-sun > b { font-size:31px; }

/* Corrective readability only: orbital geometry and animation remain intact. */
.solar-status-card small { font-size:8px; line-height:1.15; }
.solar-status-card b { font-size:9px; line-height:1.15; }
.solar-map-tools button { font-size:8px; }
.solar-exoworld-node em { font-size:7.5px; }
.solar-exoworld-node .solar-unified-object > span { font-size:7.5px; }
.solar-exoworld-node .solar-unified-object > span small,.solar-unified-orbit .solar-unified-object > span small { font-size:6.5px; }
.solar-exoworld-orbit { border-color:rgba(190,102,245,.14); border-style:dashed; animation-direction:reverse; }.solar-exoworld-orbit .solar-unified-object > span small { color:#d39dff; }
.solar-layer-exoworlds-off .solar-exoworld-orbit { display:none; }
