/* Master design tokens — every other stylesheet uses these. Light theme only. */
:root {
  --ground: #F5F3EE;
  --rail: #FBFAF7;
  --card: #FFFFFF;
  --line: #E7E2D8;
  --line-soft: #EFEBE3;
  --card-line: #ECE7DD;
  --ink: #1B1E21;
  --ink-2: #2C3136;
  --muted: #6A6F75;
  --faint: #9A9690;
  --tint: #FAF8F4;
  --tint-2: #F2EFE8;

  --teal: #0E7C70;
  --teal-dark: #0B5F56;
  --teal-bg: #E6F3F0;
  --teal-soft: #9AD3C8;
  --blue: #2F6FDB;
  --blue-dark: #244FA6;
  --blue-bg: #E6EEFC;
  --orange: #E8762C;
  --orange-dark: #A4470D;
  --orange-bg: #FFF0E6;
  --purple: #7A4FD1;
  --purple-bg: #EEE8FB;
  --pink: #C2417A;
  --amber: #B98A00;
  --amber-bg: #FFF3D6;
  --amber-dark: #8A5A00;
  --green-bg: #E3F4EE;
  --green-dark: #0B6E4F;
  --red: #C0341D;
  --red-bg: #FDECE8;

  --r-sm: 9px;
  --r: 12px;
  --r-lg: 18px;
  --r-xl: 20px;
  --shadow: 0 18px 40px rgba(40, 34, 20, .14);
  --shadow-sm: 0 1px 3px rgba(40, 34, 20, .12);
  --font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--ground); color: var(--ink);
  font: 400 14px/1.45 var(--font); font-variant-numeric: tabular-nums;
}
h1, h2, h3 { margin: 0; letter-spacing: -.2px; }
h1 { font-size: 26px; font-weight: 800; letter-spacing: -.4px; }
h2 { font-size: 17px; font-weight: 700; }
h3 { font-size: 14px; font-weight: 700; }
p { margin: 0; }
a { color: var(--teal); }
a:hover { color: var(--teal-dark); }
small { font-size: 12px; }
button, input, textarea, select { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.muted { color: var(--muted); }
.grow { flex: 1 1 auto; min-width: 0; }
.r { text-align: right; }
.b { font-weight: 700; }
[hidden] { display: none !important; }
