:root,
[data-theme="dark"] {
color-scheme: dark;
--wave-crest: #06b6d4;
--wave-face: #0891b2;
--wave-mid: #158dc2;
--wave-deep: #005a9d;
--wave-trough: #003359;
--ocean-deep: #0c4a6e;
--ocean-primary: #0369a1;
--ocean-light: #0ea5e9;
--ocean-lighter: #38bdf8;
--ocean-mist: #e0f2fe;
--ocean-foam: #f0f9ff;
--sand: #fef3c7;
--bg: #101817;
--bg-elev: #151f1e;
--bg-row: #1b2725;
--bg-row-sel: #243331;
--border: #2d3d39;
--fg: #e5ebe7;
--fg-dim: #9eaaa5;
--bg-topbar: #131d1b;
--sel-bg: #243331;
--bg-code: #121c1a;
--accent: #5ce5f4;
--accent-strong: #1fc4d6;
--on-accent: #071012;
--success: #6dd28a;
--success-deep: #3a7a52;
--warning: #f0b75a;
--warning-soft: #f0c674;
--warning-strong: #ffd27a;
--danger: #f3a0a0;
--assess: #b388ff;
--validation: #e88fb0;
--info: #8ab4f8;
--teal: #4fd0c0;
--evt-init: var(--fg-dim);
--evt-capture: var(--accent);
--evt-observation: #6dd28a;
--evt-assessment: #b388ff;
--evt-request: #f0b75a;
--evt-response: #4fd0c0;
--evt-note: var(--fg-dim);
--evt-validation: #e88fb0;
--tok-keyword: var(--assess);
--tok-string: var(--success);
--tok-comment: var(--fg-dim);
--tok-number: var(--teal);
--tok-type: var(--info);
--tok-function: var(--accent);
--tok-constant: var(--warning);
--tok-operator: var(--fg);
--tok-punctuation: var(--fg-dim);
--tok-variable: var(--fg);
--diff-add-bg: rgba(70, 170, 110, 0.14);
--diff-add-fg: #9ae6b4;
--diff-del-bg: rgba(200, 90, 90, 0.14);
--diff-del-fg: #f3b0b0;
--hunk-bg: #10243a;
--emph-add-bg: rgba(70, 170, 110, 0.34);
--emph-del-bg: rgba(200, 90, 90, 0.34);
--error-bg: #3a1416;
--error-border: #5a2226;
--r-sm: 4px;
--r-md: 6px;
--r-lg: 8px;
--r-xl: 10px;
--r-2xl: 14px;
--r-pill: 999px;
--radius-sm: var(--r-md);
--radius-md: var(--r-lg);
--radius-lg: var(--r-xl);
--radius-xl: var(--r-2xl);
--radius-pill: var(--r-pill);
--fs-xs: 11px;
--fs-sm: 12px;
--fs-md: 13px;
--fs-base: 14px;
--fs-lg: 19px;
--text-xs: 12px;
--text-sm: 14px;
--text-base: 16px;
--text-lg: 18px;
--text-xl: 20px;
--text-2xl: 24px;
--text-3xl: 30px;
--text-4xl: 36px;
--text-5xl: 48px;
--text-7xl: 72px;
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--row-pad: 8px 14px;
--line: 1.45;
--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
--font-mono: var(--mono);
--font-sans: var(--sans);
}
.compact {
--row-pad: 4px 12px;
--line: 1.3;
}
[data-theme="light"] {
color-scheme: light;
--bg: #fdfbf5;
--bg-elev: #fffefa;
--bg-row: #f7f3e9;
--bg-row-sel: #e2dbce;
--bg-topbar: #f4f0e6;
--sel-bg: #f7f3e9;
--bg-code: #fffefa;
--border: #9eaaa4;
--fg: #1b1d1c;
--fg-dim: #4e5853;
--accent: #006875;
--accent-strong: #007885;
--on-accent: #ffffff;
--success: #1a7f37;
--warning: #8a5d00;
--danger: #cf222e;
--assess: #7a44d4;
--validation: #b32d80;
--teal: #0f6f66;
--info: #0969da;
--evt-capture: var(--accent);
--evt-observation: var(--success);
--evt-assessment: var(--assess);
--evt-request: var(--warning);
--evt-response: var(--teal);
--evt-validation: var(--validation);
--diff-add-fg: #116226;
--diff-del-fg: #961b11;
--diff-add-bg: #f3fbf3;
--diff-del-bg: #fff8f6;
--emph-add-bg: #e0ffe0;
--emph-del-bg: #fff2e6;
--hunk-bg: #e7f1fa;
--error-bg: #ffebe9;
--error-border: #ffc9c9;
}