/* V1.123 — target selection is a scoped focus session, not a loose page state. */
body.targeting-focus-session-active #battle,
body.targeting-focus-session-active #sidePanel {
  cursor: crosshair;
}

body.targeting-focus-session-active [data-targeting-session-locked="true"] {
  pointer-events: none !important;
  user-select: none;
}

body.targeting-focus-session-active :is(
  #cards .action-card,
  #youEquipment .equipment-slot.usable,
  .seat-fighter.self-seat .inline-skill-action,
  .seat-fighter.self-seat .team-equipment .equipment-slot.usable,
  #sidePanel button
)[data-targeting-session-locked="true"] {
  opacity: 0.48;
  filter: saturate(0.58) brightness(0.74);
  transition: opacity 140ms ease, filter 140ms ease;
}

body.targeting-focus-session-active .target-candidate {
  cursor: pointer;
}

body.targeting-focus-session-active .target-candidate:focus-visible {
  outline: 2px solid var(--target-lock-line, #8cecff) !important;
  outline-offset: 6px !important;
  box-shadow:
    0 0 0 8px color-mix(in srgb, var(--target-lock-line, #8cecff) 12%, transparent),
    0 0 34px color-mix(in srgb, var(--target-lock-line, #8cecff) 44%, transparent) !important;
}

body.targeting-focus-session-active .target-candidate:focus-visible .target-reticle {
  filter: brightness(1.2) saturate(1.14) drop-shadow(0 0 9px var(--target-lock-line, #8cecff));
  animation: targeting-session-focus-pulse 780ms ease-in-out infinite alternate !important;
}

body.targeting-focus-session-active .targeting-decision-rail {
  border-color: color-mix(in srgb, var(--targeting-primary) 82%, white 18%);
  box-shadow:
    0 12px 30px rgba(0, 0, 0, 0.46),
    0 0 22px var(--targeting-soft),
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    inset 0 0 30px color-mix(in srgb, var(--targeting-soft) 52%, transparent);
}

body.targeting-focus-session-active .targeting-decision-detail {
  color: rgba(235, 250, 255, 0.9);
  letter-spacing: 0.035em;
}

body.targeting-focus-session-active .targeting-decision-cancel:focus-visible {
  outline: 2px solid var(--targeting-primary);
  outline-offset: 3px;
}

@keyframes targeting-session-focus-pulse {
  from { opacity: 0.78; transform: translate(-50%, -50%) scale(0.98); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(1.035); }
}

@media (max-width: 720px) {
  body.targeting-focus-session-active .target-candidate:focus-visible {
    outline-offset: 3px !important;
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--target-lock-line, #8cecff) 12%, transparent), 0 0 22px color-mix(in srgb, var(--target-lock-line, #8cecff) 42%, transparent) !important;
  }

  body.targeting-focus-session-active .targeting-decision-detail {
    font-size: 10px;
    letter-spacing: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.targeting-focus-session-active .target-candidate:focus-visible .target-reticle {
    animation: none !important;
    transform: translate(-50%, -50%) !important;
  }

  body.targeting-focus-session-active [data-targeting-session-locked="true"] {
    transition: none !important;
  }
}

@media (forced-colors: active) {
  body.targeting-focus-session-active .target-candidate:focus-visible,
  body.targeting-focus-session-active .targeting-decision-cancel:focus-visible {
    outline: 3px solid Highlight !important;
    box-shadow: none !important;
  }

  body.targeting-focus-session-active [data-targeting-session-locked="true"] {
    opacity: 0.55;
  }
}
