/* Generated from tokens.json. Set <html data-theme="…"> to switch themes. Themes: light, dark, sage-light, sage-dark, dusk-light, dusk-dark */

:root, [data-theme="light"] {
  --bg: #f4efe7;
  --bg-2: #faf6f0;
  --surface: #fffdf9;
  --surface-solid: #ffffff;
  --surface-tint: #fbeee6;
  --field: #ffffff;
  --text: #2a231d;
  --muted: #6e645a;
  --muted-strong: #54493f;
  --muted-2: #aba195;
  --line: rgba(42,35,29,0.09);
  --line-strong: rgba(42,35,29,0.17);
  --shell: #fbf8f3;
  --shell-2: #f1ebe1;
  --shell-text: #2a231d;
  --shell-muted: #6e645a;
  --shell-line: rgba(42,35,29,0.08);
  --accent: #b4532a;
  --accent-2: #a54a24;
  --accent-bright: #d86a3c;
  --accent-partner: #4f6b4a;
  --accent-soft: #fbeae1;
  --accent-line: #f1c7b3;
  --accent-text: #8f3f1c;
  --on-accent: #ffffff;
  --focus-ring: var(--accent);
  --success: #3f8a4f;
  --success-text: #2f6b3c;
  --success-soft: #e6f2e8;
  --warning: #c7841f;
  --warning-text: #855412;
  --warning-soft: #fbf0dc;
  --danger: #c0392b;
  --danger-text: #9c2c21;
  --danger-soft: #fae6e3;
  --neutral-soft: #efe9df;
  --neutral-text: #54493f;
  --glow-1: rgba(216,106,60,0.10);
  --glow-2: rgba(199,132,31,0.07);
  --scrim: rgba(42,35,29,0.36);
  --toast: #2a231d;
  --shadow-xs: 0 1px 2px rgba(74,52,32,0.06);
  --shadow-sm: 0 2px 4px rgba(74,52,32,0.04), 0 10px 24px rgba(74,52,32,0.06);
  --shadow-md: 0 18px 44px rgba(74,52,32,0.10);
  --shadow-overlay: 0 24px 64px rgba(74,52,32,0.18);
  --shadow-accent: 0 6px 16px rgba(180,83,42,0.24);
  color-scheme: light;
}

[data-theme="dark"] {
  --bg: #1a1613;
  --bg-2: #201b17;
  --surface: #221d19;
  --surface-solid: #27211c;
  --surface-tint: #2d1d15;
  --field: #201b17;
  --text: #f3ece3;
  --muted: #ada296;
  --muted-strong: #c6bcb0;
  --muted-2: #6c6259;
  --line: rgba(243,236,227,0.08);
  --line-strong: rgba(243,236,227,0.15);
  --shell: #211c18;
  --shell-2: #2c2520;
  --shell-text: #f3ece3;
  --shell-muted: #ada296;
  --shell-line: rgba(243,236,227,0.07);
  --accent: #f0936b;
  --accent-2: #e57f55;
  --accent-bright: #f5b196;
  --accent-partner: #9cc293;
  --accent-soft: #3a1d10;
  --accent-line: #62301b;
  --accent-text: #f5b196;
  --on-accent: #1f0c04;
  --focus-ring: var(--accent);
  --success: #7fd08f;
  --success-text: #a3e0ad;
  --success-soft: #15271a;
  --warning: #f0b95a;
  --warning-text: #f5cd86;
  --warning-soft: #2f2410;
  --danger: #f28b7e;
  --danger-text: #f7aea5;
  --danger-soft: #361714;
  --neutral-soft: #2c2520;
  --neutral-text: #c6bcb0;
  --glow-1: rgba(240,147,107,0.10);
  --glow-2: rgba(240,185,90,0.07);
  --scrim: rgba(0,0,0,0.6);
  --toast: #332b25;
  --shadow-xs: 0 1px 2px rgba(0,0,0,0.35);
  --shadow-sm: 0 2px 4px rgba(0,0,0,0.3), 0 10px 24px rgba(0,0,0,0.35);
  --shadow-md: 0 18px 44px rgba(0,0,0,0.45);
  --shadow-overlay: 0 24px 64px rgba(0,0,0,0.6);
  --shadow-accent: 0 6px 16px rgba(240,147,107,0.20);
  color-scheme: dark;
}

