/* Generated from src/ui/tokens.mjs. UI Kit 1.2 is authoritative. */
:root {
  --app-bg: #F2F1EC;
  --paper: #F7F7F3;
  --paper-2: #F2F1EC;
  --card: #FBFBF8;
  --text: #1B1C1A;
  --text-2: #6E6E66;
  --text-3: #9C9C92;
  --line: #E3E2D9;
  --line-soft: #EAE9E1;
  --line-2: #D5D4C9;
  --line-3: #C9C8BC;
  --accent: #2E4A33;
  --nav-bg: #17181A;
  --nav-hover: #1F2023;
  --nav-active: #232428;
  --nav-line: #26272B;
  --nav-border: #3A3B41;
  --nav-text: #C9C8BC;
  --nav-text-strong: #F2F1EC;
  --nav-text-dim: #6B6B64;
  --nav-group: #63635C;
  --btn-bg: #17181A;
  --btn-bg-hover: #2E2F34;
  --btn-fg: #F7F7F3;
  --disabled-bg: #D5D4C9;
  --disabled-fg: #8A8A80;
  --ok-bg: #E9EDE2;
  --ok-fg: #46583B;
  --nil-bg: #EDEDE7;
  --nil-fg: #6E6E66;
  --warn-bg: #F4EBDA;
  --warn-fg: #86672F;
  --crit-bg: #F7E7E4;
  --crit-fg: #99453F;
  --skel-1: #E9E8DF;
  --skel-2: #EDECE4;
  --code-bg: #17181A;
  --overlay: rgba(23,24,26,.55);
  --shadow: 0 24px 60px -12px rgba(23,24,26,.45);
  --font-sans: "Montserrat", sans-serif;
  --font-mono: "JetBrains Mono", monospace;
  --type-display-size: 56px;
  --type-display-leading: 64px;
  --type-display-weight: 200;
  --type-display-tracking: -.02em;
  --type-section-size: 24px;
  --type-section-leading: 32px;
  --type-section-weight: 300;
  --type-object-size: 15px;
  --type-object-leading: 20px;
  --type-object-weight: 500;
  --type-metric-size: 30px;
  --type-metric-leading: 32px;
  --type-metric-weight: 300;
  --type-body-size: 14px;
  --type-body-leading: 22px;
  --type-body-weight: 400;
  --type-label-size: 11px;
  --type-label-leading: 16px;
  --type-label-weight: 500;
  --type-label-tracking: .16em;
  --type-meta-size: 12px;
  --type-meta-leading: 16px;
  --type-meta-weight: 400;
  --s1: 8px;
  --s2: 16px;
  --s3: 24px;
  --s4: 40px;
  --s5: 56px;
  --s6: 80px;
  --module-gap: 56px;
  --content-pad-x: 48px;
  --content-pad-top: 56px;
  --nav-w: 260px;
  --max: 1560px;
  --gutter: 24px;
  --radius: 0;
  --radius-pill: 999px;
  --row-h: 44px;
  --data-row-h: 60px;
  --table-head-h: 40px;
  --page-head-h: 148px;
  --metric-band-h: 116px;
  --object-head-h: 88px;
  --action-h: 42px;
  --nav-item-h: 40px;
  --nav-marker-w: 3px;
  --nav-marker-h: 15px;
  --metric-bar-h: 3px;
  --data-index-w: 44px;
  --dialog-w: 720px;
  --dialog-close: 32px;
  --sparkline-h: 64px;
  --tooltip-w: 240px;
  --footer-h: 72px;
  --border-width: 1px;
  --focus-width: 2px;
  --dur: 140ms;
  --ease: cubic-bezier(.2,.6,.2,1);
  --skeleton-duration: 1.6s;
  --layer-base: 0;
  --layer-sticky: 20;
  --layer-overlay: 180;
  --layer-dialog: 190;
  --layer-drawer: 200;
  --layer-skip: 1000;
  --ui-background-canvas: var(--app-bg);
  --ui-background-soft: var(--paper);
  --ui-surface-primary: var(--paper);
  --ui-surface-secondary: var(--paper-2);
  --ui-surface-elevated: var(--card);
  --ui-surface-muted: var(--paper-2);
  --ui-surface-hover: var(--paper-2);
  --ui-surface-active: var(--paper-2);
  --ui-text-strong: var(--text);
  --ui-text-primary: var(--text);
  --ui-text-secondary: var(--text-2);
  --ui-text-muted: var(--text-2);
  --ui-text-faint: var(--text-3);
  --ui-text-disabled: var(--disabled-fg);
  --ui-border-subtle: var(--line-soft);
  --ui-border-default: var(--line);
  --ui-border-strong: var(--line-2);
  --ui-accent: var(--accent);
  --ui-focus: var(--accent);
  --ui-success: var(--ok-fg);
  --ui-success-surface: var(--ok-bg);
  --ui-success-border: var(--ok-fg);
  --ui-observe: var(--warn-fg);
  --ui-observe-surface: var(--warn-bg);
  --ui-observe-border: var(--warn-fg);
  --ui-critical: var(--crit-fg);
  --ui-critical-surface: var(--crit-bg);
  --ui-critical-border: var(--crit-fg);
  --ui-information: var(--nil-fg);
  --ui-information-surface: var(--nil-bg);
  --ui-information-border: var(--nil-fg);
  --ui-unknown: var(--nil-fg);
  --ui-unknown-surface: var(--nil-bg);
  --ui-unknown-border: var(--nil-fg);
  --ui-button-primary: var(--btn-bg);
  --ui-button-primary-text: var(--btn-fg);
  --ui-input: var(--paper);
  --ui-overlay: var(--overlay);
  --ui-shadow: var(--shadow);
  --ui-font-sans: var(--font-sans);
  --ui-font-mono: var(--font-mono);
  --ui-radius-default: var(--radius);
  --ui-radius-control: var(--radius);
  --ui-radius-pill: var(--radius-pill);
  --ui-control-height-default: var(--action-h);
  --ui-control-height-compact: var(--action-h);
  --ui-table-row-height: var(--row-h);
  --ui-content-max: var(--max);
  --ui-sidebar-width: var(--nav-w);
  --ui-duration-fast: var(--dur);
  --ui-duration-normal: var(--dur);
  --ui-ease-standard: var(--ease);
  --ui-layer-sticky: var(--layer-sticky);
  --ui-layer-overlay: var(--layer-overlay);
  --ui-layer-dialog: var(--layer-dialog);
  --ui-layer-drawer: var(--layer-drawer);
  --ui-layer-skip: var(--layer-skip);
  --focus: var(--accent);
  --focus-offset: 2px;
  --motion-fast: var(--dur);
  --layer-raised: 1;
}

