/* KinKeep tokens — generated from tokens.json. Light by default; dark via prefers-color-scheme or [data-theme=dark]. */
:root {
  --paper: #f7f4ee;
  --raised: #ffffff;
  --sunken: #efe9df;
  --line: #ddd5c8;
  --line-strong: #857c6f;
  --ink: #1d231f;
  --ink-muted: #575e57;
  --brand: #1f5c4a;
  --on-brand: #ffffff;
  --brand-soft: #dce8e0;
  --brand-ink: #1a4f40;
  --accent: #b5832f;
  --accent-ink: #7a5410;
  --status-ok: #0f6670;
  --status-ok-soft: #dbeef0;
  --status-warn: #8a5300;
  --status-warn-soft: #f8ebd2;
  --status-bad: #b42318;
  --status-bad-soft: #fbe4e1;
  --status-info: #3b4f8f;
  --status-info-soft: #e3e8f6;
  --focus: #2a5bd7;
  --shadow-raised: 0 1px 2px rgba(29,35,31,0.08);
  --font-serif: "Newsreader", "Iowan Old Style", Georgia, serif;
  --font-sans: "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 999px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #151916;
    --raised: #1e231f;
    --sunken: #101311;
    --line: #323a34;
    --line-strong: #76817a;
    --ink: #ece7de;
    --ink-muted: #a8afa7;
    --brand: #82c7ab;
    --on-brand: #0d1a14;
    --brand-soft: #203a30;
    --brand-ink: #9ed6be;
    --accent: #d4a556;
    --accent-ink: #e2bc78;
    --status-ok: #6cc6cf;
    --status-ok-soft: #16343a;
    --status-warn: #e6b25c;
    --status-warn-soft: #3a2c14;
    --status-bad: #ff9b8f;
    --status-bad-soft: #3f1d1a;
    --status-info: #a9b9f0;
    --status-info-soft: #1f2742;
    --focus: #8fb0ff;
    --shadow-raised: 0 1px 2px rgba(0,0,0,0.4);
  }
}
:root[data-theme="dark"] {
  --paper: #151916;
  --raised: #1e231f;
  --sunken: #101311;
  --line: #323a34;
  --line-strong: #76817a;
  --ink: #ece7de;
  --ink-muted: #a8afa7;
  --brand: #82c7ab;
  --on-brand: #0d1a14;
  --brand-soft: #203a30;
  --brand-ink: #9ed6be;
  --accent: #d4a556;
  --accent-ink: #e2bc78;
  --status-ok: #6cc6cf;
  --status-ok-soft: #16343a;
  --status-warn: #e6b25c;
  --status-warn-soft: #3a2c14;
  --status-bad: #ff9b8f;
  --status-bad-soft: #3f1d1a;
  --status-info: #a9b9f0;
  --status-info-soft: #1f2742;
  --focus: #8fb0ff;
  --shadow-raised: 0 1px 2px rgba(0,0,0,0.4);
}

/* Type styles */
.kk-t-display { font: 500 40px/46px var(--font-serif); letter-spacing: -0.01em; }
.kk-t-heading-1 { font: 500 30px/36px var(--font-serif); }
.kk-t-heading-2 { font: 500 23px/30px var(--font-serif); }
.kk-t-heading-3 { font: 700 18px/26px var(--font-sans); }
.kk-t-body { font: 400 17px/26px var(--font-sans); }
.kk-t-body-sm { font: 400 15px/22px var(--font-sans); }
.kk-t-label { font: 700 15px/20px var(--font-sans); }
.kk-t-caption { font: 400 13px/18px var(--font-sans); letter-spacing: 0.01em; }
.kk-t-amount { font: 500 16px/24px var(--font-mono); }
.kk-t-reference { font: 400 14px/20px var(--font-mono); }
