:root,
:root[data-theme="dark"] {
  --bg: #0c1017;
  --bg-glow: #293347;
  --panel: #141a24;
  --panel-2: #1b2330;
  --panel-translucent: rgba(18, 26, 37, .72);
  --text: #edf2f7;
  --muted: #96a3b5;
  --line: #2a3545;
  --accent: #f6c344;
  --accent-2: #ef7b45;
  --accent-contrast: #17130a;
  --accent-border: rgba(246, 195, 68, .35);
  --accent-wash: rgba(246, 195, 68, .09);
  --good: #58c58b;
  --bad: #ef6b73;
  --header-bg: rgba(12, 16, 23, .88);
  --input-bg: #0f141d;
  --tooltip-bg: #090d14;
  --tooltip-text: #edf2f7;
  --progress-bg: #303b4b;
  --hover-bg: #2a3545;
  --shadow: rgba(0, 0, 0, .4);
  --chart-text: #edf2f7;
  --chart-soft-text: #cbd5e1;
  --chart-muted: #96a3b5;
  --chart-neutral: #596579;
  color-scheme: dark;
}

:root[data-theme="light"] {
  --bg: #f5f1e7;
  --bg-glow: #e0edc7;
  --panel: #fffdf7;
  --panel-2: #f0ecdf;
  --panel-translucent: rgba(255, 253, 247, .9);
  --text: #172019;
  --muted: #687269;
  --line: #d8d3c6;
  --accent: #214d36;
  --accent-2: #ed6a3a;
  --accent-contrast: #ffffff;
  --accent-border: rgba(33, 77, 54, .3);
  --accent-wash: rgba(200, 240, 90, .2);
  --good: #287d50;
  --bad: #b6413c;
  --header-bg: rgba(245, 241, 231, .9);
  --input-bg: #fffdf7;
  --tooltip-bg: #172019;
  --tooltip-text: #fffdf7;
  --progress-bg: #e5e1d7;
  --hover-bg: #e3dfd2;
  --shadow: rgba(23, 32, 25, .14);
  --chart-text: #172019;
  --chart-soft-text: #38483c;
  --chart-muted: #687269;
  --chart-neutral: #879087;
  color-scheme: light;
}

body {
  background: radial-gradient(circle at 75% -10%, var(--bg-glow) 0, transparent 34%), var(--bg);
  transition: background-color .18s ease, color .18s ease;
}

html,
body {
  overflow-x: clip;
}

[hidden] {
  display: none !important;
}

.site-header {
  background: var(--header-bg);
}

.hero-panel,
.event-header {
  background: linear-gradient(135deg, var(--accent-wash), transparent 34%), var(--panel);
}

.section-nav {
  background: var(--panel-translucent);
}

input,
select {
  background: var(--input-bg);
}

input:focus,
select:focus {
  border-color: var(--accent);
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

button,
.tab-button.active {
  color: var(--accent-contrast);
}

.player-panel {
  background: var(--input-bg);
}

.progress-track,
.ll-progress {
  background: var(--progress-bg);
}

.player-lookup-results {
  box-shadow: 0 16px 32px var(--shadow);
}

.player-lookup-option:hover,
.player-lookup-option.active {
  background: var(--hover-bg);
}

.event-card:hover {
  border-color: var(--accent);
}

.leader-list i {
  background: linear-gradient(90deg, var(--accent) var(--share), var(--progress-bg) var(--share));
}

.cut-tooltip {
  background: var(--tooltip-bg);
  color: var(--tooltip-text);
}

.ll-context-card,
.hero-change-summary,
.meta-diversity-grid .effective-hero-card {
  border-color: var(--accent-border);
}

.ll-context-card,
.hero-change-summary {
  background: linear-gradient(110deg, var(--accent-wash), transparent 58%), var(--panel-2);
}

.bubble-warning {
  border-color: var(--accent-border);
  background: var(--accent-wash);
}

.bubble-row.at td,
.comparison-pooled {
  background: var(--accent-wash);
}

.comparison-table-grid article {
  border-color: var(--line);
  background: var(--panel-translucent);
}

.dashboard-section,
.overview-grid,
.overview-card,
.chart {
  min-width: 0;
  max-width: 100%;
}

.flash.error {
  color: var(--bad);
}

.header-actions {
  align-items: center;
  display: flex;
  gap: 10px;
}

.site-nav { display:flex; align-items:center; gap:6px; margin-inline:auto; }
.site-nav a,.auth-button,.dev-auth-badge { border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:.72rem; padding:.42rem .7rem; text-decoration:none; white-space:nowrap; }
.site-nav a[aria-current="page"] { background:var(--accent); border-color:var(--accent); color:var(--accent-contrast); }
.auth-button { background:var(--panel-2); color:var(--text); }
.squad-login { align-items:center; display:inline-flex; gap:6px; }
.squad-login img { display:block; height:22px; width:22px; }
.auth-form { margin:0; }.auth-user{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.dev-auth-badge{color:var(--bad)}
.button-link{display:inline-block;border-radius:8px;background:var(--accent);color:var(--accent-contrast);font-weight:800;padding:.72rem 1rem}
#kofi-widget-overlay,[class*="floatingchat"]{right:max(16px,env(safe-area-inset-right))!important;bottom:max(16px,env(safe-area-inset-bottom))!important;filter:drop-shadow(0 8px 18px var(--shadow))}
[class*="floatingchat"] a:focus-visible,[class*="floatingchat"] button:focus-visible{outline:3px solid var(--accent)!important;outline-offset:3px}
@media (prefers-reduced-motion:reduce){[class*="floatingchat"] *{animation:none!important;transition:none!important}}

.theme-toggle {
  aspect-ratio: 1;
  align-items: center;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--text);
  display: inline-flex;
  justify-content: center;
  padding: .42rem;
  width: 34px;
}

.theme-toggle:hover {
  filter: none;
  border-color: var(--accent);
}

.theme-toggle:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.theme-toggle-icon {
  font-size: 1rem;
  line-height: 1;
}

@media (max-width: 680px) {
  .site-header{height:auto;min-height:64px;flex-wrap:wrap;gap:8px;padding-block:8px}.site-nav{order:3;width:100%;justify-content:center}.auth-user,.dev-auth-badge{display:none}.header-actions{margin-left:auto}
  .local-badge {
    display: none;
  }
}
