/**
 * Design tokens partagés — landing (index.html) et monitoring.html.
 * Thème : clair / sombre via html[data-theme] + HtmlTheme (localStorage).
 * Marque : bleu sombre (aligné frontend Next.js).
 */
:root,
html[data-theme="dark"] {
  color-scheme: dark;
  --cw-font-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --cw-font-display: "Libre Baskerville", Georgia, "Times New Roman", serif;
  --cw-page-bg: #020617;
  --cw-card-bg: #0f172a;
  --cw-raised-bg: #1e293b;
  --cw-border: #1e293b;
  --cw-text: #e2e8f0;
  --cw-muted: #94a3b8;
  --cw-accent: #60a5fa;
  --cw-accent-strong: #3b82f6;
  --cw-teal: #38bdf8;
  --cw-warn: #fbbf24;
  --cw-post: #f59e0b;
  --cw-patch: #a78bfa;
  --cw-get: #3b82f6;
  --cw-shadow: rgba(0, 0, 0, 0.35);
  --cw-topbar-bg: rgba(15, 23, 42, 0.92);
  --cw-code-bg: #020617;
  --cw-pill-bg: rgba(2, 6, 23, 0.55);
}

html[data-theme="light"] {
  color-scheme: light;
  --cw-page-bg: #f8fafc;
  --cw-card-bg: #ffffff;
  --cw-raised-bg: #f8fafc;
  --cw-border: #e2e8f0;
  --cw-text: #0f172a;
  --cw-muted: #64748b;
  --cw-accent: #1d4ed8;
  --cw-accent-strong: #1e40af;
  --cw-teal: #0284c7;
  --cw-warn: #d97706;
  --cw-post: #f59e0b;
  --cw-patch: #8b5cf6;
  --cw-get: #2563eb;
  --cw-shadow: rgba(0, 0, 0, 0.08);
  --cw-topbar-bg: rgba(255, 255, 255, 0.92);
  --cw-code-bg: #f1f5f9;
  --cw-pill-bg: rgba(241, 245, 249, 0.95);
}

html[data-theme="light"] {
  --cw-note-text: #92400e;
  --cw-note-bg: rgba(251, 191, 36, 0.18);
}

html[data-theme="dark"] {
  --cw-note-text: #fcd34d;
  --cw-note-bg: rgba(251, 191, 36, 0.08);
}

/* Fond décoratif optionnel (landing + monitoring) — halos bleus */
body.cw-page-mesh {
  position: relative;
}

body.cw-page-mesh::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(ellipse 100% 80% at 50% -30%, rgba(59, 130, 246, 0.12), transparent 55%),
    radial-gradient(ellipse 70% 50% at 100% 0%, rgba(37, 99, 235, 0.08), transparent 45%),
    radial-gradient(ellipse 50% 40% at 0% 20%, rgba(79, 70, 229, 0.06), transparent 50%);
}

html[data-theme="light"] body.cw-page-mesh::before {
  background: radial-gradient(ellipse 100% 80% at 50% -30%, rgba(37, 99, 235, 0.09), transparent 55%),
    radial-gradient(ellipse 70% 50% at 100% 0%, rgba(59, 130, 246, 0.06), transparent 45%),
    radial-gradient(ellipse 50% 40% at 0% 20%, rgba(99, 102, 241, 0.05), transparent 50%);
}

@media (prefers-reduced-motion: reduce) {
  body.cw-page-mesh::before {
    opacity: 0.65;
  }
}

/* Titres alignés sur la landing Next.js (Libre Baskerville) */
h1,
h2,
h3,
.cw-font-display {
  font-family: var(--cw-font-display);
}
