:root {
  color-scheme: light;
  --theme-bg: #f6f5f1;
  --theme-surface: #ffffff;
  --theme-ink: #252620;
  --theme-muted: #777970;
  --theme-line: #deded7;
  --theme-steel: #31565b;
}

html[data-theme='dark'] {
  color-scheme: dark;
  --theme-bg: #141813;
  --theme-surface: #20261f;
  --theme-ink: #f2eee3;
  --theme-muted: #aeb6a8;
  --theme-line: #3b473a;
  --theme-steel: #6f9694;
  --ink: var(--theme-ink);
  --muted: var(--theme-muted);
  --line: var(--theme-line);
  --surface: var(--theme-surface);
  --paper: var(--theme-bg);
  --bg: var(--theme-bg);
  --card: var(--theme-surface);
  --panel: #1b211a;
  --panel-raised: #252d24;
  --green: #789b61;
  --lime: #b7d96d;
  --lime-deep: #b7d96d;
}

html[data-theme='light'] {
  --bg: var(--theme-bg);
  --panel: var(--theme-surface);
  --panel-raised: #eef0e9;
  --line: var(--theme-line);
  --muted: var(--theme-muted);
  --lime: #b7d96d;
  --lime-ink: #252620;
  --green: #31565b;
  --amber: #806d2e;
  --sans: 'Space Grotesk', sans-serif;
  --mono: 'DM Mono', monospace;
}

html[data-theme='dark'] body {
  background: var(--theme-bg) !important;
  color: var(--theme-ink);
}

html[data-theme='dark'] h1,
html[data-theme='dark'] h2,
html[data-theme='dark'] h3,
html[data-theme='dark'] h4,
html[data-theme='dark'] label,
html[data-theme='dark'] strong,
html[data-theme='dark'] b,
html[data-theme='dark'] dt,
html[data-theme='dark'] dd,
html[data-theme='dark'] legend,
html[data-theme='dark'] p,
html[data-theme='dark'] span {
  border-color: var(--theme-line);
}

html[data-theme='dark'] a { color: #d5e5b2; }
html[data-theme='dark'] input,
html[data-theme='dark'] select,
html[data-theme='dark'] textarea,
html[data-theme='dark'] .auth-card:not(.profile-card),
html[data-theme='dark'] .location,
html[data-theme='dark'] .search,
html[data-theme='dark'] .filter-button,
html[data-theme='dark'] .chip,
html[data-theme='dark'] .event-card,
html[data-theme='dark'] .info-grid,
html[data-theme='dark'] .registration-card,
html[data-theme='dark'] .summary-card,
html[data-theme='dark'] .profile-edit,
html[data-theme='dark'] .profile-overview,
html[data-theme='dark'] .tournament-item,
html[data-theme='dark'] .tournament-empty,
html[data-theme='dark'] .ticket,
html[data-theme='dark'] .results-card,
html[data-theme='dark'] .scan-card,
html[data-theme='dark'] .participant-card,
html[data-theme='dark'] .fallback,
html[data-theme='dark'] .tool-card,
html[data-theme='dark'] .stats article {
  background: var(--theme-surface) !important;
  border-color: var(--theme-line) !important;
  color: var(--theme-ink);
  box-shadow: none;
}

html[data-theme='dark'] input::placeholder { color: #8f9a8d; }
html[data-theme='dark'] .topbar,
html[data-theme='dark'] .event-header,
html[data-theme='dark'] .auth-header,
html[data-theme='dark'] .register-header,
html[data-theme='dark'] .ops-header,
html[data-theme='dark'] .bottom-nav { border-color: var(--theme-line); }
html[data-theme='dark'] .bottom-nav { background: #171d17ee !important; }
html[data-theme='dark'] .primary-button,
html[data-theme='dark'] .club-callout { background: #252c24; border-color: #52634c; color: #f2eee3; }
html[data-theme='dark'] .primary-button:hover,
html[data-theme='dark'] .primary-button:focus-visible { background: var(--theme-steel); border-color: var(--theme-steel); }
html[data-theme='dark'] .brand-mark { background: #e8e4d8; color: #1a2119; }
html[data-theme='dark'] .status { background: #2b3824; color: #d7e7af; }
html[data-theme='dark'] .status.status-full { background: #4a3825; color: #f0c77c; }
html[data-theme='dark'] .profile-card { background: transparent !important; box-shadow: none; }
html[data-theme='dark'] .my-events-page main section { background: var(--theme-surface); border-color: var(--theme-line); }
html[data-theme='dark'] .content-section p,
html[data-theme='dark'] .lede { color: var(--theme-muted); }

html[data-theme='light'] body:has(.organizer-shell),
html[data-theme='light'] body:has(.ops-shell) { background: var(--theme-bg) !important; color: var(--theme-ink); }
html[data-theme='light'] .organizer-shell .brand,
html[data-theme='light'] .ops-shell .back { color: var(--theme-ink); }
html[data-theme='light'] .event-switcher,
html[data-theme='light'] .scan-card,
html[data-theme='light'] .participant-card,
html[data-theme='light'] .fallback,
html[data-theme='light'] .notice,
html[data-theme='light'] .results-card,
html[data-theme='light'] .table-wrap,
html[data-theme='light'] .stats article,
html[data-theme='light'] .event-card,
html[data-theme='light'] .tool-card {
  background: var(--theme-surface);
  border-color: var(--theme-line);
  color: var(--theme-ink);
  box-shadow: none;
}
html[data-theme='light'] .event-switcher select,
html[data-theme='light'] .search-row input,
html[data-theme='light'] .result-row input,
html[data-theme='light'] .secondary { background: var(--panel-raised); color: var(--theme-ink); border-color: var(--theme-line); }
html[data-theme='light'] .table-wrap th { color: var(--theme-ink); background: var(--panel-raised); }
html[data-theme='light'] .table-wrap tbody tr:nth-child(even) { background: #f3f4ee; }
html[data-theme='light'] .tool-card { color: var(--theme-ink); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

.theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 6px 9px;
  border: 1px solid var(--theme-line);
  border-radius: 7px;
  background: transparent;
  color: var(--theme-ink);
  font: 500 10px 'DM Mono', monospace;
  letter-spacing: .04em;
  cursor: pointer;
}
.theme-toggle:hover { border-color: var(--theme-steel); }
.theme-toggle:focus-visible { outline: 3px solid #9abf4a; outline-offset: 3px; }
.theme-toggle-icon { font-size: 14px; line-height: 1; }
@media (max-width: 540px) {
  .theme-toggle-label { display: none; }
  .theme-toggle { width: 34px; justify-content: center; padding-inline: 5px; }
}
