/* =========================
   AVIATOR NODES (BASE)
   Emulates agent.css sizing + behavior
   ========================= */

.aviator-1-tier-1,
.av-2-tier-2,
.av-3-tier-2,
.av-4-tier-2,
.av-5-tier-3,
.av-6-tier-3,
.av-7-tier-4,
.av-8-tier-4,
.av-9-tier-4,
.av-10-tier-5,
.av-11-tier-6,
.av-12-tier-6,
.av-13-tier-6,
.av-sub-tier-7,
.av-health-tier-3,
.av-reaction-tier-5,
.av-action-tier-5
{
  position: absolute;
  z-index: 9999;
  pointer-events: none;
  text-align: center;
}

/* Images (match Agent “big node” vs “small node” behavior) */
.aviator-1-tier-1 img,
.av-sub-tier-7 img
{
  width: 48px; /* big size */
  height: auto;
}

.av-2-tier-2 img,
.av-3-tier-2 img,
.av-4-tier-2 img,
.av-5-tier-3 img,
.av-6-tier-3 img,
.av-7-tier-4 img,
.av-8-tier-4 img,
.av-9-tier-4 img,
.av-10-tier-5 img,
.av-11-tier-6 img,
.av-12-tier-6 img,
.av-13-tier-6 img
{
  width: 21px; /* small size */
  height: auto;
}

/* Labels (clone of Agent label style) */
.aviator-label{
  margin-top: -4px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold;
  color: rgba(140, 210, 255, 1);
  text-shadow: 0 0 6px rgba(40, 160, 255, 0.4);
  white-space: nowrap;
  line-height: 1;
  font-size: 5px; /* same default as agent-label */
}

/* Label size: Tier 1 + STYLE (big like Agent:1 and SUB) */
.aviator-1-tier-1 .aviator-label,
.av-sub-tier-7 .aviator-label
{
  font-size: 7px;
}

/* =========================
   MANUAL PLACEMENT (TEMP)
   These emulate the Agent cluster positions.
   Overlap is OK for now.
   ========================= */

/* Tier 1 */
.aviator-1-tier-1{ left: 970px; top: 790px; }

/* Tier 2 */
.av-2-tier-2{ left: 996px; top: 741px; }
.av-3-tier-2{ left: 1019px; top: 758px; }
.av-4-tier-2{ left: 1037px; top: 778px; }

/* Tier 3 */
.av-5-tier-3{ left: 1015px; top: 712px; }
.av-6-tier-3{ left: 1043px; top: 735px; }
.av-health-tier-3{ left: 1065px; top: 763px; }  /* copy of ag-health placement */

/* Tier 4 */
.av-7-tier-4{ left: 1035px; top: 682px; }
.av-8-tier-4{ left: 1067px; top: 709px; }      /* intentionally overlaps like AG:7 */
.av-9-tier-4{ left: 1091px; top: 739px; }

/* Tier 5 */
.av-10-tier-5{ left: 1093px; top: 684px; }
.av-reaction-tier-5{ left: 1054px; top: 652px; }
.av-action-tier-5{ left: 1122px; top: 720px; }

/* Tier 6 */
.av-11-tier-6{ left: 1080px; top: 623px; }
.av-12-tier-6{ left: 1118px; top: 659px; }
.av-13-tier-6{ left: 1153px; top: 701px; }

/* Tier 7 (STYLE) */
.av-sub-tier-7{ left: 1135px; top: 623px; }

/* =========================
   AV:10 MINOR NODES (NO LABELS)
   (match ag-4-minor sizing/behavior)
   ========================= */

.av-10-minor-node-1,
.av-10-minor-node-2,
.av-10-minor-node-3,
.av-10-minor-node-4{
  position: absolute;
  z-index: 9999;
  pointer-events: none;
  text-align: center;
}

.av-10-minor-node-1 img,
.av-10-minor-node-2 img,
.av-10-minor-node-3 img,
.av-10-minor-node-4 img{
  width: 6px;
  height: auto;
}

