/* ─── Bottom dock: Home + theme (no top overlap) ─────────── */
.site-chrome {
  position: fixed;
  top: auto !important;
  right: auto !important;
  left: 16px;
  bottom: 16px;
  width: auto !important;
  max-width: none;
  height: auto !important;
  z-index: 100000;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 4px;
  background: var(--chrome-bg, rgba(255,255,255,0.94));
  border: 1px solid var(--chrome-border, rgba(0,0,0,0.1));
  border-radius: 999px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 20px rgba(0,0,0,0.12), 0 1px 3px rgba(0,0,0,0.06);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  pointer-events: none;
}
.site-chrome > * {
  pointer-events: auto;
}
.site-chrome-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 34px;
  padding: 0 12px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--chrome-text, #3f4458);
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s ease, color 0.15s ease;
}
.site-chrome-btn:hover {
  background: var(--chrome-hover, rgba(0,0,0,0.06));
  color: var(--chrome-text, #3f4458);
  text-decoration: none;
}
.site-chrome-btn:focus-visible {
  outline: 2px solid var(--switcher-accent, #7c6dfa);
  outline-offset: 1px;
}
.site-chrome-divider {
  width: 1px;
  height: 18px;
  background: var(--chrome-divider, rgba(0,0,0,0.12));
  flex-shrink: 0;
  margin: 0 1px;
}
.site-chrome-icon {
  display: inline-flex;
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}
.site-chrome-icon svg {
  width: 15px;
  height: 15px;
  display: block;
}

/* Interactive / bundler apps: sidebar on left → dock on right */
[data-page="bundler"] .site-chrome {
  left: auto !important;
  right: 20px;
  bottom: 20px;
}
[data-page="bundler"] .site-chrome .site-chrome-label {
  display: none;
}
[data-page="bundler"] .site-chrome-btn {
  min-height: 32px;
  padding: 0 11px;
}
[data-page="bundler"] #__bundler_loading {
  left: 16px;
  right: auto;
  bottom: 20px;
}

[data-theme="dark"] .site-chrome,
[data-theme="midnight"] .site-chrome,
[data-theme="contrast"] .site-chrome {
  --chrome-bg: rgba(22,22,30,0.94);
  --chrome-border: rgba(255,255,255,0.1);
  --chrome-text: #e8e6f0;
  --chrome-hover: rgba(255,255,255,0.08);
  --chrome-divider: rgba(255,255,255,0.14);
}
[data-theme="light"] .site-chrome {
  --chrome-bg: rgba(255,255,255,0.94);
  --chrome-border: rgba(0,0,0,0.1);
  --chrome-text: #3f4458;
  --chrome-hover: rgba(0,0,0,0.06);
  --chrome-divider: rgba(0,0,0,0.12);
}

@media (max-width: 640px) {
  .site-chrome {
    left: 12px;
    bottom: 12px;
    max-width: calc(100vw - 24px);
  }
  [data-page="bundler"] .site-chrome {
    left: auto !important;
    right: 12px;
    bottom: 12px;
    max-width: none;
  }
  .site-chrome-btn {
    min-height: 32px;
    padding: 0 10px;
    font-size: 11px;
  }
  .site-chrome-btn .site-chrome-label {
    display: none;
  }
  .site-chrome-btn {
    padding: 0 11px;
  }
}

/* ─── Shared switcher chrome ────────────────────────────── */
[data-theme="dark"] {
  --switcher-bg: rgba(18,18,26,0.92);
  --switcher-text: #f3f1fa;
  --switcher-border: rgba(120,100,255,0.22);
  --switcher-input-bg: #1a1a26;
  --switcher-accent: #7c6dfa;
  --bundler-bg: #0a0a0f;
  --bundler-loading-bg: #ffffff;
  --bundler-loading-text: #444444;
}
[data-theme="light"] {
  --switcher-bg: rgba(255,255,255,0.96);
  --switcher-text: #12131a;
  --switcher-border: rgba(91,78,180,0.2);
  --switcher-input-bg: #eef1f8;
  --switcher-accent: #5b4fc7;
  --bundler-bg: #f6f7fb;
  --bundler-loading-bg: #ffffff;
  --bundler-loading-text: #444444;
}
[data-theme="midnight"] {
  --switcher-bg: rgba(12,12,18,0.94);
  --switcher-text: #e8e6f0;
  --switcher-border: rgba(120,100,255,0.15);
  --switcher-input-bg: #14141c;
  --switcher-accent: #7c6dfa;
  --bundler-bg: #050508;
  --bundler-loading-bg: #12121a;
  --bundler-loading-text: #a09bb8;
}
[data-theme="contrast"] {
  --switcher-bg: #000000;
  --switcher-text: #ffffff;
  --switcher-border: #ffffff;
  --switcher-input-bg: #141414;
  --switcher-accent: #ffff00;
  --bundler-bg: #000000;
  --bundler-loading-bg: #000000;
  --bundler-loading-text: #ffffff;
}

[data-page="bundler"] body {
  background: var(--bundler-bg) !important;
  transition: background 0.25s ease;
}
[data-page="bundler"] #__bundler_thumbnail {
  background: var(--bundler-bg) !important;
}
[data-page="bundler"] #__bundler_loading {
  color: var(--bundler-loading-text) !important;
  background: var(--bundler-loading-bg) !important;
}

