/* Цвета Go: https://go.dev/brand */
:root,
:root[data-bs-theme="light"] {
  --go-accent: #007d9c;
  --go-accent-hover: #00657e;
  --go-on-accent: #ffffff;
  --go-soft: #e7f6fa;

  --go-blue: #0089ab;
  --go-aqua: #00857f;
  --go-fuchsia: #c22f5c;
  --go-yellow: #9a7b00;

  --bs-link-color: var(--go-accent);
  --bs-link-color-rgb: 0, 125, 156;
  --bs-link-hover-color: var(--go-accent-hover);
  --bs-link-hover-color-rgb: 0, 101, 126;
  --bs-font-sans-serif: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --bs-font-monospace: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

:root[data-bs-theme="dark"] {
  --go-accent: #5dc9e2;
  --go-accent-hover: #8ad8ea;
  --go-on-accent: #04202a;
  --go-soft: rgba(0, 173, 216, 0.12);

  --go-blue: #5dc9e2;
  --go-aqua: #3fd1c9;
  --go-fuchsia: #f0709a;
  --go-yellow: #fddd00;

  --bs-body-bg: #0e1620;
  --bs-body-bg-rgb: 14, 22, 32;
  --bs-tertiary-bg: #141f2b;
  --bs-tertiary-bg-rgb: 20, 31, 43;
  --bs-body-color: #d9e3ea;
  --bs-body-color-rgb: 217, 227, 234;
  --bs-border-color: #24313f;
  --bs-link-color: var(--go-accent);
  --bs-link-color-rgb: 93, 201, 226;
  --bs-link-hover-color: var(--go-accent-hover);
  --bs-link-hover-color-rgb: 138, 216, 234;
}

body {
  font-family: var(--bs-font-sans-serif);
}

h1, h2, h3, .h1, .h2, .h3 {
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* Кнопки в цвет Go */
.btn-primary {
  --bs-btn-bg: var(--go-accent);
  --bs-btn-border-color: var(--go-accent);
  --bs-btn-color: var(--go-on-accent);
  --bs-btn-hover-bg: var(--go-accent-hover);
  --bs-btn-hover-border-color: var(--go-accent-hover);
  --bs-btn-hover-color: var(--go-on-accent);
  --bs-btn-active-bg: var(--go-accent-hover);
  --bs-btn-active-border-color: var(--go-accent-hover);
  --bs-btn-active-color: var(--go-on-accent);
  --bs-btn-focus-shadow-rgb: var(--bs-link-color-rgb);
}

.form-control:focus {
  border-color: var(--go-accent);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-link-color-rgb), 0.25);
}

/* Логотип */
.brand {
  font-weight: 600;
}

.brand-mark {
  font-family: var(--bs-font-monospace);
  font-weight: 600;
  color: var(--go-accent);
}

.navbar .nav-link,
.navbar .navbar-text {
  white-space: nowrap;
}

.navbar .nav-link.active,
.navbar .nav-link:hover {
  color: var(--go-accent);
}

/* Главный блок на главной */
.hero {
  background: var(--go-soft);
  border-radius: 1.25rem;
  padding: 2.5rem 1.5rem;
}

@media (min-width: 768px) {
  .hero {
    padding: 3.5rem 3rem;
  }
}

.hero code,
.topic-body code {
  font-family: var(--bs-font-monospace);
  color: var(--go-accent);
}

/* Карточки тем */
.topic-card {
  height: 100%;
  border: 1px solid var(--bs-border-color);
  border-radius: 1rem;
  background: var(--bs-tertiary-bg);
  color: inherit;
  text-decoration: none;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.topic-card:hover,
.topic-card:focus-visible {
  transform: translateY(-3px);
  border-color: var(--topic-color);
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08);
  color: inherit;
}

.topic-card p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.topic-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0.85rem;
  font-size: 1.4rem;
  color: var(--topic-color);
  background: color-mix(in srgb, var(--topic-color) 14%, transparent);
}

.topic-icon-lg {
  width: 4rem;
  height: 4rem;
  font-size: 1.9rem;
  border-radius: 1.1rem;
}

.topic-blue    { --topic-color: var(--go-blue); }
.topic-aqua    { --topic-color: var(--go-aqua); }
.topic-fuchsia { --topic-color: var(--go-fuchsia); }
.topic-yellow  { --topic-color: var(--go-yellow); }

/* Страница темы */
.topic-body {
  max-width: 46rem;
}

.topic-body .lead {
  line-height: 1.7;
}

.topic-picture {
  max-width: 100%;
  border-radius: 1rem;
}

/* Карточка формы входа */
.auth-card {
  max-width: 26rem;
  border-radius: 1rem;
}

/* Страница ошибки */
.error-code {
  font-family: var(--bs-font-monospace);
  font-size: clamp(4rem, 15vw, 7rem);
  font-weight: 600;
  line-height: 1;
  color: var(--go-accent);
}