/* TEMP placement near AV:10 (overlap OK) */
.av-10-minor-node-1{ left: 1081px; top: 683px; }
.av-10-minor-node-2{ left: 1086px; top: 677px; }
.av-10-minor-node-3{ left: 1115px; top: 677px; }
.av-10-minor-node-4{ left: 1121px; top: 683px; }

/* =========================
   VISUAL EMPHASIS
   NOTE: Aviator main nodes are LIGHTER blue than Agent.
   ========================= */

/* Main Aviator nodes (LIGHTER than Agent) */
.aviator-1-tier-1 img,
.av-2-tier-2 img,
.av-3-tier-2 img,
.av-4-tier-2 img,
.av-5-tier-3 img,
.av-6-tier-3 img,
.av-7-tier-4 img,
.av-8-tier-4 img,
.av-9-tier-4 img,
.av-10-tier-5 img,
.av-11-tier-6 img,
.av-12-tier-6 img,
.av-13-tier-6 img,
.av-sub-tier-7 img
{
  filter: brightness(1.2);
  transition: none;
  pointer-events: auto;
  cursor: pointer;
}

/* Hover glow (lighter cyan/blue than Agent’s darker purple-blue) */
.aviator-1-tier-1:hover img,
.av-2-tier-2:hover img,
.av-3-tier-2:hover img,
.av-4-tier-2:hover img,
.av-5-tier-3:hover img,
.av-6-tier-3:hover img,
.av-7-tier-4:hover img,
.av-8-tier-4:hover img,
.av-9-tier-4:hover img,
.av-10-tier-5:hover img,
.av-11-tier-6:hover img,
.av-12-tier-6:hover img,
.av-13-tier-6:hover img,
.av-sub-tier-7:hover img
{
  filter:
    brightness(1.3)
    drop-shadow(0 0 2px rgba(40, 160, 255, 0.85))
    drop-shadow(0 0 4px rgba(80, 200, 255, 0.45));
}

/* Selected glow (lighter cyan/blue - enhanced) */
.aviator-1-tier-1.selected img,
.av-2-tier-2.selected img,
.av-3-tier-2.selected img,
.av-4-tier-2.selected img,
.av-5-tier-3.selected img,
.av-6-tier-3.selected img,
.av-7-tier-4.selected img,
.av-8-tier-4.selected img,
.av-9-tier-4.selected img,
.av-10-tier-5.selected img,
.av-11-tier-6.selected img,
.av-12-tier-6.selected img,
.av-13-tier-6.selected img,
.av-sub-tier-7.selected img
{
  filter:
    brightness(1.5)
    drop-shadow(0 0 2px rgba(40, 160, 255, 0.95))
    drop-shadow(0 0 4px rgba(80, 200, 255, 0.70))
    drop-shadow(0 0 8px rgba(140, 230, 255, 0.50));
}

/* Minor nodes behave like AG:4 minor nodes (kept as-is behavior-wise) */
.av-10-minor-node-1 img,
.av-10-minor-node-2 img,
.av-10-minor-node-3 img,
.av-10-minor-node-4 img{
  filter: brightness(1.5);
  transition: none;
  pointer-events: auto;
  cursor: pointer;
}

.av-10-minor-node-1:hover img,
.av-10-minor-node-2:hover img,
.av-10-minor-node-3:hover img,
.av-10-minor-node-4:hover img{
  filter:
    brightness(1.7)
    drop-shadow(0 0 2px rgba(40, 160, 255, 0.85))
    drop-shadow(0 0 4px rgba(80, 200, 255, 0.45));
}

.av-10-minor-node-1.selected img,
.av-10-minor-node-2.selected img,
.av-10-minor-node-3.selected img,
.av-10-minor-node-4.selected img{
  filter:
    brightness(1.9)
    drop-shadow(0 0 2px rgba(40, 160, 255, 0.95))
    drop-shadow(0 0 4px rgba(80, 200, 255, 0.70))
    drop-shadow(0 0 8px rgba(140, 230, 255, 0.50));
}

/* =========================
   STAT-LIKE NODES (Health / React / Act)
   MUST match agent.css EXACTLY for style.
   ========================= */

.av-health-tier-3 img{
  width: 17px;
  aspect-ratio: 1 / 1;
}

