/* Shared physical materials for the orbital objects and their visor copies. */
.orbit-agent::before, .reflection-plaque::before {
  width: var(--plaque-width, 172px);
  clip-path: inset(0 calc(var(--plaque-width, 172px) - 48px) 0 0 round 24px);
}
.orbit-agent::after, .reflection-plaque::after {
  width: calc(var(--plaque-width, 172px) - 2px);
  clip-path: inset(0 calc(var(--plaque-width, 172px) - 48px) 0 0 round 23px);
}
.orbit-agent.is-expanded::before, .reflection-plaque.is-expanded::before,
.orbit-agent.is-expanded::after, .reflection-plaque.is-expanded::after { clip-path: inset(0 0 0 0 round 24px); }
.orbit-agent .agent-label, .reflection-plaque .agent-label { width: max-content; white-space: nowrap; }
.orbit-agent::before, .reflection-plaque::before {
  background: linear-gradient(145deg, #e0ebe9 0%, #667b7d 18%, #182b31 43%, #778d91 66%, #122127 86%, #a0b4b7 100%);
}
.orbit-agent::after, .reflection-plaque::after {
  background: radial-gradient(ellipse at 22% 0%, rgba(222,240,241,.24), transparent 54%), linear-gradient(155deg, #24383f, #0a151c 58%, #03090d);
}
.orbit-agent .agent-core, .reflection-plaque .agent-core {
  border: 1px solid #8ba4a9;
  color: #d9f4ec;
  font-weight: 700;
  text-shadow: 0 1px 2px #000, 0 0 7px color-mix(in srgb, var(--agent-accent) 50%, transparent);
  background: radial-gradient(ellipse at 28% 18%, #d0dcde 0%, #82979c 12%, #40565e 32%, #1a2b34 56%, #060e15 79%, #3c535e 100%);
  box-shadow: inset 1px 1px 2px rgba(255,255,255,.65), inset -3px -4px 7px #01070c, 0 3px 6px rgba(0,0,0,.8), 0 0 0 2px #13232b, 0 0 0 3px color-mix(in srgb, var(--agent-accent) 35%, #34464e);
}
.agent-core::before {
  content: ''; position: absolute; top: 4px; left: 7px;
  width: 12px; height: 4px; border-radius: 50%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent);
  transform: rotate(-28deg); pointer-events: none;
}
.agent-core::after {
  content: ''; position: absolute; inset: 3px; border-radius: 50%;
  border-left: 1px solid rgba(255,255,255,.2);
  border-right: 1px solid rgba(0,0,0,.6);
  transform: rotate(-32deg); pointer-events: none;
}
.satellite-antennas { filter: drop-shadow(1px 3px 2px rgba(0,0,0,.8)); }
.satellite-antennas i {
  height: 3px; top: -1px; border-radius: 2px;
  background: linear-gradient(to bottom, #ecf5f3 0%, #91a9ae 30%, #3e5965 55%, #12232d 100%);
  clip-path: polygon(0 0, 100% 36%, 100% 68%, 0 100%);
  box-shadow: 0 0 2px color-mix(in srgb, var(--agent-accent) 40%, transparent);
}
.satellite-antennas i::before {
  content: ''; position: absolute; left: 0; top: 0; width: 7px; height: 3px;
  background: linear-gradient(#f1f5ed, #62777e 45%, #11252d);
}
.orbit-agent .agent-label strong, .reflection-plaque .agent-label strong {
  color: #e5eded; text-shadow: 0 1px 2px #000;
}
