/* Nolan Blair — AirBlair. Per-boss art layer (BUILD-PLAN C6).
   Titan Navy ground with more air than the other pages, Columbia Sky linework, one Flare tick.
   Quieter by design: one gauge, one rule, one settle. Every rule is scoped to this boss's body;
   layout primitives, font sizes and volt are untouched.
   Motifs: nolan-blair/dial.svg, nolan-blair/rule.svg (hand-authored, no text, no faces). */

body[data-manager-slug="nolan-blair"] {
  --team-field: #0F2A4C;
  --team-band: #8FC3F0;
  --team-accent: #8FC3F0;
  --team-accent-2: #C7D6E6;
  --team-light: #E9F1FA;
  --team-ink: #071525;
  --boss-ground: radial-gradient(110% 80% at 70% 20%, rgba(15, 42, 76, .62) 0%, rgba(15, 42, 76, .22) 46%, rgba(12, 13, 16, 0) 76%);
  --boss-motif: url("nolan-blair/dial.svg");
  --boss-motif-edge: url("nolan-blair/rule.svg");
  --boss-rule: rgba(143, 195, 240, .42);
}

/* ---------- hero ground: navy air, the gauge on the cool side, the Week 5 rule on the right edge ---------- */
body[data-manager-slug="nolan-blair"] .pt-b-hero {
  position: relative;
  isolation: isolate;
}
body[data-manager-slug="nolan-blair"] .pt-b-hero::before {
  content: "";
  position: absolute;
  inset: -32px -24px -24px -24px;
  z-index: -1;
  border-radius: 28px;
  background: var(--boss-motif) right 50% / 1600px auto no-repeat, var(--boss-ground);
  pointer-events: none;
}
body[data-manager-slug="nolan-blair"] .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: .8;
  pointer-events: none;
}

/* ---------- portrait rim: sky on navy ---------- */
body[data-manager-slug="nolan-blair"] .pt-b-portrait {
  border-color: rgba(143, 195, 240, .38);
  box-shadow: 0 0 0 1px rgba(143, 195, 240, .14), 0 30px 60px -30px rgba(15, 42, 76, .95);
}

/* ---------- numerals in Columbia Sky; secondary in Cool White tint; Flare never carries text ---------- */
body[data-manager-slug="nolan-blair"] .pt-b-c-n,
body[data-manager-slug="nolan-blair"] .pt-b-now-card-n,
body[data-manager-slug="nolan-blair"] .pt-b-fact-n,
body[data-manager-slug="nolan-blair"] .pt-b-numeral,
body[data-manager-slug="nolan-blair"] .pt-b-ch-fig-n { color: var(--team-accent); }
body[data-manager-slug="nolan-blair"] .pt-eb-ac { color: var(--team-accent); }
body[data-manager-slug="nolan-blair"] .pt-b-badge-ac { background: var(--team-accent); color: var(--team-ink); }
body[data-manager-slug="nolan-blair"] .pt-b-ch-eyebrow,
body[data-manager-slug="nolan-blair"] .pt-b-ch-stamp { color: var(--team-accent-2); }

/* ---------- chapter rules: one sky hairline per chapter head; the Week 5 chapter carries the rule ---------- */
body[data-manager-slug="nolan-blair"] .pt-sec-head,
body[data-manager-slug="nolan-blair"] .pt-b-ch-head { border-top: 1px solid var(--boss-rule); }
body[data-manager-slug="nolan-blair"] .pt-b-ch[data-layout="ledger"] tbody tr,
body[data-manager-slug="nolan-blair"] .pt-b-ch[data-layout="versus"] tbody tr { border-color: rgba(199, 214, 230, .22); }
body[data-manager-slug="nolan-blair"] .pt-b-ch[data-layout="numerals"] .pt-card,
body[data-manager-slug="nolan-blair"] .pt-b-ch[data-layout="versus"] .pt-card { border-color: rgba(143, 195, 240, .2); }
body[data-manager-slug="nolan-blair"] .pt-b-ch .pt-win { color: var(--team-accent); }
body[data-manager-slug="nolan-blair"] #ch-the-week-5-line .pt-b-table th:nth-child(3),
body[data-manager-slug="nolan-blair"] #ch-the-week-5-line .pt-b-table td:nth-child(3) { border-right: 1px solid rgba(232, 69, 44, .55); }

/* ---------- motion: the gauge settles once; the rule fades in; nothing moves under reduced motion ---------- */
@media (prefers-reduced-motion: no-preference) {
  body[data-manager-slug="nolan-blair"] .pt-b-hero::before { animation: nb-settle 1200ms cubic-bezier(.2, .8, .2, 1) both; }
  body[data-manager-slug="nolan-blair"] .pt-b-hero::after { animation: nb-rule 900ms cubic-bezier(.16, 1, .3, 1) 200ms both; }
  /* Settles from the left: a start offset to the right pushed the ground 12 px past the viewport's
     right edge at 390 px while it played (verify, 2026-10-24). */
  @keyframes nb-settle { from { opacity: 0; transform: translateX(-14px); } to { opacity: 1; transform: none; } }
  @keyframes nb-rule { from { opacity: 0; transform: translateY(-10px); } to { opacity: .8; transform: none; } }
}

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