:root {
  color-scheme: light;

  --color-paper: oklch(99% 0.006 100);
  --color-paper-2: oklch(96% 0.012 105);
  --color-paper-3: oklch(91% 0.018 102);
  --color-ink: oklch(16% 0.018 260);
  --color-muted: oklch(40% 0.03 260);
  --color-rule: oklch(88% 0.012 255);
  --color-rule-strong: oklch(28% 0.025 260);
  --color-card-rule: oklch(76% 0.016 255);
  --color-grid: oklch(90% 0.012 255);
  --color-ultramarine: oklch(48% 0.27 270);
  --color-acid: oklch(89% 0.22 112);
  --color-acid-strong: oklch(84% 0.23 105);
  --color-coral: oklch(66% 0.2 28);
  --color-cyan: oklch(78% 0.16 205);
  --color-black: oklch(10% 0.02 260);
  --color-white: oklch(100% 0 0);
  --color-on-dark-muted: oklch(91% 0.02 255);
  --color-blue-rule: oklch(81% 0.08 270 / 0.86);
  --color-rail-dot: oklch(100% 0 0 / 0.22);
  --color-note-blue: oklch(84% 0.07 235);
  --color-note-yellow: oklch(91% 0.13 96);
  --color-note-coral: oklch(82% 0.105 35);
  --color-note-purple: oklch(82% 0.095 310);
  --color-accent: var(--color-ultramarine);
  --color-accent-strong: oklch(35% 0.2 270);
  --color-accent-ink: var(--color-white);
  --color-focus: oklch(58% 0.24 270);
  --color-warm: var(--color-coral);
  --color-project-word: var(--color-ultramarine);
  --color-project-word-soft: oklch(96% 0.026 270);
  --color-project-odds: var(--color-coral);
  --color-project-odds-soft: oklch(96% 0.038 28);
  --color-project-letter-jam: var(--color-cyan);
  --color-project-letter-jam-soft: oklch(96% 0.032 205);
  --color-project-writing: oklch(58% 0.19 238);
  --color-project-writing-soft: oklch(96% 0.03 238);
  --color-project-dance: oklch(62% 0.18 330);
  --color-project-dance-soft: oklch(96% 0.032 330);
  --color-project-leadership: oklch(70% 0.18 112);
  --color-project-leadership-soft: oklch(94% 0.056 112);
  --color-link-rule: oklch(58% 0.12 270);
  --color-transparent: oklch(99% 0.006 100 / 0);
  --color-nav: oklch(99% 0.006 100 / 0.92);
  --color-shadow: oklch(10% 0.02 260 / 0.16);

  --font-display: "Arial Black", "Aptos Display", Impact, sans-serif;
  --font-body: Aptos, "Segoe UI", system-ui, sans-serif;
  --font-script: "Comic Sans MS", "Segoe Print", "Bradley Hand ITC", cursive;

  --weight-display: 900;
  --weight-heavy: 780;
  --weight-strong: 680;

  --tracking-display: 0;
  --tracking-label: 0.03em;
  --tracking-hand: 0.02em;

  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 7rem;

  --text-xs: 0.78rem;
  --text-sm: 0.92rem;
  --text-md: 1rem;
  --text-lg: 1.08rem;
  --text-xl: 1.34rem;
  --text-2xl: 2rem;
  --text-3xl: clamp(2.15rem, 4vw, 3.2rem);
  --text-display: var(--text-background-heading);
  --text-background-heading: clamp(2.45rem, 3vw, 3rem);
  --text-resume-display: clamp(3.4rem, 9vw, 8rem);
  --text-article-display: clamp(3rem, 8vw, 6.5rem);

  --line-body: 1.58;
  --line-lede: 1.42;
  --line-heading: 1.02;
  --line-display: 0.9;
  --line-label: 1.1;

  --measure-copy: 68ch;
  --measure-heading: 14ch;
  --measure-display: 10ch;
  --measure-article: 66ch;
  --measure-article-title: 12ch;

  --container: 92rem;
  --wide-container: 96rem;
  --rail-width: 4.5rem;
  --portrait-min: 18rem;
  --portrait-desktop: 22rem;
  --portrait-mobile: 32rem;
  --side-min: 16rem;
  --index-width: 3rem;
  --banner-height: 4.75rem;
  --footer-height: 6rem;
  --control-height: 2.75rem;

  --radius-control: 0.38rem;
  --radius-card: 0.5rem;
  --radius-chip: 999rem;

  --rule-thin: 1px;
  --rule-medium: 2px;
  --rule-heavy: 4px;
  --focus-size: 3px;
  --focus-offset: 3px;
  --underline-offset: 0.16em;
  --press-y: 1px;

  --blur-nav: 14px;
  --image-saturation: 0.94;
  --image-contrast: 1.04;
  --disabled-opacity: 0.55;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-short: 180ms;
  --dur-reduced: 120ms;

  --shadow-soft: 0 0.5rem 1.25rem var(--color-shadow);
  --shadow-note: 0.2rem 0.28rem 0 var(--color-shadow);

  --z-backdrop: -1;
  --z-sticky: 200;
  --z-sticky-nav: 300;
}
