[data-theme="forest"] {
  /* Base palette is the light half; the dark pairing is only announced where
     light-dark() exists, in the @supports block below. */
  color-scheme: light;

  --primary: hsl(175 48% 26%);
  --primary-fg: white;
  --secondary: hsl(82 42% 34%);
  --secondary-fg: white;
  --success: hsl(148 58% 32%);
  --success-fg: white;
  --warning: hsl(42 88% 48%);
  --warning-fg: hsl(35 35% 12%);
  --danger: hsl(4 62% 48%);
  --danger-fg: white;
  --neutral: hsl(120 10% 34%);
  --neutral-fg: white;

  --surface: hsl(48 36% 96%);
  --surface-raised: hsl(45 36% 98%);
  --surface-subtle: hsl(112 26% 91%);
  --surface-solid: hsl(130 22% 15%);

  --text: hsl(130 20% 14%);
  --text-muted: hsl(125 10% 38%);
  --text-subtle: hsl(125 8% 50%);

  --border: hsl(105 18% 78%);
  --focus: hsl(175 48% 38%);
  --soft-fg-mix: 45%;
  /* Pre-light-dark() tier, mirroring the light half below. */
  --hover-overlay: hsl(220 30% 10% / 0.04);
  --shadow-color: hsl(220 30% 10%);

  /* Organic rounding — demonstrates scaling the radius tokens up. */
  --radius: 0.75rem;
  --radius-sm: 0.5rem;
  --radius-lg: 1.25rem;
}

@supports (color: light-dark(red, blue)) {
  [data-theme="forest"] {
    color-scheme: light dark;
    --primary: light-dark(hsl(175 48% 26%), hsl(175 45% 76%));
    --primary-fg: light-dark(white, hsl(175 30% 12%));
    --secondary: light-dark(hsl(82 42% 34%), hsl(82 50% 80%));
    --secondary-fg: light-dark(white, hsl(82 30% 12%));
    --success: light-dark(hsl(148 58% 32%), hsl(148 66% 80%));
    --success-fg: light-dark(white, hsl(148 30% 12%));
    --warning: light-dark(hsl(42 88% 48%), hsl(42 75% 80%));
    --warning-fg: light-dark(hsl(35 35% 12%), hsl(42 30% 12%));
    --danger: light-dark(hsl(4 62% 48%), hsl(4 70% 80%));
    --danger-fg: light-dark(white, hsl(4 30% 12%));
    --neutral: light-dark(hsl(120 10% 34%), hsl(120 18% 80%));
    --neutral-fg: light-dark(white, hsl(120 30% 12%));

    --surface: light-dark(hsl(48 36% 96%), hsl(130 18% 8%));
    --surface-raised: light-dark(hsl(45 36% 98%), hsl(130 16% 11%));
    --surface-subtle: light-dark(hsl(112 26% 91%), hsl(130 14% 16%));
    --surface-solid: light-dark(hsl(130 22% 15%), hsl(0 0% 96%));

    --text: light-dark(hsl(130 20% 14%), hsl(0 0% 96%));
    --text-muted: light-dark(hsl(125 10% 38%), hsl(130 8% 68%));
    --text-subtle: light-dark(hsl(125 8% 50%), hsl(130 7% 55%));

    --border: light-dark(hsl(105 18% 78%), hsl(130 12% 24%));
    --hover-overlay: light-dark(hsl(220 30% 10% / 0.04), hsl(0 0% 100% / 0.06));
    --shadow-color: light-dark(hsl(220 30% 10%), hsl(0 0% 0%));
  }
}
