:root[data-theme="overwatch"] {
  --bg: #f6f8ff;
  --bg-accent: #eef2ff;
  --panel: rgba(255, 255, 255, 0.86);
  --panel-strong: #ffffff;
  --border: rgba(30, 64, 175, 0.25);
  --text: #0f172a;
  --muted: #334155;

  --input-bg: rgba(15, 23, 42, 0.04);
  --input-border: rgba(30, 64, 175, 0.22);
  --input-text: #0f172a;

  --primary: #1565ff; /* OW-ish blue */
  --primary-hover: #0b4fe0;
  --danger: #e11d48;
  --danger-hover: #be123c;

  --shadow: 0 20px 45px rgba(2, 6, 23, 0.12);
}

:root[data-theme="overwatch"] body {
  background:
    radial-gradient(1200px 520px at 10% -10%, #7aa7ff 0%, transparent 65%),
    radial-gradient(900px 480px at 100% 0%, #ffe08a 0%, transparent 65%),
    linear-gradient(180deg, var(--bg) 0%, #eaf0ff 100%);
  color: var(--text);
}

:root[data-theme="overwatch"] .container {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(245, 247, 255, 0.82));
  border-color: rgba(30, 64, 175, 0.25);
  box-shadow: var(--shadow);
}

:root[data-theme="overwatch"] .top-nav {
  background: rgba(255, 255, 255, 0.65);
  border-color: rgba(30, 64, 175, 0.25);
}

:root[data-theme="overwatch"] .top-nav a,
:root[data-theme="overwatch"] .theme-btn {
  background: #ffffff;
  border-color: rgba(30, 64, 175, 0.25);
  color: #0f172a;
}

:root[data-theme="overwatch"] .top-nav a:hover,
:root[data-theme="overwatch"] .theme-btn:hover {
  background: rgba(231, 239, 255, 1);
  border-color: rgba(21, 101, 255, 0.55);
}

:root[data-theme="overwatch"] .site-footer {
  border-top-color: rgba(30, 64, 175, 0.2);
  color: rgba(15, 23, 42, 0.75);
}