:root[data-theme="dark"] {
  --app-bg: #0D0E0C;
  --paper: #131412;
  --paper-2: #1B1C19;
  --card: #171815;
  --text: #EDECE4;
  --text-2: #A8A89E;
  --text-3: #7C7C73;
  --line: #2A2B27;
  --line-soft: #232420;
  --line-2: #34352F;
  --line-3: #3E3F38;
  --accent: #7B9C72;
  --nav-bg: #1E1F21;
  --nav-hover: #26272A;
  --nav-active: #2E2F32;
  --nav-line: #303134;
  --nav-border: #44454B;
  --nav-text: #C9C8BC;
  --nav-text-strong: #F2F1EC;
  --nav-text-dim: #6B6B64;
  --nav-group: #7A7A72;
  --btn-bg: #EDECE4;
  --btn-bg-hover: #FFFFFF;
  --btn-fg: #131412;
  --disabled-bg: #2A2B27;
  --disabled-fg: #6A6A62;
  --ok-bg: #1E2A1D;
  --ok-fg: #9CBB90;
  --nil-bg: #262722;
  --nil-fg: #A8A89E;
  --warn-bg: #2E2617;
  --warn-fg: #D3AE6A;
  --crit-bg: #301C1A;
  --crit-fg: #D89189;
  --skel-1: #232420;
  --skel-2: #1E1F1B;
  --code-bg: #090A08;
  --overlay: rgba(0,0,0,.7);
  --shadow: 0 24px 60px -12px rgba(0,0,0,.6);
}

.ui-token-swatch--app-bg { background: var(--app-bg); }
.ui-token-swatch--paper { background: var(--paper); }
.ui-token-swatch--paper-2 { background: var(--paper-2); }
.ui-token-swatch--card { background: var(--card); }
.ui-token-swatch--text { background: var(--text); }
.ui-token-swatch--text-2 { background: var(--text-2); }
.ui-token-swatch--text-3 { background: var(--text-3); }
.ui-token-swatch--line { background: var(--line); }
.ui-token-swatch--line-soft { background: var(--line-soft); }
.ui-token-swatch--line-2 { background: var(--line-2); }
.ui-token-swatch--line-3 { background: var(--line-3); }
.ui-token-swatch--accent { background: var(--accent); }
.ui-token-swatch--nav-bg { background: var(--nav-bg); }
.ui-token-swatch--nav-hover { background: var(--nav-hover); }
.ui-token-swatch--nav-active { background: var(--nav-active); }
.ui-token-swatch--nav-line { background: var(--nav-line); }
.ui-token-swatch--nav-border { background: var(--nav-border); }
.ui-token-swatch--nav-text { background: var(--nav-text); }
.ui-token-swatch--nav-text-strong { background: var(--nav-text-strong); }
.ui-token-swatch--nav-text-dim { background: var(--nav-text-dim); }
.ui-token-swatch--nav-group { background: var(--nav-group); }
.ui-token-swatch--btn-bg { background: var(--btn-bg); }
.ui-token-swatch--btn-bg-hover { background: var(--btn-bg-hover); }
.ui-token-swatch--btn-fg { background: var(--btn-fg); }
.ui-token-swatch--disabled-bg { background: var(--disabled-bg); }
.ui-token-swatch--disabled-fg { background: var(--disabled-fg); }
.ui-token-swatch--ok-bg { background: var(--ok-bg); }
.ui-token-swatch--ok-fg { background: var(--ok-fg); }
.ui-token-swatch--nil-bg { background: var(--nil-bg); }
.ui-token-swatch--nil-fg { background: var(--nil-fg); }
.ui-token-swatch--warn-bg { background: var(--warn-bg); }
.ui-token-swatch--warn-fg { background: var(--warn-fg); }
.ui-token-swatch--crit-bg { background: var(--crit-bg); }
.ui-token-swatch--crit-fg { background: var(--crit-fg); }
.ui-token-swatch--skel-1 { background: var(--skel-1); }
.ui-token-swatch--skel-2 { background: var(--skel-2); }
.ui-token-swatch--code-bg { background: var(--code-bg); }
.ui-token-space--s1 { width: min(var(--s1), 100%); }
.ui-token-space--s2 { width: min(var(--s2), 100%); }
.ui-token-space--s3 { width: min(var(--s3), 100%); }
.ui-token-space--s4 { width: min(var(--s4), 100%); }
.ui-token-space--s5 { width: min(var(--s5), 100%); }
.ui-token-space--s6 { width: min(var(--s6), 100%); }
.ui-token-space--module-gap { width: min(var(--module-gap), 100%); }
.ui-token-space--content-pad-x { width: min(var(--content-pad-x), 100%); }
.ui-token-space--content-pad-top { width: min(var(--content-pad-top), 100%); }