.av-reaction-tier-5 img,
.av-action-tier-5 img{
  width: 22px;
  height: auto;
}

/* label styling for these (copied from your Agent orange-size rules) */
.av-health-tier-3 .aviator-label{
  font-size: 3px;
  margin-top: -3px;
  color: rgba(255, 170, 70, 0.95);
  text-shadow: 0 0 6px rgba(255, 120, 40, 0.55);
}

.av-reaction-tier-5 .aviator-label,
.av-action-tier-5 .aviator-label{
  font-size: 3px;
  margin-top: -5.5px;
  color: rgba(255, 170, 70, 0.95);
  text-shadow: 0 0 6px rgba(255, 120, 40, 0.55);
}

/* Base */
.av-health-tier-3 img{
  filter: brightness(1.0) contrast(.9);
  transition: none;
  pointer-events: auto;
  cursor: pointer;
}

.av-reaction-tier-5 img,
.av-action-tier-5 img{
  filter: brightness(1.1);
  transition: none;
  pointer-events: auto;
  cursor: pointer;
}

/* Health+ hover glow (red) */
.av-health-tier-3:hover img{
  filter:
    brightness(1.3)
    drop-shadow(0 0 2px rgba(255, 80, 80, 0.6))
    drop-shadow(0 0 4px rgba(255, 80, 80, 0.4));
}

/* Health+ selected glow (red - enhanced) */
.av-health-tier-3.selected img{
  filter:
    brightness(1.5)
    drop-shadow(0 0 2px rgba(205, 57, 57, 1.0))
    drop-shadow(0 0 4px rgba(143, 8, 8, 0.7))
    drop-shadow(0 0 8px rgba(255, 80, 80, 0.5));
}

/* React+ hover glow (blue) */
.av-reaction-tier-5:hover img{
  filter:
    brightness(1.7)
    drop-shadow(0 0 2px rgba(77, 81, 193, 0.8))
    drop-shadow(0 0 4px rgba(74, 69, 230, 0.5));
}

/* React+ selected glow (blue - enhanced) */
.av-reaction-tier-5.selected img{
  filter:
    brightness(2.0)
    drop-shadow(0 0 2px rgba(77, 81, 193, 0.9))
    drop-shadow(0 0 4px rgba(74, 69, 230, 0.7))
    drop-shadow(0 0 10px rgba(70, 24, 169, 0.6));
}

/* Act+ hover glow (orange) */
.av-action-tier-5:hover img{
  filter:
    brightness(1.3)
    drop-shadow(0 0 2px rgba(255, 170, 70, 0.8))
    drop-shadow(0 0 4px rgba(255, 170, 70, 0.5));
}

/* Act+ selected glow (orange - enhanced) */
.av-action-tier-5.selected img{
  filter:
    brightness(1.5)
    drop-shadow(0 0 2px rgba(255, 170, 70, 0.7))
    drop-shadow(0 0 4px rgba(255, 170, 70, 0.5))
    drop-shadow(0 0 8px rgba(255, 170, 70, 0.3));
}

/* =========================
   APPLIED STATE (PERMANENT BREATHING GLOW + SWIRLING DOTS)
   ========================= */

/* Aviator normal nodes applied (unique keyframes so we DON'T override Agent) */
.aviator-1-tier-1.applied img,
.av-2-tier-2.applied img,
.av-3-tier-2.applied img,
.av-4-tier-2.applied img,
.av-5-tier-3.applied img,
.av-6-tier-3.applied img,
.av-7-tier-4.applied img,
.av-8-tier-4.applied img,
.av-9-tier-4.applied img,
.av-10-tier-5.applied img,
.av-11-tier-6.applied img,
.av-12-tier-6.applied img,
.av-13-tier-6.applied img,
.av-sub-tier-7.applied img,
.av-10-minor-node-1.applied img,
.av-10-minor-node-2.applied img,
.av-10-minor-node-3.applied img,
.av-10-minor-node-4.applied img
{
  animation: node-breathe-aviator 3s ease-in-out infinite;
}

/* Health+ / React+ / Act+ applied (MUST match Agent exact animations) */
.av-health-tier-3.applied img{
  animation: node-breathe-health 3s ease-in-out infinite;
}

