:root {
  color-scheme: light;
  --color-brand-surface: #f7f7f4;
  --color-brand-ink: #243747;
  --color-background: #f7f7f4;
  --color-surface: #ffffff;
  --color-text: #172a38;
  --color-primary: #243747;
  --color-on-primary: #ffffff;
  --color-primary-text: #243747;
  --color-border: #dcdfe2;
  --color-info: #4e687c;
  --color-success: #28603c;
  --color-warning: #805700;
  --color-danger: #a12c35;
  --color-critical: #752333;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --font-body: "Inter", system-ui, sans-serif;
  --font-size-body: 1rem;
  --font-size-heading: clamp(1.375rem, 2vw, 1.75rem);
  --radius-sm: .375rem;
  --radius-card: .875rem;
  --shadow-card: 0 2px 8px #172a3806;
  --shadow-surface: 0 4px 24px #172a3808;
  --decoration-opacity: .65;
  --decoration-meadow: #dce4da;
  --decoration-sand: #e7e5d8;
  --content-width: 70rem;
  --content-wide: 100rem;
  --space-half: .75rem;
  --color-primary-hover: #172a38;
  --color-primary-active: #283c4f;
  --color-ground-natural: #edf0e6;
  --color-ground-sand: #f4ecdf;
  --color-building-wall: #e3ddd3;
  --color-building-roof: #b3a99b;
  --color-building-roof-shade: #918a80;
  --color-accent: #597489;
  --color-surface-secondary: #e9edf0;
  --color-surface-hover: #e9ebed;
  --color-surface-active: #e9edf0;
  --color-border-strong: #7e8da3;
  --color-text-primary: var(--color-text);
  --color-text-secondary: #4e687c;
  --color-text-muted: #4e687c;
  --color-error: var(--color-danger);
  --color-error-surface: #fff2f2;
  --color-success-surface: #edf7ef;
  --color-warning-surface: #fff7e8;
  --color-info-surface: #edf2f3;
  --space-6: 3rem;
  --control-height: 2.75rem;
  --form-width: 42rem;
  --font-size-small: .875rem;
  --font-size-meta: .75rem;
  --font-size-subheading: 1.25rem;
  --line-height-body: 1.55;
  --line-height-heading: 1.25;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 600;
  --radius-control: .5rem;
  --shadow-popover: 0 .5rem 2rem #172a3820;
  --color-overlay: #172a38b3;
  --focus-ring: 0 0 0 3px #24374733;
  --transition-hover: 140ms ease;
  --disabled-opacity: .55;
  --icon-size: 1.25rem;
  --z-navigation: 10;
  --z-dialog: 30;
  --z-toast: 40;
}
/* Breakpoint registry: medium 48rem, wide 75rem.
   Native media queries cannot use custom properties; maintain this registry. */

:root[data-theme="dark"] {
  --decoration-opacity: .40;
  color-scheme: dark;
  --color-background: #0b111b;
  --color-surface: #121b28;
  --color-surface-secondary: #192536;
  --color-surface-hover: #223146;
  --color-surface-active: #23344c;
  --color-text: #edf2fa;
  --color-text-secondary: #bdc9da;
  --color-text-muted: #a5b4c9;
  --color-primary: #4e687c;
  --color-primary-hover: #3d5365;
  --color-primary-active: #283c4f;
  --color-primary-text: #9db4d4;
  --color-border: #2c3c52;
  --color-border-strong: #71849e;
  --color-info: #a6d4ef;
  --color-info-surface: #203749;
  --color-success: #8dd8a7;
  --color-success-surface: #1b392c;
  --color-warning: #f2cc81;
  --color-warning-surface: #3d321e;
  --color-danger: #ffaaaa;
  --color-critical: #a52d39;
  --color-error-surface: #412830;
  --color-accent: #859fbe;
  --color-ground-natural: #2c3d32;
  --color-ground-sand: #514839;
  --color-building-wall: #706c64;
  --color-building-roof: #928c80;
  --color-building-roof-shade: #615e58;
  --shadow-card: 0 .25rem 1.5rem #00000020;
  --shadow-popover: 0 .5rem 2rem #00000060;
  --color-overlay: #050a12bb;
  --focus-ring: 0 0 0 3px #9db4d466;
}
:root[data-theme="dark"] :focus-visible { outline-color: var(--color-primary-text); }
:root[data-theme="dark"] .c-button--danger:not(:disabled):not([aria-disabled="true"]) { background: #982b36; color: #ffffff; }
:root[data-theme="dark"] .c-button--danger:not(:disabled):not([aria-disabled="true"]):hover { background: var(--color-critical); }

:root[data-theme="dark"] a:not(.c-button):hover { color: var(--color-primary-text); }
