/* ================================================================
   AirAnalyzer Design System
   Shared across all report pages. Edit here, affects everywhere.
   ================================================================ */

:root {
  /* ── Colors ── */
  --red:       #D94F3D;
  --red-light: rgba(217,79,61,0.08);
  --ink:       #1c1917;
  --ink-mid:   #44403c;
  --ink-light: #78716c;
  --ink-muted: #a8a29e;
  --border:    #e7e3de;
  --bg:        #faf8f5;
  --cream:     #f5f0e8;
  --white:     #ffffff;

  /* ── State colors ── */
  --red-hover:       #e0393e;        /* button hover */
  --error:           #dc2626;        /* error text */
  --error-dark:      #b91c1c;        /* error text, high contrast */
  --error-bg:        #fef2f2;        /* error background */
  --error-border:    #fecaca;        /* error border */
  --success:         #15803d;        /* success text */
  --success-dark:    #166534;        /* success text, high contrast */
  --success-bg:      #f0fdf4;        /* success background */
  --success-border:  #16a34a;        /* success border */
  --badge-warn-bg:   #fef9c3;        /* in-progress badge background */
  --badge-warn-text: #854d0e;        /* in-progress badge text */
  --badge-fail-bg:   #fee2e2;        /* failed badge background */
  --badge-fail-text: #991b1b;        /* failed badge text */

  /* ── Fonts ── */
  --serif:  'Playfair Display', Georgia, serif;
  --serif2: 'Cormorant Garamond', Georgia, serif;
  --script: 'Dancing Script', cursive;
  --sans:   'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;

  /* ── Font scale ── */
  --fs-tiny:    0.68rem;   /* dates, sub-labels, tags */
  --fs-label:   0.65rem;   /* table headers, spine brand */
  --fs-small:   0.82rem;   /* buttons, table rows */
  --fs-body:    0.93rem;   /* paragraphs, list items */
  --fs-ui:      1.05rem;   /* logo, action titles, metrics label */
  --fs-section: 1.45rem;   /* section titles, spine tag */
  --fs-metric:  2.2rem;    /* metric values, action numbers */
  --fs-hero:    2.6rem;    /* cover title */
  --fs-stamp:   6.5rem;    /* section watermark numbers */

  /* ── Spacing scale ── */
  --sp-xs:  8px;
  --sp-sm:  16px;
  --sp-md:  24px;
  --sp-lg:  32px;
  --sp-xl:  48px;
  --sp-2xl: 64px;
  --sp-3xl: 72px;

  /* ── Layout ── */
  --spine-w:    96px;
  --max-w:      860px;
  --body-pad-x: 64px;

  /* ── On-dark opacities ── */
  --on-dark-hi:   rgba(255,255,255,0.35);
  --on-dark-mid:  rgba(255,255,255,0.30);
  --on-dark-lo:   rgba(255,255,255,0.20);
  --on-dark-rule: rgba(255,255,255,0.08);

  /* ── Elevation & shape ── */
  --shadow-card: 0 4px 40px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
  --radius:      2px;
  --radius-btn:  4px;

  /* ── Component-specific ── */
  --fs-rank:       1.1rem;    /* table rank numbers */
  --fs-badge:      0.58rem;   /* YOU badge */
  --fs-glossary:   0.75rem;   /* glossary items */
  --fs-accent:     0.95rem;   /* section label (script font) */
  --cell-pad:      12px 14px; /* table body cell padding */
  --cell-pad-head: 10px 14px; /* table header cell padding */
  --line-tight:    1.2;       /* headings */
  --line-body:     1.75;      /* body text */
  --line-table:    1.4;       /* table rows */
  --indent-bullet: 20px;      /* bullet left padding */
}