.av-reaction-tier-5.applied img{
  animation: node-breathe-react 3s ease-in-out infinite;
}

.av-action-tier-5.applied img{
  animation: node-breathe-act 3s ease-in-out infinite;
}

/* Two rotating dots for applied nodes (same as Agent) */
.aviator-1-tier-1.applied::before,
.av-2-tier-2.applied::before,
.av-3-tier-2.applied::before,
.av-4-tier-2.applied::before,
.av-5-tier-3.applied::before,
.av-6-tier-3.applied::before,
.av-7-tier-4.applied::before,
.av-8-tier-4.applied::before,
.av-9-tier-4.applied::before,
.av-10-tier-5.applied::before,
.av-11-tier-6.applied::before,
.av-12-tier-6.applied::before,
.av-13-tier-6.applied::before,
.av-sub-tier-7.applied::before,
.av-10-minor-node-1.applied::before,
.av-10-minor-node-2.applied::before,
.av-10-minor-node-3.applied::before,
.av-10-minor-node-4.applied::before,
.av-health-tier-3.applied::before,
.av-reaction-tier-5.applied::before,
.av-action-tier-5.applied::before
{
  content: '';
  position: absolute;
  inset: -22%;
  background:
    radial-gradient(circle at 80% 50%, rgba(58, 24, 194, 0.9) 1px, transparent 1px),
    radial-gradient(circle at 20% 50%, rgba(68, 43, 213, 0.9) 1px, transparent 1px);
  background-size: 100% 100%;
  animation: two-dot-rotate 3s linear infinite;
  pointer-events: none;
  z-index: -1;
  border-radius: 50%;
}

/* Health+ needs larger radius due to smaller node size */
.av-health-tier-3.applied::before{
  inset: -50%;
}

/* =========================
   KEYFRAMES
   ========================= */

/* Aviator applied breathing (lighter cyan/blue than Agent) */
@keyframes node-breathe-aviator {
  0%, 100% {
    filter:
      brightness(1.1)
      drop-shadow(0 0 2px rgba(40, 160, 255, 0.95))
      drop-shadow(0 0 3px rgba(80, 200, 255, 0.80))
      drop-shadow(0 0 5px rgba(140, 230, 255, 0.65));
  }
  50% {
    filter:
      brightness(2.1)
      drop-shadow(0 0 3px rgba(40, 160, 255, 0.70))
      drop-shadow(0 0 5px rgba(80, 200, 255, 0.50))
      drop-shadow(0 0 9px rgba(140, 230, 255, 0.35));
  }
}

/* EXACT copies from agent.css for consistency (safe because identical names/values) */
@keyframes node-breathe-health {
  0%, 100% {
    filter:
      brightness(1.7) contrast(.9)
      drop-shadow(0 0 3px rgba(205, 57, 57, 1.0))
      drop-shadow(0 0 6px rgba(143, 8, 8, 0.8))
      drop-shadow(0 0 12px rgba(255, 80, 80, 0.6));
  }
  50% {
    filter:
      brightness(1.8) contrast(.9)
      drop-shadow(0 0 4px rgba(205, 57, 57, 0.7))
      drop-shadow(0 0 8px rgba(143, 8, 8, 0.5))
      drop-shadow(0 0 16px rgba(255, 80, 80, 0.3));
  }
}

@keyframes node-breathe-act {
  0%, 100% {
    filter:
      brightness(1.6)
      drop-shadow(0 0 3px rgba(255, 170, 70, 1.0))
      drop-shadow(0 0 6px rgba(255, 170, 70, 1.0))
      drop-shadow(0 0 12px rgba(255, 170, 70, 0.9));
  }
  50% {
    filter:
      brightness(1.7)
      drop-shadow(0 0 4px rgba(255, 170, 70, 0.7))
      drop-shadow(0 0 8px rgba(255, 170, 70, 0.5))
      drop-shadow(0 0 16px rgba(255, 170, 70, 0.3));
  }
}

