/* Respawn restyle: dark cyan/violet palette shared across NerdCoach pages.
   Scope: body.respawn-page (any page that links this stylesheet after the legacy bundle).
   Leaves article/blog/guide content untouched; restyles header, footer, nav, palette,
   buttons, kickers, bands and focus states to match the 2026-10 respawn homepage. */

:root {
  color-scheme: dark;
  --night: #070b18;
  --night-2: #0b1224;
  --night-3: #101629;
  --ink: #f5f8ff;
  --muted: #cfdae9;
  --cyan: #77eaff;
  --violet: #b7a5ff;
  --line-respawn: rgba(119, 234, 255, .14);
}

/* Re-map the legacy tokens so every existing rule that uses them picks up the new palette. */
:root {
  --bg: var(--night);
  --band: var(--night-3);
  --text: var(--ink);
  --accent: #4f8dff;
  --lavender: var(--violet);
  --line: var(--line-respawn);
}

body.respawn-page {
  background: var(--night);
  background-image: none; /* drop the dotted overlay from the legacy identity */
  color: var(--ink);
}

/* Typography: keep the legacy rhythm but let headings use Oxanium like the homepage. */
body.respawn-page h1,
body.respawn-page h2,
body.respawn-page h3 {
  font-family: Oxanium, Manrope, sans-serif;
  font-weight: 600;
  letter-spacing: -.025em;
}

body.respawn-page h1 { letter-spacing: -.035em; }
body.respawn-page em { color: var(--cyan); font-style: normal; }

/* Header / nav */
body.respawn-page .header {
  background: rgba(7, 11, 24, .94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
body.respawn-page .header-inner {
  border-bottom: 0;
  border-image: none;
}
body.respawn-page .header-inner::after { display: none; }

body.respawn-page .brand img { filter: none; }

body.respawn-page .nav > a { color: var(--ink); }
body.respawn-page .nav > a:hover,
body.respawn-page .nav > a[aria-current="page"] { color: var(--cyan); }

body.respawn-page .nav .button,
body.respawn-page .button {
  background: var(--cyan);
  color: #06101a;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  clip-path: none;
  font-weight: 800;
}
body.respawn-page .nav .button:hover,
body.respawn-page .button:hover { background: #d6faff; color: #06101a; }

body.respawn-page .button.secondary {
  background: transparent;
  border: 1px solid var(--line-respawn);
  color: var(--ink);
  border-radius: 0;
}
body.respawn-page .button.secondary:hover { background: rgba(119, 234, 255, .08); }

/* Text links */
body.respawn-page .text-link {
  color: var(--ink);
  text-decoration-color: rgba(119, 234, 255, .65);
  text-decoration-thickness: 1px;
}
body.respawn-page .text-link:hover { color: var(--cyan); }

/* Kickers (small all-caps labels above headings) */
body.respawn-page .chapter-kicker,
body.respawn-page .eyeline {
  color: var(--cyan);
  font-family: Manrope, sans-serif;
  font-weight: 800;
  font-size: .9rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.respawn-page .chapter-kicker svg { stroke: currentColor; }
body.respawn-page .chapter-kicker::before { display: none; }

/* Bands / sections */
body.respawn-page .band {
  background: linear-gradient(180deg, var(--night-2), var(--night-3));
  border-top: 1px solid var(--line-respawn);
  border-bottom: 1px solid var(--line-respawn);
}

/* Steps & rows */
body.respawn-page .steps { border-left-color: var(--cyan); }
body.respawn-page .steps::before { background: linear-gradient(var(--cyan), var(--violet)) !important; }
body.respawn-page .step::before {
  background: var(--cyan) !important;
  border-radius: 50% !important;
  transform: none !important;
  border: 0 !important;
}
body.respawn-page .row .number,
body.respawn-page .row h3 { color: var(--cyan); }

/* Hero / intro blocks: drop the legacy gold-corner ornaments. */
body.respawn-page .hero::before,
body.respawn-page .hero::after,
body.respawn-page .closing::before,
body.respawn-page .intro::before,
body.respawn-page .books-hero::before,
body.respawn-page .contact h1::before { display: none; }

body.respawn-page .hero h1 em { color: var(--cyan); }
body.respawn-page .hero-footnote {
  border-left-color: var(--cyan);
  background: rgba(7, 11, 24, .92);
  color: var(--muted);
}

/* Portrait frames */
body.respawn-page .portrait {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}
body.respawn-page .portrait::before {
  content: none;
}

/* Worlds strip */
body.respawn-page .worlds-strip svg { stroke: var(--cyan); }
body.respawn-page .worlds-strip a:hover svg { stroke: var(--violet); }

/* Guide / blog cards and toolbars */
body.respawn-page .guides-content .reading-path,
body.respawn-page .guides-content .guide-toolbar,
body.respawn-page .contact-request,
body.respawn-page .resource-request {
  background: var(--night-3);
  border-color: var(--line-respawn);
  border-radius: 0;
}
body.respawn-page .guide-item a:hover h2,
body.respawn-page .guide-item a:hover h3 { color: var(--cyan); }

/* Quest / interest chips */
body.respawn-page .quest-choice {
  background: var(--night-3);
  border-color: var(--line-respawn);
  border-radius: 0;
}
body.respawn-page .quest-choice:hover { background: var(--night-2); border-color: var(--cyan); }
body.respawn-page .quest-progress { color: var(--cyan); }
body.respawn-page .interest-option {
  border-color: var(--line-respawn);
  border-radius: 0;
}
body.respawn-page .interest-option[aria-pressed="true"] {
  background: var(--cyan);
  color: #06101a;
  border-color: var(--cyan);
}
body.respawn-page .interest-output { border-left-color: var(--cyan); }

/* FAQ */
body.respawn-page .faq summary::after { color: var(--cyan); }

/* Quiet callouts / article details */
body.respawn-page .quiet-callout,
body.respawn-page .article-content .article-summary,
body.respawn-page .article-content blockquote,
body.respawn-page .article-content .article-callout,
body.respawn-page .article-content .article-cta {
  border-left-color: var(--cyan);
  background: var(--night-3);
}
body.respawn-page .article-content a { color: var(--cyan); }
body.respawn-page .article-content .article-tags { color: var(--violet); }

/* Closing band */
body.respawn-page .closing { border-top-color: var(--line-respawn); }

/* Footer */
body.respawn-page .footer {
  background: #050812;
  border-top: 1px solid var(--line-respawn);
  color: var(--muted);
}
body.respawn-page .footer a:hover { color: var(--cyan); text-decoration: none; }

/* Selection / focus */
body.respawn-page ::selection { background: var(--cyan); color: #06101a; }
body.respawn-page :focus-visible { outline: 3px solid var(--cyan); outline-offset: 5px; }

/* Contrast overlays so legacy illustrated heroes stay readable on the respawn palette. */
body.respawn-page .chapter-scene::after,
body.respawn-page .hero-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7,11,24,.97) 0%, rgba(7,11,24,.88) 40%, rgba(7,11,24,.35) 70%, rgba(7,11,24,.15) 100%), linear-gradient(0deg, var(--night), transparent 30%);
  pointer-events: none;
}
body.respawn-page .illustrated-intro,
body.respawn-page .hero { background: var(--night); }
