/* ── Self-hosted Fonts ─────────────────────────────────────────── */
/* Source Serif 4 is a variable font — one file covers weights 400-700 */
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('../fonts/ibm-plex-mono-400.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('../fonts/ibm-plex-mono-500.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Source Serif 4';
  src: url('../fonts/source-serif4.woff2') format('woff2');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Source Serif 4';
  src: url('../fonts/source-serif4-italic.woff2') format('woff2');
  font-weight: 400 700;
  font-style: italic;
  font-display: swap;
}

/* ── Design Tokens ─────────────────────────────────────────────── */
:root {
  --c-bg:           #F4F1EA;
  --c-surface:      #E6E2D6;
  --c-surface-deep: #DAD6CA;
  --c-text:         #1A1A1A;
  --c-text-2:       #4A4A4A;
  --c-text-3:       #696560;
  --c-accent:       #9B1C1C;
  --c-accent-light: #F5E8E8;
  --c-accent-hover: #7A1515;
  --c-border:       #C0BBB0;
  --c-border-light: #D5D1C6;
  --c-foia:         #2D5A27;
  --c-cold:         #2C4A6E;
  --c-pending:      #7A5A10;
  --c-closed:       #4A4A4A;
  --c-badge-bg:     #DBD8CE;
  --c-focus:        #9B1C1C;
  --c-visited:      #6B3A3A;
  --f-serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --f-mono:  'IBM Plex Mono', 'Courier New', Courier, monospace;
  --t-xs:   0.6875rem;
  --t-sm:   0.8125rem;
  --t-base: 1rem;
  --t-body: 1.125rem;
  --t-lg:   1.25rem;
  --t-xl:   1.5rem;
  --t-2xl:  2rem;
  --t-3xl:  2.75rem;
  --t-4xl:  3.5rem;
  --lh-tight:  1.2;
  --lh-snug:   1.4;
  --lh-normal: 1.6;
  --lh-loose:  1.75;
  --sp-1: 0.25rem;  --sp-2: 0.5rem;   --sp-3: 0.75rem;  --sp-4: 1rem;
  --sp-5: 1.25rem;  --sp-6: 1.5rem;   --sp-8: 2rem;     --sp-10: 2.5rem;
  --sp-12: 3rem;    --sp-16: 4rem;    --sp-20: 5rem;    --sp-24: 6rem;
  --w-max:     1100px;
  --w-content: min(720px, 65ch);
  --w-narrow:  560px;
  --bw:          1px;
  --radius:      0;
  --status-bar:     4px;
  --status-bar-art: 6px;
  --touch-min: 44px;
  --ease:   cubic-bezier(0.2, 0, 0.4, 1);
  --t-fast: 120ms;
  --t-med:  220ms;
}
