/* org design tokens — compiled from design/tokens.default.json.
 * Token names are the org's design API; consume with tokens like var(--accent-default).
 * Modes: :root is light; system dark applies unless data-theme pins a choice. */
:root {
  color-scheme: light;
  --color-bg: #fbf8f2;
  --color-fg: #1a1815;
  --color-dim: #6f6a5e;
  --color-accent: #2e6b45;
  --color-accent-contrast: #ffffff;
  --color-panel: #f4f2eb;
  --color-line: #e2dfd4;
  --color-code: #f0eee6;
  --color-good: #1a7f37;
  --color-warn: #9a6700;
  --color-bad: #cf222e;
  --bg-canvas: var(--color-bg);
  --bg-surface: #ffffff;
  --bg-surface-raised: #f5f3ed;
  --bg-panel: var(--color-panel);
  --bg-inset: var(--color-code);
  --bg-overlay: #ffffff;
  --bg-scrim: rgba(26, 24, 21, 0.4);
  --fg-default: var(--color-fg);
  --fg-muted: var(--color-dim);
  --fg-faint: #a39d8f;
  --fg-on-accent: var(--color-accent-contrast);
  --accent-default: var(--color-accent);
  --accent-hover: #265939;
  --accent-active: #1d452c;
  --accent-contrast: var(--color-accent-contrast);
  --accent-subtle: rgba(46, 107, 69, 0.1);
  --border-subtle: #ecebe3;
  --border-default: var(--color-line);
  --border-strong: #b5b0a1;
  --status-good: var(--color-good);
  --status-good-bg: rgba(26, 127, 55, 0.1);
  --status-warn: var(--color-warn);
  --status-warn-bg: rgba(154, 103, 0, 0.1);
  --status-bad: var(--color-bad);
  --status-bad-bg: rgba(207, 34, 46, 0.08);
  --status-info: #0969da;
  --status-info-bg: rgba(9, 105, 218, 0.08);
  --selection-bg: rgba(46, 107, 69, 0.22);
  --focus-ring: var(--color-accent);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.12);
  --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.16);
  --font-sans: "Geist", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;
  --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --text-sm: 0.85rem;
  --text-base: 1rem;
  --text-lg: 1.25rem;
  --text-xl: 1.8rem;
  --text-label: 0.75rem;
  --text-compact: 0.875rem;
  --text-title: 1.5rem;
  --text-display: 2.5rem;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2.5rem;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-full: 9999px;
  --motion-duration-instant: 100ms;
  --motion-duration-fast: 150ms;
  --motion-duration-base: 200ms;
  --motion-duration-slow: 300ms;
  --motion-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --motion-ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --motion-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --z-sticky: 10;
  --z-dropdown: 100;
  --z-panel: 200;
  --z-scrim: 900;
  --z-modal: 1000;
  --z-toast: 1100;
  --z-palette: 1200;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --color-bg: #101211;
    --color-fg: #ededed;
    --color-dim: #a1a1a1;
    --color-accent: #6cc48c;
    --color-accent-contrast: #101211;
    --color-panel: #0e0e0e;
    --color-line: #262626;
    --color-code: #161616;
    --color-good: #3fb950;
    --color-warn: #d29922;
    --color-bad: #f85149;
    --bg-surface: #111111;
    --bg-surface-raised: #191919;
    --bg-overlay: #1a1a1a;
    --bg-scrim: rgba(0, 0, 0, 0.6);
    --fg-faint: #6e6e6e;
    --accent-hover: #7fcf9e;
    --accent-active: #93d9af;
    --accent-subtle: rgba(108, 196, 140, 0.14);
    --border-subtle: #1f1f1f;
    --border-strong: #3f3f3f;
    --status-good-bg: rgba(63, 185, 80, 0.15);
    --status-warn-bg: rgba(210, 153, 34, 0.15);
    --status-bad-bg: rgba(248, 81, 73, 0.15);
    --status-info: #58a6ff;
    --status-info-bg: rgba(88, 166, 255, 0.15);
    --selection-bg: rgba(108, 196, 140, 0.3);
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.6);
    --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.7);
}
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --color-bg: #101211;
  --color-fg: #ededed;
  --color-dim: #a1a1a1;
  --color-accent: #6cc48c;
  --color-accent-contrast: #101211;
  --color-panel: #0e0e0e;
  --color-line: #262626;
  --color-code: #161616;
  --color-good: #3fb950;
  --color-warn: #d29922;
  --color-bad: #f85149;
  --bg-surface: #111111;
  --bg-surface-raised: #191919;
  --bg-overlay: #1a1a1a;
  --bg-scrim: rgba(0, 0, 0, 0.6);
  --fg-faint: #6e6e6e;
  --accent-hover: #7fcf9e;
  --accent-active: #93d9af;
  --accent-subtle: rgba(108, 196, 140, 0.14);
  --border-subtle: #1f1f1f;
  --border-strong: #3f3f3f;
  --status-good-bg: rgba(63, 185, 80, 0.15);
  --status-warn-bg: rgba(210, 153, 34, 0.15);
  --status-bad-bg: rgba(248, 81, 73, 0.15);
  --status-info: #58a6ff;
  --status-info-bg: rgba(88, 166, 255, 0.15);
  --selection-bg: rgba(108, 196, 140, 0.3);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.6);
  --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.7);
}
:root[data-theme="contrast"] {
  color-scheme: light;
  --color-bg: #ffffff;
  --color-fg: #000000;
  --color-dim: #2e2e2e;
  --color-accent: #0033cc;
  --color-accent-contrast: #ffffff;
  --color-panel: #ffffff;
  --color-line: #000000;
  --color-code: #eeeeee;
  --color-good: #006400;
  --color-warn: #6b4a00;
  --color-bad: #b10000;
  --bg-surface: #ffffff;
  --bg-surface-raised: #f2f2f2;
  --bg-overlay: #ffffff;
  --bg-scrim: rgba(0, 0, 0, 0.8);
  --fg-faint: #444444;
  --accent-hover: #0026a3;
  --accent-active: #001b7a;
  --accent-subtle: rgba(0, 51, 204, 0.12);
  --border-subtle: #666666;
  --border-strong: #000000;
  --status-good-bg: rgba(0, 100, 0, 0.12);
  --status-warn-bg: rgba(107, 74, 0, 0.12);
  --status-bad-bg: rgba(177, 0, 0, 0.12);
  --status-info: #0033cc;
  --status-info-bg: rgba(0, 51, 204, 0.12);
  --selection-bg: rgba(0, 51, 204, 0.35);
  --shadow-sm: 0 0 0 rgba(0, 0, 0, 0);
  --shadow-md: 0 0 0 rgba(0, 0, 0, 0);
  --shadow-lg: 0 2px 12px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 4px 24px rgba(0, 0, 0, 0.5);
}
@media (prefers-color-scheme: dark) {
  :root[data-theme="contrast"] {
    color-scheme: dark;
    --color-bg: #000000;
    --color-fg: #ffffff;
    --color-dim: #d6d6d6;
    --color-accent: #82b1ff;
    --color-accent-contrast: #000000;
    --color-panel: #000000;
    --color-line: #ffffff;
    --color-code: #1a1a1a;
    --color-good: #00e05e;
    --color-warn: #ffd600;
    --color-bad: #ff5252;
    --bg-surface: #000000;
    --bg-surface-raised: #141414;
    --bg-overlay: #000000;
    --bg-scrim: rgba(0, 0, 0, 0.85);
    --fg-faint: #bbbbbb;
    --accent-hover: #a3c5ff;
    --accent-active: #c2d8ff;
    --accent-subtle: rgba(130, 177, 255, 0.2);
    --border-subtle: #999999;
    --border-strong: #ffffff;
    --status-good-bg: rgba(0, 224, 94, 0.2);
    --status-warn-bg: rgba(255, 214, 0, 0.2);
    --status-bad-bg: rgba(255, 82, 82, 0.2);
    --status-info: #82b1ff;
    --status-info-bg: rgba(130, 177, 255, 0.2);
    --selection-bg: rgba(130, 177, 255, 0.5);
    --shadow-sm: 0 0 0 rgba(0, 0, 0, 0);
    --shadow-md: 0 0 0 rgba(0, 0, 0, 0);
    --shadow-lg: 0 2px 12px rgba(0, 0, 0, 0.9);
    --shadow-xl: 0 4px 24px rgba(0, 0, 0, 0.9);
}
}
:root[data-theme="dune"] {
  color-scheme: light;
  --color-bg: #f5eddc;
  --color-fg: #262115;
  --color-dim: #6e6450;
  --color-accent: #a34a24;
  --color-accent-contrast: #fffdf8;
  --color-panel: #efe6d2;
  --color-line: #ddd2b8;
  --color-code: #ece3cf;
  --color-good: #4a7c2c;
  --color-warn: #96660a;
  --color-bad: #b3261e;
  --bg-surface: #fdf9f0;
  --bg-surface-raised: #f0e8d6;
  --bg-overlay: #fdf9f0;
  --bg-scrim: rgba(38, 33, 21, 0.4);
  --fg-faint: #9a8f76;
  --accent-hover: #8f3f1e;
  --accent-active: #7d3719;
  --accent-subtle: rgba(163, 74, 36, 0.12);
  --border-subtle: #e8dfc9;
  --border-strong: #b8ab8b;
  --status-good-bg: rgba(74, 124, 44, 0.12);
  --status-warn-bg: rgba(150, 102, 10, 0.12);
  --status-bad-bg: rgba(179, 38, 30, 0.1);
  --status-info: #2b6cb0;
  --status-info-bg: rgba(43, 108, 176, 0.1);
  --selection-bg: rgba(163, 74, 36, 0.22);
  --shadow-sm: 0 1px 2px rgba(60, 45, 20, 0.08);
  --shadow-md: 0 2px 8px rgba(60, 45, 20, 0.1);
  --shadow-lg: 0 8px 30px rgba(60, 45, 20, 0.14);
  --shadow-xl: 0 20px 60px rgba(60, 45, 20, 0.18);
}
:root[data-theme="slate"] {
  color-scheme: dark;
  --color-bg: #15161c;
  --color-fg: #e3e4e8;
  --color-dim: #9da0aa;
  --color-accent: #7b83eb;
  --color-accent-contrast: #0f1014;
  --color-panel: #101116;
  --color-line: #2a2c36;
  --color-code: #1a1c22;
  --color-good: #4cc38a;
  --color-warn: #d9a53f;
  --color-bad: #f2555a;
  --bg-surface: #1b1d24;
  --bg-surface-raised: #22242c;
  --bg-overlay: #23252e;
  --bg-scrim: rgba(5, 6, 10, 0.65);
  --fg-faint: #6b6e7b;
  --accent-hover: #8a91ef;
  --accent-active: #979df2;
  --accent-subtle: rgba(123, 131, 235, 0.15);
  --border-subtle: #22242c;
  --border-strong: #3e414f;
  --status-good-bg: rgba(76, 195, 138, 0.15);
  --status-warn-bg: rgba(217, 165, 63, 0.15);
  --status-bad-bg: rgba(242, 85, 90, 0.15);
  --status-info: #6cb6ff;
  --status-info-bg: rgba(108, 182, 255, 0.15);
  --selection-bg: rgba(123, 131, 235, 0.3);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.6);
  --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.7);
}