@keyframes node-breathe-react {
  0%, 100% {
    filter:
      brightness(2.3)
      drop-shadow(0 0 3px rgba(77, 81, 193, 1.0))
      drop-shadow(0 0 6px rgba(74, 69, 230, 0.8))
      drop-shadow(0 0 12px rgba(70, 24, 169, 0.6));
  }
  50% {
    filter:
      brightness(2.5)
      drop-shadow(0 0 4px rgba(77, 81, 193, 0.7))
      drop-shadow(0 0 8px rgba(74, 69, 230, 0.5))
      drop-shadow(0 0 16px rgba(70, 24, 169, 0.3));
  }
}

@keyframes two-dot-rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* =========================
   PREMIUM AVIATOR NODES
   ========================= */

/* --- Positioning base (all premium nodes) --- */
.wingman-1-tier-7,
.maverick-1-tier-7,
.av-14-tier-8,
.av-15-tier-8,
.av-16-tier-8,
.av-reaction-tier-10,
.av-action-tier-10,
.av-health-tier-12,
.av-17-tier-12,
.wm-2-tier-9,
.wm-3-tier-9,
.wm-4-tier-9,
.wm-5-tier-9,
.wm-6-tier-11,
.wm-7-tier-11,
.wm-8-tier-11,
.wm-9-tier-11,
.wm-10-tier-11,
.mv-2-tier-9,
.mv-3-tier-9,
.mv-4-tier-9,
.mv-5-tier-9,
.mv-6-tier-11,
.mv-7-tier-11,
.mv-8-tier-11,
.mv-9-tier-11,
.mv-10-tier-11
{
  position: absolute;
  z-index: 9999;
  pointer-events: none;
  text-align: center;
}

/* Minor nodes */
.av-17-minor-node-1,
.av-17-minor-node-2,
.av-17-minor-node-3
{
  position: absolute;
  z-index: 9999;
  pointer-events: none;
  text-align: center;
}

/* --- Image sizes --- */

/* Archetype starting nodes (big) */
.wingman-1-tier-7 img,
.maverick-1-tier-7 img
{
  width: 47px;
  height: auto;
}

/* Standard premium nodes (small) */
.av-14-tier-8 img,
.av-15-tier-8 img,
.av-16-tier-8 img,
.av-17-tier-12 img,
.wm-2-tier-9 img,
.wm-3-tier-9 img,
.wm-4-tier-9 img,
.wm-5-tier-9 img,
.wm-6-tier-11 img,
.wm-7-tier-11 img,
.wm-8-tier-11 img,
.wm-9-tier-11 img,
.wm-10-tier-11 img,
.mv-2-tier-9 img,
.mv-3-tier-9 img,
.mv-4-tier-9 img,
.mv-5-tier-9 img,
.mv-6-tier-11 img,
.mv-7-tier-11 img,
.mv-8-tier-11 img,
.mv-9-tier-11 img,
.mv-10-tier-11 img
{
  width: 20px;
  height: auto;
}

/* Minor node images (tiny) */
.av-17-minor-node-1 img,
.av-17-minor-node-2 img,
.av-17-minor-node-3 img
{
  width: 6px;
  height: auto;
}

/* Stat nodes (Health/React/Act) */
.av-health-tier-12 img
{
  width: 17px;
  aspect-ratio: 1 / 1;
}

.av-reaction-tier-10 img,
.av-action-tier-10 img
{
  width: 22px;
  height: auto;
}

/* --- Labels --- */

/* Archetype labels (big) */
.wingman-1-tier-7 .aviator-label,
.maverick-1-tier-7 .aviator-label
{
  font-size: 7px;
}

/* Stat node labels (orange) */
.av-health-tier-12 .aviator-label
{
  font-size: 3px;
  margin-top: -3px;
  color: rgba(255, 170, 70, 0.95);
  text-shadow: 0 0 6px rgba(255, 120, 40, 0.55);
}

.av-reaction-tier-10 .aviator-label,
.av-action-tier-10 .aviator-label
{
  font-size: 3px;
  margin-top: -5.5px;
  color: rgba(255, 170, 70, 0.95);
  text-shadow: 0 0 6px rgba(255, 120, 40, 0.55);
}

.av-17-tier-12 .aviator-label
{
  margin-left: 12px;
  margin-top: -1px;
}

