/* MC5-R4: validated RGBA maps, unmodified alpha, normal compositing.
   Existing card transform establishes the stacking context. The reflection
   sits at -1 below the existing glass face at 0 and all content above it. */
.agent-card-layer { --card-reflection-opacity: 1; }
.agent-card-shell > .agent-reflection-underlay {
  position: absolute;
  left: var(--card-inner-offset-x);
  top: var(--card-inner-offset-y);
  width: var(--card-inner-width);
  height: var(--card-inner-height);
  border-radius: var(--card-inner-radius);
  overflow: hidden;
  object-fit: cover;
  object-position: center;
  display: block;
  z-index: -1;
  opacity: calc(var(--card-reflection-opacity) * var(--card-reflection-balance, 1));
  pointer-events: none;
  user-select: none;
}
/* MC5-R4.1: opacity-only perceptual balance; keep each validated map intact.
   Broader Stock/Confidentiality catches need more attenuation; the compact
   master's readily visible streaks receive a smaller local reduction. */
.agent-card-shell[data-agent="maintenance"] { --card-reflection-balance: .85; }
.agent-card-shell[data-agent="stock"] { --card-reflection-balance: .70; }
.agent-card-shell[data-agent="market"] { --card-reflection-balance: 1; }
.agent-card-shell[data-agent="confidentiality"] { --card-reflection-balance: .65; }
.agent-card-shell[data-agent="orchestrator"] { --card-reflection-balance: .78; }
.agent-card-shell[data-side="center"] > .agent-reflection-underlay {
  left: 6px;
  top: 23px;
  width: calc(100% - 12px);
  height: calc(100% - 46px);
  border-radius: var(--card-corner-radius);
}
