/* 暗色模式 */
:root {
  --dark-bg: #1a1f1c;
  --dark-panel: #252b27;
  --dark-text: #e8ede9;
  --dark-muted: #9aa89e;
  --dark-line: #3a4540;
  --dark-soft: #2d3530;
  --dark-accent: #7fa885;
  --dark-accent-strong: #5d8a65;
  --dark-shadow: 0 16px 40px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] {
  --bg: var(--dark-bg);
  --panel: var(--dark-panel);
  --text: var(--dark-text);
  --muted: var(--dark-muted);
  --line: var(--dark-line);
  --soft: var(--dark-soft);
  --accent: var(--dark-accent);
  --accent-strong: var(--dark-accent-strong);
  --shadow: var(--dark-shadow);
}

[data-theme="dark"] body {
  background:
    radial-gradient(circle at top left, #1f2622 0, #1a1f1c 36%, #151a17 100%);
}

[data-theme="dark"] .card {
  border-color: var(--dark-line);
}

[data-theme="dark"] .hero::after {
  background: linear-gradient(180deg, rgba(127, 165, 134, 0.1), rgba(127, 165, 134, 0.02));
}

[data-theme="dark"] .mini-panel {
  background: linear-gradient(180deg, #2a302c, #222825);
}

[data-theme="dark"] .btn-primary {
  box-shadow: 0 12px 30px rgba(93, 138, 101, 0.25);
}

[data-theme="dark"] .btn-secondary {
  background: var(--dark-soft);
  border-color: var(--dark-line);
}

[data-theme="dark"] .question {
  background: linear-gradient(180deg, #282f2a, #232925);
  border-color: var(--dark-line);
}

[data-theme="dark"] .option {
  background: var(--dark-soft);
  border-color: var(--dark-line);
}

[data-theme="dark"] .option:hover {
  background: #333b36;
  border-color: #4a5a50;
}

[data-theme="dark"] .option input {
  accent-color: var(--dark-accent-strong);
}

[data-theme="dark"] .progress {
  background: #2a3330;
}

[data-theme="dark"] .progress > span {
  background: linear-gradient(90deg, #6a9a72, #4d7a55);
}

[data-theme="dark"] .poster-box,
[data-theme="dark"] .type-box,
[data-theme="dark"] .analysis-box,
[data-theme="dark"] .dim-box,
[data-theme="dark"] .note-box {
  background: linear-gradient(180deg, #282f2a, #232925);
  border-color: var(--dark-line);
}

[data-theme="dark"] .poster-box {
  background:
    radial-gradient(circle at top right, rgba(127,165,134,0.1), rgba(127,165,134,0) 40%),
    linear-gradient(180deg, #282f2a, #1f2622);
}

[data-theme="dark"] .poster-box::after {
  background: linear-gradient(180deg, rgba(127,165,134,0.08), rgba(127,165,134,0.01));
}

[data-theme="dark"] .match {
  background: var(--dark-soft);
  border-color: var(--dark-line);
}

[data-theme="dark"] .analysis-box p {
  color: #c8d4ca;
}

[data-theme="dark"] .dim-item {
  background: var(--dark-soft);
  border-color: var(--dark-line);
}

[data-theme="dark"] .dim-item p {
  color: var(--dark-muted);
}

[data-theme="dark"] .note-box p {
  color: var(--dark-muted);
}

[data-theme="dark"] .author-box {
  background: linear-gradient(180deg, #282f2a, #232925);
  border-color: var(--dark-line);
}

[data-theme="dark"] .author-box summary::after {
  background: var(--dark-soft);
  border-color: var(--dark-line);
}

[data-theme="dark"] .author-content p {
  color: #c8d4ca;
}

[data-theme="dark"] .intro-info a {
  color: var(--dark-accent);
}

/* 主题切换按钮 */
.theme-toggle {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 1000;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: transform 0.2s, box-shadow 0.2s;
}

.theme-toggle:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.theme-icon-dark {
  display: none;
}

[data-theme="dark"] .theme-icon-light {
  display: none;
}

[data-theme="dark"] .theme-icon-dark {
  display: inline;
}

@media (max-width: 600px) {
  .theme-toggle {
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
}
