/* 29.09.2026: новая главная (тег <ldhome/>, extensions/LdHome.php). Цвета — как у остального сайта:
   ссылки #3f7fb4, панели поиска и карты монстров (#d6dfe7 линии, #f3f6f9 фон плашек). */
.lh {
  --ink: #1d2b36; --muted: #5b6b78; --line: #d6dfe7; --soft: #f3f6f9; --accent: #2f6ea5; --accent-soft: #e6f0f8; --gold: #b8892f;
  color: var(--ink); font-size: 15px; line-height: 1.55; margin: 4px 0 10px;
}
.lh a { color: #2f6ea5; }
.lh h2 { font-size: 21px; font-weight: 700; margin: 0 0 12px; padding: 0; border: 0; text-wrap: balance; }
.lh h3 { font-size: 15px; font-weight: 700; margin: 0 0 6px; padding: 0; border: 0; }
/* стиль вики рисует маркеры списков картинкой и даёт отступы — здесь они не нужны */
.lh ul { list-style: none !important; list-style-image: none !important; margin: 0 !important; padding: 0 !important; }
.lh li { margin: 0 !important; list-style: none !important; list-style-image: none !important; background-image: none !important; }
/* элементы сеток могут сжиматься (иначе длинная строка распирает колонку и страницу на телефоне) */
.lh-chron > *, .lh-tools > *, .lh-groups > *, .lh-races > *, .lh-news > * { min-width: 0; }
.lh-sec { margin: 28px 0 0; }
.lh-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.lh-head h2 { margin: 0; }
.lh-more { font-size: 14px; font-weight: 600; white-space: nowrap; }

/* вступление — компактное: предложение + строка популярных ссылок, без плашки */
.lh-hero { padding: 0 0 14px; border-bottom: 1px solid var(--line); }
.lh-lead { margin: 0 0 8px; max-width: 95ch; font-size: 15.5px; line-height: 1.55; color: #3a4a57; }
.lh-lead b { color: var(--ink); font-weight: 600; }
.lh-pop { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 18px; margin: 0; font-size: 14.5px; }
.lh-pop span { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.lh-pop a { text-decoration: none; white-space: nowrap; }
.lh-pop a:hover { text-decoration: underline; }
.lh-levels > span { font-size: 13px; color: var(--muted); margin-right: 2px; }
.lh-chip { display: inline-block; padding: 4px 10px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 13.5px; line-height: 1.4; text-decoration: none !important; white-space: nowrap; }
.lh-chip:hover { border-color: #9fb6c9; background: var(--accent-soft); }

/* хроники */
.lh-chron { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.lh-card { border: 1px solid var(--line); border-radius: 10px; background: #fff; overflow: hidden; transition: border-color .15s, box-shadow .15s; }
.lh-card:hover { border-color: #b6c7d6; box-shadow: 0 4px 14px rgba(20, 40, 60, .08); }
.lh-card header { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--line); background: var(--soft); }
.lh-emb { flex: none; width: 32px; height: 32px; border-radius: 6px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .25); }
.lh-card header h3 { font-size: 17px; margin: 0; line-height: 1.25; }
.lh-card header h3 a { color: var(--ink); text-decoration: none; }
.lh-card header h3 a:hover { color: var(--accent); }
.lh-card header p { margin: 1px 0 0; font-size: 13px; color: var(--muted); }
.lh-card ul { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 8px; padding: 10px 14px 12px !important; }   /* !important: общий сброс списков .lh ul выше */
.lh-card li a { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: 14.5px; text-decoration: none; white-space: nowrap; }   /* «Рейд-боссы» не рвётся по дефису */
.lh-card li a:hover { text-decoration: underline; }
.lh-card li img { flex: none; width: 24px; height: 24px; border-radius: 4px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .2); }

/* инструменты */
.lh-tools { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.lh-tool { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink) !important; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
.lh-tool:hover { border-color: #9fb6c9; box-shadow: 0 4px 14px rgba(20, 40, 60, .1); }
.lh-tool b { display: block; font-size: 15px; }
.lh-tool small { display: block; margin-top: 2px; font-size: 13px; line-height: 1.4; color: var(--muted); }
.lh-ico { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 9px; background: #2a3a48; color: #f1d58f; }
.lh-ico svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.lh-new { font-style: normal; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #1f6b3a; background: #dff3e5; border-radius: 4px; padding: 1px 5px; vertical-align: 2px; }

/* новое на сайте */
.lh-news { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 24px; }
.lh-news li { display: flex; gap: 10px; align-items: baseline; padding: 5px 0; border-bottom: 1px solid #edf1f4; }
.lh-news time { flex: none; width: 42px; font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }

/* квесты */
.lh-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 20px; }
.lh-group h3 { color: var(--muted); font-size: 12.5px; letter-spacing: .05em; text-transform: uppercase; }
.lh-group li a { display: block; padding: 2px 0; font-size: 14.5px; }

/* классы */
.lh-races { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.lh-race { padding: 10px 0; border-top: 1px solid #edf1f4; }
.lh-race p { display: flex; flex-wrap: wrap; align-items: baseline; margin: 0 0 4px; font-size: 14px; line-height: 1.7; }
.lh-race p span { min-width: 64px; font-size: 12.5px; font-weight: 700; color: var(--muted); }
.lh-race p a { white-space: nowrap; }   /* «Human Knight» не разрывается посередине */
.lh-race i { font-style: normal; color: #b7c2cb; margin: 0 6px; }
.lh-sub { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 10px 0 0; font-size: 14px; }

/* монстры */
.lh-levels { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 8px; }
.lh-levels > span { min-width: 84px; }

/* о сайте */
.lh-about > p { max-width: 80ch; }
.lh-faq { margin-top: 10px; border-top: 1px solid var(--line); }
.lh-faq details { border-bottom: 1px solid var(--line); }
.lh-faq summary { cursor: pointer; padding: 10px 0; font-weight: 600; list-style: none; }
.lh-faq summary::-webkit-details-marker { display: none; }
.lh-faq summary::before { content: "+"; display: inline-block; width: 20px; color: var(--accent); font-weight: 700; }
.lh-faq details[open] summary::before { content: "–"; }
.lh-faq details p { margin: 0 0 12px 20px; max-width: 75ch; }

.lh a:focus-visible, .lh summary:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(47, 110, 165, .35); border-radius: 6px; }

@media (max-width: 991px) {
  .lh-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lh-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .lh { font-size: 15px; }
  .lh h2 { font-size: 19px; }
  .lh-sec { margin-top: 22px; }
  .lh-pop { gap: 4px 14px; }
  .lh-chron { grid-template-columns: 1fr; }
  .lh-tools { grid-template-columns: 1fr; }
  .lh-news { grid-template-columns: 1fr; }
  .lh-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
  .lh-races { grid-template-columns: 1fr; }
  .lh-card li a, .lh-group li a { padding: 5px 0; }
  .lh-levels > span { min-width: 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .lh-tool { transition: none; } }

/* 29.09.2026: прежний модуль квестов {{Таблица квестов}} между частями <ldhome part="top|bottom"/> */
.lh-quests { margin: 26px 0 0; }
.lh-quests h2 { margin-top: 0; }
@media (max-width: 767px) {
  /* на телефоне три колонки таблицы — друг под другом (раньше сжимались и слова переносились по слогам) */
  .lh-quests table.wikitable, .lh-quests table.wikitable tbody, .lh-quests table.wikitable tr, .lh-quests table.wikitable td { display: block; width: 100% !important; }
  .lh-quests table.wikitable td { padding: 0 0 8px !important; border: 0 !important; }
  .lh-quests table.wikitable { border: 0 !important; }
}

/* 29.09.2026: прежний модуль классов {{Class List Template}} (вкладки + дерево) между частями главной */
.lh-classes { margin: 26px 0 0; }
.lh-classes h2 { margin-top: 0; }
@media (max-width: 767px) {
  /* дерево шире телефона: прокрутка вбок внутри блока, а не обрезка */
  .lh-classes .tabbertab { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .lh-classes table.transfer { min-width: 560px; }
}

/* ---------- 29.09.2026: модуль классов (<ldhome part="classes"/>, LdHomeClasses.php) */
.lc-lead { margin: 0 0 10px; color: #33434f; max-width: 80ch; }
.lc-skills { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 4px !important; }
.lc-skills li a { display: inline-flex; align-items: center; gap: 7px; padding: 3px 11px 3px 4px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 13.5px; text-decoration: none; }
.lc-skills li a:hover { border-color: #9fb6c9; background: var(--accent-soft); }
.lc-skills img { width: 24px; height: 24px; border-radius: 50%; }
.lc-radio { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
#lc-r-human:checked ~ .lc-tabs .lc-tab-human,
#lc-r-elf:checked ~ .lc-tabs .lc-tab-elf,
#lc-r-darkelf:checked ~ .lc-tabs .lc-tab-darkelf,
#lc-r-orc:checked ~ .lc-tabs .lc-tab-orc,
#lc-r-dwarf:checked ~ .lc-tabs .lc-tab-dwarf,
#lc-r-kamael:checked ~ .lc-tabs .lc-tab-kamael,
#lc-r-ertheia:checked ~ .lc-tabs .lc-tab-ertheia,
#lc-r-awake:checked ~ .lc-tabs .lc-tab-awake { background: #fff; color: var(--ink); border-color: var(--line); box-shadow: inset 0 3px 0 var(--accent); }
#lc-r-human:focus-visible ~ .lc-tabs .lc-tab-human,
#lc-r-elf:focus-visible ~ .lc-tabs .lc-tab-elf,
#lc-r-darkelf:focus-visible ~ .lc-tabs .lc-tab-darkelf,
#lc-r-orc:focus-visible ~ .lc-tabs .lc-tab-orc,
#lc-r-dwarf:focus-visible ~ .lc-tabs .lc-tab-dwarf,
#lc-r-kamael:focus-visible ~ .lc-tabs .lc-tab-kamael,
#lc-r-ertheia:focus-visible ~ .lc-tabs .lc-tab-ertheia,
#lc-r-awake:focus-visible ~ .lc-tabs .lc-tab-awake { box-shadow: 0 0 0 3px rgba(47, 110, 165, .4); }
.lc-panel { display: none; }
#lc-r-human:checked ~ .lc-panels .lc-p-human,
#lc-r-elf:checked ~ .lc-panels .lc-p-elf,
#lc-r-darkelf:checked ~ .lc-panels .lc-p-darkelf,
#lc-r-orc:checked ~ .lc-panels .lc-p-orc,
#lc-r-dwarf:checked ~ .lc-panels .lc-p-dwarf,
#lc-r-kamael:checked ~ .lc-panels .lc-p-kamael,
#lc-r-ertheia:checked ~ .lc-panels .lc-p-ertheia,
#lc-r-awake:checked ~ .lc-panels .lc-p-awake { display: block; }
.lc-race { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }   /* название расы — для поисковиков и без CSS; видно во вкладке */
.lc-branch { margin: 0 0 18px; }
.lc-base { display: flex; align-items: baseline; gap: 10px; margin: 0 0 4px; font-size: 15px; font-weight: 700; }
.lc-base span { font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.lh table.lc-t { width: 100% !important; border-collapse: separate; border-spacing: 0; table-layout: fixed; margin: 0; background: none; border: 0; }
.lc-t th { padding: 6px 10px; border: 0; border-bottom: 2px solid var(--line); background: none; text-align: left; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.lc-t th small { display: block; font-size: 12px; letter-spacing: 0; text-transform: none; color: #8a99a6; }
.lc-t td { position: relative; padding: 7px 10px; border: 0; border-bottom: 1px solid #edf1f4; vertical-align: middle; background: none; }
.lc-t td.lc-k::before { content: "›"; position: absolute; left: -3px; top: 50%; transform: translateY(-55%); font-size: 18px; color: #b7c2cb; }
.lc-n { display: flex; align-items: center; gap: 9px; color: #2f6ea5; font-size: 14px; line-height: 1.25; text-decoration: none !important; }
.lc-n:hover span { text-decoration: underline; }
.lc-n img, .lc-ph { flex: none; width: 40px; height: 40px; border-radius: 8px; box-shadow: 0 0 0 1px var(--line); background: #fff; }
.lc-ph { display: grid; place-items: center; font-size: 17px; font-weight: 700; color: var(--muted); background: var(--soft); }
.lc-aw span { font-weight: 600; }
.lc-sub { color: var(--muted); font-size: 13px; font-style: italic; }
.lc-awt td.lc-from { font-size: 14px; line-height: 1.8; }
.lc-awt td.lc-from i { font-style: normal; color: #b7c2cb; margin: 0 6px; }
.lc-awt td.lc-from a { white-space: nowrap; }
.lh table.lc-awt th:first-child, .lh table.lc-awt td:first-child { width: 34%; }
@media (max-width: 640px) {
  .lc-t th { padding: 5px 3px; font-size: 9.5px; letter-spacing: .02em; }
  .lc-t th small { font-size: 10.5px; }
  .lc-t td { padding: 7px 3px; }
  .lc-t td.lc-k::before { display: none; }
  .lc-n { flex-direction: column; gap: 4px; text-align: center; font-size: 12px; }
  .lc-n img, .lc-ph { width: 34px; height: 34px; }
  .lc-awt .lc-n { flex-direction: row; text-align: left; }
}

/* 29.09.2026: заголовок и ссылки на умения — как в прежнем модуле (стили сняты с живой главной) */
.lh h2.lc-old { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 30px; font-weight: 500; line-height: 33px; color: #333; margin: 20px 0 10px; }
.lc-sk { display: grid; grid-template-columns: auto auto auto; justify-content: space-between; gap: 0 8px; margin: 0 0 6px; }   /* ширина колонок по содержимому, как в прежней таблице */
.lh .lc-sk ul { padding-left: 40px !important; margin: 0 !important; list-style-type: square !important; list-style-image: url(/skin/bullet.gif) !important; }
.lh .lc-sk li { list-style-type: square !important; list-style-image: url(/skin/bullet.gif) !important; margin: 0 0 2.8px !important; font-size: 14px; line-height: 21px; }
.lc-sk img { width: 32px; height: 32px; vertical-align: middle; }
.lc-sk a { color: #337ab7; }
.lc .lc-lead { margin-top: 12px; }
@media (max-width: 767px) {
  .lh h2.lc-old { font-size: 24px; line-height: 28px; }
  .lc-sk { grid-template-columns: 1fr; }
  .lh .lc-sk ul { padding-left: 24px !important; }
}

/* 29.09.2026: вкладки дерева классов — на верхнем крае рамки, активная сливается с панелью */
.lc-tree { margin: 14px 0 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; overflow: hidden; container-type: inline-size; }
.lc-cap { display: flex; align-items: baseline; gap: 8px; padding: 10px 16px 0; background: var(--soft); font-size: 12px; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.lc-cap b { color: var(--ink); font-weight: 700; }
.lc-cap span::before { content: "·"; margin-right: 8px; color: #b7c2cb; }
.lc-tabs { display: flex; gap: 0; padding: 8px 8px 0; background: var(--soft); border-bottom: 1px solid var(--line); overflow: visible; }
.lc-tabs label { display: flex; align-items: center; justify-content: center; gap: 6px; flex: 1 1 auto; margin: 0 0 -1px; padding: 9px 6px 10px; border: 1px solid transparent; border-bottom: 0; border-radius: 9px 9px 0 0;
  font-size: 14px; font-weight: 600; color: var(--muted); white-space: nowrap; cursor: pointer; user-select: none; transition: color .12s, background .12s; }
.lc-tabs label:hover { color: var(--ink); background: rgba(255, 255, 255, .65); }
.lc-tabs img { width: 20px; height: 20px; border-radius: 5px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .2); opacity: .75; }
.lc-tabs label:hover img { opacity: 1; }
#lc-r-human:checked ~ .lc-tabs .lc-tab-human img, #lc-r-elf:checked ~ .lc-tabs .lc-tab-elf img, #lc-r-darkelf:checked ~ .lc-tabs .lc-tab-darkelf img,
#lc-r-orc:checked ~ .lc-tabs .lc-tab-orc img, #lc-r-dwarf:checked ~ .lc-tabs .lc-tab-dwarf img, #lc-r-kamael:checked ~ .lc-tabs .lc-tab-kamael img,
#lc-r-ertheia:checked ~ .lc-tabs .lc-tab-ertheia img, #lc-r-awake:checked ~ .lc-tabs .lc-tab-awake img { opacity: 1; }
.lc-panels { padding: 14px 16px 6px; }
.lc-panels .lc-lead { margin-top: 0; }
@media (max-width: 767px) {
  .lc-tree { border-radius: 10px; }
  .lc-cap { padding: 9px 12px 0; }
  /* телефон: вкладки листаются пальцем, полосы прокрутки не видно */
  .lc-tabs { padding: 6px 6px 0; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .lc-tabs::-webkit-scrollbar { display: none; }
  .lc-tabs label { margin-bottom: 0; }
  .lc-tabs label { flex: none; padding: 8px 11px 9px; font-size: 13.5px; }   /* на телефоне вкладки листаются вбок */
  .lc-panels { padding: 10px 6px 4px; }
}
@media (prefers-reduced-motion: reduce) { .lc-tabs label { transition: none; } }

/* ширина вкладок — по ширине самого блока (container query), а не окна:
   хватает места — с иконками; тесно — без иконок в одну строку; совсем узко — листаются пальцем, без полосы прокрутки */
@container (max-width: 820px) {
  .lc-tabs img { display: none; }
  .lc-tabs label { padding: 9px 4px 10px; }
}
@container (max-width: 600px) {
  .lc-tabs { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
  .lc-tabs::-webkit-scrollbar { display: none; }
  .lc-tabs label { flex: none; padding: 8px 11px 9px; margin-bottom: 0; }
  .lc-tabs img { display: block; }
}

/* ---------- 29.09.2026: монстры и рейд-боссы по уровням — минималистично: таблица + строки ссылок */
.lm-lead { margin: 0 0 8px; max-width: 90ch; color: #3a4a57; }
.lh table.lm-t { width: 100% !important; border-collapse: collapse; margin: 0; background: none; border: 0; font-size: 14.5px; }
.lm-t th, .lm-t td { padding: 7px 10px 7px 0; border: 0; border-bottom: 1px solid #edf1f4; background: none; text-align: left; vertical-align: baseline; }
.lm-t thead th { padding-top: 0; font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--line); }
.lm-t tbody th { font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.lm-t .lm-n { text-align: right; padding-right: 22px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lm-g { white-space: nowrap; color: #3a4a57; }
.lm-g i { display: inline-block; width: 9px; height: 9px; margin-right: 7px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(0, 0, 0, .35); vertical-align: 0; }
.lm-top { color: var(--muted); }
.lm-line { margin: 12px 0 0; font-size: 14px; line-height: 1.8; }
.lm-line span { margin-right: 10px; font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.lm-line i { font-style: normal; color: #b7c2cb; margin: 0 7px; }
@media (max-width: 640px) {
  /* телефон: строка диапазона — уровни, ранг, числа; «часто смотрят» — второй строкой */
  .lh table.lm-t, .lm-t tbody { display: block; width: 100% !important; }
  .lm-t thead { display: none; }
  .lm-t tr { display: grid; grid-template-columns: 64px 1fr auto auto; column-gap: 12px; padding: 7px 0; border-bottom: 1px solid #edf1f4; }
  .lm-t th, .lm-t td { padding: 0; border: 0; }
  .lm-t .lm-n { padding-right: 0; }
  /* первый столбец строки — th, поэтому среди td: 1 — ранг, 2 — монстры, 3 — РБ */
  .lm-t td.lm-n:nth-of-type(2)::after { content: " монстров"; color: var(--muted); font-size: 12.5px; }
  .lm-t td.lm-n:nth-of-type(3)::after { content: " РБ"; color: var(--muted); font-size: 12.5px; }
  .lm-t .lm-top { grid-column: 1 / -1; margin-top: 2px; font-size: 13.5px; }
}

/* 29.09.2026: вертикальное дерево классов — строки = ступени профессии, столбцы = пути класса */
.lh table.lc-v { table-layout: auto; }
.lc-v th { width: 104px; padding: 8px 10px 8px 0; border: 0; border-bottom: 1px solid #edf1f4; text-align: left; vertical-align: middle; white-space: nowrap;
  font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); background: none; }
.lc-v th small { display: block; font-size: 12px; letter-spacing: 0; text-transform: none; color: #8a99a6; }
.lc-v td { padding: 12px 4px 8px; text-align: center; vertical-align: top; border-bottom: 1px solid #edf1f4; }
.lc-v td .lc-n { flex-direction: column; gap: 5px; justify-content: flex-start; font-size: 13px; text-align: center; }
.lc-v td.lc-k::before { content: "⌄"; left: 50%; top: -1px; transform: translate(-50%, -55%); font-size: 15px; line-height: 1; }
.lc-v tr:last-child td, .lc-v tr:last-child th { border-bottom: 0; }
@container (max-width: 600px) {
  .lc-v th { width: 44px; padding-right: 4px; font-size: 9px; letter-spacing: 0; white-space: normal; line-height: 1.2; }
  .lc-v th small { font-size: 10px; }
  .lc-v td { padding: 10px 1px 6px; }
  /* названия классов английские (lang="en") — перенос по слогам с дефисом, а не посреди слова */
  .lc-v td .lc-n { font-size: 10.5px; gap: 3px; }
  .lc-v td .lc-n span { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: normal; word-break: normal; }
  .lc-v td .lc-n img, .lc-v td .lc-ph { width: 30px; height: 30px; }
  .lc-v td.lc-k::before { display: block; }
}

/* 29.09.2026: вертикальное дерево на телефоне — короткая подпись ступени, мельче шрифт; не влезло — листается вбок, слова не рвутся */
.lc-v th .lc-short { display: none; }
@container (max-width: 600px) {
  .lc-branch { overflow-x: auto; scrollbar-width: none; }
  .lc-branch::-webkit-scrollbar { display: none; }
  .lc-v th { width: 26px; padding: 6px 2px 6px 0; text-align: center; }
  .lc-v th .lc-full { display: none; }
  .lc-v th .lc-short { display: block; font-size: 13px; font-weight: 700; color: var(--ink); }
  .lc-v th small { font-size: 9px; }
  .lc-v td .lc-n { font-size: 10px; letter-spacing: -.1px; }
  .lc-v td .lc-n span { white-space: normal; }
}

/* 29.09.2026: подписи ступеней — строкой над деревом расы (колонка слева убрана) */
.lc-steps { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0 0 12px; font-size: 12.5px; color: var(--muted); }
.lc-steps b { color: var(--ink); font-weight: 700; }
.lc-steps i { font-style: normal; color: #b7c2cb; }
@container (max-width: 600px) { .lc-steps { font-size: 11.5px; gap: 2px 6px; } .lc-v td .lc-n { font-size: 10.5px; } }

/* 29.09.2026: видно, какие ветки относятся к одному классу: «вилка» под 1-й профессией и фон у чётных групп */
.lh table.lc-v { table-layout: fixed; }
.lc-v td { position: relative; }
.lc-v td.lc-fork { padding-bottom: 18px; }
.lc-v td.lc-fork::after { content: ""; position: absolute; bottom: 0; height: 10px; left: calc(50% / var(--n)); right: calc(50% / var(--n));
  border: 1.5px solid #c3cfd9; border-bottom: 0; border-radius: 7px 7px 0 0; }
.lc-v td.lc-fork::before { content: ""; position: absolute; left: 50%; bottom: 10px; width: 0; height: 8px; border-left: 1.5px solid #c3cfd9; }
@container (max-width: 600px) { .lc-v td .lc-n { font-size: 10px; letter-spacing: -.2px; } .lc-v td { padding-left: 0; padding-right: 0; } }

/* 29.09.2026: ветка класса подсвечивается при наведении на любой её класс (вместо постоянного серого фона через группу) */
.lc-v td { transition: background-color .15s; }
.lc-v:has(td.lc-g0:hover) td.lc-g0,
.lc-v:has(td.lc-g1:hover) td.lc-g1,
.lc-v:has(td.lc-g2:hover) td.lc-g2,
.lc-v:has(td.lc-g3:hover) td.lc-g3,
.lc-v:has(td.lc-g4:hover) td.lc-g4,
.lc-v:has(td.lc-g5:hover) td.lc-g5,
.lc-v:has(td.lc-g6:hover) td.lc-g6,
.lc-v:has(td.lc-g7:hover) td.lc-g7 { background: #eef4fa; }
@media (prefers-reduced-motion: reduce) { .lc-v td { transition: none; } }

/* 29.09.2026: «Новое на сайте» — тип, дата, заголовок и строка описания; данные со страницы Linedia:Новое на сайте */
.lu-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.lu-it { padding: 11px 0 12px; border-bottom: 1px solid #edf1f4; min-width: 0; }
.lu-meta { display: flex; align-items: center; gap: 8px; margin: 0 0 3px; font-size: 12px; color: var(--muted); }
.lu-type { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.lu-type::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.lu-sec { color: #2f7d4f; }
.lu-tool { color: #2f6ea5; }
.lu-guide { color: #9a6408; }
.lu-upd { color: #6b7a86; }
.lu-meta time { font-variant-numeric: tabular-nums; }
.lu-meta time::before { content: "·"; margin-right: 8px; color: #b7c2cb; }
.lu-title { display: block; font-size: 15px; font-weight: 600; line-height: 1.35; text-decoration: none; }
.lu-title:hover { text-decoration: underline; }
.lu-desc { margin: 3px 0 0; font-size: 13.5px; line-height: 1.45; color: var(--muted);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 767px) { .lu-list { grid-template-columns: 1fr; } }

/* 29.09.2026: «Новое на сайте» минималистично — одна колонка: дата и заголовок */
.lu-list { display: block; }
.lu-it { display: flex; align-items: baseline; gap: 14px; padding: 6px 0; border-bottom: 1px solid #edf1f4; }
.lu-it time { flex: none; width: 92px; font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }
.lu-it a { min-width: 0; font-size: 14.5px; }
@media (max-width: 767px) { .lu-it time { width: 80px; font-size: 12.5px; } }
/* 29.09.2026: два столбца (просьба владельца), на телефоне — один */
.lu-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
@media (max-width: 767px) { .lu-list { grid-template-columns: 1fr; } }

/* 29.09.2026: как в исходном блоке — два столбца, дата «28.09», строка переносится */
.lu-it { gap: 10px; padding: 5px 0; }
.lu-it time { width: 42px; font-size: 13px; }
@media (max-width: 767px) { .lu-it time { width: 42px; } }

/* класс без страницы (Артеас) — обычный текст */
.lc-n.lc-nolink { color: var(--ink); cursor: default; }

/* 29.09.2026: H1 главной — компактнее обычного заголовка статьи, вместе с описанием и «Часто ищут» — один блок */
.page-Linedia #content h1 { font-size: 30px; line-height: 1.25; margin: 4px 0 8px; text-wrap: balance; }
.lh .lh-hero + .lh-first { margin-top: 22px; }
@media (max-width: 767px) { .page-Linedia #content h1 { font-size: 24px; } }

/* 29.09.2026 аудит: названия карточек хроник стали H2 (после H1 шёл сразу H3) — вид прежний */
.lh .lh-card header h2 { font-size: 17px; font-weight: 700; line-height: 1.25; margin: 0; padding: 0; border: 0; font-family: inherit; letter-spacing: 0; text-transform: none; }
.lh .lh-card header h2 a { color: var(--ink); text-decoration: none; }
.lh .lh-card header h2 a:hover { color: var(--accent); }

/* 09.10.2026: «Инструменты» — строка ссылок перед монстрами (была сетка карточек .lh-tools) */
.lh-toolrow { padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lh-toolrow a { display: inline-flex; align-items: center; gap: 6px; }
.lh-tico { display: inline-grid; place-items: center; font-style: normal; }
.lh-tico svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.lh-toolrow .lh-new { margin-left: 2px; }
/* 10.10.2026: «Новое на Linedia» — карточка «В разработке» (ссылка на «Новое на сайте»), приглушённая */
.lh-tool.lh-soon { border-style: dashed; background: #fafbfc; }
.lh-tool.lh-soon .lh-ico { background: #e9eef3; color: #6b7785; }
.lh-tool.lh-soon b { color: #4a5866; }
/* 10.10.2026: «Монстры и рейд-боссы по уровням» — компактно, две строки ссылок вместо таблицы */
.lm-rows { display: flex; flex-direction: column; gap: 8px; }
.lm-row { display: flex; align-items: center; gap: 10px; }
.lm-l { flex: none; width: 88px; font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.lm-cs { display: flex; flex-wrap: wrap; gap: 5px; }
.lm-c { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 8px; border: 1px solid var(--line); border-radius: 7px; background: #fff;
  font-size: 13.5px; font-variant-numeric: tabular-nums; white-space: nowrap; text-decoration: none !important; transition: border-color .15s, background .15s; }
.lm-c:hover { border-color: #9fb6c9; background: var(--accent-soft); }
.lm-c i { width: 8px; height: 8px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(0, 0, 0, .3); flex: none; }
@media (max-width: 700px) {
  .lm-row { flex-direction: column; align-items: flex-start; gap: 6px; }
  .lm-l { width: auto; }
}

/* 11.10.2026: «Базы знаний по хроникам» — список строк над «Новое на сайте» (вместо карточек .lh-card): хроника слева, разделы в строку */
.lk-list { border-top: 1px solid var(--line); }
.lk-row { display: flex; align-items: center; gap: 6px 18px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.lk-name { flex: none; width: 190px; display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--ink); text-decoration: none; white-space: nowrap; }
.lk-name:hover b { color: var(--accent); }
.lk-name img { flex: none; width: 24px; height: 24px; border-radius: 5px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .25); }
.lk-links { display: flex; flex-wrap: wrap; gap: 4px 16px; min-width: 0; }
.lk-links a { display: flex; align-items: center; gap: 6px; font-size: 14.5px; text-decoration: none; white-space: nowrap; }
.lk-links a:hover { text-decoration: underline; }
.lk-links img { flex: none; width: 16px; height: 16px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .2); }
@media (max-width: 767px) {
  .lk-row { flex-direction: column; align-items: flex-start; padding: 10px 0; }
  .lk-name { width: auto; }
  .lk-links { gap: 2px 16px; }
  .lk-links a { padding: 4px 0; }
}