[data-theme="sage-light"] {
  --bg: #f4efe7;
  --bg-2: #faf6f0;
  --surface: #fffdf9;
  --surface-solid: #ffffff;
  --surface-tint: #eef3ec;
  --field: #ffffff;
  --text: #2a231d;
  --muted: #6e645a;
  --muted-strong: #54493f;
  --muted-2: #aba195;
  --line: rgba(42,35,29,0.09);
  --line-strong: rgba(42,35,29,0.17);
  --shell: #fbf8f3;
  --shell-2: #f1ebe1;
  --shell-text: #2a231d;
  --shell-muted: #6e645a;
  --shell-line: rgba(42,35,29,0.08);
  --accent: #4f6b4a;
  --accent-2: #435c3f;
  --accent-bright: #6d9166;
  --accent-partner: #b4532a;
  --accent-soft: #e7f0e4;
  --accent-line: #c4d8bf;
  --accent-text: #3f5a3b;
  --on-accent: #ffffff;
  --focus-ring: var(--accent);
  --success: #3f8a4f;
  --success-text: #2f6b3c;
  --success-soft: #e6f2e8;
  --warning: #c7841f;
  --warning-text: #855412;
  --warning-soft: #fbf0dc;
  --danger: #c0392b;
  --danger-text: #9c2c21;
  --danger-soft: #fae6e3;
  --neutral-soft: #efe9df;
  --neutral-text: #54493f;
  --glow-1: rgba(109,145,102,0.10);
  --glow-2: rgba(199,132,31,0.07);
  --scrim: rgba(42,35,29,0.36);
  --toast: #2a231d;
  --shadow-xs: 0 1px 2px rgba(74,52,32,0.06);
  --shadow-sm: 0 2px 4px rgba(74,52,32,0.04), 0 10px 24px rgba(74,52,32,0.06);
  --shadow-md: 0 18px 44px rgba(74,52,32,0.10);
  --shadow-overlay: 0 24px 64px rgba(74,52,32,0.18);
  --shadow-accent: 0 6px 16px rgba(79,107,74,0.22);
  color-scheme: light;
}

[data-theme="sage-dark"] {
  --bg: #1a1613;
  --bg-2: #201b17;
  --surface: #221d19;
  --surface-solid: #27211c;
  --surface-tint: #1c2419;
  --field: #201b17;
  --text: #f3ece3;
  --muted: #ada296;
  --muted-strong: #c6bcb0;
  --muted-2: #6c6259;
  --line: rgba(243,236,227,0.08);
  --line-strong: rgba(243,236,227,0.15);
  --shell: #211c18;
  --shell-2: #2c2520;
  --shell-text: #f3ece3;
  --shell-muted: #ada296;
  --shell-line: rgba(243,236,227,0.07);
  --accent: #9cc293;
  --accent-2: #8ab580;
  --accent-bright: #b5d6ad;
  --accent-partner: #f0936b;
  --accent-soft: #1c2a19;
  --accent-line: #34492f;
  --accent-text: #b5d6ad;
  --on-accent: #0c1a0a;
  --focus-ring: var(--accent);
  --success: #7fd08f;
  --success-text: #a3e0ad;
  --success-soft: #15271a;
  --warning: #f0b95a;
  --warning-text: #f5cd86;
  --warning-soft: #2f2410;
  --danger: #f28b7e;
  --danger-text: #f7aea5;
  --danger-soft: #361714;
  --neutral-soft: #2c2520;
  --neutral-text: #c6bcb0;
  --glow-1: rgba(156,194,147,0.10);
  --glow-2: rgba(240,185,90,0.07);
  --scrim: rgba(0,0,0,0.6);
  --toast: #332b25;
  --shadow-xs: 0 1px 2px rgba(0,0,0,0.35);
  --shadow-sm: 0 2px 4px rgba(0,0,0,0.3), 0 10px 24px rgba(0,0,0,0.35);
  --shadow-md: 0 18px 44px rgba(0,0,0,0.45);
  --shadow-overlay: 0 24px 64px rgba(0,0,0,0.6);
  --shadow-accent: 0 6px 16px rgba(156,194,147,0.18);
  color-scheme: dark;
}

[data-theme="dusk-light"] {
  --bg: #f4efe7;
  --bg-2: #faf6f0;
  --surface: #fffdf9;
  --surface-solid: #ffffff;
  --surface-tint: #f2effa;
  --field: #ffffff;
  --text: #2a231d;
  --muted: #6e645a;
  --muted-strong: #54493f;
  --muted-2: #aba195;
  --line: rgba(42,35,29,0.09);
  --line-strong: rgba(42,35,29,0.17);
  --shell: #fbf8f3;
  --shell-2: #f1ebe1;
  --shell-text: #2a231d;
  --shell-muted: #6e645a;
  --shell-line: rgba(42,35,29,0.08);
  --accent: #5b4b8a;
  --accent-2: #4b3c78;
  --accent-bright: #7a68b3;
  --accent-partner: #c28a2c;
  --accent-soft: #eeeaf9;
  --accent-line: #d6cdf1;
  --accent-text: #4b3c78;
  --on-accent: #ffffff;
  --focus-ring: var(--accent);
  --success: #3f8a4f;
  --success-text: #2f6b3c;
  --success-soft: #e6f2e8;
  --warning: #c7841f;
  --warning-text: #855412;
  --warning-soft: #fbf0dc;
  --danger: #c0392b;
  --danger-text: #9c2c21;
  --danger-soft: #fae6e3;
  --neutral-soft: #efe9df;
  --neutral-text: #54493f;
  --glow-1: rgba(122,104,179,0.10);
  --glow-2: rgba(199,132,31,0.07);
  --scrim: rgba(42,35,29,0.36);
  --toast: #2a231d;
  --shadow-xs: 0 1px 2px rgba(74,52,32,0.06);
  --shadow-sm: 0 2px 4px rgba(74,52,32,0.04), 0 10px 24px rgba(74,52,32,0.06);
  --shadow-md: 0 18px 44px rgba(74,52,32,0.10);
  --shadow-overlay: 0 24px 64px rgba(74,52,32,0.18);
  --shadow-accent: 0 6px 16px rgba(91,75,138,0.24);
  color-scheme: light;
}

