
    /* ══════════════════════════════════════
       ROOT TOKENS
    ══════════════════════════════════════ */
    :root {
      --ink:         #1a1612;
      --paper:       #faf7f2;
      --warm-mid:    #f0ebe0;
      --accent:      #c0392b;
      --gold:        #b8860b;
      --gold-light:  #f5e9c4;
      --rule:        #d4c9b0;
      --muted:       #6b6258;
      --tag-bg:      #2c2420;
      --card-bg:     #ffffff;
      --border-soft: #e4ddd0;
    }

    *, *::before, *::after { box-sizing: border-box; margin:0; padding:0; }

    body {
      background: var(--paper);
      color: var(--ink);
      font-family: 'Source Serif 4', Georgia, serif;
      font-size: 1.05rem;
      line-height: 1.85;
    }

    /* ── Scrollbar ── */
    ::-webkit-scrollbar { width:6px; height:6px; }
    ::-webkit-scrollbar-track { background: var(--warm-mid); }
    ::-webkit-scrollbar-thumb { background: var(--gold); border-radius:3px; }

    /* ══ DISCOVER HERO IMAGE ══ */
    .hero-image-wrap {
      position:relative; width:100%;
      aspect-ratio:16/6; overflow:hidden;
      background:#0d0a08;
    }
    .hero-img {
      width:100%; height:100%;
      object-fit:cover; object-position:center 40%;
      display:block;
      filter:saturate(1.15) brightness(0.88);
    }
    .hero-img-fade {
      position:absolute; bottom:0; left:0; right:0; height:55%;
      background:linear-gradient(to bottom, transparent 0%, #1a1612 100%);
      pointer-events:none;
    }
    .img-caption {
      position:absolute; bottom:0.9rem; left:1.4rem;
      font-family:'JetBrains Mono',monospace;
      font-size:0.68rem; letter-spacing:0.1em;
      text-transform:uppercase; color:rgba(240,235,224,0.75);
      display:flex; align-items:center; gap:0.4rem;
    }
    @media(max-width:480px){ .hero-image-wrap{ aspect-ratio:16/8; } }

    /* ── Masthead ── */
    .masthead {
      background:var(--tag-bg); color:#e8e0d5;
      padding:0.45rem 0; text-align:center;
      font-family:'JetBrains Mono',monospace;
      font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase;
    }
    .masthead span { color:var(--gold); margin:0 0.6rem; }

    /* ── Hero ── */
    .hero {
      background:linear-gradient(135deg,#1a1612 0%,#2c1810 50%,#1a1612 100%);
      color:#f0ebe0; padding:5rem 1.5rem 4rem;
      position:relative; overflow:hidden;
    }
    .hero::before {
      content:''; position:absolute; inset:0;
      background-image:
        radial-gradient(ellipse 60% 40% at 80% 20%,rgba(192,57,43,.18) 0%,transparent 70%),
        radial-gradient(ellipse 40% 60% at 15% 80%,rgba(184,134,11,.12) 0%,transparent 60%);
      pointer-events:none;
    }
    .hero-label {
      font-family:'JetBrains Mono',monospace; font-size:0.7rem;
      letter-spacing:0.18em; text-transform:uppercase;
      color:var(--gold); margin-bottom:1.2rem;
    }
    .hero h1 {
      font-family:'Playfair Display',serif;
      font-size:clamp(2rem,5vw,3.4rem); font-weight:800;
      line-height:1.18; color:#faf7f2; margin-bottom:0.5rem;
    }
    .hero h1 em { font-style:italic; color:#e8cfc0; }
    .hero-sub {
      font-family:'Source Serif 4',serif; font-size:1.05rem;
      color:#c8b8a8; font-weight:300; margin-bottom:1.8rem;
    }
    .badge-row { display:flex; flex-wrap:wrap; gap:0.5rem; margin-bottom:2rem; }
    .badge-custom {
      font-family:'JetBrains Mono',monospace; font-size:0.65rem;
      letter-spacing:0.1em; text-transform:uppercase;
      padding:0.3rem 0.75rem; border-radius:2px;
    }
    .badge-red   { background:var(--accent); color:#fff; }
    .badge-gold  { background:var(--gold); color:#fff; }
    .badge-ghost { background:transparent; border:1px solid #6b5f52; color:#c8b8a8; }
    .read-meta {
      display:flex; align-items:center; gap:1.5rem;
      font-family:'JetBrains Mono',monospace; font-size:0.72rem;
      color:#9a8878; letter-spacing:0.06em;
    }
    .read-meta svg { width:14px; height:14px; stroke:var(--gold); fill:none; vertical-align:middle; margin-right:4px; }

    /* ── Ornamental rule ── */
    .ornamental-rule { display:flex; align-items:center; gap:0.8rem; margin:0.5rem 0; }
    .ornamental-rule hr { flex:1; border-color:var(--rule); border-width:1px; }
    .ornamental-rule span {
      font-size:0.7rem; color:var(--gold); letter-spacing:0.15em;
      font-family:'JetBrains Mono',monospace;
    }

    /* ── Preamble content wrap ── */
    .preamble-wrap {
      max-width:860px; margin:0 auto; padding:3rem 1.5rem 2rem;
    }
    .lead-para {
      font-size:1.15rem; font-weight:400; line-height:1.9;
      color:#2e2820; border-left:3px solid var(--accent);
      padding-left:1.4rem; margin-bottom:2.5rem;
    }
    .author-block {
      display:flex; align-items:center; gap:1rem;
      padding:1.2rem 1.5rem;
      background:var(--warm-mid); border:1px solid var(--rule);
      border-radius:4px; margin-bottom:2.5rem;
    }
    .author-avatar {
      width:48px; height:48px; border-radius:50%;
      background:var(--tag-bg); display:flex; align-items:center;
      justify-content:center; font-family:'Playfair Display',serif;
      font-size:1.1rem; color:var(--gold); flex-shrink:0;
    }
    .author-name { font-family:'Source Serif 4',serif; font-weight:600; font-size:0.92rem; }
    .author-meta {
      font-family:'JetBrains Mono',monospace; font-size:0.65rem;
      letter-spacing:0.08em; text-transform:uppercase; color:var(--muted);
    }
    .updated-pill {
      display:inline-flex; align-items:center; gap:0.4rem;
      background:var(--gold-light); border:1px solid #d4a800;
      border-radius:20px; padding:0.25rem 0.85rem;
      font-family:'JetBrains Mono',monospace; font-size:0.68rem;
      letter-spacing:0.08em; color:#7a5c00; margin-bottom:2.5rem;
    }
    .updated-pill::before { content:'●'; font-size:0.5rem; color:var(--gold); }

    /* ── Preamble section labels ── */
    .section-label {
      font-family:'JetBrains Mono',monospace; font-size:0.62rem;
      letter-spacing:0.22em; text-transform:uppercase;
      color:var(--accent); margin-bottom:0.4rem;
    }
    h2.section-title {
      font-family:'Playfair Display',serif; font-size:1.7rem;
      font-weight:800; color:var(--ink); margin-bottom:1.1rem;
      line-height:1.25;
    }
    .info-card {
      background:#fff; border:1px solid var(--rule);
      border-top:3px solid var(--accent); border-radius:4px;
      padding:1.6rem 1.8rem; margin-bottom:2rem;
    }
    .eq-box {
      background:#fdf8f0; border:1px solid #e0d4b8;
      border-left:4px solid var(--gold); border-radius:4px;
      padding:1.2rem 1.6rem; margin:1.5rem 0;
      font-size:1.05rem; overflow-x:auto;
    }
    .eq-label {
      font-family:'JetBrains Mono',monospace; font-size:0.62rem;
      letter-spacing:0.12em; text-transform:uppercase;
      color:var(--gold); margin-bottom:0.5rem;
    }
    .two-col { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-bottom:2rem; }
    @media(max-width:640px){ .two-col{ grid-template-columns:1fr; } }
    .col-card { background:#fff; border:1px solid var(--rule); border-radius:4px; padding:1.2rem 1.4rem; }
    .col-card-title {
      font-family:'JetBrains Mono',monospace; font-size:0.65rem;
      letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); margin-bottom:0.6rem;
    }
    .col-card ul { list-style:none; padding:0; }
    .col-card ul li {
      padding:0.3rem 0; border-bottom:1px solid var(--warm-mid);
      font-size:0.92rem; color:#2e2820;
    }
    .col-card ul li:last-child { border-bottom:none; }
    .col-card ul li::before { content:'→ '; color:var(--accent); font-size:0.75rem; }
    .trend-block {
      background:var(--tag-bg); color:#e8e0d5;
      border-radius:6px; padding:2rem; margin-bottom:2rem;
    }
    .trend-block .section-label { color:var(--gold); }
    .trend-block h2 { color:#faf7f2; }
    .trend-block p { color:#c8b8a8; font-size:0.97rem; line-height:1.8; }
    .scope-row { display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:1.2rem; }
    .scope-pill {
      background:rgba(192,57,43,.15); border:1px solid rgba(192,57,43,.35);
      color:#e8cfc0; font-family:'JetBrains Mono',monospace;
      font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase;
      padding:0.25rem 0.7rem; border-radius:20px;
    }
    .full-rule { border:none; border-top:1px solid var(--rule); margin:2.5rem 0; }

    /* ══════════════════════════════════════
       CHAPTER CONTENT STYLES
       (replaces Bootstrap card defaults
        with the editorial warm-paper theme)
    ══════════════════════════════════════ */

    /* Chapter wrapper */
    .chapter-wrap {
      max-width:860px; margin:0 auto; padding:0 1.5rem 5rem;
    }

    /* Chapter section divider */
    .ch-divider {
      display:flex; align-items:center; gap:1rem; margin:3rem 0 2rem;
    }
    .ch-divider hr { flex:1; border-color:var(--rule); }
    .ch-divider-label {
      font-family:'JetBrains Mono',monospace; font-size:0.6rem;
      letter-spacing:0.2em; text-transform:uppercase; color:var(--muted);
      white-space:nowrap;
    }

    /* Override Bootstrap cards with editorial style */
    .ch-card {
      background:var(--card-bg);
      border:1px solid var(--border-soft) !important;
      border-radius:6px !important;
      box-shadow:0 2px 12px rgba(26,22,18,.06);
      margin-bottom:2.5rem;
      overflow:hidden;
    }

    /* Card headers — each accent colour mapped to editorial palette */
    .ch-card .card-header {
      padding:1.1rem 1.6rem;
      border-bottom:1px solid var(--border-soft);
      display:flex; align-items:center; gap:0.6rem;
    }
    .ch-card .card-header h4 {
      font-family:'Playfair Display',serif;
      font-size:1.25rem; font-weight:800;
      margin:0; line-height:1.2;
    }

    /* Header colour variants */
    .ch-hdr-primary   { background:var(--tag-bg); }
    .ch-hdr-primary h4 { color:#faf7f2; }
    .ch-hdr-secondary { background:#2e2820; }
    .ch-hdr-secondary h4 { color:#faf7f2; }
    .ch-hdr-success   { background:#1c3a1c; }
    .ch-hdr-success h4 { color:#c8e6c8; }
    .ch-hdr-info      { background:#1a2e3a; }
    .ch-hdr-info h4   { color:#b8d8e8; }
    .ch-hdr-warning   { background:#3a2800; }
    .ch-hdr-warning h4 { color:#f5e9c4; }
    .ch-hdr-danger    { background:#3a1010; }
    .ch-hdr-danger h4 { color:#f5c8c8; }
    .ch-hdr-dark      { background:#111010; }
    .ch-hdr-dark h4   { color:#e8e0d5; }

    /* Card body */
    .ch-card .card-body { padding:2rem 2rem; }

    /* Subheadings inside card body */
    .ch-card .neon-title {
      font-family:'Playfair Display',serif;
      font-size:1.1rem; font-weight:700;
      color:var(--ink); margin:1.8rem 0 0.7rem;
      padding-bottom:0.3rem;
      border-bottom:2px solid var(--gold-light);
      display:inline-block;
    }

    /* Body text */
    .ch-card p.text-secondary {
      color:#3a322a !important; font-size:1rem; line-height:1.85;
      margin-bottom:0.9rem;
    }

    /* Inline math text colour */
    .ch-card .lh-lg { line-height:1.85; }

    /* Alert boxes — restyled */
    .ch-card .alert { border-radius:4px; font-size:0.95rem; }
    .ch-card .alert-info {
      background:#f0f6fa; border:1px solid #b8d0dc; color:#1a3040;
    }
    .ch-card .alert-success {
      background:#f0f7f0; border:1px solid #a8cca8; color:#1a3020;
    }
    .ch-card .alert-warning {
      background:#fdf6e8; border:1px solid #d4b870; color:#3a2800;
    }
    .ch-card .alert-danger {
      background:#fdf0f0; border:1px solid #d4a0a0; color:#3a1010;
    }
    .ch-card .alert-light {
      background:var(--warm-mid); border:1px solid var(--rule); color:var(--ink);
    }

    /* List groups — restyled */
    .ch-card .list-group-item {
      background:var(--paper); border-color:var(--border-soft);
      color:var(--ink); font-size:0.97rem; padding:0.6rem 1rem;
    }
    .ch-card .list-group-item + .list-group-item {
      border-top:1px solid var(--border-soft);
    }

    /* List group numbered */
    .ch-card .list-group-numbered .list-group-item {
      padding-left:1rem;
    }

    /* Equation boxes inside cards */
    .ch-card .equation-box-soft,
    .ch-card .text-center .badge {
      background:#fdf8f0 !important;
      border:1px solid #e0d4b8 !important;
      border-left:4px solid var(--gold) !important;
      border-radius:4px !important;
      padding:1rem 1.4rem !important;
      margin:1.2rem 0 !important;
      color:var(--ink) !important;
      display:block; overflow-x:auto;
    }

    /* Inline equation badges in the chapter */
    .ch-card .badge.bg-dark,
    .ch-card .badge.bg-primary,
    .ch-card .badge.bg-success,
    .ch-card .badge.bg-info,
    .ch-card .badge.bg-warning {
      background:#fdf8f0 !important;
      border:1px solid #e0d4b8 !important;
      border-left:4px solid var(--gold) !important;
      color:var(--ink) !important;
      border-radius:4px !important;
      padding:0.8rem 1.2rem !important;
      font-size:1rem !important;
      font-weight:400 !important;
      white-space:normal;
      display:block; text-align:center;
    }

    /* Badge pills for state vars */
    .ch-card .badge.bg-primary.w-100,
    .ch-card .badge.bg-success.w-100,
    .ch-card .badge.bg-warning.w-100,
    .ch-card .badge.bg-info.w-100,
    .ch-card .badge.bg-dark.w-100,
    .ch-card .badge.bg-secondary.w-100 {
      background:var(--tag-bg) !important;
      border:1px solid var(--gold) !important;
      border-left:4px solid var(--gold) !important;
      color:var(--gold-light) !important;
      border-radius:4px !important;
      padding:0.5rem 0.8rem !important;
      font-family:'JetBrains Mono',monospace;
      font-size:0.75rem !important;
      letter-spacing:0.06em;
      text-transform:uppercase;
      text-align:center; display:block;
    }

    /* Open/Closed/Isolated system sub-cards */
    .ch-card .bg-light {
      background:var(--warm-mid) !important;
      border-radius:6px !important;
    }
    .ch-card .border-success { border-color:var(--gold) !important; }
    .ch-card .border-warning { border-color:#c0761a !important; }
    .ch-card .border-danger  { border-color:var(--accent) !important; }

    .ch-card .text-success { color:#1a6020 !important; }
    .ch-card .text-warning { color:#7a4800 !important; }
    .ch-card .text-danger  { color:var(--accent) !important; }

    /* Gibbs case box */
    .gibbs-case-box {
      background:var(--warm-mid);
      border:1px solid var(--rule);
      border-left:4px solid var(--gold);
      border-radius:4px; padding:1.4rem 1.8rem;
      margin:1.2rem 0;
    }
    .gibbs-case-box p { color:var(--ink) !important; font-size:0.97rem; }

    /* Math display override so MathJax renders dark on light */
    .math-dark { color:var(--ink); }

    /* Float image override */
    .ch-card figure img { max-width:100%; border:1px solid var(--rule); }

    /* Responsive */
    @media(max-width:576px){
      .hero { padding:3.5rem 1rem 3rem; }
      .preamble-wrap { padding:2rem 1rem 2rem; }
      .chapter-wrap { padding:0 1rem 4rem; }
      .ch-card .card-body { padding:1.2rem 1rem; }
    }

    /* ── Quick Navigation ── */
    .quick-nav {
      background: var(--tag-bg);
      border: 1px solid rgba(184,134,11,.3);
      border-left: 4px solid var(--gold);
      border-radius: 6px;
      padding: 1.6rem 2rem;
      margin: 0 0 2.5rem;
    }
    .quick-nav-header {
      display: flex; align-items: center; gap: 0.6rem;
      margin-bottom: 1.2rem;
    }
    .quick-nav-icon {
      width: 28px; height: 28px; border-radius: 50%;
      background: var(--gold); display: flex; align-items: center;
      justify-content: center; font-size: 0.75rem; flex-shrink: 0;
    }
    .quick-nav-title {
      font-family: 'JetBrains Mono', monospace;
      font-size: 0.72rem; letter-spacing: 0.18em;
      text-transform: uppercase; color: var(--gold);
    }
    .quick-nav ul {
      list-style: none; padding: 0; margin: 0;
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
      gap: 0.35rem 1.2rem;
    }
    .quick-nav ul li a {
      font-family: 'Source Serif 4', serif;
      font-size: 0.9rem; color: #c8b8a8;
      text-decoration: none;
      display: flex; align-items: baseline; gap: 0.45rem;
      padding: 0.3rem 0;
      border-bottom: 1px solid rgba(212,201,176,.12);
      transition: color .2s, border-color .2s;
    }
    .quick-nav ul li a::before {
      content: '→';
      font-family: 'JetBrains Mono', monospace;
      font-size: 0.65rem; color: var(--gold);
      flex-shrink: 0;
      transition: transform .2s;
    }
    .quick-nav ul li a:hover { color: var(--gold-light); border-color: rgba(184,134,11,.35); }
    .quick-nav ul li a:hover::before { transform: translateX(3px); }
    @media(max-width:480px){
      .quick-nav ul { grid-template-columns: 1fr; }
    }

    /* Fade-in animation */
    @keyframes fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
    .hero-inner { animation:fadeUp .7s ease both; }
    .preamble-wrap>*, .ch-card { animation:fadeUp .6s ease both; }