body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.quest-content pre {
  background-color: #111;
  border-radius: 6px;
  padding: 8px 10px;
  overflow: auto;
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.85rem;
}

.quest-content code {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.quest-link {
  color: #e5e5e5;
}

.quest-link:hover {
  background-color: #333;
}

.quest-link-active {
  background-color: #495057;
  font-weight: 600;
}

.icon-thumb {
  width: 32px;
  height: 32px;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

.card:hover .icon-thumb {
  transform: scale(1.5);
}

.icon-thumb.placeholder {
  border: 1px dashed #444;
  font-size: 0.75rem;
}

.page-hero {
  max-width: 1100px;
  margin: 0 auto;
}

.feature-card {
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.feature-card h5 {
  font-size: 1.05rem;
}

.lead {
  font-size: 1.05rem;
}

@media (max-width: 767.98px) {
  .page-hero h1 {
    font-size: 1.9rem;
  }
}

/* Общая читаемость текста */
body {
  color: #f5f5f5;
}

/* Центруем и чуть сужаем hero-блок */
.page-hero {
  max-width: 1100px;
  margin: 0 auto;
}

/* Текст под заголовком на главной */
.hero-lead {
  color: #e5e5e5;
}

/* Маленькая подпись под кнопками */
.hero-note {
  color: #babec7;
}

/* Списки и описания в правой карточке hero */
.hero-list li,
.hero-repo-desc {
  color: #d8d8d8;
}

/* Лёгкая рамка и фон для feature-карточек */
.feature-card {
  border: 1px solid rgba(255, 255, 255, 0.06);
}

/* Текст внутри feature-карточек */
.feature-text {
  color: #dcdcdc;
}

.feature-list li {
  color: #cfd1d6;
}

/* Чуть ярче muted в целом по сайту */
.text-muted {
  color: #d2d6de !important;
}

/* Мета-блок в футере */
.footer-meta {
  color: #a7abb5;
}

.footer-meta a {
  text-decoration: underline;
}

/* Чуть меньше заголовок на маленьких экранах */
@media (max-width: 767.98px) {
  .page-hero h1 {
    font-size: 1.9rem;
  }
}

/* Узлы дерева квестов */
.quest-node {
  font-size: 0.9rem;
  margin: 1px 0;
}

.quest-node-line {
  line-height: 1.3;
}

.quest-node-link {
  color: #e5e5e5;
  text-decoration: none;
}

.quest-node-link:hover {
  text-decoration: underline;
}

.quest-node-link.active,
.quest-node.is-active > .quest-node-line > .quest-node-link {
  color: #ffffff;
  font-weight: 500;
}

/* Тогглеры для сворачивания */
.quest-toggle {
  color: #9fa3ad;
}

.quest-toggle:hover {
  color: #ffffff;
}

.quest-toggle-icon {
  display: inline-block;
  transform: rotate(0deg);
  transition: transform 0.12s ease-out;
  font-size: 0.7rem;
}

/* Когда дети развернуты */
.quest-node.open > .quest-node-line .quest-toggle-icon {
  transform: rotate(90deg);
}

/* Плейсхолдер под стрелочку, чтобы текст выровнять */
.quest-toggle-spacer {
  display: inline-block;
  width: 0.8rem;
}

/* Скрытые дети */
.quest-children.collapsed {
  display: none;
}

/* Обёртка страницы квестов */
.quests-page {
  max-width: 1200px;
  margin: 0 auto;
}

/* Ссылки в дереве */
.quests-tree .quest-link {
  display: inline-block;
  font-size: 0.9rem;
  color: rgba(229, 229, 229, 0.95);
  text-decoration: none;
  padding: 1px 0;
}

.quests-tree .quest-link:hover {
  color: #ffffff;
  text-decoration: underline;
}

/* Контент квеста справа */
.quests-markdown {
  background-color: #050505;
  color: #f7f7f7;          /* <-- чтобы текст был реально светлым */
}

.quests-markdown h1,
.quests-markdown h2,
.quests-markdown h3 {
  color: #ffffff;          /* яркие заголовки */
  font-weight: 600;
}

/* Ссылки в дереве, если длинные — обрезать с многоточием */
.quest-node-line {
  max-width: 100%;
}

.quest-node-link {
  display: inline-block;
  max-width: calc(100% - 1.4rem); /* с учётом стрелки слева */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Левая колонка со структурой: фиксированная высота под окно + внутренний скролл */
.quests-sidebar {
  height: calc(100vh - 140px);  /* можно поиграться числом 140 под твой header */
  overflow-y: auto;
  padding-right: 4px;
}

/* Скроллбар чуть более аккуратный */
.quests-sidebar::-webkit-scrollbar {
  width: 6px;
}
.quests-sidebar::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.15);
  border-radius: 3px;
}

/* Левая колонка на странице квестов — колонка растягивается по высоте */
.quests-page .col-md-4,
.quests-page .col-lg-3 {
  display: flex;
  flex-direction: column;
}