/* S0 interim tokens; JSON is the design source of truth. Centralise overrides here. */
:root {
  color-scheme: light;
  --c-primary:#285744; --c-on-primary:#FFFFFF; --c-primary-container:#DBEBDF; --c-on-primary-container:#123D2B;
  --c-secondary:#495C51; --c-on-secondary:#FFFFFF; --c-secondary-container:#DFE8E1; --c-on-secondary-container:#21392B;
  --c-tertiary:#884C37; --c-on-tertiary:#FFFFFF; --c-tertiary-container:#F4E0D5; --c-on-tertiary-container:#49271B;
  --c-background:#F8FAF7; --c-on-background:#1B231E; --c-surface:#FFFFFF; --c-surface-variant:#E9EEE8;
  --c-on-surface:#1B231E; --c-on-surface-variant:#44554A; --c-outline:#68776D; --c-outline-variant:#CAD3CB;
  --c-error:#AA302A; --c-on-error:#FFFFFF; --c-error-container:#FCE6E3; --c-on-error-container:#681B18;
  --c-focus:#285744; --c-scrim:#17231B;
  --font-body:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --text-display:1.85rem; --text-headline:1.45rem; --text-title:1.15rem;
  --text-body:1rem; --text-supporting:0.875rem; --text-caption:0.75rem;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;
  --radius-small:8px;--radius-medium:12px;--radius-large:20px;--radius-pill:999px;
  --control-height:48px;--content-max-width:900px;--focus-width:3px;--transition-fast:160ms;

  /* Material Design 3 surface & elevation extensions derived from S0 palette */
  --c-surface-container-low:#F3F6F2;
  --c-surface-container:#EEF2EC;
  --c-surface-container-high:#E6ECE5;
  --md-elevation-1:0 1px 2px rgba(23,35,27,0.06), 0 1px 3px 1px rgba(23,35,27,0.04);
  --md-elevation-2:0 1px 2px rgba(23,35,27,0.08), 0 2px 6px 2px rgba(23,35,27,0.06);
  --md-elevation-3:0 4px 8px 3px rgba(23,35,27,0.10), 0 1px 3px rgba(23,35,27,0.08);
  --md-state-hover:rgba(40,87,68,0.08);
  --md-state-pressed:rgba(40,87,68,0.14);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --c-primary:#AFD5BC;--c-on-primary:#123D2B;--c-primary-container:#315B45;--c-on-primary-container:#DEF2E3;
    --c-secondary:#C2D4C8;--c-on-secondary:#223B2C;--c-secondary-container:#354F3F;--c-on-secondary-container:#E3F0E6;
    --c-tertiary:#F0BCA4;--c-on-tertiary:#542A1D;--c-tertiary-container:#6D3828;--c-on-tertiary-container:#F8E2D8;
    --c-background:#111913;--c-on-background:#E3EEE5;--c-surface:#1B251E;--c-surface-variant:#2C3830;
    --c-on-surface:#E3EEE5;--c-on-surface-variant:#C5D4C9;--c-outline:#A0B0A4;--c-outline-variant:#47554A;
    --c-error:#FFB4AA;--c-on-error:#690F11;--c-error-container:#882524;--c-on-error-container:#FFE6E2;
    --c-focus:#AFD5BC;--c-scrim:#060B07;

    --c-surface-container-low:#162019;
    --c-surface-container:#202B23;
    --c-surface-container-high:#27342B;
    --md-elevation-1:0 1px 3px rgba(0,0,0,0.35), 0 1px 2px rgba(0,0,0,0.25);
    --md-elevation-2:0 2px 6px 2px rgba(0,0,0,0.40), 0 1px 2px rgba(0,0,0,0.30);
    --md-elevation-3:0 4px 10px 3px rgba(0,0,0,0.45), 0 1px 3px rgba(0,0,0,0.35);
    --md-state-hover:rgba(175,213,188,0.10);
    --md-state-pressed:rgba(175,213,188,0.18);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --c-primary:#AFD5BC;--c-on-primary:#123D2B;--c-primary-container:#315B45;--c-on-primary-container:#DEF2E3;
  --c-secondary:#C2D4C8;--c-on-secondary:#223B2C;--c-secondary-container:#354F3F;--c-on-secondary-container:#E3F0E6;
  --c-tertiary:#F0BCA4;--c-on-tertiary:#542A1D;--c-tertiary-container:#6D3828;--c-on-tertiary-container:#F8E2D8;
  --c-background:#111913;--c-on-background:#E3EEE5;--c-surface:#1B251E;--c-surface-variant:#2C3830;
  --c-on-surface:#E3EEE5;--c-on-surface-variant:#C5D4C9;--c-outline:#A0B0A4;--c-outline-variant:#47554A;
  --c-error:#FFB4AA;--c-on-error:#690F11;--c-error-container:#882524;--c-on-error-container:#FFE6E2;
  --c-focus:#AFD5BC;--c-scrim:#060B07;

  --c-surface-container-low:#162019;
  --c-surface-container:#202B23;
  --c-surface-container-high:#27342B;
  --md-elevation-1:0 1px 3px rgba(0,0,0,0.35), 0 1px 2px rgba(0,0,0,0.25);
  --md-elevation-2:0 2px 6px 2px rgba(0,0,0,0.40), 0 1px 2px rgba(0,0,0,0.30);
  --md-elevation-3:0 4px 10px 3px rgba(0,0,0,0.45), 0 1px 3px rgba(0,0,0,0.35);
  --md-state-hover:rgba(175,213,188,0.10);
  --md-state-pressed:rgba(175,213,188,0.18);
}
