:root,
:root[data-theme="light"] {
  --color-bark-50: #2f2016;
  --color-bark-100: #3d2a1c;
  --color-bark-200: #4d3524;
  --color-bark-300: #6f4a2e;
  --color-bark-400: #8c5f38;
  --color-bark-500: #a67748;
  --color-bark-600: #b89064;
  --color-bark-700: #ccb08a;
  --color-bark-800: #e0cfb5;
  --color-bark-900: #f5ede3;
  --color-bark-950: #faf6f1;

  --theme-card-bg: #fefcf9;
  --theme-card-border: rgba(224, 207, 181, 0.8);
  --theme-control-bg: rgba(255, 255, 255, 0.92);
  --theme-control-bg-hover: #f5ede3;
  --theme-control-border: rgba(224, 207, 181, 0.95);
  --theme-control-text: #3d2a1c;
}

:root[data-theme="dark"] {
  --color-bark-50: #faf6f1;
  --color-bark-100: #f0e8db;
  --color-bark-200: #e0cfb5;
  --color-bark-300: #ccb08a;
  --color-bark-400: #b89064;
  --color-bark-500: #a67748;
  --color-bark-600: #8c5f38;
  --color-bark-700: #6f4a2e;
  --color-bark-800: #5a3d28;
  --color-bark-900: #3d2a1c;
  --color-bark-950: #221710;

  --theme-card-bg: rgba(30, 24, 16, 0.7);
  --theme-card-border: rgba(247, 185, 85, 0.16);
  --theme-control-bg: rgba(34, 23, 16, 0.9);
  --theme-control-bg-hover: rgba(61, 42, 28, 0.92);
  --theme-control-border: rgba(90, 61, 40, 0.5);
  --theme-control-text: #f0e8db;
}

.guide-card {
  border-color: var(--theme-card-border) !important;
  background: var(--theme-card-bg) !important;
}

.theme-toggle {
  position: fixed;
  right: 0.85rem;
  bottom: 0.85rem;
  z-index: 80;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border: 1px solid var(--theme-control-border);
  background: var(--theme-control-bg);
  color: var(--theme-control-text);
  border-radius: 999px;
  padding: 0.4rem 0.7rem;
  font-family: "DM Sans", sans-serif;
  font-size: 0.72rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  backdrop-filter: blur(5px);
  transition: background 0.15s ease;
}

.theme-toggle:hover {
  background: var(--theme-control-bg-hover);
}

.theme-toggle-icon {
  font-size: 0.8rem;
}

@media (max-width: 639px) {
  .theme-toggle {
    right: 0.65rem;
    bottom: 0.65rem;
    padding: 0.36rem 0.62rem;
  }
}
