:root,
[data-theme="light"] {
  --bg: #f6f6f4;
  --text-primary: #4c4a41;
  --text-muted: rgba(76, 74, 65, 0.6);
  --text-muted-alt: rgba(76, 74, 65, 0.7);
  --link-underline: rgba(76, 74, 65, 0.29);
  --link-bg: #dfdfdf;
  --card-overlay: rgba(0, 0, 0, 0.05);
  --accent: #ffbb00;
}

[data-theme="dark"] {
  --bg: #0a0a0a;
  --text-primary: #f5f5f5;
  --text-muted: rgba(245, 245, 245, 0.6);
  --text-muted-alt: rgba(245, 245, 245, 0.7);
  --link-underline: rgba(245, 245, 245, 0.29);
  --link-bg: #333333;
  --card-overlay: rgba(255, 255, 255, 0.05);
  --accent: #ffbb00;
}

[data-theme="warm"] {
  --bg: #f5ebe0;
  --text-primary: #3d3a32;
  --text-muted: rgba(61, 58, 50, 0.6);
  --text-muted-alt: rgba(61, 58, 50, 0.7);
  --link-underline: rgba(61, 58, 50, 0.29);
  --link-bg: #e6d5c3;
  --card-overlay: rgba(0, 0, 0, 0.05);
  --accent: #d4a373;
}

[data-theme="cool"] {
  --bg: #e8f0f2;
  --text-primary: #2c3e50;
  --text-muted: rgba(44, 62, 80, 0.6);
  --text-muted-alt: rgba(44, 62, 80, 0.7);
  --link-underline: rgba(44, 62, 80, 0.29);
  --link-bg: #b8d4e3;
  --card-overlay: rgba(0, 0, 0, 0.05);
  --accent: #3498db;
}

[data-theme="midnight"] {
  --bg: #1a1a2e;
  --text-primary: #eaeaea;
  --text-muted: rgba(234, 234, 234, 0.6);
  --text-muted-alt: rgba(234, 234, 234, 0.7);
  --link-underline: rgba(234, 234, 234, 0.29);
  --link-bg: #16213e;
  --card-overlay: rgba(255, 255, 255, 0.05);
  --accent: #e94560;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --bg: #0a0a0a;
    --text-primary: #f5f5f5;
    --text-muted: rgba(245, 245, 245, 0.6);
    --text-muted-alt: rgba(245, 245, 245, 0.7);
    --link-underline: rgba(245, 245, 245, 0.29);
    --link-bg: #333333;
    --card-overlay: rgba(255, 255, 255, 0.05);
    --accent: #ffbb00;
  }
}

body,
.header,
.about,
.work {
  transition: 
    background-color 0.6s cubic-bezier(0.4, 0, 0.2, 1),
    color 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

a,
.case-study__info {
  transition: 
    color 0.6s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.2s ease;
}