/* --- PLACEHOLDER POSITIONS (tune visually) --- */

/* Tier 7 archetypes */
.wingman-1-tier-7   { left: 1092px; top: 582px; }
.maverick-1-tier-7  { left: 1178px; top: 670px; }

/* Tier 8 */
.av-14-tier-8       { left: 1160px; top: 584px; }
.av-15-tier-8       { left: 1185px; top: 594px; }
.av-16-tier-8       { left: 1193px; top: 617px; }

/* Tier 9 - Wingman */
.wm-2-tier-9        { left: 1133px; top: 506px; }
.wm-3-tier-9        { left: 1144px; top: 526px; }
.wm-4-tier-9        { left: 1170px; top: 530px; }
.wm-5-tier-9        { left: 1178px; top: 550px; }

/* Tier 9 - Maverick */
.mv-2-tier-9        { left: 1232px; top: 600px; }
.mv-3-tier-9        { left: 1250px; top: 615px; }
.mv-4-tier-9        { left: 1251px; top: 635px; }
.mv-5-tier-9        { left: 1272px; top: 644px; }

/* Tier 10 */
.av-reaction-tier-10 { left: 1220px; top: 536px; }
.av-action-tier-10   { left: 1245px; top: 566px; }

/* Tier 11 - Wingman */
.wm-6-tier-11       { left: 1167px; top: 444px; }
.wm-7-tier-11       { left: 1179px; top: 464px; }
.wm-8-tier-11       { left: 1205px; top: 468px; }
.wm-9-tier-11       { left: 1212px; top: 489px; }
.wm-10-tier-11      { left: 1240px; top: 496px; }

/* Tier 11 - Maverick */
.mv-6-tier-11       { left: 1275px; top: 550px; }
.mv-7-tier-11       { left: 1299px; top: 561px; }
.mv-8-tier-11       { left: 1300px; top: 582px; }
.mv-9-tier-11       { left: 1324px; top: 594px; }
.mv-10-tier-11      { left: 1325px; top: 615px; }

/* Tier 12 */
.av-health-tier-12  { left: 1275px; top: 487px; }
.av-17-tier-12      { left: 1294px; top: 507px; }
.av-17-minor-node-1 { left: 1312px; top: 497px; }
.av-17-minor-node-2 { left: 1285px; top: 507px; }
.av-17-minor-node-3 { left: 1298px; top: 520px; }

/* --- Visual emphasis (base/hover/selected) --- */

/* Normal premium nodes */
.wingman-1-tier-7 img,
.maverick-1-tier-7 img,
.av-14-tier-8 img,
.av-15-tier-8 img,
.av-16-tier-8 img,
.av-17-tier-12 img,
.wm-2-tier-9 img,
.wm-3-tier-9 img,
.wm-4-tier-9 img,
.wm-5-tier-9 img,
.wm-6-tier-11 img,
.wm-7-tier-11 img,
.wm-8-tier-11 img,
.wm-9-tier-11 img,
.wm-10-tier-11 img,
.mv-2-tier-9 img,
.mv-3-tier-9 img,
.mv-4-tier-9 img,
.mv-5-tier-9 img,
.mv-6-tier-11 img,
.mv-7-tier-11 img,
.mv-8-tier-11 img,
.mv-9-tier-11 img,
.mv-10-tier-11 img
{
  filter: brightness(1.2);
  transition: none;
  pointer-events: auto;
  cursor: pointer;
}

/* Hover */
.wingman-1-tier-7:hover img,
.maverick-1-tier-7:hover img,
.av-14-tier-8:hover img,
.av-15-tier-8:hover img,
.av-16-tier-8:hover img,
.av-17-tier-12:hover img,
.wm-2-tier-9:hover img,
.wm-3-tier-9:hover img,
.wm-4-tier-9:hover img,
.wm-5-tier-9:hover img,
.wm-6-tier-11:hover img,
.wm-7-tier-11:hover img,
.wm-8-tier-11:hover img,
.wm-9-tier-11:hover img,
.wm-10-tier-11:hover img,
.mv-2-tier-9:hover img,
.mv-3-tier-9:hover img,
.mv-4-tier-9:hover img,
.mv-5-tier-9:hover img,
.mv-6-tier-11:hover img,
.mv-7-tier-11:hover img,
.mv-8-tier-11:hover img,
.mv-9-tier-11:hover img,
.mv-10-tier-11:hover img
{
  filter:
    brightness(1.3)
    drop-shadow(0 0 2px rgba(40, 160, 255, 0.85))
    drop-shadow(0 0 4px rgba(80, 200, 255, 0.45));
}

