:root {
  color-scheme: light;

  /* Brand */
  --trs-ink: #14100b;
  --trs-ink-raised: #1e1812;
  --trs-cream: #f4f0e8;
  --trs-cream-deep: #ebe5d5;
  --trs-paper: #fffdf9;
  --trs-red: #c41e3a;
  --trs-red-dark: #98162c;
  --trs-red-on-dark: #f06a80;

  /* Text and rules */
  --trs-text: #1c1c1a;
  --trs-text-mid: #4a4845;
  --trs-text-muted: #595754;
  --trs-on-dark: #e8e3d8;
  --trs-on-dark-mid: #bdb9b0;
  --trs-on-dark-muted: #a8a49d;
  --trs-border: #d8d4ca;
  --trs-border-subtle: rgba(20, 16, 11, 0.1);
  --trs-border-on-dark: rgba(244, 240, 232, 0.14);

  /* Semantic colors. Use for status, never as decoration. */
  --trs-success: #2f7d4b;
  --trs-success-strong: #245f39;
  --trs-success-soft: #e7f3eb;
  --trs-warning: #b7791f;
  --trs-warning-soft: #fbf1dc;
  --trs-error: #b42335;
  --trs-error-soft: #f9e7ea;
  --trs-info: #276796;
  --trs-info-soft: #e5f0f7;

  /* Typography */
  --trs-font-body: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --trs-font-mono: "Syne Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --trs-font-size-xs: 0.6875rem;
  --trs-font-size-sm: 0.8125rem;
  --trs-font-size-md: 0.9375rem;
  --trs-font-size-lg: 1.125rem;
  --trs-font-size-xl: 1.5rem;
  --trs-font-size-2xl: clamp(2rem, 4vw, 3.5rem);
  --trs-line-tight: 1.08;
  --trs-line-body: 1.55;

  /* 4px spacing scale */
  --trs-space-1: 0.25rem;
  --trs-space-2: 0.5rem;
  --trs-space-3: 0.75rem;
  --trs-space-4: 1rem;
  --trs-space-5: 1.5rem;
  --trs-space-6: 2rem;
  --trs-space-7: 3rem;
  --trs-space-8: 4rem;
  --trs-space-9: 6rem;

  /* Shape and elevation */
  --trs-radius-xs: 2px;
  --trs-radius-sm: 4px;
  --trs-radius-md: 6px;
  --trs-radius-lg: 8px;
  --trs-shadow-sm: 0 1px 2px rgba(20, 16, 11, 0.05);
  --trs-shadow-md: 0 8px 24px rgba(20, 16, 11, 0.08);
  --trs-focus: 0 0 0 3px rgba(196, 30, 58, 0.18);

  /* Layout */
  --trs-header-height: 56px;
  --trs-content-max: 1180px;
  --trs-reading-max: 760px;
  --trs-page-padding: clamp(18px, 4vw, 48px);
  --trs-section-gap: clamp(40px, 7vw, 80px);
}
