/* minneapolos — design tokens
 * theme: custom · axes: light / slab-serif / cool ~242
 * paper: oatmeal (warm 80°) · ink: navy-thread (cool 255°) · accent: lake blue
 */
:root {
  /* colour — paper & ink */
  --color-paper:    oklch(96.5% 0.012 80);
  --color-paper-2:  oklch(93.5% 0.015 80);
  --color-paper-3:  oklch(90.5% 0.018 80);
  --color-rule:     oklch(84% 0.018 80);
  --color-rule-2:   oklch(88% 0.014 80);
  --color-ink:      oklch(25% 0.03 255);
  --color-ink-2:    oklch(37% 0.028 253);
  --color-muted:    oklch(45% 0.022 250);
  --color-neutral:  oklch(38% 0.025 250);

  /* colour — accent & states */
  --color-accent:      oklch(45% 0.11 242);
  --color-accent-deep: oklch(38% 0.10 245);
  --color-accent-ink:  oklch(96.5% 0.012 80);
  --color-focus:       oklch(48% 0.17 242);
  --color-error:       oklch(48% 0.17 30);
  --color-success:     oklch(42% 0.09 155);

  /* colour — fabric colourways (illustrations only) */
  --fab-oat:          oklch(91% 0.022 85);
  --fab-oat-line:     oklch(62% 0.045 80);
  --fab-navy:         oklch(31% 0.05 255);
  --fab-navy-line:    oklch(21% 0.045 255);
  --fab-spruce:       oklch(40% 0.055 165);
  --fab-spruce-line:  oklch(28% 0.05 168);
  --fab-heather:      oklch(80% 0.01 250);
  --fab-heather-line: oklch(56% 0.02 250);
  --thread-navy:      oklch(28% 0.045 255);
  --thread-oat:       oklch(93% 0.02 85);
  --thread-gold:      oklch(74% 0.11 85);
  --thread-red:       oklch(48% 0.16 28);

  /* type */
  --font-display: "Bitter", ui-serif, "Iowan Old Style", Georgia, serif;
  --font-body: "Satoshi", "Avenir Next", -apple-system, "Segoe UI", sans-serif;

  --text-xs:   0.8rem;
  --text-sm:   0.9rem;
  --text-base: 1.0625rem;
  --text-md:   1.25rem;
  --text-lg:   1.5625rem;
  --text-xl:   1.9531rem;
  --text-2xl:  2.4414rem;
  --text-display-s: clamp(1.9rem, 2.6vw + 1rem, 2.9rem);
  --text-display:   clamp(2.4rem, 4vw + 1rem, 4.2rem);

  /* space — 4pt scale */
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;

  /* motion */
  --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-micro: 120ms;
  --dur-short: 220ms;
  --dur-long:  420ms;

  /* rules & radii */
  --rule-hair: 1px;
  --radius-sm: 6px;
  --radius-md: 10px;

  /* z scale */
  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 200;

  /* chrome */
  --banner-h: 42px;
  --bar-h: 64px;
}
