:root {
  color-scheme: light;
  --bg-page: #f7f8f6;
  --bg-page-strong: #eef1ed;
  --bg-panel: rgba(255, 255, 255, 0.72);
  --bg-panel-strong: #ffffff;
  --bg-soft: #edf3ee;
  --bg-elevated: #ffffff;
  --border: rgba(34, 52, 42, 0.12);
  --border-strong: rgba(34, 52, 42, 0.2);
  --text: #1c2821;
  --text-soft: #536158;
  --text-muted: #707c74;
  --accent: #176b45;
  --accent-strong: #125539;
  --accent-soft: #e7f1e9;
  --on-accent: #ffffff;
  --warm: #89553d;
  --glow: rgba(23, 107, 69, 0.08);
  --shadow: rgba(18, 33, 24, 0.06);
  --input-bg: #ffffff;
  --motion-fast: 180ms ease;
  --motion-base: 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
  --success-bg: #e6f4e9;
  --success-text: #21633a;
  --success-border: #c5e4ce;
  --error-bg: #fff0ef;
  --error-text: #8b2926;
  --error-border: #f0c7c4;
}

@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --bg-page: #111714;
    --bg-page-strong: #181f1b;
    --bg-panel: rgba(24, 32, 27, 0.72);
    --bg-panel-strong: #1a231e;
    --bg-soft: #202d25;
    --bg-elevated: #18211c;
    --border: rgba(198, 214, 204, 0.14);
    --border-strong: rgba(198, 214, 204, 0.24);
    --text: #edf3ef;
    --text-soft: #c1cdc5;
    --text-muted: #95a49a;
    --accent: #8bd3a3;
    --accent-strong: #a4e1b7;
    --accent-soft: #26392d;
    --on-accent: #102018;
    --warm: #e0aa8f;
    --glow: rgba(0, 0, 0, 0.12);
    --shadow: rgba(0, 0, 0, 0.14);
    --input-bg: #18211c;
    --success-bg: #183126;
    --success-text: #b8edc9;
    --success-border: #28563d;
    --error-bg: #351f20;
    --error-text: #ffc7c4;
    --error-border: #653537;
  }
}

@view-transition {
  navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 180ms;
  animation-timing-function: ease;
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation-duration: 1ms;
  }
}