[data-theme="dusk-dark"] {
  --bg: #1a1613;
  --bg-2: #201b17;
  --surface: #221d19;
  --surface-solid: #27211c;
  --surface-tint: #211c30;
  --field: #201b17;
  --text: #f3ece3;
  --muted: #ada296;
  --muted-strong: #c6bcb0;
  --muted-2: #6c6259;
  --line: rgba(243,236,227,0.08);
  --line-strong: rgba(243,236,227,0.15);
  --shell: #211c18;
  --shell-2: #2c2520;
  --shell-text: #f3ece3;
  --shell-muted: #ada296;
  --shell-line: rgba(243,236,227,0.07);
  --accent: #b4a6e8;
  --accent-2: #a194dd;
  --accent-bright: #c9bff0;
  --accent-partner: #e8c177;
  --accent-soft: #241d3d;
  --accent-line: #3f3466;
  --accent-text: #c9bff0;
  --on-accent: #120c24;
  --focus-ring: var(--accent);
  --success: #7fd08f;
  --success-text: #a3e0ad;
  --success-soft: #15271a;
  --warning: #f0b95a;
  --warning-text: #f5cd86;
  --warning-soft: #2f2410;
  --danger: #f28b7e;
  --danger-text: #f7aea5;
  --danger-soft: #361714;
  --neutral-soft: #2c2520;
  --neutral-text: #c6bcb0;
  --glow-1: rgba(180,166,232,0.10);
  --glow-2: rgba(240,185,90,0.07);
  --scrim: rgba(0,0,0,0.6);
  --toast: #332b25;
  --shadow-xs: 0 1px 2px rgba(0,0,0,0.35);
  --shadow-sm: 0 2px 4px rgba(0,0,0,0.3), 0 10px 24px rgba(0,0,0,0.35);
  --shadow-md: 0 18px 44px rgba(0,0,0,0.45);
  --shadow-overlay: 0 24px 64px rgba(0,0,0,0.6);
  --shadow-accent: 0 6px 16px rgba(180,166,232,0.18);
  color-scheme: dark;
}

:root {
  --space-2xs: 4px;
  --space-xs: 8px;
  --space-s: 10px;
  --space-m: 14px;
  --space-l: 20px;
  --space-xl: 28px;
  --space-2xl: 40px;
  --radius-sm: 10px;
  --radius-control: 12px;
  --radius-card: 16px;
  --radius-panel: 22px;
  --radius-shell: 24px;
  --radius-pill: 999px;
  --control-h-compact: 34px;
  --control-h: 42px;
  --control-h-large: 52px;
  --row-dense: 48px;
  --row-entity: 68px;
  --sidebar-w: 248px;
  --sidebar-rail: 76px;
  --topbar-h: 64px;
  --inspector-w: 360px;
  --sheet-w: 480px;
  --motion-fast: 160ms;
  --motion-normal: 240ms;
  --font-display: "Fraunces", Georgia, serif;
  --font-sans: "Figtree", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "Red Hat Mono", ui-monospace, Menlo, monospace;
}

.t-display { font-family: var(--font-display); font-size: 40px; line-height: 44px; font-weight: 500; letter-spacing: -0.02em; }

.t-title { font-family: var(--font-display); font-size: 30px; line-height: 36px; font-weight: 500; letter-spacing: -0.015em; }

.t-metric { font-family: var(--font-display); font-size: 32px; line-height: 36px; font-weight: 500; letter-spacing: -0.02em; }

.t-heading { font-family: var(--font-display); font-size: 18px; line-height: 24px; font-weight: 600; }

.t-body { font-family: var(--font-sans); font-size: 15px; line-height: 22px; font-weight: 400; }

.t-body-strong { font-family: var(--font-sans); font-size: 15px; line-height: 22px; font-weight: 600; }

.t-label { font-family: var(--font-sans); font-size: 14px; line-height: 18px; font-weight: 600; }

.t-caption { font-family: var(--font-sans); font-size: 13px; line-height: 18px; font-weight: 400; }

.t-micro { font-family: var(--font-sans); font-size: 11.5px; line-height: 14px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }

.t-mono { font-family: var(--font-mono); font-size: 12.5px; line-height: 16px; font-weight: 500; }
