:root {
  --dd-bg: #0f172a;
  --dd-bg-alt: #131c31;
  --dd-bg-card: rgba(255, 255, 255, 0.04);
  --dd-border: rgba(255, 255, 255, 0.08);
  --dd-text: #e6edf3;
  --dd-text-muted: #8b949e;
  --dd-cyan: #00d4ff;
  --dd-magenta: #7c3aed;
  --dd-green: #00ff9d;
  --dd-accent-grad: linear-gradient(135deg, #22d3ee 0%, #38bdf8 40%, #8b5cf6 100%);
  --dd-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --dd-radius: 14px;
  --dd-shadow: 0 8px 32px rgba(0, 0, 0, 0.37);
  --dd-glow: 0 0 24px rgba(0, 212, 255, 0.35);
}

[data-bs-theme="light"] {
  --dd-bg: #f6f8fb;
  --dd-bg-alt: #ffffff;
  --dd-bg-card: rgba(15, 20, 25, 0.03);
  --dd-border: rgba(15, 20, 25, 0.1);
  --dd-text: #1f2328;
  --dd-text-muted: #57606a;
  --dd-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

/* Переключение иконки темы: в тёмной — луна, в светлой — солнце */
.dd-theme-toggle__icon .dd-icon-sun { display: none; }
.dd-theme-toggle__icon .dd-icon-moon { display: block; }
[data-bs-theme="light"] .dd-theme-toggle__icon .dd-icon-sun { display: block; }
[data-bs-theme="light"] .dd-theme-toggle__icon .dd-icon-moon { display: none; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--dd-font);
  background-color: var(--dd-bg);
  color: var(--dd-text);
  margin: 0;
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a { color: var(--dd-cyan); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--dd-magenta); }

img { max-width: 100%; height: auto; }

::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--dd-bg-alt); }
::-webkit-scrollbar-thumb { background: var(--dd-accent-grad); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--dd-magenta); }

::selection { background: rgba(0, 212, 255, 0.3); color: var(--dd-text); }

h1, h2, h3, h4, h5, h6 { font-weight: 700; line-height: 1.2; margin: 0 0 1rem; letter-spacing: -0.02em; }
h1 { font-size: clamp(2.2rem, 5vw, 4rem); }
h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); }
p { margin: 0 0 1rem; }

.dd-main { min-height: 60vh; }