/* ─── Claude tutorial page ──────────────────────────────── */
[data-page="claude"][data-theme="dark"] {
  --bg: #0a0a0f; --bg2: #12121a; --bg3: #1a1a26;
  --border: rgba(120,100,255,0.22);
  --accent: #7c6dfa; --accent2: #a78bfa; --accent3: #38bdf8;
  --text: #f3f1fa; --text2: #c8c2dc; --text3: #9b93b0;
  --green: #34d399; --amber: #fbbf24; --red: #f87171; --coral: #fb7185;
  --hero-bg: linear-gradient(135deg, #0d0b1e 0%, #0a1628 50%, #0d0b1e 100%);
  --hero-glow: rgba(124,109,250,0.14);
  --hero-title: linear-gradient(135deg, #fff 0%, #c4b5fd 55%, #7dd3fc 100%);
  --code-bg: #0d0c14; --code-border: rgba(124,109,250,0.28);
  --syn-k: #c4b5fd; --syn-s: #6ee7b7; --syn-c: #94a3b8;
  --syn-cmd: #67e8f9; --syn-p: #f3f1fa; --syn-n: #fcd34d;
  --svg-text: #f3f1fa; --svg-muted: #c8c2dc; --svg-dim: #94a3b8;
}
[data-page="claude"][data-theme="light"] {
  --bg: #f6f7fb; --bg2: #ffffff; --bg3: #eef1f8;
  --border: rgba(91,78,180,0.2);
  --accent: #5b4fc7; --accent2: #6d28d9; --accent3: #0369a1;
  --text: #12131a; --text2: #3f4458; --text3: #5c637a;
  --green: #047857; --amber: #b45309; --red: #b91c1c; --coral: #be123c;
  --hero-bg: linear-gradient(135deg, #ede9fe 0%, #e0f2fe 50%, #f5f3ff 100%);
  --hero-glow: rgba(91,78,180,0.12);
  --hero-title: linear-gradient(135deg, #1e1b4b 0%, #5b21b6 55%, #0369a1 100%);
  --code-bg: #1e1e2e; --code-border: rgba(91,78,180,0.25);
  --syn-k: #c4b5fd; --syn-s: #6ee7b7; --syn-c: #a8b0bd;
  --syn-cmd: #7dd3fc; --syn-p: #f3f4f6; --syn-n: #fcd34d;
  --svg-text: #12131a; --svg-muted: #475569; --svg-dim: #64748b;
}
[data-page="claude"][data-theme="midnight"] {
  --bg: #050508; --bg2: #0c0c12; --bg3: #14141c;
  --border: rgba(120,100,255,0.15);
  --accent: #7c6dfa; --accent2: #a78bfa; --accent3: #38bdf8;
  --text: #e8e6f0; --text2: #a09bb8; --text3: #7a7490;
  --green: #34d399; --amber: #fbbf24; --red: #f87171; --coral: #fb7185;
  --hero-bg: linear-gradient(135deg, #05040f 0%, #061018 50%, #05040f 100%);
  --hero-glow: rgba(124,109,250,0.1);
  --hero-title: linear-gradient(135deg, #fff 0%, var(--accent2) 60%, var(--accent3) 100%);
  --code-bg: #08070f; --code-border: rgba(124,109,250,0.2);
  --syn-k: #a78bfa; --syn-s: #34d399; --syn-c: #8b93a3;
  --syn-cmd: #38bdf8; --syn-p: #e8e6f0; --syn-n: #fbbf24;
  --svg-text: #e8e6f0; --svg-muted: #a09bb8; --svg-dim: #8b93a3;
}
[data-page="claude"][data-theme="contrast"] {
  --bg: #000; --bg2: #0a0a0a; --bg3: #141414;
  --border: #fff;
  --accent: #ff0; --accent2: #ff6; --accent3: #0ff;
  --text: #fff; --text2: #f0f0f0; --text3: #d4d4d4;
  --green: #0f8; --amber: #fc0; --red: #f66; --coral: #f9a;
  --hero-bg: #000; --hero-glow: rgba(255,255,0,0.08);
  --hero-title: linear-gradient(135deg, #fff 0%, #ff0 100%);
  --code-bg: #000; --code-border: #fff;
  --syn-k: #ff6; --syn-s: #0f8; --syn-c: #ccc;
  --syn-cmd: #0ff; --syn-p: #fff; --syn-n: #fc0;
  --svg-text: #fff; --svg-muted: #e0e0e0; --svg-dim: #ccc;
}
[data-page="claude"] .illustration svg text[fill="#4b5563"],
[data-page="claude"] .illustration svg text[fill="#6b6580"] { fill: var(--svg-dim) !important; }
[data-page="claude"] .illustration svg text[fill="#a09bb8"] { fill: var(--svg-muted) !important; }
[data-page="claude"] .illustration svg text[fill="#e8e6f0"],
[data-page="claude"] .illustration svg text[fill="#f3f1fa"] { fill: var(--svg-text) !important; }

/* ─── Fine-tuning page ────────────────────────────────────── */
[data-page="finetuning"][data-theme="dark"] {
  --bg: #0d0d0f; --surface: #16161a; --surface2: #1e1e24;
  --border: rgba(255,255,255,0.1); --border2: rgba(255,255,255,0.18);
  --text: #f0ede6; --muted: #b0aca4;
  --accent: #f0a500; --accent2: #7dd4c6; --accent3: #f07a6b; --accent4: #9b8fff;
  --green: #6bcf7f; --tag-bg: rgba(240,165,0,0.12); --tag-text: #f0a500;
  --heading: #ffffff; --body-muted: #c8c4be; --toc-link: #d4d0c8;
}
[data-page="finetuning"][data-theme="light"] {
  --bg: #faf9f6; --surface: #ffffff; --surface2: #f0ede8;
  --border: rgba(0,0,0,0.08); --border2: rgba(0,0,0,0.14);
  --text: #1a1814; --muted: #5c574f;
  --accent: #c47f00; --accent2: #0d7a6a; --accent3: #c44a3a; --accent4: #6b5fd4;
  --green: #1a7a4a; --tag-bg: rgba(196,127,0,0.12); --tag-text: #c47f00;
  --heading: #1a1814; --body-muted: #4a463f; --toc-link: #3f3b34;
}
[data-page="finetuning"][data-theme="midnight"] {
  --bg: #080809; --surface: #101014; --surface2: #18181e;
  --border: rgba(255,255,255,0.07); --border2: rgba(255,255,255,0.12);
  --text: #e8e6e0; --muted: #989590;
  --accent: #f0a500; --accent2: #7dd4c6; --accent3: #f07a6b; --accent4: #9b8fff;
  --green: #6bcf7f; --tag-bg: rgba(240,165,0,0.12); --tag-text: #f0a500;
  --heading: #fff; --body-muted: #c0beb8; --toc-link: #c0beb8;
}
[data-page="finetuning"][data-theme="contrast"] {
  --bg: #000; --surface: #0a0a0a; --surface2: #141414;
  --border: #fff; --border2: #fff;
  --text: #fff; --muted: #ddd;
  --accent: #fc0; --accent2: #0ff; --accent3: #f66; --accent4: #ccf;
  --green: #0f8; --tag-bg: rgba(255,204,0,0.15); --tag-text: #fc0;
  --heading: #fff; --body-muted: #eee; --toc-link: #fff;
}
[data-page="finetuning"] .header h1,
[data-page="finetuning"] h2 { color: var(--heading, #fff) !important; }
[data-page="finetuning"] .callout-body,
[data-page="finetuning"] .method-body,
[data-page="finetuning"] .toc a { color: var(--body-muted, #c8c4be); }
[data-page="finetuning"] .toc a:hover { color: var(--text); }
[data-page="finetuning"] .section-label,
[data-page="finetuning"] .method-title,
[data-page="finetuning"] .card h3 { color: var(--heading, #fff) !important; }
[data-page="finetuning"] .muted,
[data-page="finetuning"] .footer-note { color: var(--muted) !important; }

/* ─── CRAG page ───────────────────────────────────────────── */
[data-page="crag"] .site-chrome {
  left: auto !important;
  right: 20px;
  bottom: 20px;
}
[data-page="crag"][data-theme="dark"] {
  --bg: #0f1419;
  --panel: #1a2332;
  --ink: #e8edf5;
  --muted: #94a3b8;
  --line: #2d3a4d;
  --teal: #2dd4bf;
  --teal-soft: rgba(45, 212, 191, 0.12);
  --indigo: #818cf8;
  --indigo-soft: rgba(129, 140, 248, 0.15);
  --amber: #fbbf24;
  --amber-soft: rgba(251, 191, 36, 0.12);
  --rose: #fb7185;
  --rose-soft: rgba(251, 113, 133, 0.12);
  --green: #4ade80;
  --green-soft: rgba(74, 222, 128, 0.12);
  --shadow: 0 14px 35px rgba(0, 0, 0, 0.35);
  --raised: #151e2b;
  --input-bg: #1a2332;
  --meter-bg: #2d3a4d;
  --track-bg: #475569;
  --track-knob: #e8edf5;
  --verdict-text: #cbd5e1;
  --flow-canvas-bg: #151e2b;
}
[data-page="crag"][data-theme="light"] {
  --bg: #f7f8fb;
  --panel: #ffffff;
  --ink: #18202f;
  --muted: #637083;
  --line: #d9dee8;
  --teal: #0f766e;
  --teal-soft: #d9f4ef;
  --indigo: #4f46e5;
  --indigo-soft: #e8e7ff;
  --amber: #b45309;
  --amber-soft: #fff1d6;
  --rose: #be123c;
  --rose-soft: #ffe3ea;
  --green: #15803d;
  --green-soft: #e1f6e8;
  --shadow: 0 14px 35px rgba(22, 30, 46, 0.08);
  --raised: #fbfcfe;
  --input-bg: #ffffff;
  --meter-bg: #e5e7eb;
  --track-bg: #cbd5e1;
  --track-knob: #ffffff;
  --verdict-text: #334155;
  --flow-canvas-bg: #ffffff;
}
[data-page="crag"][data-theme="midnight"] {
  --bg: #080809;
  --panel: #10141c;
  --ink: #e8e6f0;
  --muted: #9895a8;
  --line: #1e2430;
  --teal: #5eead4;
  --teal-soft: rgba(94, 234, 212, 0.1);
  --indigo: #a5b4fc;
  --indigo-soft: rgba(165, 180, 252, 0.12);
  --amber: #fcd34d;
  --amber-soft: rgba(252, 211, 77, 0.1);
  --rose: #fda4af;
  --rose-soft: rgba(253, 164, 175, 0.1);
  --green: #86efac;
  --green-soft: rgba(134, 239, 172, 0.1);
  --shadow: 0 14px 35px rgba(0, 0, 0, 0.45);
  --raised: #0c1018;
  --input-bg: #10141c;
  --meter-bg: #1e2430;
  --track-bg: #3f4658;
  --track-knob: #e8e6f0;
  --verdict-text: #c8c4d8;
  --flow-canvas-bg: #0c1018;
}
[data-page="crag"][data-theme="contrast"] {
  --bg: #000000;
  --panel: #0a0a0a;
  --ink: #ffffff;
  --muted: #dddddd;
  --line: #ffffff;
  --teal: #00ffcc;
  --teal-soft: rgba(0, 255, 204, 0.12);
  --indigo: #ccccff;
  --indigo-soft: rgba(204, 204, 255, 0.12);
  --amber: #ffcc00;
  --amber-soft: rgba(255, 204, 0, 0.12);
  --rose: #ff6666;
  --rose-soft: rgba(255, 102, 102, 0.12);
  --green: #00ff88;
  --green-soft: rgba(0, 255, 136, 0.12);
  --shadow: 0 14px 35px rgba(255, 255, 255, 0.08);
  --raised: #111111;
  --input-bg: #0a0a0a;
  --meter-bg: #333333;
  --track-bg: #666666;
  --track-knob: #ffffff;
  --verdict-text: #eeeeee;
  --flow-canvas-bg: #111111;
}
[data-page="crag"] body {
  background: var(--bg) !important;
  color: var(--ink);
}

/* ─── RAG architecture & LangChain docs pages ─────────────── */
[data-page="rag-architecture"] .site-chrome,
[data-page="langchain-docs"] .site-chrome {
  left: auto !important;
  right: 20px;
  bottom: 20px;
}
[data-page="rag-architecture"][data-theme="dark"],
[data-page="langchain-docs"][data-theme="dark"] {
  --bg: #0f1419;
  --bg-card: #1a2332;
  --bg-elevated: #243044;
  --text: #e8edf4;
  --text-muted: #8b9cb3;
  --text-dim: #5c6d85;
  --teal: #2dd4bf;
  --teal-dim: rgba(45, 212, 191, 0.12);
  --coral: #fb7185;
  --coral-dim: rgba(251, 113, 133, 0.12);
  --amber: #fbbf24;
  --amber-dim: rgba(251, 191, 36, 0.12);
  --violet: #a78bfa;
  --violet-dim: rgba(167, 139, 250, 0.12);
  --sky: #38bdf8;
  --sky-dim: rgba(56, 189, 248, 0.12);
  --lime: #a3e635;
  --lime-dim: rgba(163, 230, 53, 0.12);
  --indigo: #818cf8;
  --indigo-dim: rgba(129, 140, 248, 0.12);
  --border: rgba(255, 255, 255, 0.08);
  --shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}
[data-page="rag-architecture"][data-theme="light"],
[data-page="langchain-docs"][data-theme="light"] {
  --bg: #f4f6f9;
  --bg-card: #ffffff;
  --bg-elevated: #eef1f6;
  --text: #1a2332;
  --text-muted: #5c6d85;
  --text-dim: #8b9cb3;
  --teal: #0d9488;
  --teal-dim: rgba(13, 148, 136, 0.1);
  --coral: #e11d48;
  --coral-dim: rgba(225, 29, 72, 0.08);
  --amber: #d97706;
  --amber-dim: rgba(217, 119, 6, 0.1);
  --violet: #7c3aed;
  --violet-dim: rgba(124, 58, 237, 0.1);
  --sky: #0284c7;
  --sky-dim: rgba(2, 132, 199, 0.1);
  --lime: #65a30d;
  --lime-dim: rgba(101, 163, 13, 0.1);
  --indigo: #4f46e5;
  --indigo-dim: rgba(79, 70, 229, 0.1);
  --border: rgba(0, 0, 0, 0.08);
  --shadow: 0 8px 32px rgba(22, 30, 46, 0.08);
}
[data-page="rag-architecture"][data-theme="midnight"],
[data-page="langchain-docs"][data-theme="midnight"] {
  --bg: #080809;
  --bg-card: #10141c;
  --bg-elevated: #161b27;
  --text: #e8e6f0;
  --text-muted: #9895a8;
  --text-dim: #6b6778;
  --teal: #5eead4;
  --teal-dim: rgba(94, 234, 212, 0.1);
  --coral: #fda4af;
  --coral-dim: rgba(253, 164, 175, 0.1);
  --amber: #fcd34d;
  --amber-dim: rgba(252, 211, 77, 0.1);
  --violet: #c4b5fd;
  --violet-dim: rgba(196, 181, 253, 0.1);
  --sky: #7dd3fc;
  --sky-dim: rgba(125, 211, 252, 0.1);
  --lime: #bef264;
  --lime-dim: rgba(190, 242, 100, 0.1);
  --indigo: #a5b4fc;
  --indigo-dim: rgba(165, 180, 252, 0.1);
  --border: rgba(255, 255, 255, 0.07);
  --shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
}
[data-page="rag-architecture"][data-theme="contrast"],
[data-page="langchain-docs"][data-theme="contrast"] {
  --bg: #000000;
  --bg-card: #0a0a0a;
  --bg-elevated: #111111;
  --text: #ffffff;
  --text-muted: #dddddd;
  --text-dim: #aaaaaa;
  --teal: #00ffcc;
  --teal-dim: rgba(0, 255, 204, 0.12);
  --coral: #ff6666;
  --coral-dim: rgba(255, 102, 102, 0.12);
  --amber: #ffcc00;
  --amber-dim: rgba(255, 204, 0, 0.12);
  --violet: #ccccff;
  --violet-dim: rgba(204, 204, 255, 0.12);
  --sky: #66ccff;
  --sky-dim: rgba(102, 204, 255, 0.12);
  --lime: #ccff00;
  --lime-dim: rgba(204, 255, 0, 0.12);
  --indigo: #9999ff;
  --indigo-dim: rgba(153, 153, 255, 0.12);
  --border: #ffffff;
  --shadow: 0 8px 32px rgba(255, 255, 255, 0.08);
}
[data-page="rag-architecture"] body,
[data-page="langchain-docs"] body {
  background: var(--bg) !important;
  color: var(--text);
}

/* ─── Positional encoding page ────────────────────────────── */
[data-page="encoding"][data-theme="dark"] {
  --bg: #0f1117; --bg2: #1a1d27; --bg3: #22263a;
  --border: #3d4266; --border2: #4d5280;
  --text: #eef0fa; --text2: #b8bdd8; --text3: #8b93b8;
  --amr: #f0a050; --amr-bg: #2a1f0a; --blu: #5b9cf6; --tel: #4ecda4;
  --tel-bg: #0a2018; --red: #f06060; --grn: #5ec96e;
}
[data-page="encoding"][data-theme="light"] {
  --bg: #f7f8fc; --bg2: #ffffff; --bg3: #eef1f8;
  --border: #c8cde0; --border2: #aab2cc;
  --text: #12131a; --text2: #3f4458; --text3: #5c637a;
  --amr: #c47a20; --amr-bg: #fef3e2; --blu: #2563eb; --tel: #0d9488;
  --tel-bg: #ecfdf5; --red: #dc2626; --grn: #16a34a;
}
[data-page="encoding"][data-theme="midnight"] {
  --bg: #0a0c12; --bg2: #141824; --bg3: #1c2030;
  --border: #2e3250; --border2: #3d4266;
  --text: #e8eaf6; --text2: #9da3c8; --text3: #6b7398;
  --amr: #f0a050; --amr-bg: #2a1f0a; --blu: #5b9cf6; --tel: #4ecda4;
  --tel-bg: #0a2018; --red: #f06060; --grn: #5ec96e;
}
[data-page="encoding"][data-theme="contrast"] {
  --bg: #000; --bg2: #0a0a0a; --bg3: #141414;
  --border: #fff; --border2: #fff;
  --text: #fff; --text2: #eee; --text3: #ccc;
  --amr: #fc0; --amr-bg: #222; --blu: #0ff; --tel: #0f8;
  --tel-bg: #002211; --red: #f66; --grn: #0f8;
}

/* ─── D365 migration guide ────────────────────────────────── */
[data-page="d365"][data-theme="dark"] {
  --bg: #0f1117; --bg2: #161b27; --bg3: #1e2535; --bg4: #252d42;
  --border: rgba(255,255,255,0.08); --border2: rgba(255,255,255,0.14);
  --text: #e8eaf0; --muted: #8b93a8; --faint: #4a5168;
  --blue: #4f9cf9; --blue-dim: rgba(79,156,249,0.12); --blue-border: rgba(79,156,249,0.3);
  --purple: #9f7aea; --purple-dim: rgba(159,122,234,0.12); --purple-border: rgba(159,122,234,0.3);
  --teal: #38c9a8; --teal-dim: rgba(56,201,168,0.1); --teal-border: rgba(56,201,168,0.3);
  --amber: #f6ad55; --amber-dim: rgba(246,173,85,0.1); --amber-border: rgba(246,173,85,0.3);
  --red: #fc8181; --red-dim: rgba(252,129,129,0.1);
  --green: #68d391; --green-dim: rgba(104,211,145,0.1); --green-border: rgba(104,211,145,0.3);
  --nav-bg: rgba(15,17,23,0.9);
}
[data-page="d365"][data-theme="light"] {
  --bg: #f7f8fc; --bg2: #ffffff; --bg3: #eef1f8; --bg4: #e2e6f0;
  --border: rgba(0,0,0,0.08); --border2: rgba(0,0,0,0.14);
  --text: #12131a; --muted: #5c637a; --faint: #8b93a8;
  --blue: #2563eb; --blue-dim: rgba(37,99,235,0.1); --blue-border: rgba(37,99,235,0.25);
  --purple: #7c3aed; --purple-dim: rgba(124,58,237,0.1); --purple-border: rgba(124,58,237,0.25);
  --teal: #0d9488; --teal-dim: rgba(13,148,136,0.1); --teal-border: rgba(13,148,136,0.25);
  --amber: #d97706; --amber-dim: rgba(217,119,6,0.1); --amber-border: rgba(217,119,6,0.25);
  --red: #dc2626; --red-dim: rgba(220,38,38,0.1);
  --green: #16a34a; --green-dim: rgba(22,163,74,0.1); --green-border: rgba(22,163,74,0.25);
  --nav-bg: rgba(247,248,252,0.92);
}
[data-page="d365"][data-theme="midnight"] {
  --bg: #080a10; --bg2: #0f121c; --bg3: #161c2a; --bg4: #1c2438;
  --border: rgba(255,255,255,0.06); --border2: rgba(255,255,255,0.1);
  --text: #e0e4f0; --muted: #7a8298; --faint: #3d4458;
  --blue: #4f9cf9; --blue-dim: rgba(79,156,249,0.1); --blue-border: rgba(79,156,249,0.25);
  --purple: #9f7aea; --purple-dim: rgba(159,122,234,0.1); --purple-border: rgba(159,122,234,0.25);
  --teal: #38c9a8; --teal-dim: rgba(56,201,168,0.08); --teal-border: rgba(56,201,168,0.25);
  --amber: #f6ad55; --amber-dim: rgba(246,173,85,0.08); --amber-border: rgba(246,173,85,0.25);
  --red: #fc8181; --red-dim: rgba(252,129,129,0.08);
  --green: #68d391; --green-dim: rgba(104,211,145,0.08); --green-border: rgba(104,211,145,0.25);
  --nav-bg: rgba(8,10,16,0.94);
}
[data-page="d365"][data-theme="contrast"] {
  --bg: #000; --bg2: #0a0a0a; --bg3: #141414; --bg4: #1e1e1e;
  --border: #fff; --border2: #fff;
  --text: #fff; --muted: #ddd; --faint: #aaa;
  --blue: #0ff; --blue-dim: rgba(0,255,255,0.12); --blue-border: #0ff;
  --purple: #ccf; --purple-dim: rgba(204,204,255,0.12); --purple-border: #ccf;
  --teal: #0f8; --teal-dim: rgba(0,255,136,0.12); --teal-border: #0f8;
  --amber: #fc0; --amber-dim: rgba(255,204,0,0.12); --amber-border: #fc0;
  --red: #f66; --red-dim: rgba(255,102,102,0.12);
  --green: #0f8; --green-dim: rgba(0,255,136,0.12); --green-border: #0f8;
  --nav-bg: rgba(0,0,0,0.96);
}

/* ─── CCT migration guide ─────────────────────────────────── */
[data-page="cct"][data-theme="dark"] {
  --bg: #0f1117; --bg2: #161b27; --bg3: #1e2535; --bg4: #252d42;
  --border: rgba(255,255,255,0.08); --border2: rgba(255,255,255,0.14);
  --text: #e8eaf0; --muted: #8b93a8; --faint: #4a5168;
  --blue: #4f9cf9; --blue-dim: rgba(79,156,249,0.12); --blue-border: rgba(79,156,249,0.3);
  --purple: #9f7aea; --purple-dim: rgba(159,122,234,0.12); --purple-border: rgba(159,122,234,0.3);
  --teal: #38c9a8; --teal-dim: rgba(56,201,168,0.1); --teal-border: rgba(56,201,168,0.3);
  --amber: #f6ad55; --amber-dim: rgba(246,173,85,0.1); --amber-border: rgba(246,173,85,0.3);
  --red: #fc8181; --red-dim: rgba(252,129,129,0.1);
  --green: #68d391; --green-dim: rgba(104,211,145,0.1); --green-border: rgba(104,211,145,0.3);
  --orange: #ff8c42; --orange-dim: rgba(255,140,66,0.1); --orange-border: rgba(255,140,66,0.3);
  --nav-bg: rgba(15,17,23,0.9);
}
[data-page="cct"][data-theme="light"] {
  --bg: #f7f8fc; --bg2: #ffffff; --bg3: #eef1f8; --bg4: #e2e6f0;
  --border: rgba(0,0,0,0.08); --border2: rgba(0,0,0,0.14);
  --text: #12131a; --muted: #5c637a; --faint: #8b93a8;
  --blue: #2563eb; --blue-dim: rgba(37,99,235,0.1); --blue-border: rgba(37,99,235,0.25);
  --purple: #7c3aed; --purple-dim: rgba(124,58,237,0.1); --purple-border: rgba(124,58,237,0.25);
  --teal: #0d9488; --teal-dim: rgba(13,148,136,0.1); --teal-border: rgba(13,148,136,0.25);
  --amber: #d97706; --amber-dim: rgba(217,119,6,0.1); --amber-border: rgba(217,119,6,0.25);
  --red: #dc2626; --red-dim: rgba(220,38,38,0.1);
  --green: #16a34a; --green-dim: rgba(22,163,74,0.1); --green-border: rgba(22,163,74,0.25);
  --orange: #ea580c; --orange-dim: rgba(234,88,12,0.1); --orange-border: rgba(234,88,12,0.25);
  --nav-bg: rgba(247,248,252,0.92);
}
[data-page="cct"][data-theme="midnight"] {
  --bg: #080a10; --bg2: #0f121c; --bg3: #161c2a; --bg4: #1c2438;
  --border: rgba(255,255,255,0.06); --border2: rgba(255,255,255,0.1);
  --text: #e0e4f0; --muted: #7a8298; --faint: #3d4458;
  --blue: #4f9cf9; --blue-dim: rgba(79,156,249,0.1); --blue-border: rgba(79,156,249,0.25);
  --purple: #9f7aea; --purple-dim: rgba(159,122,234,0.1); --purple-border: rgba(159,122,234,0.25);
  --teal: #38c9a8; --teal-dim: rgba(56,201,168,0.08); --teal-border: rgba(56,201,168,0.25);
  --amber: #f6ad55; --amber-dim: rgba(246,173,85,0.08); --amber-border: rgba(246,173,85,0.25);
  --red: #fc8181; --red-dim: rgba(252,129,129,0.08);
  --green: #68d391; --green-dim: rgba(104,211,145,0.08); --green-border: rgba(104,211,145,0.25);
  --orange: #ff8c42; --orange-dim: rgba(255,140,66,0.08); --orange-border: rgba(255,140,66,0.25);
  --nav-bg: rgba(8,10,16,0.94);
}
[data-page="cct"][data-theme="contrast"] {
  --bg: #000; --bg2: #0a0a0a; --bg3: #141414; --bg4: #1e1e1e;
  --border: #fff; --border2: #fff;
  --text: #fff; --muted: #ddd; --faint: #aaa;
  --blue: #0ff; --blue-dim: rgba(0,255,255,0.12); --blue-border: #0ff;
  --purple: #ccf; --purple-dim: rgba(204,204,255,0.12); --purple-border: #ccf;
  --teal: #0f8; --teal-dim: rgba(0,255,136,0.12); --teal-border: #0f8;
  --amber: #fc0; --amber-dim: rgba(255,204,0,0.12); --amber-border: #fc0;
  --red: #f66; --red-dim: rgba(255,102,102,0.12);
  --green: #0f8; --green-dim: rgba(0,255,136,0.12); --green-border: #0f8;
  --orange: #f80; --orange-dim: rgba(255,136,0,0.12); --orange-border: #f80;
  --nav-bg: rgba(0,0,0,0.96);
}

/* ─── Profile / index page ────────────────────────────────── */
[data-page="profile"][data-theme="light"] {
  --white: #ffffff; --off: #f4f6f9; --text: #1a1a2e; --muted: #5a6a7e;
  --border: #dde3ec; --honest-bg: #e8f5ee; --honest-border: #b8dfc8;
}
[data-page="profile"][data-theme="dark"] {
  --white: #0c1526; --off: #111d33; --text: #eef2f8; --muted: #94a3b8;
  --border: #2a3a52; --honest-bg: rgba(26,122,74,0.15); --honest-border: rgba(26,122,74,0.35);
}
[data-page="profile"][data-theme="midnight"] {
  --white: #080e18; --off: #0d1628; --text: #e8e6f0; --muted: #8892a4;
  --border: #1e2d44; --honest-bg: rgba(26,122,74,0.12); --honest-border: rgba(26,122,74,0.3);
}
[data-page="profile"][data-theme="contrast"] {
  --white: #000; --off: #0a0a0a; --text: #fff; --muted: #ddd;
  --border: #fff; --honest-bg: #002211; --honest-border: #0f8;
}
[data-page="profile"] body { background: var(--white); color: var(--text); transition: background 0.25s, color 0.25s; }
[data-page="profile"] .honest-badge {
  background: var(--honest-bg) !important;
  border-color: var(--honest-border) !important;
}

/* ─── Consulting page ─────────────────────────────────────── */
[data-page="consulting"][data-theme="light"] {
  --ink: #0e0e0e; --ink2: #2a2a2a; --muted: #6b6b6b; --rule: #e0dbd4;
  --cream: #faf8f5; --white: #ffffff;
  --light-teal: #e8f4f4; --light-gold: #fdf6e3;
  --nav-bg: rgba(250,248,245,0.96);
}
[data-page="consulting"][data-theme="dark"] {
  --ink: #f5f3ef; --ink2: #ddd8d0; --muted: #a8a29e; --rule: #3a3530;
  --cream: #141210; --white: #1c1916;
  --light-teal: rgba(26,107,107,0.15); --light-gold: rgba(201,168,76,0.12);
  --nav-bg: rgba(20,18,16,0.96);
}
[data-page="consulting"][data-theme="midnight"] {
  --ink: #eceae6; --ink2: #cfcbc4; --muted: #9c9890; --rule: #2e2a26;
  --cream: #0f0e0c; --white: #171412;
  --light-teal: rgba(26,107,107,0.12); --light-gold: rgba(201,168,76,0.1);
  --nav-bg: rgba(15,14,12,0.96);
}
[data-page="consulting"][data-theme="contrast"] {
  --ink: #fff; --ink2: #eee; --muted: #ccc; --rule: #fff;
  --cream: #000; --white: #0a0a0a;
  --light-teal: #002222; --light-gold: #222200;
  --nav-bg: rgba(0,0,0,0.98);
}
[data-page="consulting"] body { background: var(--cream); color: var(--ink); transition: background 0.25s, color 0.25s; }
[data-page="consulting"] nav { background: var(--nav-bg) !important; }

/* ─── Article page ────────────────────────────────────────── */
[data-page="article"][data-theme="light"] {
  --article-bg: #fafafa; --article-text: #292929; --article-heading: #111;
  --article-link: #1a8917; --article-link-hover: #117b11;
  --article-quote: #555; --article-pre-bg: #f5f5f5; --article-pre-border: #e0e0e0;
  --article-code-bg: #f0f0f0;
}
[data-page="article"][data-theme="dark"] {
  --article-bg: #12121a; --article-text: #e8e6e0; --article-heading: #f5f3ef;
  --article-link: #6ee7b7; --article-link-hover: #34d399;
  --article-quote: #b0aca4; --article-pre-bg: #1a1a26; --article-pre-border: #2e2e3a;
  --article-code-bg: #222230;
}
[data-page="article"][data-theme="midnight"] {
  --article-bg: #0a0a0f; --article-text: #e8e6f0; --article-heading: #fff;
  --article-link: #7dd3fc; --article-link-hover: #38bdf8;
  --article-quote: #a09bb8; --article-pre-bg: #12121a; --article-pre-border: #1e1e28;
  --article-code-bg: #181820;
}
[data-page="article"][data-theme="contrast"] {
  --article-bg: #000; --article-text: #fff; --article-heading: #ff0;
  --article-link: #0ff; --article-link-hover: #fff;
  --article-quote: #ccc; --article-pre-bg: #000; --article-pre-border: #fff;
  --article-code-bg: #111;
}
[data-page="article"] body {
  background: var(--article-bg) !important;
  color: var(--article-text) !important;
  transition: background 0.25s, color 0.25s;
}
[data-page="article"] h1,
[data-page="article"] h2,
[data-page="article"] h3,
[data-page="article"] h4,
[data-page="article"] h5,
[data-page="article"] h6 { color: var(--article-heading) !important; }
[data-page="article"] a { color: var(--article-link) !important; }
[data-page="article"] a:hover { color: var(--article-link-hover) !important; }
[data-page="article"] blockquote { color: var(--article-quote) !important; border-left-color: var(--article-heading) !important; }
[data-page="article"] pre {
  background: var(--article-pre-bg) !important;
  border-color: var(--article-pre-border) !important;
}
[data-page="article"] code { background: var(--article-code-bg) !important; }
[data-page="article"] th {
  background: var(--article-pre-bg) !important;
  color: var(--article-heading) !important;
  border-color: var(--article-pre-border) !important;
}
[data-page="article"] td {
  border-color: var(--article-pre-border) !important;
  color: var(--article-text) !important;
}
[data-page="article"] tr:nth-child(even) { background: var(--article-pre-bg) !important; }
[data-page="article"] .generated-by {
  color: var(--article-quote) !important;
  border-top-color: var(--article-pre-border) !important;
}
