/* Cloudy — the Thunderhead franchise. Per-boss art layer (BUILD-PLAN C6).
   Thunderhead ground (two dark radials, each fading to nothing at or inside the panel's edges; the
   motif carries no wash of its own) with storm-grey cloud bands at depth, cyan charge on the right edge, and one gold
   bolt that flashes once. Lightning Cyan carries numerals; Storm Grey carries secondary type
   so gold stays on the bolt alone (one bolt, one title). Every rule is scoped to this boss's body;
   layout primitives, font sizes and volt are untouched.
   Motifs: eli-horton/cloudbands.svg, eli-horton/charge.svg (hand-authored, no text, no faces). */

body[data-manager-slug="eli-horton"] {
  --team-field: #141A26;
  --team-band: #1FB6FF;
  --team-accent: #1FB6FF;
  --team-accent-2: #9FB3C8;
  --team-light: #FFFFFF;
  --team-ink: #0A0F18;
  --boss-ground: radial-gradient(40% 50% at 60% 50%, rgba(20, 26, 38, .98) 0%, rgba(20, 26, 38, .62) 40%, rgba(12, 13, 16, 0) 100%), radial-gradient(28% 32% at 72% 32%, rgba(20, 26, 38, .96) 0%, rgba(12, 13, 16, 0) 100%);
  --boss-motif: url("eli-horton/cloudbands.svg");
  --boss-motif-edge: url("eli-horton/charge.svg");
  --boss-rule: rgba(31, 182, 255, .3);
}

/* ---------- hero ground: the thunderhead on the right, cloud bands at depth, the charge rule on the edge ---------- */
body[data-manager-slug="eli-horton"] .pt-b-hero {
  position: relative;
  isolation: isolate;
}
body[data-manager-slug="eli-horton"] .pt-b-hero::before {
  content: "";
  position: absolute;
  inset: -32px -24px -24px -24px;
  z-index: -1;
  border-radius: 28px;
  background: var(--boss-motif) right 40% / 1600px auto no-repeat, var(--boss-ground);
  pointer-events: none;
}
body[data-manager-slug="eli-horton"] .pt-b-hero::after {
  content: "";
  position: absolute;
  top: -32px;
  right: -8px;
  bottom: -24px;
  width: 48px;
  z-index: -1;
  background: var(--boss-motif-edge) center / 48px auto repeat-y;
  opacity: .85;
  pointer-events: none;
}

/* ---------- portrait rim: cyan on thunderhead ---------- */
body[data-manager-slug="eli-horton"] .pt-b-portrait {
  border-color: rgba(31, 182, 255, .36);
  box-shadow: 0 0 0 1px rgba(31, 182, 255, .14), 0 30px 60px -30px rgba(20, 26, 38, 1);
}

/* ---------- numerals in Lightning Cyan; secondary in Storm Grey; the badge is cyan with Storm Ink type ---------- */
body[data-manager-slug="eli-horton"] .pt-b-c-n,
body[data-manager-slug="eli-horton"] .pt-b-now-card-n,
body[data-manager-slug="eli-horton"] .pt-b-fact-n,
body[data-manager-slug="eli-horton"] .pt-b-numeral,
body[data-manager-slug="eli-horton"] .pt-b-ch-fig-n { color: var(--team-accent); }
body[data-manager-slug="eli-horton"] .pt-eb-ac { color: var(--team-accent); }
body[data-manager-slug="eli-horton"] .pt-b-badge-ac { background: var(--team-accent); color: var(--team-ink); }
body[data-manager-slug="eli-horton"] .pt-b-ch-eyebrow,
body[data-manager-slug="eli-horton"] .pt-b-ch-stamp { color: var(--team-accent-2); }

/* ---------- chapter rules: a cyan hairline per chapter head; storm-grey ledger rules ---------- */
body[data-manager-slug="eli-horton"] .pt-sec-head,
body[data-manager-slug="eli-horton"] .pt-b-ch-head { border-top: 1px solid var(--boss-rule); }
body[data-manager-slug="eli-horton"] .pt-b-ch[data-layout="ledger"] tbody tr,
body[data-manager-slug="eli-horton"] .pt-b-ch[data-layout="versus"] tbody tr { border-color: rgba(159, 179, 200, .24); }
body[data-manager-slug="eli-horton"] .pt-b-ch[data-layout="numerals"] .pt-card,
body[data-manager-slug="eli-horton"] .pt-b-ch[data-layout="versus"] .pt-card { border-color: rgba(31, 182, 255, .2); }
body[data-manager-slug="eli-horton"] .pt-b-ch .pt-win { color: var(--team-accent); }

/* ---------- motion: the cloud bands drift in from the left and settle; the charge rule flashes once (no strobe); nothing moves under reduced motion ---------- */
@media (prefers-reduced-motion: no-preference) {
  body[data-manager-slug="eli-horton"] .pt-b-hero::before { animation: eh-drift 1400ms cubic-bezier(.2, .8, .2, 1) both; }
  body[data-manager-slug="eli-horton"] .pt-b-hero::after { animation: eh-charge 1100ms cubic-bezier(.16, 1, .3, 1) 240ms both; }
  @keyframes eh-drift { from { opacity: 0; transform: translateX(-14px); } to { opacity: 1; transform: none; } }
  @keyframes eh-charge { from { opacity: 0; } 55% { opacity: 1; } 70% { opacity: .55; } to { opacity: .85; } }
}

@media (max-width: 767px) {
  body[data-manager-slug="eli-horton"] .pt-b-hero::before { inset: -20px -16px -16px -16px; border-radius: 20px; background-size: 1100px auto, auto; background-position: right 24%, center; }
  body[data-manager-slug="eli-horton"] .pt-b-hero::after { right: -6px; width: 28px; background-size: 28px auto; }
}
