/* Didion — Editorial Ink tokens (subset, for HTML mock) */
:root {
  --bg: #f5f1ea;
  --bg-elev: #fbf8f2;
  --bg-sunken: #ece7dd;
  --bg-dark: #1c1915;
  --border: #d9d1c1;
  --border-soft: #e6dfd1;
  --border-strong: #c3b89e;
  --text: #1c1915;
  --text-muted: #6b6456;
  --text-subtle: #9b9383;
  --text-on-accent: #f5f1ea;
  --text-on-dark: #f4f0e6;
  --accent: #b04a1e;
  --accent-hover: #9a3f18;
  --accent-soft: #f0d9c8;
  --accent-text: #6e2a0e;
  --positive: #4a6b3e;
  --negative: #8a2a2a;
  --warning: #a36a1f;

  --heat-cool: #6b6456;
  --heat-warm: #a36a1f;
  --heat-hot: #b04a1e;
  --heat-critical: #6e2a0e;

  --platform-ig: #7a4a5c;
  --platform-x: #1c1915;
  --platform-news: #3d5a6b;

  --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: 'IBM Plex Mono', 'SF Mono', Menlo, monospace;

  --fs-display-xl: 72px;
  --fs-display-lg: 48px;
  --fs-display-md: 32px;
  --fs-h1: 28px;
  --fs-h2: 22px;
  --fs-h3: 18px;
  --fs-body-lg: 16px;
  --fs-body: 15px;
  --fs-body-sm: 13px;
  --fs-caption: 11px;
  --fs-micro: 10px;

  --track-display: -0.02em;
  --track-heading: -0.01em;
  --track-body: 0;
  --track-caption: 0.08em;
  --track-stamp: 0.16em;

  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-5: 20px; --space-6: 24px; --space-7: 32px; --space-8: 40px;
  --space-9: 48px; --space-10: 64px; --space-11: 80px; --space-12: 96px;

  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;

  --bw-hairline: 1px;
  --bw-rule: 2px;

  --shadow-sm: 0 1px 2px rgba(28,25,21,0.06);
  --shadow-md: 0 2px 14px rgba(28,25,21,0.10);
  --shadow-focus: 0 0 0 3px rgba(176,74,30,0.22);

  --dur-fast: 120ms;
  --dur-base: 200ms;
  --ease-standard: cubic-bezier(0.2,0.6,0.2,1);
}

html, body {
  margin: 0; padding: 0;
  background: var(--bg); color: var(--text);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
* { box-sizing: border-box; }

.didion-mono { font-family: var(--font-mono); letter-spacing: var(--track-caption); text-transform: uppercase; }
.didion-display { font-family: var(--font-display); }
.didion-tabular { font-variant-numeric: tabular-nums; }

.didion-stamp {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: var(--track-stamp);
  text-transform: uppercase;
  padding: 3px 6px 2px;
  border: 1px solid currentColor;
  border-radius: var(--radius-sm);
  line-height: 1;
  display: inline-block;
}
.didion-rule { height: 1px; background: var(--border); border: 0; margin: 0; }
.didion-rule-red { height: 2px; background: var(--accent); border: 0; margin: 0; }

input, button, select, textarea { font: inherit; color: inherit; }
input:focus, button:focus, a:focus { outline: none; }
.didion-focusable:focus-visible { box-shadow: var(--shadow-focus); }
