/* ============================================================
   They Are Not The Same — color tokens
   Drop into your global stylesheet. Use the --tants-* variables
   anywhere you'd hard-code a color.
   ============================================================ */

   :root {
    /* Surfaces */
    --tants-bg-page:       #faf8f5;   /* main page background — warm cream */
    --tants-bg-surface:    #f1ede4;   /* cards, sidebars, callouts */
    --tants-bg-elevated:   #ffffff;   /* modals, hover-elevated cards */

    /* Text */
    --tants-text-headline: #0c0a09;   /* h1, h2 — maximum impact */
    --tants-text-body:     #1c1917;   /* paragraph text */
    --tants-text-secondary:#44403c;   /* decks, blockquotes, italic leads */
    --tants-text-meta:     #6b6660;   /* bylines, dates, captions, small print */

    /* Accent (brand red) */
    --tants-accent:        #b91c1c;   /* links, kickers, section headers, ≠ */
    --tants-accent-hover:  #991b1b;   /* hover/active state */
    --tants-accent-soft:   #fef2f2;   /* callout backgrounds, highlight tint */

    /* Borders & rules */
    --tants-border:        #e7e5e4;   /* default hairline */
    --tants-border-strong: #d6d3d1;   /* horizontal rules, emphasized dividers */
  }

  /* Auto dark mode via OS preference — only when user hasn't picked explicitly */
  @media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
      --tants-bg-page:       #1c1917;
      --tants-bg-surface:    #292524;
      --tants-bg-elevated:   #3a3633;

      --tants-text-headline: #fafaf9;
      --tants-text-body:     #f5f5f4;
      --tants-text-secondary:#a8a29e;
      --tants-text-meta:     #8a847d;

      --tants-accent:        #ef4444;
      --tants-accent-hover:  #f87171;
      --tants-accent-soft:   #3a1818;

      --tants-border:        #44403c;
      --tants-border-strong: #57534e;
    }
  }

  /* Manual override — for a theme toggle. Apply data-theme="dark" to <html> */
  [data-theme="dark"] {
    --tants-bg-page:       #1c1917;
    --tants-bg-surface:    #292524;
    --tants-bg-elevated:   #3a3633;
    --tants-text-headline: #fafaf9;
    --tants-text-body:     #f5f5f4;
    --tants-text-secondary:#a8a29e;
    --tants-text-meta:     #8a847d;
    --tants-accent:        #ef4444;
    --tants-accent-hover:  #f87171;
    --tants-accent-soft:   #3a1818;
    --tants-border:        #44403c;
    --tants-border-strong: #57534e;
  }

  /* ============================================================
     Baseline element styling using the tokens.
     Delete or merge into your existing styles as needed.
     ============================================================ */

  body {
    background: var(--tants-bg-page);
    color: var(--tants-text-body);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 17px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
  }

  h1, h2, h3, h4 {
    color: var(--tants-text-headline);
    font-weight: 500;
    line-height: 1.25;
  }

  h1 { font-size: 40px; }
  h2 { font-size: 30px; }
  h3 { font-size: 22px; }

  /* Article deck / lead — italic serif, secondary color */
  .deck, article > p:first-of-type.lead {
    color: var(--tants-text-secondary);
    font-style: italic;
    font-size: 1.15em;
  }

  /* Kicker — small uppercase accent text above a headline */
  .kicker {
    color: var(--tants-accent);
    font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.12em;
  }

  /* Section header — divides sections within an article */
  .section-header {
    color: var(--tants-accent);
    font-family: -apple-system, sans-serif;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding-top: 1.5rem;
    border-top: 1px solid var(--tants-border-strong);
    margin: 2rem 0 0.75rem;
  }

  /* Meta — bylines, timestamps, read time */
  .meta, .byline, time {
    color: var(--tants-text-meta);
    font-family: -apple-system, sans-serif;
    font-size: 13px;
  }

  /* Links */
  a {
    color: var(--tants-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  a:hover { color: var(--tants-accent-hover); }

  /* Pull quote */
  blockquote, .pullquote {
    border-left: 3px solid var(--tants-accent);
    padding: 0.25rem 0 0.25rem 1rem;
    color: var(--tants-text-secondary);
    font-style: italic;
    margin: 1.5rem 0;
  }

  /* Callout / highlight box */
  .callout {
    background: var(--tants-accent-soft);
    border-left: 3px solid var(--tants-accent);
    padding: 1rem 1.25rem;
    border-radius: 0 6px 6px 0;
    margin: 1.5rem 0;
  }

  /* Cards & sidebar surfaces */
  .card, .sidebar {
    background: var(--tants-bg-surface);
    border: 1px solid var(--tants-border);
    border-radius: 8px;
    padding: 1.25rem 1.5rem;
  }

  /* Horizontal rule */
  hr {
    border: 0;
    border-top: 1px solid var(--tants-border-strong);
    margin: 2rem 0;
  }