/* Selected */
.wingman-1-tier-7.selected img,
.maverick-1-tier-7.selected img,
.av-14-tier-8.selected img,
.av-15-tier-8.selected img,
.av-16-tier-8.selected img,
.av-17-tier-12.selected img,
.wm-2-tier-9.selected img,
.wm-3-tier-9.selected img,
.wm-4-tier-9.selected img,
.wm-5-tier-9.selected img,
.wm-6-tier-11.selected img,
.wm-7-tier-11.selected img,
.wm-8-tier-11.selected img,
.wm-9-tier-11.selected img,
.wm-10-tier-11.selected img,
.mv-2-tier-9.selected img,
.mv-3-tier-9.selected img,
.mv-4-tier-9.selected img,
.mv-5-tier-9.selected img,
.mv-6-tier-11.selected img,
.mv-7-tier-11.selected img,
.mv-8-tier-11.selected img,
.mv-9-tier-11.selected img,
.mv-10-tier-11.selected img
{
  filter:
    brightness(1.5)
    drop-shadow(0 0 2px rgba(40, 160, 255, 0.95))
    drop-shadow(0 0 4px rgba(80, 200, 255, 0.70))
    drop-shadow(0 0 8px rgba(140, 230, 255, 0.50));
}

/* Minor nodes */
.av-17-minor-node-1 img,
.av-17-minor-node-2 img,
.av-17-minor-node-3 img
{
  filter: brightness(1.5);
  transition: none;
  pointer-events: auto;
  cursor: pointer;
}

.av-17-minor-node-1:hover img,
.av-17-minor-node-2:hover img,
.av-17-minor-node-3:hover img
{
  filter:
    brightness(1.7)
    drop-shadow(0 0 2px rgba(40, 160, 255, 0.85))
    drop-shadow(0 0 4px rgba(80, 200, 255, 0.45));
}

.av-17-minor-node-1.selected img,
.av-17-minor-node-2.selected img,
.av-17-minor-node-3.selected img
{
  filter:
    brightness(1.9)
    drop-shadow(0 0 2px rgba(40, 160, 255, 0.95))
    drop-shadow(0 0 4px rgba(80, 200, 255, 0.70))
    drop-shadow(0 0 8px rgba(140, 230, 255, 0.50));
}

/* Stat nodes base/hover/selected */
.av-health-tier-12 img
{
  filter: brightness(1.0) contrast(.9);
  transition: none;
  pointer-events: auto;
  cursor: pointer;
}

.av-reaction-tier-10 img,
.av-action-tier-10 img
{
  filter: brightness(1.1);
  transition: none;
  pointer-events: auto;
  cursor: pointer;
}

.av-health-tier-12:hover img
{
  filter:
    brightness(1.3)
    drop-shadow(0 0 2px rgba(255, 80, 80, 0.6))
    drop-shadow(0 0 4px rgba(255, 80, 80, 0.4));
}

.av-health-tier-12.selected img
{
  filter:
    brightness(1.5)
    drop-shadow(0 0 2px rgba(205, 57, 57, 1.0))
    drop-shadow(0 0 4px rgba(143, 8, 8, 0.7))
    drop-shadow(0 0 8px rgba(255, 80, 80, 0.5));
}

.av-reaction-tier-10:hover img
{
  filter:
    brightness(1.7)
    drop-shadow(0 0 2px rgba(77, 81, 193, 0.8))
    drop-shadow(0 0 4px rgba(74, 69, 230, 0.5));
}

.av-reaction-tier-10.selected img
{
  filter:
    brightness(2.0)
    drop-shadow(0 0 2px rgba(77, 81, 193, 0.9))
    drop-shadow(0 0 4px rgba(74, 69, 230, 0.7))
    drop-shadow(0 0 10px rgba(70, 24, 169, 0.6));
}

