/*
 * Semantic coverage for legacy surfaces that still used literal colors.
 * Keep this list small and semantic: page-specific data series can retain
 * their own meaning, while shared controls inherit the active theme.
 */

body.stone-theme-enabled .dropzone,
body.stone-theme-enabled .overview-grid > div,
body.stone-theme-enabled .check-card,
body.stone-theme-enabled .summary-box,
body.stone-theme-enabled .targeted-mining,
body.stone-theme-enabled .rebuild-preview,
body.stone-theme-enabled .rebuild-watermark-option,
body.stone-theme-enabled .injection-settings,
body.stone-theme-enabled .mining-report-actions {
  border-color: var(--stone-theme-line);
  background: var(--stone-theme-surface-soft);
}

body.stone-theme-enabled .dropzone {
  border-style: dashed;
}

body.stone-theme-enabled th,
body.stone-theme-enabled td,
body.stone-theme-enabled .memory-row,
body.stone-theme-enabled .select-row,
body.stone-theme-enabled .rule-card,
body.stone-theme-enabled .rebuild-fold {
  border-color: var(--stone-theme-line-soft);
}

body.stone-theme-enabled .status-dot {
  background: var(--stone-theme-status);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--stone-theme-status) 16%, transparent);
}

body.stone-theme-enabled .status-line.warning {
  color: var(--stone-theme-warning);
}

body.stone-theme-enabled .status-line.warning .status-dot {
  background: var(--stone-theme-warning);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--stone-theme-warning) 16%, transparent);
}

body.stone-theme-enabled .invalid-row,
body.stone-theme-enabled .field-error,
body.stone-theme-enabled .danger-link {
  color: var(--stone-theme-danger);
}

body.stone-theme-enabled .invalid-row {
  background: color-mix(in srgb, var(--stone-theme-danger) 8%, var(--stone-theme-canvas));
}

body.stone-theme-enabled .chat-thread {
  border-color: var(--stone-theme-line);
  background: var(--stone-theme-surface-soft);
}

body.stone-theme-enabled .chat-bubble {
  border-color: var(--stone-theme-line);
  background: var(--stone-theme-surface);
  box-shadow: var(--stone-theme-shadow-card);
}

body.stone-theme-enabled .chat-message.user .chat-bubble {
  border-color: var(--stone-theme-line);
  background: color-mix(in srgb, var(--stone-theme-accent-soft) 52%, var(--stone-theme-surface));
}

body.stone-theme-enabled .activity-calendar,
body.stone-theme-enabled .mining-calendar,
body.stone-theme-enabled .date-list button {
  border-color: var(--stone-theme-line);
  background: var(--stone-theme-accent-soft);
}

body.stone-theme-enabled .new-card {
  color: var(--stone-theme-accent);
  border-color: color-mix(in srgb, var(--stone-theme-accent) 52%, var(--stone-theme-line));
  background: color-mix(in srgb, var(--stone-theme-accent-soft) 52%, var(--stone-theme-surface));
}

body.stone-theme-enabled .new-card span {
  color: var(--stone-theme-accent-strong);
  background: var(--stone-theme-accent-soft);
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--stone-theme-accent) 10%, transparent);
}

body.stone-theme-enabled .calendar-day.level-0,
body.stone-theme-enabled .conversation-legend .level-0 {
  border-color: var(--stone-theme-line-soft);
  background: var(--stone-theme-surface);
}

body.stone-theme-enabled .calendar-day.level-1,
body.stone-theme-enabled .conversation-legend .level-1 {
  border-color: color-mix(in srgb, var(--stone-theme-accent) 24%, var(--stone-theme-line));
  background: color-mix(in srgb, var(--stone-theme-accent) 18%, var(--stone-theme-surface));
}

body.stone-theme-enabled .calendar-day.level-2,
body.stone-theme-enabled .conversation-legend .level-2 {
  border-color: color-mix(in srgb, var(--stone-theme-accent) 48%, var(--stone-theme-line));
  background: color-mix(in srgb, var(--stone-theme-accent) 44%, var(--stone-theme-surface));
}

body.stone-theme-enabled .calendar-day.level-3,
body.stone-theme-enabled .conversation-legend .level-3 {
  color: var(--stone-theme-surface);
  border-color: color-mix(in srgb, var(--stone-theme-accent) 78%, var(--stone-theme-line));
  background: var(--stone-theme-accent);
}

body.stone-theme-enabled .calendar-day.mining-none,
body.stone-theme-enabled .mining-legend .mining-none {
  border-color: var(--stone-theme-line-soft);
  background: var(--stone-theme-surface);
}

body.stone-theme-enabled .calendar-day.mining-pending,
body.stone-theme-enabled .mining-legend .mining-pending {
  border-color: var(--stone-theme-line);
  background: color-mix(in srgb, var(--stone-theme-ink-faint) 42%, var(--stone-theme-surface));
}

body.stone-theme-enabled .calendar-day.mining-light,
body.stone-theme-enabled .mining-legend .mining-light {
  border-color: color-mix(in srgb, var(--stone-theme-calendar-bloom) 44%, var(--stone-theme-line));
  background: color-mix(in srgb, var(--stone-theme-calendar-bloom) 38%, var(--stone-theme-surface));
}

body.stone-theme-enabled .calendar-day.mining-deep,
body.stone-theme-enabled .mining-legend .mining-deep {
  border-color: color-mix(in srgb, var(--stone-theme-calendar-bloom) 82%, var(--stone-theme-line));
  background: var(--stone-theme-calendar-bloom);
}

body.stone-theme-enabled .calendar-day.mining-failed {
  border-color: var(--stone-theme-danger);
  background: color-mix(in srgb, var(--stone-theme-danger) 10%, var(--stone-theme-surface));
}

body.stone-theme-enabled .calendar-day.mining-running {
  border-color: var(--stone-theme-accent);
  background: color-mix(in srgb, var(--stone-theme-accent) 28%, var(--stone-theme-surface));
}
