:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #11181b;
  --card: #182226;
  --ink: #edf4f3;
  --muted: #a7b7b4;
  --line: #2c3d42;
  --line-strong: #45585e;
  --accent: #78cde1;
  --accent-dark: #a4e2ee;
  --accent-soft: #193b46;
  --telegram: #2a9cca;
  --success: #79d19b;
  --success-soft: #1b3b29;
  --warning: #e2bd69;
  --warning-soft: #40351c;
}

:root[data-theme="light"] { color-scheme: light; }

[data-theme="dark"] body {
  background:
    radial-gradient(circle at top left, rgba(62, 157, 184, .14), transparent 34rem),
    linear-gradient(180deg, #172328 0, var(--bg) 30rem);
}

[data-theme="dark"] .theme-toggle {
  color: var(--ink);
  border-color: var(--line-strong);
  background: #1a292e;
}

[data-theme="dark"] .theme-toggle:hover,
[data-theme="dark"] .button.secondary:hover,
[data-theme="dark"] .back-link:hover {
  border-color: #60808a;
  background: #20353b;
}

[data-theme="dark"] .button.secondary,
[data-theme="dark"] .back-link {
  border-color: var(--line);
  color: var(--ink);
  background: #1a292e;
}

[data-theme="dark"] .start-card {
  border-color: #3f7380;
  background: linear-gradient(155deg, #193943, #202c2e 82%);
}

[data-theme="dark"] .start-number,
[data-theme="dark"] .platform-chip {
  border-color: #35545c;
  background: rgba(14, 30, 34, .72);
}

[data-theme="dark"] .directory-card,
[data-theme="dark"] .link-grid a,
[data-theme="dark"] .benefit-card,
[data-theme="dark"] .support-card,
[data-theme="dark"] .step,
[data-theme="dark"] .faq-section,
[data-theme="dark"] .summary,
[data-theme="dark"] .summary-card,
[data-theme="dark"] .legal-section,
[data-theme="dark"] .toc,
[data-theme="dark"] .quick-links a {
  border-color: var(--line);
  background: rgba(24, 34, 38, .94);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .18);
}

[data-theme="dark"] .directory-card.featured,
[data-theme="dark"] .privacy {
  border-color: #3c7480;
  background: linear-gradient(155deg, #193941, #1b2528 82%);
}

[data-theme="dark"] .security-note,
[data-theme="dark"] .warning,
[data-theme="dark"] .callout.warning {
  border-color: #806b36;
  color: #f0d98f;
  background: #332d1b;
}

[data-theme="dark"] .security-note p:last-child,
[data-theme="dark"] .warning p,
[data-theme="dark"] .callout.warning p {
  color: #dbc98d;
}

[data-theme="dark"] .callout {
  border-color: #3c7480;
  color: #bdeaf3;
  background: var(--accent-soft);
}

[data-theme="dark"] .success,
[data-theme="dark"] .callout.success,
[data-theme="dark"] .no-logs-card {
  border-color: #3d7953;
  color: #b5e8c5;
  background: var(--success-soft);
}

[data-theme="dark"] .success p,
[data-theme="dark"] .callout.success p,
[data-theme="dark"] .no-logs-card p,
[data-theme="dark"] .no-logs-card li {
  color: #b5e8c5;
}

[data-theme="dark"] .search-field {
  border-color: var(--line-strong);
  background: #18262a;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .18);
}

[data-theme="dark"] .search-field input { color: var(--ink); }
[data-theme="dark"] .clear-search { background: var(--accent-soft); }

[data-theme="dark"] .summary-card,
[data-theme="dark"] .legal-section .data-grid > li {
  border-color: var(--line);
  background: #1d2a2e;
}

[data-theme="dark"] .steps li,
[data-theme="dark"] .method-grid article,
[data-theme="dark"] .plans article {
  border-color: var(--line);
  background: #1d2a2e;
}

[data-theme="dark"] .answer p,
[data-theme="dark"] .answer li,
[data-theme="dark"] .faq-section .support-card p,
[data-theme="dark"] .no-results p,
[data-theme="dark"] .step p,
[data-theme="dark"] .help p {
  color: #c3cecc;
}

[data-theme="dark"] .legal-section p,
[data-theme="dark"] .legal-section li { color: #c3cecc; }
[data-theme="dark"] .toc a::before { color: #7f999f; }

[data-theme="dark"] .document-meta span {
  border-color: var(--line);
  background: rgba(24, 34, 38, .75);
}

[data-theme="dark"] .media,
[data-theme="dark"] .phone,
[data-theme="dark"] .desktop {
  background: #1b292d;
}

[data-theme="dark"] .media img { background: #2b393d; }

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

.theme-toggle {
  display: inline-flex;
  min-height: 35px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 10px;
  color: var(--muted);
  background: rgba(255, 253, 248, .76);
  font: inherit;
  font-size: 11px;
  font-weight: 780;
  line-height: 1;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.theme-toggle:hover { border-color: var(--line-strong); background: #fff6e6; }
.theme-icon { color: var(--accent); font-size: 15px; line-height: 1; }

.theme-toggle:focus-visible {
  outline: 3px solid #2c7188;
  outline-offset: 3px;
}

@media (max-width: 680px) {
  .site-nav {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px 12px;
  }

  .site-nav .brand-link {
    grid-column: 1;
    grid-row: 1;
  }

  .site-nav .theme-toggle {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  .site-nav .site-links {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .site-links a {
    padding: 8px 4px;
    font-size: 12px;
    line-height: 1.15;
  }

  .theme-toggle { min-height: 33px; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-toggle { transition: none; }
}