.av-action-tier-10:hover img
{
  filter:
    brightness(1.3)
    drop-shadow(0 0 2px rgba(255, 170, 70, 0.8))
    drop-shadow(0 0 4px rgba(255, 170, 70, 0.5));
}

.av-action-tier-10.selected img
{
  filter:
    brightness(1.5)
    drop-shadow(0 0 2px rgba(255, 170, 70, 0.7))
    drop-shadow(0 0 4px rgba(255, 170, 70, 0.5))
    drop-shadow(0 0 8px rgba(255, 170, 70, 0.3));
}

/* --- Applied state (breathing + rotating dots) --- */

/* Normal premium nodes applied */
.wingman-1-tier-7.applied img,
.maverick-1-tier-7.applied img,
.av-14-tier-8.applied img,
.av-15-tier-8.applied img,
.av-16-tier-8.applied img,
.av-17-tier-12.applied img,
.wm-2-tier-9.applied img,
.wm-3-tier-9.applied img,
.wm-4-tier-9.applied img,
.wm-5-tier-9.applied img,
.wm-6-tier-11.applied img,
.wm-7-tier-11.applied img,
.wm-8-tier-11.applied img,
.wm-9-tier-11.applied img,
.wm-10-tier-11.applied img,
.mv-2-tier-9.applied img,
.mv-3-tier-9.applied img,
.mv-4-tier-9.applied img,
.mv-5-tier-9.applied img,
.mv-6-tier-11.applied img,
.mv-7-tier-11.applied img,
.mv-8-tier-11.applied img,
.mv-9-tier-11.applied img,
.mv-10-tier-11.applied img,
.av-17-minor-node-1.applied img,
.av-17-minor-node-2.applied img,
.av-17-minor-node-3.applied img
{
  animation: node-breathe-aviator 3s ease-in-out infinite;
}

/* Stat nodes applied */
.av-health-tier-12.applied img
{
  animation: node-breathe-health 3s ease-in-out infinite;
}

.av-reaction-tier-10.applied img
{
  animation: node-breathe-react 3s ease-in-out infinite;
}

.av-action-tier-10.applied img
{
  animation: node-breathe-act 3s ease-in-out infinite;
}

/* Rotating dots for all premium applied nodes */
.wingman-1-tier-7.applied::before,
.maverick-1-tier-7.applied::before,
.av-14-tier-8.applied::before,
.av-15-tier-8.applied::before,
.av-16-tier-8.applied::before,
.av-17-tier-12.applied::before,
.wm-2-tier-9.applied::before,
.wm-3-tier-9.applied::before,
.wm-4-tier-9.applied::before,
.wm-5-tier-9.applied::before,
.wm-6-tier-11.applied::before,
.wm-7-tier-11.applied::before,
.wm-8-tier-11.applied::before,
.wm-9-tier-11.applied::before,
.wm-10-tier-11.applied::before,
.mv-2-tier-9.applied::before,
.mv-3-tier-9.applied::before,
.mv-4-tier-9.applied::before,
.mv-5-tier-9.applied::before,
.mv-6-tier-11.applied::before,
.mv-7-tier-11.applied::before,
.mv-8-tier-11.applied::before,
.mv-9-tier-11.applied::before,
.mv-10-tier-11.applied::before,
.av-17-minor-node-1.applied::before,
.av-17-minor-node-2.applied::before,
.av-17-minor-node-3.applied::before,
.av-health-tier-12.applied::before,
.av-reaction-tier-10.applied::before,
.av-action-tier-10.applied::before
{
  content: '';
  position: absolute;
  inset: -22%;
  background:
    radial-gradient(circle at 80% 50%, rgba(58, 24, 194, 0.9) 1px, transparent 1px),
    radial-gradient(circle at 20% 50%, rgba(68, 43, 213, 0.9) 1px, transparent 1px);
  background-size: 100% 100%;
  animation: two-dot-rotate 3s linear infinite;
  pointer-events: none;
  z-index: -1;
  border-radius: 50%;
}

.av-health-tier-12.applied::before
{
  inset: -50%;
}
