:root {
  color-scheme: dark;
  --font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;
  --font-code: ui-monospace, monospace;
  --fs-xs: 12px; --fs-sm: 13px; --fs-md: 15px; --fs-lg: 17px; --fs-xl: 22px;
  --fs-title: clamp(34px, 2.2vw + 14px, 58px); --fs-heading: clamp(24px, 2vw, 32px);
  --weight-normal: 400; --weight-medium: 500; --weight-bold: 700;
  --leading-body: 1.6; --leading-title: 1.08; --tracking-title: -.035em;
  --space-0: 0; --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px; --space-16: 64px; --space-20: 80px;
  --gap: clamp(12px, .6vw + 8px, 20px); --gutter: clamp(16px, 1.4vw + 6px, 32px);
  --radius-xs: 8px; --shadow-control: 0 1px 3px rgb(0 0 0 / .08);
  --radius-sm: 12px; --radius-md: 18px; --radius-lg: 24px; --radius-xl: 30px; --radius-full: 50%;
  --frame: 1840px; --content: 1160px; --sidebar: 252px; --measure: 58ch; --control: 48px;
  --line: 1px; --focus-width: 3px; --focus-offset: 4px;
  --blue: #2f7cf6; --purple: #8b5cf6; --pink: #e9468f; --orange: #f2711c; --green: #22a559; --teal: #0ea5a4; --indigo: #5b5bd6; --yellow: #e3a008;
  /* Dark is neutral charcoal, with green reserved for the action accent. */
  --bg: #101112; --surface: #181a1c; --surface-raised: #222528; --surface-hover: #2b2f32;
  --text: #f4f5f5; --muted: #b5babd; --border: #454b4f;
  --accent: #9ad7b1; --action: #b5e3c4; --action-hover: #d0f0da; --on-action: #102017;
  --danger: #ffb4b7; --danger-surface: #43282d; --success: #9ce6b7;
  --glass: rgb(24 26 28 / .96); --backdrop: rgb(0 0 0 / .72); --transparent: transparent;
  --shadow-overlay: 0 20px 60px rgb(0 0 0 / .48); --shadow-inset: inset 0 1px 0 rgb(255 255 255 / .08);
  --ease: cubic-bezier(.22,.8,.24,1); --spring: cubic-bezier(.34,1.45,.55,1);
  --duration-fast: 160ms; --duration-normal: 280ms; --duration-loading: 1400ms;
  --disabled-opacity: .55; --press-scale: .98; --blur: 18px; --z-overlay: 30;
}
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f1f3ef; --surface: #f8f9f6; --surface-raised: #ffffff; --surface-hover: #e5e9e2;
  --text: #252a27; --muted: #626b63; --border: #cbd2c8;
  --accent: #456448; --action: #2f3c31; --action-hover: #445548; --on-action: #ffffff;
  --danger: #a61e30; --danger-surface: #fce8eb; --success: #176a35;
  --glass: rgb(248 249 251 / .94); --backdrop: rgb(19 25 36 / .48);
  --shadow-overlay: 0 20px 60px rgb(25 38 61 / .16); --shadow-inset: inset 0 1px 0 rgb(255 255 255 / .8);
}
@media (prefers-reduced-motion: reduce) {
  :root { --duration-fast: 0ms; --duration-normal: 0ms; --duration-loading: 0ms; --press-scale: 1; }
}
