/* Chris Norman — Sonny Weaver Jr. Per-boss art layer (BUILD-PLAN C6).
   The league's one light plate: Vault Silver type on a Vault Navy ground, a brushed-steel hairline
   edge, and the spoked locking wheel, which turns in once and locks. Ring Gold is held to one
   hairline under the finals chapter (BRAND-SPEC 4.2: five percent of any surface at most).
   Every rule is scoped to this boss's body; layout primitives, font sizes and volt are untouched.
   Motifs: chris-norman/wheel.svg, chris-norman/machining.svg (hand-authored, no text, no faces). */

body[data-manager-slug="chris-norman"] {
  --team-field: #C9CED6;
  --team-band: #143B6B;
  --team-accent: #C9CED6;
  --team-accent-2: #8E97A6;
  --team-light: #FFFFFF;
  --team-ink: #0B1E36;
  --boss-ground: radial-gradient(120% 92% at 76% 34%, rgba(20, 59, 107, .74) 0%, rgba(20, 59, 107, .3) 46%, rgba(12, 13, 16, 0) 76%);
  --boss-wheel: url("chris-norman/wheel.svg");
  --boss-edge: url("chris-norman/machining.svg");
  --boss-rule: rgba(201, 206, 214, .3);
  --boss-gold: rgba(212, 175, 55, .62);
}

/* ---------- hero ground: navy field, machined hairlines on the right edge, the wheel behind the numerals ---------- */
body[data-manager-slug="chris-norman"] .pt-b-hero {
  position: relative;
  isolation: isolate;
}
body[data-manager-slug="chris-norman"] .pt-b-hero::before {
  content: "";
  position: absolute;
  inset: -32px -24px -24px -24px;
  z-index: -1;
  border-radius: 28px;
  background: var(--boss-edge) right 6px top / 48px auto repeat-y, var(--boss-ground);
  pointer-events: none;
}
body[data-manager-slug="chris-norman"] .pt-b-hero::after {
  content: "";
  position: absolute;
  right: 5%;
  top: 50%;
  width: 440px;
  height: 440px;
  margin-top: -220px;
  z-index: -1;
  background: var(--boss-wheel) center / contain no-repeat;
  opacity: .85;
  pointer-events: none;
}

/* ---------- portrait rim: silver on navy ---------- */
body[data-manager-slug="chris-norman"] .pt-b-portrait {
  border-color: rgba(201, 206, 214, .42);
  box-shadow: 0 0 0 1px rgba(201, 206, 214, .14), 0 30px 60px -30px rgba(20, 59, 107, .95);
}

/* ---------- numerals in Vault Silver; secondary in Steel Mid; the badge is the navy band ---------- */
body[data-manager-slug="chris-norman"] .pt-b-c-n,
body[data-manager-slug="chris-norman"] .pt-b-now-card-n,
body[data-manager-slug="chris-norman"] .pt-b-fact-n,
body[data-manager-slug="chris-norman"] .pt-b-numeral,
body[data-manager-slug="chris-norman"] .pt-b-ch-fig-n { color: var(--team-accent); }
body[data-manager-slug="chris-norman"] .pt-eb-ac { color: var(--team-accent); }
body[data-manager-slug="chris-norman"] .pt-b-badge-ac { background: var(--team-band); color: var(--team-light); }
body[data-manager-slug="chris-norman"] .pt-b-ch-eyebrow,
body[data-manager-slug="chris-norman"] .pt-b-ch-stamp { color: var(--team-accent-2); }

/* ---------- chapter rules: a steel hairline per chapter head; the finals chapter alone carries ring gold ---------- */
body[data-manager-slug="chris-norman"] .pt-sec-head,
body[data-manager-slug="chris-norman"] .pt-b-ch-head { border-top: 1px solid var(--boss-rule); }
body[data-manager-slug="chris-norman"] #ch-three-finals .pt-b-ch-head { border-top-color: var(--boss-gold); }
body[data-manager-slug="chris-norman"] .pt-b-ch[data-layout="ledger"] tbody tr,
body[data-manager-slug="chris-norman"] .pt-b-ch[data-layout="versus"] tbody tr { border-color: rgba(142, 151, 166, .28); }
body[data-manager-slug="chris-norman"] .pt-b-ch[data-layout="numerals"] .pt-card,
body[data-manager-slug="chris-norman"] .pt-b-ch[data-layout="versus"] .pt-card { border-color: rgba(201, 206, 214, .2); }
body[data-manager-slug="chris-norman"] .pt-b-ch .pt-win { color: var(--team-accent); }
body[data-manager-slug="chris-norman"] .pt-b-res-w { background: var(--team-band); color: var(--team-light); }

/* ---------- motion: the wheel turns a quarter and locks with one damped overshoot; the ground settles; nothing moves under reduced motion ---------- */
@media (prefers-reduced-motion: no-preference) {
  body[data-manager-slug="chris-norman"] .pt-b-hero::after { animation: cn-lock 1300ms cubic-bezier(.2, .8, .2, 1) both; }
  body[data-manager-slug="chris-norman"] .pt-b-hero::before { animation: cn-ground 1100ms cubic-bezier(.16, 1, .3, 1) both; }
  @keyframes cn-lock { from { opacity: 0; transform: rotate(-90deg); } 72% { opacity: .85; transform: rotate(5deg); } to { opacity: .85; transform: none; } }
  @keyframes cn-ground { from { opacity: 0; } to { opacity: 1; } }
}

@media (max-width: 767px) {
  body[data-manager-slug="chris-norman"] .pt-b-hero::before { inset: -20px -16px -16px -16px; border-radius: 20px; background-size: 28px auto, auto; background-position: right 4px top, center; }
  /* Pinned inside the hero box: a negative right offset pushed the page 6 px wide at 390 px (QA, 2026-10-24). */
  body[data-manager-slug="chris-norman"] .pt-b-hero::after { right: 0; top: 400px; width: 240px; height: 240px; margin-top: 0; opacity: .5; }
}
