/* ------------------------------------------------------------------ *
 *  kodg.ru — единая таблица стилей.
 *
 *  Собрана из трёх <style>-блоков menu.php (шапка, тема поверх Bootstrap 3,
 *  футер). Подключается ОДИН раз из menu.php с ?v=<дата файла>, поэтому
 *  кэшируется у посетителя, а не едет в HTML каждой из 38 страниц.
 *
 *  Порядок секций сохранён как в menu.php — от него зависит, кто кого
 *  перебивает: ШАПКА → ТЕМА → ФУТЕР. Не переставлять.
 *
 *  Тёмная тема — значения в :root, светлая — переопределение переменных
 *  в html[data-theme="light"]. Шапка, футер и hero тёмные в обеих темах.
 *
 *  ⚠️ Пути к шрифтам и декору вклеены с ?v=<дата файла на момент сборки>.
 *     Заменили шрифт или картинку декора — обновите тут версию, иначе
 *     у посетителей останется старый файл из кэша.
 * ------------------------------------------------------------------ */

/* ------------------------------------------------------------------ *
 *  ПЕРЕМЕННЫЕ
 *
 *  --k-*        — тема: тёмные значения в :root, светлые в
 *                 html[data-theme="light"]. Всё, что должно менять цвет
 *                 при переключении темы, берём отсюда.
 *  --k-accent   — красный бренда (#ec0707) и --k-accent-h для наведения.
 *                 Одинаковы в обеих темах.
 *  --k-chrome*  — шапка, футер и hero: тёмные В ОБЕИХ темах.
 *                 ⚠️ НЕ переопределять их в html[data-theme="light"] —
 *                 иначе шапка и звёздное небо побелеют.
 *
 *  Про !important (их тут 72, и почти все нужны): 21 перебивает
 *  Bootstrap 3, 15 — инлайновые style= в легаси-разметке (её не
 *  переписать), 12 — сторонние плагины (chosen, jquery-ui, Highcharts).
 *  Прежде чем убирать — проверьте, что перебивать больше нечего.
 * ------------------------------------------------------------------ */

/* ==================== ШАПКА ==================== */
@font-face{font-family:"KodgLato";src:url("/media/fonts/LatoRegular.woff?v=1792334488") format("woff"),url("/media/fonts/LatoRegular.ttf?v=1792334488") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"KodgLato";src:url("/media/fonts/LatoBold.woff?v=1586635865") format("woff"),url("/media/fonts/LatoBold.ttf?v=1586635865") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"KodgMason";src:url("/media/fonts/MasonChroniclesRegular.otf?v=1588630523") format("opentype");font-display:swap}
.kn{position:fixed;top:0;left:0;right:0;z-index:1040;background:var(--k-chrome);background:linear-gradient(180deg,var(--k-chrome2) 0%,var(--k-chrome) 100%);border-bottom:2px solid var(--k-accent);font:14px/1.4 "KodgLato","Helvetica Neue",Helvetica,Arial,sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.5)}
.kn *{box-sizing:border-box}
.kn a{text-decoration:none}
.kn-in{max-width:1170px;margin:0 auto;padding:0 15px;position:relative}
.kn-bar{display:flex;align-items:center;height:52px}
.kn-brand{display:flex;flex-direction:column;justify-content:center;color:#fff;font:22px/1 "KodgMason",Georgia,serif;letter-spacing:1px;white-space:nowrap;padding:4px 0}
.kn-brand:hover,.kn-brand:focus{color:var(--k-accent-h);text-decoration:none}
.kn-brand small{display:block;color:var(--k-chrome-muted);font:10px/1.2 "KodgLato",Arial,sans-serif;letter-spacing:.4px;text-transform:uppercase;margin-top:3px}
/* Значки справа от меню: «Оформление» (тема, лёгкая версия) и вход, у каждого
   свой выпадающий список. inline-flex — чтобы глиф стоял по центру кнопки. */
.kn-acts{display:flex;align-items:center;gap:6px;margin-left:14px;flex:none}
.kn-theme{background:none;border:1px solid var(--k-chrome-line);border-radius:3px;color:var(--k-chrome-muted);
  width:32px;height:32px;line-height:1;padding:0;cursor:pointer;font-size:15px;
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.kn-theme:hover,.kn-pop.open .kn-theme{border-color:var(--k-accent);color:#fff}
.kn-pop{position:relative}
.kn-pop.on .kn-theme{color:#fff;border-color:var(--k-accent)}
.kn-pop-d{display:none;position:absolute;right:0;top:calc(100% + 10px);min-width:220px;z-index:1050;background:var(--k-chrome);border:1px solid var(--k-chrome-line);box-shadow:0 8px 22px rgba(0,0,0,.55);list-style:none;margin:0;padding:5px 0}
.kn-pop.open .kn-pop-d{display:block}
.kn-pop-d a,.kn-pop-d button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 16px;color:#fff;background:none;border:0;font:inherit;font-size:14px;text-align:left;text-decoration:none;cursor:pointer;white-space:nowrap}
.kn-pop-d a:hover,.kn-pop-d button:hover{background:var(--k-chrome2);color:#fff}
.kn-pop-d .glyphicon{color:var(--k-chrome-muted);width:16px;top:0}
.kn-pop-d .a{box-shadow:inset 3px 0 0 var(--k-accent);color:var(--k-accent-h)}
.kn-pop-d .a .glyphicon{color:var(--k-accent)}
.kn-pop-d form{margin:0}
.kn-pop-sep{height:1px;margin:4px 0;background:var(--k-chrome-line)}
.kn-pop-who{padding:6px 16px 8px;color:var(--k-chrome-muted);font-size:12.5px;border-bottom:1px solid var(--k-chrome-line);margin-bottom:4px;white-space:nowrap}
.kn-acts + .kn-burger{margin-left:10px}
.kn-burger{display:none;margin-left:auto;background:none;border:1px solid var(--k-chrome-line);border-radius:3px;color:var(--k-chrome-muted);padding:7px 10px;cursor:pointer;line-height:1}
.kn-burger:hover{border-color:var(--k-accent);color:#fff}
.kn-burger span{display:block;width:19px;height:2px;background:currentColor;margin:3px 0;border-radius:1px}
.kn-menu{display:flex;align-items:center;margin-left:auto;list-style:none;padding:0;margin-bottom:0}
.kn-g{position:relative}
.kn-t{display:flex;align-items:center;gap:7px;background:none;border:0;color:#fff;font:17px/1 "KodgMason",Georgia,serif;letter-spacing:.5px;padding:0 14px;height:52px;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-2px}
.kn-t .glyphicon{font-size:13px;color:var(--k-chrome-muted);top:0}
.kn-t:hover,.kn-g.on .kn-t{color:var(--k-accent-h);background:rgba(255,255,255,.05)}
.kn-t:hover .glyphicon,.kn-g.on .kn-t .glyphicon{color:var(--k-accent)}
.kn-g.act .kn-t{color:var(--k-accent);border-bottom-color:var(--k-accent)}
.kn-g.act .kn-t .glyphicon{color:var(--k-accent)}
.kn-t .caret{border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;display:inline-block;width:0;height:0;margin-left:2px;opacity:.7}
.kn-d{display:none;position:absolute;top:100%;left:0;min-width:300px;background:var(--k-chrome);border:1px solid var(--k-chrome-line);border-top:0;box-shadow:0 8px 22px rgba(0,0,0,.55);padding:5px 0;list-style:none;margin:0;overflow-y:auto}
.kn-g.on .kn-d{display:block}
/* Сторону раскрытия выбирает JS: у последних групп список не влезает справа
   и прижимается к правому краю кнопки (класс .rt на .kn-g). */
.kn-g.rt .kn-d{left:auto;right:0}
.kn-d a{display:flex;align-items:flex-start;gap:10px;padding:9px 16px;color:#fff;line-height:1.35}
.kn-d a:hover,.kn-d a:focus{background:var(--k-chrome2);color:var(--k-accent-h)}
.kn-d a.a{background:var(--k-chrome2);box-shadow:inset 3px 0 0 var(--k-accent)}
.kn-d a.a b{color:var(--k-accent)}
.kn-d .gi{color:var(--k-accent);font-size:14px;width:18px;text-align:center;margin-top:2px;flex:none;opacity:.85}
.kn-d b{display:block;font-weight:700;font-size:14px}
.kn-d i{display:block;font-style:normal;font-size:12px;color:var(--k-chrome-muted);margin-top:1px}
/* Подменю (3-й уровень): пункт-кнопка раскрывает список на месте, пункты с отступом */
.kn-s{list-style:none}
.kn-st{display:flex;align-items:flex-start;gap:10px;width:100%;padding:9px 16px;background:none;border:0;color:#fff;line-height:1.35;text-align:left;cursor:pointer;font:inherit}
.kn-st:hover,.kn-st:focus{background:var(--k-chrome2);color:var(--k-accent-h);outline:0}
.kn-st.a b{color:var(--k-accent)}
.kn-st>span:nth-child(2){flex:1}
.kn-st .kn-sc{flex:none;font-size:11px;margin-top:4px;color:var(--k-chrome-muted);transition:transform .15s}
.kn-s.on>.kn-st .kn-sc{transform:rotate(180deg)}
.kn-sd{display:none;list-style:none;margin:0;padding:0;box-shadow:inset 2px 0 0 var(--k-chrome-line)}
.kn-s.on>.kn-sd{display:block}
.kn-d .kn-sd a{padding-left:32px}
body{padding-top:52px !important;min-height:100vh}
/* Шапка fixed: браузер, прокручивая к полю (пропущенное обязательное, якорь, Tab),
   ставит его к верхнему краю — под шапку. Отступ прокрутки = высота шапки + зазор. */
html{scroll-padding-top:100px}
/* Футер у нижней границы окна на коротких страницах. position:sticky+top:100vh вместо
   flex на body: flex ломал ширину блоков с margin:0 auto (главная сжималась до контента). */
footer.kf{position:sticky;top:100vh}
@media (max-width:991px){
  .kn-burger{display:block}
  .kn-acts{margin-left:auto}
  .kn-menu{display:none;position:absolute;top:52px;left:0;right:0;flex-direction:column;align-items:stretch;margin:0;background:var(--k-chrome);border-top:1px solid var(--k-chrome-line);max-height:calc(100vh - 52px);overflow-y:auto;box-shadow:0 8px 20px rgba(0,0,0,.5)}
  .kn.open .kn-menu{display:flex}
  .kn-g{position:static}
  .kn-t{width:100%;height:auto;padding:13px 16px;justify-content:flex-start;border-bottom:1px solid #2c3d4e;margin-bottom:0;font-size:18px}
  .kn-t .caret{margin-left:auto;transition:transform .15s}
  .kn-g.on .kn-t .caret{transform:rotate(180deg)}
  .kn-d{position:static;min-width:0;border:0;box-shadow:none;background:#16212c;padding:0}
  .kn-d a{padding:11px 16px 11px 34px;border-bottom:1px solid #22303d}
  .kn-d a:hover,.kn-d a:focus,.kn-d a.a{background:var(--k-chrome2);color:var(--k-accent-h)}
  .kn-d a.a{box-shadow:inset 3px 0 0 var(--k-accent)}
  .kn-st{padding:11px 16px 11px 34px;border-bottom:1px solid #22303d}
  .kn-d .kn-sd a{padding-left:52px}
}



/* ==================================================================
 *  СТРАНИЦЫ. Собственные стили страниц — вынесены из их <style>.
 *  Правила с элементными селекторами (body и т.п.) остались на
 *  страницах: здесь они применились бы ко всему сайту.
 * ================================================================== */

/* -------- ГЛАВНАЯ (index_new.php) -------- */
/* Общий hero со звёздным небом: главная (.kh) и страница клана (.ch).
   Различаются только внутренними отступами — они ниже, каждый у себя. */
.kh,.ch{background:var(--k-chrome);
  background-image:url(/media/decor/moon.webp?v=1785692092),url(/media/decor/cloud.webp?v=1785692092),url(/media/decor/stars.webp?v=1785692092),linear-gradient(180deg,var(--k-chrome2) 0%,var(--k-chrome) 100%);
  background-position:right 7% top 10px,center bottom,center top,center;
  background-size:150px 150px,1920px 160px,1000px 688px,auto;
  background-repeat:no-repeat,repeat-x,repeat,no-repeat;position:relative;overflow:hidden;border-bottom:1px solid var(--k-chrome-line)}
.kh{padding:44px 0 40px}
.kh-in,.kw{max-width:1170px;margin:0 auto;padding:0 15px}
.kh-in{display:flex;align-items:center;gap:30px}
.kh-txt{flex:1 1 auto;min-width:0}
.kh-logo{flex:none;width:auto;height:235px;filter:drop-shadow(0 4px 14px rgba(0,0,0,.55))}
@media (max-width:991px){
.kh-logo{height:190px}}
.kh h1{margin:0 0 12px;font:34px/1.15 "KodgMason",Georgia,serif;letter-spacing:1px;color:#fff}
.kh h1 em{font-style:normal;color:var(--k-accent)}
.kh p{margin:0;font-size:16px;color:var(--k-chrome-muted);max-width:760px}
.kh .kh-note{margin-top:16px;font-size:13px;color:var(--k-chrome-muted2)}
.kw{padding:38px 15px 10px}
.kg{margin-bottom:36px}
.kg-h{display:flex;align-items:baseline;gap:10px;margin:0 0 4px;font:23px/1 "KodgMason",Georgia,serif;letter-spacing:.6px;color:var(--k-text)}
.kg-h .glyphicon{color:var(--k-accent);font-size:17px;top:0}
.kg-h span.n{font-size:13px;font-family:"KodgLato",Arial,sans-serif;color:var(--k-muted)}
.kg-lead{margin:0 0 16px;font-size:14px;color:var(--k-muted)}
.kc{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.k{display:flex;gap:12px;background:var(--k-panel);border:1px solid var(--k-border);border-radius:4px;padding:15px 16px;color:var(--k-text);text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s,background .15s}
.k:hover,.k:focus{border-color:var(--k-accent);background:var(--k-panel4);box-shadow:0 6px 18px rgba(0,0,0,.4);transform:translateY(-2px);text-decoration:none;color:var(--k-text)}
.k .ki{flex:none;width:38px;height:38px;border-radius:50%;background:var(--k-bg2);color:var(--k-accent);display:flex;align-items:center;justify-content:center;font-size:16px;border:1px solid var(--k-border)}
.k:hover .ki{background:var(--k-accent);color:var(--k-text);border-color:var(--k-accent)}
.k b{display:block;font-size:15px;font-weight:700;margin-bottom:2px}
.k:hover b{color:var(--k-accent-h)}
.k i{display:block;font-style:normal;font-size:13px;color:var(--k-muted);line-height:1.4}
.kprev{background:#2a3342;border-bottom:1px solid var(--k-border);color:var(--k-muted);font-size:13px;padding:9px 15px;text-align:center}
.kprev code{background:rgba(0,0,0,.35);color:#ff6b6f;padding:1px 5px;border-radius:3px}
@media (max-width:767px){
.kh-in{flex-direction:column-reverse;text-align:center;gap:18px}
.kh-logo{width:auto;height:170px}
.kh p{margin:0 auto}}
@media (max-width:600px){
.kh{padding:30px 0 28px}
.kh h1{font-size:27px}
.kc{grid-template-columns:1fr}}

/* -------- НОВОСТИ НА ГЛАВНОЙ (index.php + news_data.php) -------- */
/* Лента: слева дата, посередине «рельса» (линия + точка), справа карточка.
   Линия рисуется на .nw-rail, поэтому у последней записи просто гасится. */
/* Снизу немного: у футера свой margin-top:40px, и вместе получалась дыра
   (особенно на телефоне, где в футере остаётся одна подпись). */
.knw{padding:6px 15px 30px}
.nw{list-style:none;margin:0;padding:0}
/* у последней записи блока отступ карточки не нужен — дальше только футер.
   Список под «Показать все» лежит в <details>, его этот селектор не задевает. */
.knw > .nw:last-child .nw-i:last-child .nw-c{margin-bottom:0}
.nw-i{display:grid;grid-template-columns:106px 13px 1fr;column-gap:16px;align-items:start}
.nw-date{text-align:right;padding-top:13px;font-size:13px;line-height:1.35;color:var(--k-muted);white-space:nowrap}
.nw-date b{display:block;font-weight:700;font-size:14px;color:var(--k-text2)}
.nw-rail{position:relative;align-self:stretch}
.nw-rail:before{content:"";position:absolute;left:6px;top:22px;bottom:-6px;width:1px;background:var(--k-border)}
.nw-rail:after{content:"";position:absolute;left:0;top:14px;width:13px;height:13px;border-radius:50%;
  background:var(--k-accent);box-shadow:0 0 0 3px var(--k-bg)}
.nw-i:last-child .nw-rail:before{display:none}
/* max-width — ради длины строки: на 1170px текст новости читался бы через весь экран */
.nw-c{max-width:900px;background:var(--k-panel);border:1px solid var(--k-border);border-radius:4px;padding:14px 18px 15px;margin-bottom:14px}
.nw-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.nw-tag{font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--k-text2);
  background:var(--k-bg2);border:1px solid var(--k-border);border-radius:10px;padding:2px 9px}
.nw-new{font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:#fff;
  background:var(--k-accent);border-radius:10px;padding:2px 9px}
.nw-t{margin:0 0 7px;font:18px/1.3 "KodgMason",Georgia,serif;letter-spacing:.4px;color:var(--k-text)}
.nw-x{font-size:14px;line-height:1.6;color:var(--k-text2)}
.nw-x p{margin:0 0 8px}
.nw-x p:last-child{margin-bottom:0}
.nw-x b{color:var(--k-text)}
.nw-l{display:inline-flex;align-items:center;gap:6px;margin-top:11px;font-size:13px;font-weight:700;
  color:var(--k-text2);text-decoration:none}
.nw-l .glyphicon{font-size:11px;color:var(--k-accent);top:0}
.nw-l:hover,.nw-l:focus{color:var(--k-accent-h);text-decoration:none}
.nw-l:hover .glyphicon{color:var(--k-accent-h)}
/* «Показать все» — нативный details, без скриптов */
/* Длинная новость свёрнута: в списке видно начало, весь текст — по кнопке.
   Без скрипта, на <details>, как и «Показать все новости» ниже. */
.nw-more{font-size:14px;line-height:1.6;color:var(--k-text2)}
.nw-more > summary{list-style:none;cursor:pointer}
.nw-more > summary::-webkit-details-marker{display:none}
.nw-more .nw-teaser{display:block}
/* Открыли — начало прячем, иначе оно читается дважды */
.nw-more[open] .nw-teaser{display:none}
.nw-toggle{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;
  color:var(--k-accent)}
.nw-toggle::after{content:"Показать всё"}
.nw-more[open] .nw-toggle::after{content:"Свернуть"}
.nw-more > summary:hover .nw-toggle{color:var(--k-accent-h)}
.nw-more .nw-full{margin-top:2px}
.nw-more .nw-full p{margin:0 0 8px}
.nw-more .nw-full p:last-child{margin-bottom:0}
.nw-more .nw-full b{color:var(--k-text)}

/* Ссылка на отдельную страницу со всеми новостями — под лентой, рядом
   с «Показать все новости». */
.nw-all{display:inline-flex;align-items:center;gap:6px;margin:12px 0 0 122px;
  font-size:13px;font-weight:700;color:var(--k-text2)}
.nw-all .glyphicon{font-size:11px;color:var(--k-accent);top:0}
.nw-all:hover,.nw-all:focus{color:var(--k-accent-h);text-decoration:none}
@media (max-width:600px){.nw-all{margin-left:0}}

.nw-rest{margin-top:2px}
.nw-rest > summary{display:inline-block;cursor:pointer;list-style:none;margin-left:122px;padding:7px 14px;
  font-size:13px;color:var(--k-text2);background:var(--k-panel);border:1px solid var(--k-border);border-radius:3px}
.nw-rest > summary::-webkit-details-marker{display:none}
.nw-rest > summary:hover{border-color:var(--k-accent);color:var(--k-accent-h)}
.nw-rest > summary .n{color:var(--k-muted)}
.nw-rest[open] > summary{margin-bottom:14px}
/* На большом экране лента — обычный таймлайн сверху вниз, точки не нужны */
.nw-dots{display:none}
/* Телефон: таймлайн разбирается. Рельса с линией забирала 40px слева и зря
   сжимала текст — карточка встаёт во всю ширину, в один ритм с карточками
   сервисов выше, а точка переезжает к дате над карточкой. */
@media (max-width:600px){
  .knw{padding-bottom:10px}
  .nw-i{display:block}
  .nw-rail{display:none}
  .nw-date{display:flex;align-items:center;gap:8px;text-align:left;padding:0 0 7px}
  .nw-date:before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--k-accent)}
  .nw-date b{display:inline}
  .nw-c{max-width:none;margin-bottom:22px;padding:13px 15px 14px}
  .nw-meta{gap:7px;flex-wrap:wrap}
  .nw-t{font-size:17px;line-height:1.25}
  /* ссылка — нормальная тап-цель, а не строчка в 13px */
  .nw-l{margin-top:12px;padding:3px 0;font-size:14px}
  .nw-rest > summary{display:block;margin-left:0;text-align:center;padding:11px 14px}

  /* Новости листаются свайпом: лента с прилипанием карточек.
     Отрицательный margin гасит боковой padding блока — крайняя карточка
     доезжает до края экрана, и видно, что дальше есть ещё. */
  .nw{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
    margin:0 -15px;padding:0 15px 2px}
  .nw::-webkit-scrollbar{display:none}
  .nw-i{display:flex;flex-direction:column;flex:0 0 86%;scroll-snap-align:center}
  /* карточки в ленте одной высоты — иначе соседняя выглядывает обрубком */
  .nw-c{flex:1 1 auto;margin-bottom:0}
  .nw-dots{display:flex;justify-content:center;align-items:center;gap:7px;margin:12px 0 18px;padding:0}
  .nw-dots b{width:7px;height:7px;border-radius:50%;background:var(--k-border);
    transition:background .2s,transform .2s}
  .nw-dots b.on{background:var(--k-accent);transform:scale(1.3)}
}

/* -------- СТРАНИЦА КЛАНА (clan_index.php) -------- */
.cw{max-width:1170px;margin:0 auto;padding:0 15px}
/* шапка клана */
.ch{padding:38px 0 34px}
.ch-in{display:flex;align-items:center;gap:28px;max-width:1170px;margin:0 auto;padding:0 15px}
.ch-gerb{flex:none;width:104px;height:104px;object-fit:contain;filter:drop-shadow(0 4px 14px rgba(0,0,0,.6))}
.ch-txt{flex:1 1 auto;min-width:0}
.ch h1{margin:0 0 6px;font:34px/1.15 "KodgMason",Georgia,serif;letter-spacing:1px;color:#fff}
.ch h1 em{font-style:normal;color:var(--k-accent)}
.ch-motto{margin:0 0 4px;font-size:17px;color:#cdd7e0}
.ch-sub{margin:0;font-size:13px;color:var(--k-chrome-muted2)}
.ch-cta{flex:none;display:flex;flex-direction:column;gap:8px;align-items:stretch}
.btn-join{display:inline-block;background:var(--k-accent);color:var(--k-text);font-weight:700;padding:12px 26px;border-radius:3px;text-align:center;text-decoration:none;white-space:nowrap;transition:background .15s}
.btn-join:hover,.btn-join:focus{background:var(--k-accent-h);color:var(--k-text);text-decoration:none}
/* блоки */
.cs{padding:32px 15px 0;max-width:1170px;margin:0 auto}
.cs h2{margin:0 0 4px;font:23px/1 "KodgMason",Georgia,serif;letter-spacing:.6px;color:var(--k-text)}
.cs h2 .glyphicon{color:var(--k-accent);font-size:17px;top:0;margin-right:8px}
.cs-lead{margin:0 0 16px;font-size:14px;color:var(--k-muted)}
/* раскладка: слева характеристики, справа состав */
.ccols{display:flex;gap:22px;align-items:flex-start;min-width:0}
.ccol-main{flex:1 1 auto;min-width:0;max-width:100%}
.cb-wrap{max-width:100%;overflow-x:auto}
.ccol-side{flex:0 0 330px;max-width:330px;position:sticky;top:66px;align-self:flex-start}
.ccol-side .panel-k{max-height:calc(100vh - 90px);display:flex;flex-direction:column}
.ccol-side .panel-k > h3{flex:none}
.ccol-side .cm{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--k-border2) var(--k-bg2)}
.ccol-side .cm::-webkit-scrollbar{width:8px}
.ccol-side .cm::-webkit-scrollbar-thumb{background:var(--k-border2);border-radius:4px}
.ccol-side .cm::-webkit-scrollbar-track{background:var(--k-bg2)}
.panel-k{background:var(--k-panel2);border:1px solid var(--k-border);border-radius:5px}
.panel-k > h3{margin:0;padding:13px 18px;background:var(--k-bg2);border-bottom:1px solid var(--k-border);border-radius:5px 5px 0 0;
  font:16px/1 "KodgMason",Georgia,serif;letter-spacing:.6px;color:var(--k-text);text-transform:uppercase}
.panel-k > h3 .n{font:12px/1 "KodgLato",Arial,sans-serif;color:var(--k-muted2);margin-left:6px}
/* характеристики клана */
.cf{display:grid;grid-template-columns:1fr 1fr;gap:2px 26px;padding:16px 18px;margin:0}
.cf .row-k{display:flex;gap:8px;padding:7px 0;border-bottom:1px solid var(--k-border5)}
.cf dt{flex:none;color:var(--k-muted);font-weight:400}
.cf dd{margin:0 0 0 auto;text-align:right;font-weight:700;color:var(--k-text)}
.cf dd img{vertical-align:-2px;margin-right:5px}
.cf dd a{color:var(--k-text)}
.cf dd .u{font-weight:400;font-size:14px;color:var(--k-text2)}
.cmed{display:flex;align-items:center;gap:16px;padding:0 18px 16px;flex-wrap:wrap}
.cmed img{height:74px;width:auto;filter:drop-shadow(0 3px 10px rgba(0,0,0,.55))}
/* особенности иконками. gap:7px — так было по факту: ниже лежал ещё один
   .cp от неиспользуемого блока «история» и перебивал 8px. Блок удалён,
   значение оставлено прежним, чтобы вид не поехал; можно вернуть 8px. */
.cp{display:flex;flex-wrap:wrap;gap:7px;padding:16px 18px}
.cp i{display:block;width:54px;height:54px;background:var(--k-bg2);border:1px solid var(--k-border);border-radius:5px;
  background-size:44px 44px;background-position:center;background-repeat:no-repeat;cursor:help;transition:border-color .15s,transform .15s}
.cp i:hover{border-color:var(--k-accent);transform:translateY(-2px)}
/* состав клана списком */
.cm{list-style:none;margin:0;padding:0}
.cm li{display:flex;align-items:center;border-bottom:1px solid var(--k-border5)}
.cm li:last-child{border-bottom:0}
.cm li:hover{background:var(--k-panel5)}
/* Ник — просто текст: ссылка осталась только на иконке «инфа» (просьба 19.08) */
.cm .mrow{display:flex;align-items:center;gap:6px;flex:0 1 auto;min-width:0;padding:8px 4px 8px 16px;color:var(--k-text2)}
.cm .nm{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm .lv{font-size:13px;color:var(--k-muted)}
.cm .boss{margin-left:auto;padding-right:16px;font-size:11px;color:var(--k-lead);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.cm .ld .nm{color:var(--k-lead)}
.cm .al{width:12px;height:15px;flex:none}
.cm .kl{width:24px;height:15px;flex:none;image-rendering:pixelated}
/* «инфа» — игровая иконка inf.gif (12×11), как в самой игре; раньше был синий квадратик с буквой i */
.cm .minf{flex:none;margin-right:auto;line-height:0;text-decoration:none}
.cm .minf img,.cf dd.pers .minf img{width:12px;height:11px;vertical-align:middle;position:relative;top:-1px}
.cm .minf:hover,.cf dd.pers .minf:hover{opacity:.75}
.cf dd.pers{display:flex;align-items:center;justify-content:flex-end}
.cf dd.pers .mrow{display:flex;align-items:center;gap:6px;padding:0;color:var(--k-text)}
.cf dd.pers .nm{font-weight:700;color:var(--k-lead)}
.cf dd.pers .lv{font-weight:400;color:var(--k-text2)}
.cf dd.pers .al{width:12px;height:15px}
.cf dd.pers .kl{width:24px;height:15px;image-rendering:pixelated}
.cf dd.pers .minf{margin-left:6px;line-height:0;text-decoration:none}
.ktag{display:inline-flex;align-items:center;gap:3px}
.ktag img{width:24px;height:15px;image-rendering:pixelated;vertical-align:middle}
/* памятные бои */
.cb{width:100%;border-collapse:collapse;background:var(--k-tbl);border:1px solid var(--k-border2);border-radius:4px;overflow:hidden}
.cb th{background:var(--k-bg2);color:var(--k-text);text-align:left;padding:10px;font-size:13px;border-bottom:2px solid var(--k-border3)}
.cb td{padding:9px 10px;border-top:1px solid var(--k-border2);vertical-align:middle}
.cb tr:nth-child(even) td{background:var(--k-tbl2)}
.cb tr:hover td{background:var(--k-tblhover)}
.cb a{color:var(--k-text2)}
.cb a:hover{color:var(--k-accent-h)}
.cb .win{color:var(--k-good);font-weight:700}
.cb .lose{color:var(--k-bad);font-weight:700}
.cb .dt{color:var(--k-text2);white-space:nowrap}
.cb .tm{color:var(--k-text3)}
.btn-more{margin-top:12px;background:var(--k-panel2);border:1px solid var(--k-border2);border-radius:3px;color:var(--k-text2);
  padding:9px 20px;font:14px/1 "KodgLato",Arial,sans-serif;cursor:pointer;transition:border-color .15s,background .15s}
.btn-more:hover{background:var(--k-panel5);border-color:var(--k-accent);color:var(--k-text)}
.btn-more span{color:var(--k-muted);font-size:13px}
/* история */
.cstory p{max-width:820px;color:var(--k-text2)}
.cstory p:first-child::first-letter{float:left;font:46px/1 "KodgMason",Georgia,serif;color:var(--k-accent);margin:2px 10px 0 0}
.cnote{margin:26px 0 0;font-size:12px;color:var(--k-muted2)}
.pk-modal{position:fixed;inset:0;z-index:1050;background:rgba(10,15,20,.72);display:flex;align-items:center;justify-content:center;padding:20px}
.pk-modal[hidden]{display:none}
.pk-box{position:relative;max-width:460px;width:100%;background:var(--k-panel);border:1px solid var(--k-border2);border-radius:6px;
  box-shadow:0 12px 40px rgba(0,0,0,.6);padding:22px 24px}
.pk-close{position:absolute;top:8px;right:12px;background:none;border:0;color:var(--k-muted);font-size:26px;line-height:1;cursor:pointer}
.pk-close:hover{color:var(--k-accent-h)}
.pk-head{display:flex;gap:14px;align-items:center}
.pk-head img{width:56px;height:56px;flex:none;background:var(--k-bg2);border:1px solid var(--k-border);border-radius:5px}
.pk-kind{font-size:12px;color:var(--k-muted);text-transform:uppercase;letter-spacing:.4px}
.pk-box h4{margin:2px 0 3px;font:19px/1.2 "KodgMason",Georgia,serif;color:var(--k-text)}
.pk-lvl{font-size:13px;color:var(--k-gold)}
.cwarn{background:var(--k-panel3);border:1px solid var(--k-border2);border-radius:4px;padding:10px 14px;color:var(--k-text);font-size:13px;margin-bottom:16px}
@media (max-width:991px){
.ccols{flex-direction:column}
.ccol-side{flex:1 1 auto;max-width:none;width:100%;position:static}
.ccol-side .panel-k{max-height:none}}
@media (max-width:600px){
.cf{grid-template-columns:1fr}}
@media (max-width:767px){
.ch-in{flex-direction:column;text-align:center;gap:16px}
.ch-cta{width:100%}
.cs{padding-top:24px}}

/* -------- УСТАВ (rule_index.php) -------- */
/* ------------------------------------------------------------------ *
	 *  Устав клана. Палитра — общие переменные --k-* из menu.php
	 *  (работают в обеих темах). Вёрстка mobile-first.
	 * ------------------------------------------------------------------ */
	/* Шапка — во всю ширину экрана, без отступов контейнера. */
	.rl-hero,.jn-hero{position:relative;margin:0 0 22px;padding:34px 18px 30px;overflow:hidden;
		background:#1a2430 url('/media/decor/stars.webp') repeat;color:#f4f7fa;text-align:center}
.rl-hero-in{max-width:1170px;margin:0 auto}
.rl-hero::before,.jn-hero::before{content:"";position:absolute;inset:0;
		background:url('/media/decor/moon.webp') no-repeat right 6% top 10%/90px auto,
		           url('/media/decor/cloud.webp') repeat-x left bottom/auto 70px,
		           linear-gradient(180deg,rgba(26,36,48,.25),rgba(26,36,48,.9));opacity:.9}
.rl-hero>*,.jn-hero>*{position:relative}
.rl-hero h1{margin:0 0 10px;font-family:"KodgMason",Georgia,serif;font-size:30px;letter-spacing:.5px;color:#fff;
		text-shadow:0 2px 10px rgba(0,0,0,.6)}
.rl-rev{display:inline-block;padding:4px 12px;border:1px solid rgba(255,255,255,.35);border-radius:20px;
		font-size:13px;color:#e6ebf2;background:rgba(0,0,0,.25)}
.rl-hero .rl-sub{margin:12px 0 0;font-size:13px;color:#b9c4d1}
.rl-hero .rl-sub a{color:#ffd24a}
.rl-warn{margin-bottom:18px}
/* Оглавление: на телефоне — сворачиваемое, на десктопе — липкая колонка */
	.rl-toc{margin:0 0 20px;border:1px solid var(--k-border);border-radius:8px;background:var(--k-panel);overflow:hidden}
.rl-toc>summary{padding:12px 16px;cursor:pointer;font-weight:600;color:var(--k-text);list-style:none;user-select:none}
.rl-toc>summary::-webkit-details-marker{display:none}
.rl-toc>summary::after{content:"\e114";font-family:'Glyphicons Halflings';float:right;font-size:11px;opacity:.7}
.rl-toc[open]>summary::after{content:"\e113"}
.rl-toc ol{margin:0;padding:0 10px 10px;list-style:none;counter-reset:toc}
.rl-toc li{counter-increment:toc}
.rl-toc a{display:block;padding:8px 10px;border-radius:5px;color:var(--k-text2);text-decoration:none;font-size:14px;line-height:1.35}
.rl-toc a::before{content:counter(toc) ".";display:inline-block;min-width:22px;color:var(--k-gold);font-weight:600}
.rl-toc a:hover,.rl-toc a:focus{background:var(--k-panel4);color:var(--k-text);text-decoration:none}
.rl-toc a.on{background:var(--k-panel4);color:var(--k-text);box-shadow:inset 3px 0 0 var(--k-accent)}
/* Разделы */
	.rl-sec{margin:0 0 16px;border:1px solid var(--k-border);border-radius:8px;background:var(--k-panel);
		scroll-margin-top:74px;overflow:hidden}
.rl-sec>h2{display:flex;align-items:center;gap:12px;margin:0;padding:14px 16px;
		border-bottom:1px solid var(--k-border);background:var(--k-panel6);
		font-family:"KodgMason",Georgia,serif;font-size:19px;line-height:1.25;color:var(--k-text)}
.rl-no{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
		border-radius:50%;background:var(--k-accent);color:#fff;font-family:Arial,sans-serif;font-size:15px;font-weight:700}
.rl-body{padding:6px 16px 14px}
.rl-item{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--k-border5)}
.rl-item:last-child{border-bottom:none}
.rl-p{flex:0 0 auto;min-width:38px;color:var(--k-gold);font-weight:700;font-size:14px;line-height:1.6}
.rl-t{flex:1 1 auto;min-width:0;color:var(--k-text);line-height:1.6;overflow-wrap:break-word}
.rl-t a{text-decoration:underline}
/* Подпункты: короткие — плитками, длинные — списком */
	.rl-chips{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 2px;padding:0;list-style:none}
.rl-chips li{padding:4px 10px;border:1px solid var(--k-border2);border-radius:14px;
		background:var(--k-panel4);color:var(--k-text2);font-size:13px}
.rl-list{margin:8px 0 2px;padding:0;list-style:none}
.rl-list li{position:relative;padding:3px 0 3px 18px;color:var(--k-text2);line-height:1.55}
.rl-list li::before{content:"";position:absolute;left:3px;top:12px;width:6px;height:6px;border-radius:50%;background:var(--k-accent)}
.rl-foot{margin:18px 0 30px;text-align:center}
.rl-cta{display:inline-block;padding:10px 22px;border-radius:5px;background:var(--k-accent);color:#fff !important;
		text-decoration:none;font-weight:600}
.rl-cta:hover,.rl-cta:focus{background:var(--k-accent-h);color:#fff;text-decoration:none}
#rl-top{position:fixed;right:14px;bottom:14px;z-index:900;display:none;width:42px;height:42px;border:none;border-radius:50%;
		background:rgba(34,38,43,.9);color:#fff;font-size:16px;box-shadow:0 2px 10px rgba(0,0,0,.35)}
#rl-top:active{background:var(--k-accent)}
@media (min-width:768px){
.rl-hero{padding:46px 30px 40px}
.rl-hero h1{font-size:40px}
.rl-hero::before{background-size:130px auto,auto 90px,auto}
.rl-sec>h2{font-size:22px;padding:16px 20px}
.rl-body{padding:8px 20px 16px}
.rl-p{min-width:46px}}
@media (min-width:992px){
.rl-wrap{display:flex;align-items:flex-start;gap:26px}
.rl-aside{flex:0 0 262px;position:sticky;top:70px;max-height:calc(100vh - 90px);overflow:auto}
.rl-main{flex:1 1 auto;min-width:0}
.rl-toc{margin:0}
.rl-toc>summary{cursor:default}
.rl-toc>summary::after{display:none}}
@media print{
.kn,.kf,.rl-aside,#rl-top,.rl-cta{display:none !important}
.rl-hero{background:none;color:#000;padding:0 0 12px}
.rl-hero h1{color:#000;text-shadow:none}
.rl-sec{border-color:#999;break-inside:avoid}
.rl-sec>h2{background:none;color:#000}
.rl-no{background:none;color:#000;border:1px solid #000}}

/* -------- АНКЕТА ВСТУПЛЕНИЯ (join_index.php) -------- */
/* Оформление в гамме сайта (переменные --k-* приходят из menu.php, работают в обеих темах). */
	.jn-hero{position:relative;margin:0 0 22px;padding:34px 18px 30px;overflow:hidden;
		background:#1a2430 url('/media/decor/stars.webp') repeat;color:#f4f7fa;text-align:center}
.jn-hero h1{margin:0 0 10px;font-family:"KodgMason",Georgia,serif;font-size:30px;color:#fff;
		text-shadow:0 2px 10px rgba(0,0,0,.6)}
.jn-hero p{margin:0;font-size:14px;color:#c3cdd9}
.jn-hero a{color:var(--k-gold)}
.jn-wrap{max-width:760px;margin:0 auto 30px}
.jn-block{margin:0 0 16px;border:1px solid var(--k-border);border-radius:8px;background:var(--k-panel);overflow:hidden}
.jn-block>h2{margin:0;padding:13px 16px;border-bottom:1px solid var(--k-border);background:var(--k-panel6);
		font-family:"KodgMason",Georgia,serif;font-size:19px;color:var(--k-text)}
.jn-body{padding:4px 16px 14px}
.jn-q{padding:13px 0;border-bottom:1px solid var(--k-border5)}
.jn-q:last-child{border-bottom:none}
.jn-q>label,.jn-lbl{display:block;margin:0 0 8px;color:var(--k-text);line-height:1.5;font-weight:400}
.jn-req{color:var(--k-accent)}
.jn-hint{display:block;margin:2px 0 8px;color:var(--k-muted);font-size:13px}
.jn-err{display:block;margin-top:6px;color:var(--k-accent);font-size:13px}
.jn-q.bad{background:rgba(236,7,7,.06);border-radius:6px;padding-left:10px;padding-right:10px}
.jn-in{width:100%;padding:9px 12px;border:1px solid var(--k-border2);border-radius:5px;
		background:var(--k-bg2);color:var(--k-text);font-size:15px}
.jn-in:focus{outline:none;border-color:var(--k-accent)}
/* Сетка часов «дни × время»: клетки — те же кнопки, что «Да / Нет», только мельче */
.jn-hr-row{display:flex;align-items:flex-start;gap:12px;margin:0 0 8px}
.jn-hr-d{flex:none;width:76px;padding-top:8px;color:var(--k-text2);font-size:14px}
.jn-seg.jn-hr-seg{flex:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.jn-seg.jn-hr-seg label,.jn-seg.jn-hr-seg span{display:block}
.jn-seg.jn-hr-seg span{min-width:0;padding:8px 2px;font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.jn-hr-seg .hot span{border-color:var(--k-accent)}
.jn-hr-seg span i{font-style:normal;margin-left:3px;color:#f0b400}
.jn-hr-seg input:checked+span i{color:#fff}
.jn-hr-note{margin-top:4px;font-size:14px}
@media (max-width:600px){ .jn-hr-row{display:block} .jn-hr-d{display:block;width:auto;padding:0 0 6px}
  .jn-seg.jn-hr-seg{grid-template-columns:repeat(4,minmax(0,1fr))} }
/* «Логин в БК»: подсказка ников из базы (список — общий с отзывами) */
.jn-ch{position:relative}
.jn-ch .rv-sug{left:0;right:0}
.rv-sug li.on{background:var(--k-panel3)}
.rv-sug li.none{color:var(--k-muted);cursor:default}
.rv-sug li.none:hover{background:none}
textarea.jn-in{min-height:88px;resize:vertical}
/* Да / Нет — сегментированные кнопки, удобные пальцем */
	.jn-seg{display:flex;flex-wrap:wrap;gap:8px}
.jn-seg input{position:absolute;opacity:0;width:0;height:0}
.jn-seg span{display:inline-block;min-width:84px;padding:9px 18px;border:1px solid var(--k-border2);border-radius:6px;
		background:var(--k-panel4);color:var(--k-text2);text-align:center;cursor:pointer;user-select:none}
.jn-seg label{margin:0;font-weight:400}
.jn-seg input:checked+span{background:var(--k-accent);border-color:var(--k-accent);color:#fff}
.jn-seg input:focus+span{border-color:var(--k-accent)}
/* Шкала 1–10 */
	.jn-scale{display:flex;flex-wrap:wrap;gap:6px}
.jn-scale span{min-width:40px;padding:8px 0}
.jn-ends{display:flex;justify-content:space-between;margin-top:6px;color:var(--k-muted);font-size:12px}
.jn-send{display:block;width:100%;padding:13px;border:none;border-radius:6px;background:var(--k-accent);color:#fff;
		font-size:16px;font-weight:600}
.jn-send:hover,.jn-send:focus{background:var(--k-accent-h);color:#fff}
.jn-send[disabled]{opacity:.6}
.jn-note{margin:10px 0 0;color:var(--k-muted);font-size:13px;text-align:center}
.jn-done{max-width:640px;margin:0 auto 40px;padding:26px 20px;border:1px solid var(--k-border);border-radius:8px;
		background:var(--k-panel);text-align:center;color:var(--k-text)}
.jn-done h2{margin:0 0 10px;font-family:"KodgMason",Georgia,serif;color:var(--k-text)}
.jn-done p{color:var(--k-text2);line-height:1.6}
.jn-me{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;font-size:15px}
.jn-me-x{font-size:13px;margin-left:auto}
.jn-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (min-width:768px){
.jn-hero{padding:46px 30px 40px}
.jn-hero h1{font-size:38px}
.jn-hero::before{background-size:130px auto,auto 90px,auto}
.jn-body{padding:6px 20px 16px}
.jn-send{width:auto;min-width:260px;margin:0 auto}}

/* -------- ГАЙД ПО ПРОКАЧКЕ (new_index.php) -------- */
/* Guide custom styles — light theme with Bootstrap blue accents */
.guide-wrap {
    /* боковые 15px — как у обычного .container: без них минусовые поля .row
       вылезают за экран и на телефоне появляется горизонтальный скролл */
    padding: 20px 15px 60px;
    color: #333;
}
.guide-wrap h1 {
    color: #337ab7;
    font-size: 28px;
    margin-bottom: 5px;
}
.guide-wrap .lead {
    color: #666;
    font-size: 15px;
}
.guide-wrap .panel {
    background: #fff;
    border-color: #ddd;
    margin-bottom: 4px;
}
.guide-wrap .panel-heading {
    background: #f0f4f8 !important;
    border-color: #ddd;
    padding: 0;
}
.guide-wrap .panel-heading a {
    display: block;
    padding: 12px 18px;
    color: #337ab7;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    position: relative;
}
.guide-wrap .panel-heading a:hover {
    color: #23527c;
    background: #e8eff6;
}
.guide-wrap .panel-heading a .glyphicon {
    margin-right: 8px;
}
.guide-wrap .panel-heading a .caret-icon {
    float: right;
    transition: transform 0.25s ease;
    margin-top: 4px;
}
.guide-wrap .panel-heading a.collapsed .caret-icon {
    transform: rotate(-90deg);
}
.guide-wrap .panel-body {
    background: #fff;
    color: #333;
    border-top: 1px solid #e8e8e8 !important;
    padding: 18px 22px;
}
.guide-wrap .panel-body ul {
    padding-left: 20px;
    margin-bottom: 10px;
}
.guide-wrap .panel-body li {
    margin-bottom: 5px;
    line-height: 1.55;
}
.guide-wrap .panel-body h4 {
    color: #337ab7;
    margin: 16px 0 8px;
    font-size: 15px;
}
.guide-wrap .panel-body h4:first-child {
    margin-top: 0;
}
.guide-wrap .alert {
    border-radius: 3px;
}
.guide-wrap .table > thead > tr > th {
    border-bottom-color: #ccc;
    color: #337ab7;
}
/* TOC sidebar */
#guide-toc {
    background: #f8f9fa;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 14px 16px;
}
#guide-toc .toc-title {
    color: #337ab7;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
#guide-toc ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
#guide-toc li {
    margin-bottom: 4px;
}
#guide-toc a {
    color: #555;
    font-size: 13px;
    text-decoration: none;
    display: block;
    padding: 3px 8px;
    border-radius: 3px;
    transition: background 0.15s, color 0.15s;
}
#guide-toc a:hover,
#guide-toc a.active {
    background: #e8eff6;
    color: #337ab7;
}
/* Back to top */
#back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 44px;
    height: 44px;
    background: #337ab7;
    color: #fff;
    border: none;
    border-radius: 50%;
    font-size: 20px;
    cursor: pointer;
    display: none;
    z-index: 1000;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    transition: opacity 0.2s;
}
#back-to-top:hover {
    background: #286090;
}
/* Collapse transition */
.panel-collapse {
    transition: height 0.3s ease;
}
/* Credits */
.guide-credits {
    background: #f8f9fa;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 16px 20px;
    margin-top: 30px;
    color: #777;
    font-size: 13px;
}
.guide-credits strong {
    color: #555;
}
/* Оглавление-раскрывашка: на телефоне свёрнуто, на десктопе всегда открыто */
#guide-toc > summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
    outline: none;
}
#guide-toc > summary::-webkit-details-marker { display: none; }
#guide-toc > summary::after {
    content: "\e114";
    font-family: 'Glyphicons Halflings';
    float: right;
    font-size: 10px;
    opacity: .7;
}
#guide-toc[open] > summary::after { content: "\e113"; }
/* Responsive TOC */
@media (max-width: 991px) {
    #guide-toc-col {
        margin-bottom: 20px;
    }
    #guide-toc {
        position: static !important;
    }
    #guide-toc > summary { margin-bottom: 0; }
    #guide-toc[open] > summary { margin-bottom: 10px; }
}
@media (min-width: 992px) {
#guide-toc > summary { cursor: default; }
#guide-toc > summary::after { display: none; }}
/* Оглавление держится у верха, пока идёт текст гайда, и останавливается вместе
   с колонкой. Раньше это делал Bootstrap Affix (position:fixed) без нижней
   границы — оглавление уезжало на футер и на блок отзывов.
   Строка переведена на flex: у плавающей колонки высота была равна самому
   оглавлению, и прилипать ему было негде. Смещения push/pull при этом гасим —
   порядок колонок задаёт order. */
@media (min-width: 992px) {
.guide-wrap > .row {
        display: flex;
        flex-wrap: wrap;
    }
.guide-wrap > .row > .col-md-push-9 { left: auto; order: 2; }
.guide-wrap > .row > .col-md-pull-3 { right: auto; order: 1; }
#guide-toc {
        position: sticky;
        top: 66px;          /* высота прилипшей шапки плюс воздух */
    }}
/* Expand all / Collapse all buttons */
.guide-controls {
    margin-bottom: 15px;
}
.guide-controls .btn {
    background: #f0f4f8;
    border-color: #ccc;
    color: #555;
    font-size: 12px;
}
.guide-controls .btn:hover {
    background: #e8eff6;
    color: #337ab7;
}

/* Смысловые цвета для НАШЕЙ разметки — вместо инлайновых style="color:…".
   Значения те же, что и у правил [style*=…] ниже, поэтому вид не меняется.
   Правила [style*=…] остаются: они красят чужое — тексты из БД, описания
   лотов и куски страниц combats, где инлайновый стиль нам не переписать. */
.k-good{color:var(--k-good)}
/* «Плохо» — красный, а не розовый: прежний #ffd6d8 имел светлоту 92 %,
   то есть был почти белым с красноватым отливом. #ff6b6b — настоящий
   красный (насыщенность 100 %), при этом контраст 5,25 к фону и 4,65
   к панели: и то и другое выше нормы 4,5 для текста. Темнее брать
   нельзя — на панелях контраст уходит ниже нормы. */
.k-bad{color:var(--k-bad)}
/* «Предупреждение» — жёлто-золотой. Прежний #ffdfae был почти белым (светлота
   84 %) и на тёмном фоне читался как грязноватый песок; промежуточный #ffb35c
   ушёл в оранжевый, и в светлой теме его тёмная пара выглядела коричневой.
   ⚠️ В светлой теме жёлтый упирается в физику: чтобы текст на белом читался,
   нужна яркость не выше ~18 %, а жёлтый на такой яркости — это уже горчица.
   ⚠️ В светлой теме стоит `#e0ae00` — жёлтый по прямому выбору
   пользователя. Контраст к фону 1,9 при норме 4,5 для текста и 3,0 для значка,
   то есть надпись этим цветом на белом почти не читается. Так и задумано:
   цвет используется на квадратике-легенде и на редких инлайновых «оранжевых»
   строках, и владельцу сайта важнее сам тон. Если понадобится читаемость —
   не затемнять цвет, а класть тёмную надпись на жёлтую подложку. */
.k-warn{color:var(--k-warn)}

/* Значок семёрки сезона — клан входит в ТОП-7 своего пантеона (`Kodg\TopClans`).
   Именно значок, а не надпись: рядом уже стоят эмблема клана и знак пантеона,
   и слово «TOP» в этом ряду читалось как ещё одно название. Кубок — ссылка на
   саму таблицу сезона, подсказка объясняет, за что он. Подчёркивание снято и
   в разметке тоже: в лёгкой версии сайта своего css нет. */
.k-top{display:inline-block;font-size:16px;line-height:1;
  vertical-align:baseline;text-decoration:none;cursor:help;
  transition:transform .12s ease}
.k-top:hover,.k-top:focus{text-decoration:none;transform:scale(1.25)}

/* ---------- Подсказки (.k-tip) ----------
   Своя всплывашка вместо системной подписи браузера: та появляется через
   секунду, обрывает длинный текст и не умеет выделять первую строку.
   Рисуем не псевдоэлементом у самой иконки, а отдельным блоком в конце
   страницы — таблицы лежат в контейнерах с прокруткой, и всё, что торчит
   за их границы, обрезалось бы. Показывает /media/js/kodg.js, он же убирает
   у таких элементов title, чтобы браузер не рисовал вторую подсказку поверх.
   ⚠️ Тот же блок есть в kodg-lite.css: у лёгкой версии свой базовый файл. */
.k-tipbox{
	position:fixed;z-index:2000;max-width:min(340px, calc(100vw - 24px));
	padding:9px 12px;border-radius:6px;
	background:#141c26;border:1px solid rgba(255,255,255,.16);color:#e8edf3;
	font:12.5px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
	white-space:pre-line;text-align:left;
	box-shadow:0 10px 26px rgba(0,0,0,.5);
	opacity:0;visibility:hidden;transition:opacity .12s;pointer-events:none;
}
.k-tipbox.on{opacity:1;visibility:visible}
/* Первая строка — что за бой: выделяем цветом темы */
.k-tipbox b{display:block;margin-bottom:3px;color:#f0c674;font-weight:600}
.k-tip{cursor:help}


.k-purple{color:var(--k-purple)}
.k-info{color:var(--k-info)}

/* ============ ТЕМА (поверх Bootstrap 3) ============ */
:root{
  /* Акцент бренда. Одинаков в обеих темах — поэтому отдельными переменными,
     а не через --k-*, которые в светлой теме переопределяются. */
  --k-accent:#ec0707; --k-accent-h:#ff292f;
  /* «Хром» — шапка, футер и hero: они тёмные В ОБЕИХ темах.
     ⚠️ НЕ переопределять в html[data-theme="light"], иначе шапка побелеет. */
  --k-chrome:#1b2835; --k-chrome2:#243342; --k-chrome-line:#485464;
  --k-chrome-text:#f4f7fa; --k-chrome-muted:#9ca1b2; --k-chrome-muted2:#6f7a86;

  --k-bg:#202a34; --k-bg2:#1b2835; --k-panel:#243342; --k-panel2:#2b3b4d; --k-panel3:#33475c;
  --k-panel4:#2c3d4e; --k-panel5:#374a5e; --k-panel6:#22303e;
  --k-border:#485464; --k-border2:#5c7189; --k-border3:#6b8099; --k-border4:#37485c; --k-border5:#3a4b5f;
  --k-text:#f4f7fa; --k-text2:#cdd7e0; --k-text3:#d6dee7; --k-muted:#9ca1b2; --k-muted2:#6f7a86;
  --k-tbl:#44586c; --k-tbl2:#3d5064; --k-tblhover:#32455a;
  --k-head-bg:#1b2835; --k-head-text:#ffffff; --k-strong:#ffffff;
  --k-good:#d3f4dc; --k-bad:#ff6b6b; --k-warn:#ffcc66; --k-info:#8fc0e6; --k-gold:#ffd24a; --k-purple:#dcb9ff; --k-lead:#ffd24a; --k-badge:#5c7189;
  --k-link:#9cc7ff;   /* ссылка в таблицах и тексте: заметно светлее и синее обычного текста */
  --k-hov-success:rgba(24,104,56,.55); --k-hov-warning:rgba(150,112,20,.55); --k-hov-danger:rgba(150,34,34,.55);
  --k-hov-active:rgba(90,110,140,.35); --k-hov-info:rgba(36,94,150,.35);
  --k-alert-info:#1e3245; --k-alert-info-b:#2f5675; --k-alert-info-t:#cfe0ee;
}
/* Светлая тема — включается переключателем в шапке (шапка и футер остаются тёмными). */
html[data-theme="light"]{
  --k-bg:#f1f4f8; --k-bg2:#ffffff; --k-panel:#ffffff; --k-panel2:#ffffff; --k-panel3:#eef2f7;
  --k-panel4:#e9eef5; --k-panel5:#dde5ef; --k-panel6:#f5f7fa;
  --k-border:#d3dae3; --k-border2:#c2ccd8; --k-border3:#aab6c5; --k-border4:#e1e6ec; --k-border5:#e6eaf0;
  --k-text:#1f2833; --k-text2:#39465a; --k-text3:#44526a; --k-muted:#5c6879; --k-muted2:#6b7686;
  --k-tbl:#ffffff; --k-tbl2:#f2f5f9; --k-tblhover:#e4eaf2;
  --k-head-bg:#dde4ee; --k-head-text:#17202b; --k-strong:#101820;
  --k-good:#1c7a44; --k-bad:#b02a2a; --k-warn:#e0ae00; --k-info:#1b5e8f; --k-gold:#b45309; --k-purple:#6b3fa0; --k-lead:#c40606; --k-badge:#5a6b80;
  --k-link:#1c5aa8;   /* ссылка в таблицах и тексте */
  --k-hov-success:rgba(46,160,90,.45); --k-hov-warning:rgba(214,168,44,.48); --k-hov-danger:rgba(206,62,62,.38);
  --k-hov-active:rgba(120,140,170,.08); --k-hov-info:rgba(58,124,190,.30);
  --k-alert-info:#e8f1fb; --k-alert-info-b:#b8d3ec; --k-alert-info-t:#22384d;
}
body{background:var(--k-bg) !important;color:var(--k-text);font-family:"KodgLato","Helvetica Neue",Helvetica,Arial,sans-serif}
a{color:var(--k-text2)}
/* При наведении ссылка меняет цвет, а не подчёркивается: в плотных таблицах
   (локатор, рейтинги) подчёркивание дёргает строку и читается хуже цвета. */
a:hover,a:focus{color:var(--k-accent-h);text-decoration:none}
/* рамка фокуса — только для клавиатуры (Tab), не после клика мышью */
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:0}
h1,h2,h3,h4,h5,h6{color:var(--k-text)}
h1,h2,h3{font-family:"KodgMason",Georgia,serif;letter-spacing:.5px}
hr{border-top-color:var(--k-border)}
.page-header{border-bottom-color:var(--k-border)}
small,.small,.text-muted{color:var(--k-muted)}
legend{color:var(--k-text);border-bottom-color:var(--k-border)}
code{background:var(--k-bg2);color:#ff8a8d;border:1px solid var(--k-border)}
pre{background:var(--k-bg2);border-color:var(--k-border);color:var(--k-text2)}
blockquote{border-left-color:var(--k-border);color:var(--k-text2)}
label{color:var(--k-text2);font-weight:400}
/* Таблицы заметно светлее фона страницы: так читаются и как отдельный блок,
   и тёмные клановые эмблемы combats на них не тонут. */
.table{color:var(--k-text);background:var(--k-tbl)}
thead>tr>th,.table>thead>tr>th,.table tr>th{background:var(--k-head-bg);color:var(--k-head-text);border-bottom:2px solid var(--k-border3);font-weight:700}
.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{border-top-color:var(--k-border2)}
.table-bordered,.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border-color:var(--k-border2)}
.table-striped>tbody>tr:nth-of-type(odd),.table-striped>tbody>tr:nth-of-type(odd)>td{background:var(--k-tbl2)}

/* Мобильные «карточки» таблиц (mobile-cards.css): подписи полей и белый фон строк
   заданы под светлую вёрстку — приводим к теме. */
@media (max-width:767px){
  .table-cards-mobile td:before,.table-cards-mobile td::before{color:var(--k-text2) !important}
  .table>tbody>tr:not([class]),.table-cards-mobile tbody tr:not([class]){background-color:var(--k-tbl) !important}
  .table-cards-mobile tbody tr:not([class])>td{background-color:transparent !important}
}
/* Зебра карточек аукциона (.color1/.color2 в auction/media/css/styles.css):
   один из цветов — чистый белый, на тёмной теме получалась белая полоса. */
tr.color1,tr.color1>td,tr.color1>th{background-color:var(--k-tbl) !important}
tr.color2,tr.color2>td,tr.color2>th{background-color:var(--k-tbl2) !important}
/* контекстные классы BS3 — вешаются и на tr, и на td/th, и в таблицах без класса .table */
tr.active>td,tr.active>th,td.active,th.active{background-color:rgba(120,140,170,.22) !important}
tr.success>td,tr.success>th,td.success,th.success{background-color:rgba(46,160,90,.30) !important}
tr.danger>td,tr.danger>th,td.danger,th.danger{background-color:rgba(206,62,62,.30) !important}
tr.warning>td,tr.warning>th,td.warning,th.warning{background-color:rgba(214,168,44,.30) !important}
tr.info>td,tr.info>th,td.info,th.info{background-color:rgba(58,124,190,.22) !important}
/* Цвет ячейки важнее цвета строки: на /clans/ строка покрашена зоной клана
   (tr.warning), а ячейка «Начато» — красным за 4 КС. Без этого tr.warning>td
   перебивал td.danger, и красное проступало только под курсором. */
tbody>tr>td.success{background-color:rgba(46,160,90,.30) !important}
tbody>tr>td.danger{background-color:rgba(206,62,62,.30) !important}
tbody>tr>td.warning{background-color:rgba(214,168,44,.30) !important}
tbody>tr>td.info{background-color:rgba(58,124,190,.22) !important}
/* На ЗАГОЛОВОЧНЫХ ячейках контекстные классы используются как разделитель секции
   (например «Склонность:» в /raiting/seasons/) — там цвет не смысловой, гасим в нейтральный.
   На строках данных (tr.success и т.п. в /clans/, /locator/) цвет смысловой — остаётся. */
th.success,th.info,th.warning,th.danger,th.active,
tr.success>th,tr.info>th,tr.warning>th,tr.danger>th,tr.active>th{background-color:var(--k-panel3) !important;color:var(--k-text);border-color:var(--k-border2)}
.bg-info{background-color:rgba(58,124,190,.22) !important}
.bg-success{background-color:rgba(46,160,90,.30) !important}
.bg-warning{background-color:rgba(214,168,44,.30) !important}
.bg-danger{background-color:rgba(206,62,62,.30) !important}
.text-success{color:var(--k-good) !important}
.text-danger{color:var(--k-bad) !important}
.text-warning{color:var(--k-warn) !important}
.text-info{color:var(--k-info) !important}
.text-primary{color:var(--k-info) !important}
.table-responsive{border-color:var(--k-border)}
/* читаемость: зебра, воздух в ячейках, липкая шапка под фикс-меню */
.table>tbody>tr>td,.table>tbody>tr>th{padding:9px 10px;vertical-align:middle;line-height:1.5}
.table>tbody>tr:nth-of-type(even),.table>tbody>tr:nth-of-type(even)>td{background:var(--k-tbl2)}
/* Наведение: BS3 красит САМ tr (#f5f5f5), поэтому переопределяем и tr, и ячейки,
   иначе при прозрачной ячейке строка становится белой (было на /raiting/clans/). */
.table>tbody>tr:hover,.table>tbody>tr:hover>td,.table>tbody>tr:hover>th,
.table-hover>tbody>tr:hover,.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th,
tr.active:hover>td,tr.active:hover>th,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th{background-color:var(--k-hov-active) !important;color:var(--k-text)}
tr.info:hover>td,tr.info:hover>th,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th{background-color:var(--k-hov-info) !important;color:var(--k-text)}
/* цветные строки при наведении темнеют в СВОЙ цвет, а не в общий синий */
tr.success:hover>td,tr.success:hover>th,td.success:hover,th.success:hover,
.table>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th{background-color:var(--k-hov-success) !important;color:var(--k-text)}
tr.warning:hover>td,tr.warning:hover>th,td.warning:hover,th.warning:hover,
.table>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th{background-color:var(--k-hov-warning) !important;color:var(--k-text)}
tr.danger:hover>td,tr.danger:hover>th,td.danger:hover,th.danger:hover,
.table>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th{background-color:var(--k-hov-danger) !important;color:var(--k-text)}
/* То же самое для строк, покрашенных не классом строки (tr.success), а фоновым
   классом bg-success/bg-danger/bg-info: так сделан локатор. Без этих правил
   общий наведённый цвет перекрывал их, и зелёная строка под курсором серела. */
tr.bg-success:hover>td,tr.bg-success:hover>th,td.bg-success:hover,th.bg-success:hover,
.table>tbody>tr.bg-success:hover>td,.table-hover>tbody>tr.bg-success:hover>td{background-color:var(--k-hov-success) !important;color:var(--k-text)}
tr.bg-warning:hover>td,tr.bg-warning:hover>th,td.bg-warning:hover,th.bg-warning:hover,
.table>tbody>tr.bg-warning:hover>td,.table-hover>tbody>tr.bg-warning:hover>td{background-color:var(--k-hov-warning) !important;color:var(--k-text)}
tr.bg-danger:hover>td,tr.bg-danger:hover>th,td.bg-danger:hover,th.bg-danger:hover,
.table>tbody>tr.bg-danger:hover>td,.table-hover>tbody>tr.bg-danger:hover>td{background-color:var(--k-hov-danger) !important;color:var(--k-text)}
tr.bg-info:hover>td,tr.bg-info:hover>th,td.bg-info:hover,th.bg-info:hover,
.table>tbody>tr.bg-info:hover>td,.table-hover>tbody>tr.bg-info:hover>td{background-color:var(--k-hov-info) !important;color:var(--k-text)}
/* Цвет задан не строке, а самой ячейке (<td class="warning">) — так собран
   анализатор чарок. При наведении на строку бутстрап перекрашивал такую ячейку
   своим светлым #faf2cc, и жёлтое с зелёным выцветали. Здесь те же полутона,
   что у строк выше: цвет остаётся своим, только темнее. */
.table-hover>tbody>tr:hover>td.success,.table-hover>tbody>tr:hover>th.success,
.table-hover>tbody>tr:hover>.success{background-color:var(--k-hov-success) !important;color:var(--k-text)}
.table-hover>tbody>tr:hover>td.warning,.table-hover>tbody>tr:hover>th.warning,
.table-hover>tbody>tr:hover>.warning{background-color:var(--k-hov-warning) !important;color:var(--k-text)}
.table-hover>tbody>tr:hover>td.danger,.table-hover>tbody>tr:hover>th.danger,
.table-hover>tbody>tr:hover>.danger{background-color:var(--k-hov-danger) !important;color:var(--k-text)}
.table-hover>tbody>tr:hover>td.info,.table-hover>tbody>tr:hover>th.info,
.table-hover>tbody>tr:hover>.info{background-color:var(--k-hov-info) !important;color:var(--k-text)}
.table-hover>tbody>tr:hover>td.active,.table-hover>tbody>tr:hover>th.active,
.table-hover>tbody>tr:hover>.active{background-color:var(--k-hov-active) !important;color:var(--k-text)}
.table>thead>tr>th{padding:10px}
/* Внутри светлых таблиц поднимаем цвета текста: значения ниже подобраны по замеру
   контраста на фоне строк var(--k-tbl)/var(--k-tbl2) (норма 4.5). */
.table td,.table th{color:var(--k-text)}
.table small,.table .small,.table .text-muted,.table u,.table td font[color]{color:var(--k-text3) !important}
/* Статусы лотов красим адресно (по тексту, класс вешает kodgCleanup), а не общим
   правилом по инлайновому цвету — иначе перекрашивался весь красный/зелёный текст в таблицах. */
.table span.kodg-st,.kodg-st{font-weight:700}
.table span.kodg-st-sell,.kodg-st-sell{color:var(--k-gold) !important}   /* Продается — жёлтый */
.table span.kodg-st-unsold,.kodg-st-unsold{color:var(--k-bad) !important} /* Не продан — красный */
.table span.kodg-st-sold,.kodg-st-sold{color:var(--k-good) !important}   /* Продан — зелёный */
.table span.kodg-st-buyout,.kodg-st-buyout{color:var(--k-info) !important} /* Выкуплен — синий */
.table [style*="color: purple"],.table [style*="color:purple"]{color:var(--k-purple) !important}
.table [style*="color: #8ac"]{color:var(--k-info) !important}
.table .dsc > i > a:nth-child(2) > b{color:#b3b3f2}
.table .dsc > i > a:nth-child(3) > b{color:#f0c078}
/* Ссылку в таблице должно быть видно: цвет текста и цвет ссылки раньше почти
   совпадали (--k-text2), и «Описание» на локаторе читалось как обычная надпись.
   Подчёркивания намеренно нет — при наведении ссылка меняет цвет. */
.table a{color:var(--k-link)}
.table a:hover,.table a:focus{color:var(--k-accent-h);text-decoration:none}
/* Приглушённый текст ВНУТРИ ссылки красится вместе с ней — и в покое, и при
   наведении. Ссылка «Описание» на локаторе набрана как <a><small>…</small></a>,
   а выше у `.table small` задан свой цвет с !important: без этого правила
   ссылка оставалась серой, как обычная надпись, и наведение ничего не меняло. */
.table a small,.table a .small,.table a .text-muted{color:inherit !important}
.table td b,.table td strong{color:var(--k-strong)}
/* панели, врезки */
.panel{background:var(--k-panel);border-color:var(--k-border);box-shadow:none}
.panel-default,.panel-primary,.panel-info,.panel-warning,.panel-success,.panel-danger{border-color:var(--k-border)}
.panel-default>.panel-heading,.panel-primary>.panel-heading,.panel-info>.panel-heading,
.panel-warning>.panel-heading,.panel-success>.panel-heading,.panel-danger>.panel-heading{background:var(--k-head-bg);color:var(--k-head-text);border-color:var(--k-border)}
.panel-default>.panel-heading .badge,.panel-primary>.panel-heading .badge,.panel-info>.panel-heading .badge,
.panel-warning>.panel-heading .badge,.panel-success>.panel-heading .badge,.panel-danger>.panel-heading .badge,
.panel-heading .badge,.panel-title .badge{background-color:var(--k-badge);color:#fff}
/* заметка в карточке персонажа (комментарий) — выводится через .alert-danger,
   но это не ошибка; класс вешает kodgCleanup, настоящие ошибки остаются красными */
.kodg-note{background:var(--k-panel3) !important;border-color:var(--k-border2) !important;color:var(--k-text) !important}
.panel-title,.panel-title a{color:var(--k-head-text)}
/* аккордеон: строки должны читаться как отдельные элементы.
   На /auction/history/sales/ все строки лежат ВНУТРИ одной панели
   (.panel > .panel-heading + .panel-collapse ×N), поэтому разделяем сами заголовки. */
.panel-group .panel{border:1px solid var(--k-border);border-radius:3px}
.panel-group .panel+.panel{margin-top:6px}
.panel-group .panel>.panel-heading{border-top:1px solid var(--k-border);border-bottom:0;transition:background .12s}
.panel-group .panel>.panel-heading:first-child{border-top:0}
.panel-group .panel>.panel-heading:hover{background:var(--k-panel2)}
.panel-group .panel>.panel-heading:hover .panel-title{color:var(--k-accent-h)}
.panel-group .panel>.panel-collapse>.panel-body{border-top:1px solid var(--k-border);background:var(--k-panel6)}
.panel-group .panel>.panel-collapse.in+.panel-heading{border-top-color:#56697f}
.panel-footer{background:var(--k-bg2);border-color:var(--k-border);color:var(--k-muted)}
.well,.jumbotron{background:var(--k-bg2);border-color:var(--k-border);color:var(--k-text);box-shadow:none}
.thumbnail{background:var(--k-panel);border-color:var(--k-border)}
.list-group-item{background:var(--k-panel);border-color:var(--k-border);color:var(--k-text)}
.list-group-item:hover{background:var(--k-panel4)}
/* формы */
.form-control{background:var(--k-bg2);border-color:var(--k-border);color:var(--k-text);box-shadow:none}
.form-control:focus{background:var(--k-bg2);border-color:var(--k-accent);box-shadow:none;color:var(--k-text)}
.form-control[disabled],.form-control[readonly]{background:var(--k-panel6);color:var(--k-muted)}
.form-control::-webkit-input-placeholder{color:var(--k-muted2)}
.form-control::placeholder{color:var(--k-muted2)}
input,select,textarea{color-scheme:dark}
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{color-scheme:light}
.input-group-addon{background:var(--k-panel4);border-color:var(--k-border);color:var(--k-text2)}
.help-block{color:var(--k-muted)}
/* кнопки */
.btn-default{background:var(--k-panel4);border-color:var(--k-border);color:var(--k-text);text-shadow:none}
.btn-default:hover,.btn-default:focus,.btn-default:active{background:var(--k-panel5);border-color:var(--k-accent);color:var(--k-text)}
.btn-primary{background:var(--k-accent);border-color:#c40606;color:#fff;text-shadow:none;background-image:none}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background:var(--k-accent-h);border-color:var(--k-accent);color:#fff}
.btn-link{color:var(--k-text2)}
.btn-link:hover{color:var(--k-accent-h)}
/* сообщения */
.alert{border-radius:3px}
.alert-info{background:var(--k-alert-info);border-color:var(--k-alert-info-b);color:var(--k-alert-info-t)}
.alert-success{background:#1e3b2c;border-color:#2f6b4b;color:#cfeadc}
.alert-warning{background:#3b3320;border-color:#6b5c2f;color:#efe3c2}
.alert-danger{background:#3d2126;border-color:#7a2b32;color:#f3cfd2}
.alert a,.alert .alert-link{color:var(--k-gold);text-decoration:underline}
.alert a:hover,.alert a:focus{color:var(--k-accent-h)}
/* в комментариях персонажей встречается легаси <font color="blue"> внутри ссылки —
   он перебивает цвет <a>, поэтому гасим его в пользу цвета ссылки */
.alert font[color],.alert a font,.alert a b,.alert a u{color:inherit !important}
/* навигация внутри страниц */
.nav-tabs{border-bottom-color:var(--k-border)}
.nav-tabs>li>a{color:var(--k-text2);border-color:transparent}
.nav-tabs>li>a:hover{background:var(--k-panel4);border-color:var(--k-border)}
.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{background:var(--k-panel);border-color:var(--k-border) var(--k-border) transparent;color:var(--k-text)}
.nav-pills>li.active>a,.nav-pills>li.active>a:hover{background:var(--k-accent);color:#fff}
.nav>li>a:hover,.nav>li>a:focus{background:var(--k-panel4)}
.pagination>li>a,.pagination>li>span{background:var(--k-panel);border-color:var(--k-border);color:var(--k-text2)}
.pagination>li>a:hover{background:var(--k-panel4);border-color:var(--k-border);color:var(--k-accent-h)}
.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover{background:var(--k-accent);border-color:var(--k-accent);color:#fff}
.pagination>.disabled>span,.pagination>.disabled>a{background:var(--k-bg2);border-color:var(--k-border);color:var(--k-muted2)}
.breadcrumb{background:var(--k-bg2)}
.dropdown-menu{background:var(--k-bg2);border-color:var(--k-border)}
.dropdown-menu>li>a{color:var(--k-text2)}
.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background:var(--k-panel);color:var(--k-accent-h)}
.modal-content{background:var(--k-panel);border-color:var(--k-border)}
.modal-header,.modal-footer{border-color:var(--k-border)}
.close{color:var(--k-text);text-shadow:none;opacity:.6}
.close:hover{color:var(--k-accent-h);opacity:1}
.progress{background:var(--k-bg2);box-shadow:none}
/* Подсказки (подписи к подаркам): цвет текста ОБЯЗАТЕЛЬНО свой — у Bootstrap он белый,
   а фон мы перекрасили в светлый, и в светлой теме подпись становилась белым по белому. */
.tooltip-inner{background:var(--k-bg2);border:1px solid var(--k-border);color:var(--k-text)}
.tooltip.in{opacity:1}
.tooltip.top .tooltip-arrow{border-top-color:var(--k-border)}
.tooltip.bottom .tooltip-arrow{border-bottom-color:var(--k-border)}
.tooltip.left .tooltip-arrow{border-left-color:var(--k-border)}
.tooltip.right .tooltip-arrow{border-right-color:var(--k-border)}
.popover{background:var(--k-panel);border-color:var(--k-border);color:var(--k-text)}
/* плагины: chosen, jquery-ui */
/* chosen: в открытом состоянии поверх фона рисуется светлый градиент — гасим, иначе белый текст на белом */
.chosen-container-single .chosen-single,.chosen-container-multi .chosen-choices,
.chosen-container-active.chosen-with-drop .chosen-single{background:var(--k-bg2) !important;background-image:none !important;border-color:var(--k-border);color:var(--k-text);box-shadow:none}
.chosen-container-active .chosen-single,.chosen-container-active.chosen-with-drop .chosen-single{border-color:var(--k-accent)}
.chosen-container-single .chosen-single span{color:var(--k-text)}
.chosen-container-single .chosen-single abbr{filter:invert(1) brightness(1.5)}
.chosen-container .chosen-drop{background:var(--k-bg2);border-color:var(--k-border)}
.chosen-container .chosen-results li{color:var(--k-text2)}
.chosen-container .chosen-results li.highlighted{background:#a3141a;color:#fff;background-image:none}
.chosen-container .chosen-results li.result-selected{color:#ff8a8d}
.chosen-container .chosen-results li.no-results{background:var(--k-panel);color:var(--k-muted)}
.chosen-container .chosen-search input[type="text"]{background-color:var(--k-panel);border-color:var(--k-border);color:var(--k-text)}
.chosen-container-single .chosen-single div b{filter:invert(1) brightness(1.6)}
.ui-widget-content{background:var(--k-panel);border-color:var(--k-border);color:var(--k-text)}
.ui-widget-header{background:var(--k-bg2);border-color:var(--k-border);color:#fff}
.ui-datepicker td a,.ui-state-default{background:var(--k-panel4) !important;border-color:var(--k-border) !important;color:var(--k-text) !important}
.ui-state-hover,.ui-state-active{background:var(--k-accent) !important;border-color:var(--k-accent) !important;color:#fff !important}
/* инлайн-стили в легаси-разметке: светлые заливки и цветные пометки под тёмный фон */
[style*="background-color: #eaeaea"]{background-color:var(--k-panel4) !important;color:var(--k-text)}
[style*="color: green"],[style*="color:green"]{color:var(--k-good) !important}
[style*="color: red"],[style*="color:red"]{color:var(--k-bad) !important}
[style*="color: orange"],[style*="color:orange"]{color:var(--k-warn) !important}
[style*="color: purple"],[style*="color:purple"]{color:var(--k-purple) !important}
[style*="color:#8ac"]{color:var(--k-info) !important}
.dsc > i > a:nth-child(2) > b{color:#8f8fe0}
.dsc > i > a:nth-child(3) > b{color:#e0a24d}
.btn-info{background:#2c5670;border-color:#3a6d8c;background-image:none;text-shadow:none}
.btn-info:hover,.btn-info:focus{background:#356887;border-color:#4a83a6}
.btn-success{background:#2f5d7a;border-color:#3f7799;background-image:none;text-shadow:none;color:#fff}
.btn-success:hover,.btn-success:focus,.btn-success:active{background:#3a7196;border-color:#4d8cb0;color:#fff}
/* блок «Рейтинг наставников» из info.php и кнопки шаринга — убраны из шапки страниц */
[style*="border: 1px dotted #a0a0a0"]{display:none !important}
.ya-share2{display:none !important}
/* Клановые иконки combats — прозрачные GIF с тёмными пикселями, нарисованы под светлый
   фон игры. Плашку под них не ставим: вместо этого светлее сделан фон таблиц (см. выше). */
/* Эмблема клана стоит по базовой линии, как и остальные картинки строки.
   Было vertical-align:middle — и она поднималась на четыре пикселя выше
   значка склонности рядом, хотя обе картинки одной высоты. */
img[src*="/i/klan/"]{vertical-align:baseline}
/* подсветки в описаниях лотов (инлайн из combats): жёлтый маркер и rgba-заливки */
/* ⚠️ :not([style*="border-radius"]) — иначе правило попадает в цветные точки-индикаторы
   зоны клана (<span style="background-color: yellow;…;border-radius:50%" title="В какой зоне у клана">) */
[style*="background-color: yellow"]:not([style*="border-radius"]),
[style*="background-color:yellow"]:not([style*="border-radius"]){background-color:rgba(255,209,71,.16) !important;color:#ffd147 !important;padding:0 4px;border-radius:2px}
/* .kodg-solid — сплошные тёмные заливки из описаний лотов (срок годности на #b70f00):
   класс вешает kodgCleanup, стиль берём отсюда же, чтобы не заводить второе правило.
   В светлой теме ниже переопределяется только rgba-вариант: под сплошной тёмной
   заливкой белый текст нужен в обеих темах. */
[style*="background-color: rgba"],.kodg-hl,.kodg-solid{color:#fff !important;padding:0 3px;border-radius:2px;text-shadow:0 1px 1px rgba(0,0,0,.55)}
/* /new/ — у гайда своя светлая тема в inline-<style>, перебиваем теми же селекторами */
.guide-wrap{color:var(--k-text)}
.guide-wrap h1{color:var(--k-text)}
.guide-wrap .lead{color:var(--k-muted)}
.guide-wrap .panel{background:var(--k-panel);border-color:var(--k-border)}
.guide-wrap .panel-heading{background:var(--k-bg2) !important;border-color:var(--k-border)}
.guide-wrap .panel-heading a{color:var(--k-head-text)}
.guide-wrap .panel-heading a:hover{background:var(--k-panel4);color:var(--k-accent-h)}
.guide-wrap .panel-body{background:var(--k-panel);color:var(--k-text);border-top-color:var(--k-border4) !important}
.guide-wrap .panel-body h4{color:#ff5f63}
.guide-wrap .table>thead>tr>th{color:var(--k-head-text);border-bottom-color:var(--k-border)}
#guide-toc{background:var(--k-bg2);border-color:var(--k-border)}
#guide-toc.affix{top:72px !important}/* липкое оглавление — ниже фикс-шапки */
#guide-toc .toc-title{color:var(--k-text)}
#guide-toc a{color:var(--k-muted)}
#guide-toc a:hover,#guide-toc a.active{background:var(--k-panel);color:var(--k-accent-h)}
#back-to-top{background:var(--k-accent);box-shadow:0 2px 10px rgba(0,0,0,.5)}
#back-to-top:hover{background:var(--k-accent-h)}
.guide-credits{background:var(--k-bg2);border-color:var(--k-border);color:var(--k-muted)}
.guide-credits strong{color:var(--k-text2)}
.guide-controls .btn{background:var(--k-panel4);border-color:var(--k-border);color:var(--k-text)}
.guide-controls .btn:hover{background:var(--k-panel5);color:var(--k-accent-h)}
/* --- поправки под светлую тему (шапка/футер/небо остаются тёмными) --- */
html[data-theme="light"] .alert-success{background:#e6f4ea;border-color:#b7dfc4;color:#1c5c33}
html[data-theme="light"] .alert-warning{background:#fdf3d8;border-color:#e8d49a;color:#6b5200}
html[data-theme="light"] .alert-danger{background:#fbe6e6;border-color:#eab6b6;color:#8a1f1f}
html[data-theme="light"] .alert-success a,html[data-theme="light"] .alert-warning a,
html[data-theme="light"] .alert-danger a,html[data-theme="light"] .alert-info a{color:inherit;font-weight:700}
html[data-theme="light"] [style*="background-color: rgba"],
html[data-theme="light"] .kodg-hl{color:#17212b !important;text-shadow:none}
html[data-theme="light"] [style*="background-color: yellow"]:not([style*="border-radius"]),
html[data-theme="light"] [style*="background-color:yellow"]:not([style*="border-radius"]){background-color:rgba(214,168,44,.35) !important;color:#5f4600 !important}
html[data-theme="light"] .highcharts-background{fill:var(--k-panel)}
html[data-theme="light"] .highcharts-title,html[data-theme="light"] .highcharts-subtitle,
html[data-theme="light"] .highcharts-axis-title,html[data-theme="light"] .highcharts-axis-labels text,
html[data-theme="light"] .highcharts-legend-item text,html[data-theme="light"] .highcharts-data-labels text{fill:var(--k-text2) !important;color:var(--k-text2) !important}
html[data-theme="light"] .highcharts-grid-line{stroke:#dde3ea}
html[data-theme="light"] .highcharts-axis-line,html[data-theme="light"] .highcharts-tick{stroke:#c3ccd8}
html[data-theme="light"] img[src*="/i/klan/"]{background:none}
/* графики Highcharts */
.highcharts-background{fill:var(--k-panel)}
.highcharts-title,.highcharts-subtitle,.highcharts-axis-title,.highcharts-axis-labels text,.highcharts-legend-item text,.highcharts-data-labels text{fill:var(--k-text2) !important;color:var(--k-text2) !important}
.highcharts-grid-line{stroke:var(--k-border4)}
.highcharts-axis-line,.highcharts-tick{stroke:var(--k-border)}
.highcharts-container{border-radius:3px}

/* ==================== ФУТЕР ==================== */
.kf{position:relative;overflow:hidden;background:var(--k-chrome);border-top:2px solid var(--k-accent);color:var(--k-chrome-muted);font:14px/1.5 "KodgLato","Helvetica Neue",Helvetica,Arial,sans-serif;margin-top:40px;clear:both}
/* декор футера в духе dev.kodg.ru: дерево слева, рыцарь справа, приглушённые */
.kf{min-height:330px;background-image:linear-gradient(180deg,rgba(27,40,53,.88) 0%,rgba(27,40,53,.55) 55%,rgba(27,40,53,.75) 100%),url("/media/decor/footerbg.webp?v=1785692092");
  background-position:center top,center bottom;background-size:auto,cover;background-repeat:no-repeat,no-repeat}
/* дерево слева и рыцарь справа — как на dev.kodg.ru */
.kf::before,.kf::after{content:"";position:absolute;bottom:0;pointer-events:none;background-repeat:no-repeat}
.kf::before{left:0;width:340px;height:100%;opacity:.75;background-image:url("/media/decor/tree.webp?v=1785689239");background-size:auto 100%;background-position:left bottom}
.kf::after{right:4%;width:100%;height:100%;opacity:.85;background-image:url("/media/decor/knight.webp?v=1785689239");background-size:auto 96%;background-position:right bottom}
.kf-in{position:relative;z-index:1}
.kf *{box-sizing:border-box}
.kf a{text-decoration:none}
.kf-in{max-width:1170px;margin:0 auto;padding:30px 15px 22px}
.kf-cols{display:flex;flex-wrap:wrap;gap:26px}
.kf-c{flex:1 1 200px;min-width:170px}
.kf-c h4{margin:0 0 11px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85);font:16px/1 "KodgMason",Georgia,serif;letter-spacing:.5px;text-transform:none;padding:0;border:0}
.kf-c ul{list-style:none;margin:0;padding:0}
.kf-c li{margin-bottom:6px}
.kf-c a{color:#c3ccd6;font-size:13px;text-shadow:0 1px 3px rgba(0,0,0,.85)}
.kf-c a:hover,.kf-c a:focus{color:var(--k-accent-h);text-decoration:none}
.kf-c a.a{color:#fff;font-weight:700;padding-left:9px;margin-left:-9px;box-shadow:inset 2px 0 0 var(--k-accent)}
.kf-bot{text-shadow:0 1px 3px rgba(0,0,0,.85);display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px;padding-top:16px;border-top:1px solid #2c3d4e;font-size:12px;color:var(--k-chrome-muted2)}
.kf-brand{display:flex;align-items:center;gap:8px;color:#fff;font:17px/1 "KodgMason",Georgia,serif;letter-spacing:.7px}
.kf-brand:hover,.kf-brand:focus{color:var(--k-accent-h);text-decoration:none}
.kf-sp{margin-left:auto}
.kf-bot a{color:#8b949e}
.kf-bot a:hover{color:var(--k-accent-h)}
/* Сердечко у ссылки поддержки: мелкое и приглушённое — это метка,
   а не призыв. Красным становится только под курсором. */
.kf-heart .glyphicon{font-size:11px;top:1px;margin-right:3px;opacity:.8}
.kf-heart:hover .glyphicon{color:var(--k-accent-h);opacity:1}
/* на телефонах в футере оставляем только подпись — ссылки есть в шапке-бургере */
@media (max-width:767px){
  .kf-cols{display:none}
  .kf::before,.kf::after{display:none}
  .kf{min-height:0;background-image:none;background:var(--k-chrome)}
  .kf-in{padding:18px 15px}
  .kf-bot{margin-top:0;padding-top:0;border-top:0}
  .kf-sp{margin-left:0;width:100%}
}

/* -------- ОТЗЫВЫ О РЕСУРСЕ (/reviews/) -------- */
/* Страница на бутстраповской вёрстке, как остальные внутренние: здесь только
   то, чего в бутстрапе нет, — звёзды, подсказка ников и карточка отзыва.
   Цвета берём из переменных темы, иначе в тёмной теме карточки останутся белыми. */
.rv-form{margin-bottom:10px}
.rv-form .form-group{position:relative}
/* подсказка ников: выпадает под полем, ник берётся только отсюда */
.rv-sug{display:none;position:absolute;z-index:20;left:15px;right:15px;margin:2px 0 0;padding:0;
  max-height:260px;overflow:auto;list-style:none;background:var(--k-panel);
  border:1px solid var(--k-border);border-radius:3px;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.rv-sug li{padding:7px 12px;cursor:pointer;font-size:14px;color:var(--k-text)}
.rv-sug li:hover{background:var(--k-panel3)}
/* звёзды-переключатели: разметка идёт справа налево, поэтому «~» красит соседей слева */
.rv-rate{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;font-size:26px}
.rv-rate input{position:absolute;opacity:0;width:0;height:0}
.rv-rate label{margin:0;cursor:pointer;color:var(--k-border);line-height:1}
.rv-rate label:hover,.rv-rate label:hover ~ label,
.rv-rate input:checked ~ label{color:#f0ad4e}
.rv-rate input:focus-visible + label{outline:2px solid var(--k-accent);outline-offset:2px}
/* поле-ловушка для роботов: не display:none — часть ботов такие поля пропускает */
.rv-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* карточка отзыва */
.rv-i{padding:14px 16px;margin-bottom:14px;background:var(--k-panel);
  border:1px solid var(--k-border);border-radius:4px}
.rv-h{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:8px}
.rv-h b{font-size:15px;color:var(--k-text)}
.rv-meta{color:var(--k-muted);font-size:13px}
.rv-stars{color:#f0ad4e;font-size:12px;letter-spacing:1px}
.rv-i p{margin:0 0 6px;color:var(--k-text2)}
.rv-i p b{color:var(--k-text)}
.rv-reply{margin-top:10px;padding:10px 12px;background:var(--k-panel3);
  border-left:3px solid var(--k-accent);border-radius:0 3px 3px 0;color:var(--k-text2)}
@media (max-width:600px){
  .rv-rate{font-size:30px}
  .rv-i{padding:12px 13px}
}

/* Подтверждение персонажа: код виден крупно — его переносят в анкету руками */
.rv-verify ol{margin:8px 0 12px 18px;padding:0}
.rv-verify li{margin-bottom:6px}
.rv-code{font-size:17px;font-weight:700;letter-spacing:1px;padding:3px 8px;user-select:all}

/* -------- БЛОК «ОСТАВИТЬ ОТЗЫВ» -------- */
/* Заменил просьбу «лайкните топик на форуме», которая была вписана в текст
   полутора десятков страниц. Собирается в menu.php, поэтому есть везде.
   Это контентная карточка в общей ширине страницы — как карточки сервисов
   на главной, — а не часть футера: у футера свой тёмный фон с рисунком. */
.kf-cta{max-width:1170px;margin:36px auto 0;padding:0 15px}
.kf-cta-in{display:flex;align-items:center;gap:16px;padding:16px 20px;
  background:var(--k-panel);border:1px solid var(--k-border);border-radius:4px}
.kf-cta-i{flex:none;display:flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:50%;background:var(--k-bg2);border:1px solid var(--k-border);
  color:var(--k-accent);font-size:15px;top:0}
.kf-cta-t{flex:1 1 auto;min-width:0}
.kf-cta-t b{display:block;margin-bottom:2px;font-size:15px;font-weight:700;color:var(--k-text)}
.kf-cta-t i{font-style:normal;font-size:13px;line-height:1.45;color:var(--k-muted)}
.kf-cta-b{flex:none;display:inline-block;padding:9px 20px;border-radius:3px;background:var(--k-accent);
  color:#fff;font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap;transition:background .15s}
.kf-cta-b:hover,.kf-cta-b:focus{background:var(--k-accent-h);color:#fff;text-decoration:none}
.kc-guide{margin:4px 0 24px}


/* Хлебные крошки над заголовком страницы (Kodg\Schema::visible) — та же цепочка,
   что в разметке BreadcrumbList. */
.kbc{margin:0 0 6px;font-size:13px;line-height:1.5;color:var(--k-muted)}
.kbc a{color:var(--k-muted);text-decoration:none}
.kbc a:hover,.kbc a:focus{color:var(--k-link);text-decoration:underline}
.kbc i{font-style:normal;margin:0 7px;opacity:.7}
.kbc span{color:var(--k-text2)}
/* На тёмных шапках страниц клана (звёздный фон в обеих темах) — светлая строка */
.ch .kbc,.rl-hero .kbc,.jn-hero .kbc{color:rgba(255,255,255,.55)}
.ch .kbc a,.rl-hero .kbc a,.jn-hero .kbc a{color:rgba(255,255,255,.72)}
.ch .kbc a:hover,.rl-hero .kbc a:hover,.jn-hero .kbc a:hover{color:#fff}
.ch .kbc span,.rl-hero .kbc span,.jn-hero .kbc span{color:rgba(255,255,255,.9)}

/* Частые вопросы страницы (Kodg\Faq) — над плакатом и полосой отзывов.
   Ответ раскрывается щелчком по вопросу; текст в разметке есть целиком. */
.kfq{max-width:1170px;margin:36px auto 0;padding:0 15px}
.kfq-in{background:var(--k-panel);border:1px solid var(--k-border);border-radius:4px;padding:14px 20px 8px}
.kfq-h{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--k-text)}
.kfq-i{border-top:1px solid var(--k-border4)}
.kfq-i summary{position:relative;list-style:none;cursor:pointer;padding:11px 26px 11px 0;
  font-size:15px;font-weight:600;line-height:1.4;color:var(--k-text)}
.kfq-i summary::-webkit-details-marker{display:none}
.kfq-i summary:after{content:"+";position:absolute;right:2px;top:9px;font-size:20px;font-weight:400;
  line-height:1;color:var(--k-muted)}
.kfq-i[open] summary:after{content:"\2212"}
.kfq-i summary:hover{color:var(--k-link)}
.kfq-a{padding:0 0 13px;font-size:14px;line-height:1.55;color:var(--k-text2)}
.kfq-a a{color:var(--k-link)}
@media (max-width:600px){
  .kfq{margin-top:26px}
  .kfq-in{padding:12px 15px 6px}
}
@media (max-width:600px){
  .kf-cta{margin-top:26px}
  .kf-cta-in{flex-wrap:wrap;gap:12px;padding:14px 15px}
  .kf-cta-t{flex:1 1 180px}
  .kf-cta-b{flex:1 1 100%;text-align:center;padding:11px 20px}
}

/* Оценка отзыва: палец вверх, счёт, палец вниз. Итог зелёный при плюсе,
   красный при минусе. Проголосовавшему кнопки гаснут — голос не меняется. */
.rv-v{display:flex;align-items:center;gap:6px;margin-left:auto}
.rv-v-b{border:1px solid var(--k-border);background:var(--k-panel3);color:var(--k-muted);
  border-radius:3px;padding:3px 9px;line-height:1;cursor:pointer;transition:color .15s,border-color .15s}
.rv-v-b .glyphicon{top:1px;font-size:12px}
.rv-v-b:hover{border-color:var(--k-accent);color:var(--k-accent)}
.rv-v-b.on{border-color:var(--k-accent);color:var(--k-accent);background:var(--k-panel4)}
.rv-v.voted .rv-v-b{cursor:default}
.rv-v.voted .rv-v-b:not(.on){opacity:.45}
.rv-v.guest .rv-v-b{opacity:.6}
.rv-m{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;padding:16px}
.rv-m.on{display:flex}
.rv-m-box{background:var(--k-panel,#fff);color:var(--k-text,#333);border-radius:8px;width:100%;max-width:600px;box-shadow:0 10px 40px rgba(0,0,0,.35);overflow:hidden}
.rv-m-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--k-border,#ddd)}
.rv-m-x{border:0;background:none;font-size:24px;line-height:1;color:inherit;opacity:.6;cursor:pointer;padding:0 4px}
.rv-m-x:hover{opacity:1}
.rv-m iframe{display:block;width:100%;height:min(560px,calc(100vh - 110px));border:0;background:transparent}
.rv-v.voted .rv-v-b:hover:not(.on){border-color:var(--k-border);color:var(--k-muted)}
.rv-v.busy{opacity:.6}
.rv-v-n{min-width:26px;text-align:center;font-weight:700;font-size:14px;
  font-variant-numeric:tabular-nums;color:var(--k-muted)}
.rv-v-n.up{color:var(--k-good)}
.rv-v-n.down{color:var(--k-bad)}
.rv-v-msg{font-size:12px;color:var(--k-muted)}
@media (max-width:600px){
  /* На телефоне шапка переносится в несколько строк, и оценки уезжали отдельной
     строкой. Ставим их в угол карточки, а шапке освобождаем под них место. */
  .rv-i{position:relative}
  .rv-h{padding-right:112px}
  .rv-v{position:absolute;top:12px;right:13px;margin:0;gap:4px}
  .rv-v-b{padding:4px 8px}
  .rv-v-n{min-width:20px}
  .rv-v-msg{position:absolute;top:38px;right:0;white-space:nowrap}
}

/* ---------- Волна Командного излома (.k-wave) ----------
   Показывается везде, где выводится бой: в списках, в окне боёв, в истории
   и на карточке персонажа. Поэтому лежит в базовом файле, а не в стилях
   одной страницы. Цвет — тот же, которым по всему сайту помечен излом.
   ⚠️ Тот же блок есть в kodg-lite.css: у лёгкой версии свой базовый файл. */
.k-wave{display:inline-block;padding:0 6px;border-radius:9px;
	border:1px solid var(--k-border, #ddd);background:var(--k-panel3, #f7f7f7);
	color:var(--k-purple, #6b3fa0);font-size:12px;line-height:17px;white-space:nowrap;cursor:help}

/* ---------- Сколько раз клан за сутки стоял в защите (.k-rkv) ----------
   Считаются вызовы и Командные изломы, сражения и Клан-Лига — нет.
   Красным помечен клан, которому в текущие сутки вызов кинуть уже нельзя:
   норму в два боя он выбрал. */
.k-rkv{display:inline-block;margin-left:4px;padding:0 6px;border-radius:9px;
	border:1px solid var(--k-border, #ddd);background:var(--k-panel3, #f7f7f7);
	color:var(--k-text2, #444);font-size:12px;line-height:17px;white-space:nowrap;cursor:help}
.k-rkv-hot{border-color:var(--k-bad, #b02a2a);color:var(--k-bad, #b02a2a);font-weight:700}
/* Неявка: заявка была, боя не случилось */
.k-rkv-miss{color:var(--k-warn, #e0ae00);cursor:help}
/* Непрочитанные сообщения: число на значке входа и у пункта «Сообщения» */
.kn-theme{position:relative}
.kn-msg-n{display:inline-block;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:#d9534f;color:#fff;font-size:11px;font-weight:700;line-height:17px;text-align:center}
.kn-msg-n[hidden]{display:none}
.kn-theme .kn-msg-n{position:absolute;top:-7px;right:-8px;box-shadow:0 0 0 2px var(--k-chrome)}
.kn-pop-d .kn-msg-n{margin-left:auto}

/* Поля даты и времени на телефоне. Safari на iPhone (и Chrome там же — тот же
   движок) рисует их своим виджетом с собственной минимальной шириной: width:100%
   из Bootstrap не действует, и поле вылезает из колонки. Снимаем родной вид и
   минимальную ширину; значение — по левому краю, как у обычных полей. */
input[type=date],input[type=datetime-local],input[type=month],input[type=time],input[type=week]{max-width:100%;min-width:0;box-sizing:border-box}
input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control,input[type=week].form-control{-webkit-appearance:none;appearance:none}
input[type=date]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-date-and-time-value,input[type=month]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left;min-height:1.4em}

/* Быстрый выбор периода в рейтингах («текущий сезон», «текущая неделя»): в подписи поля
   ссылки были цвета текста и не читались как ссылки */
.k-period{display:inline-block;margin-left:6px;padding:0 9px;border:1px solid var(--k-accent,#c40606);border-radius:11px;color:var(--k-accent,#c40606);font-weight:400;line-height:20px;text-decoration:none}
.k-period:hover,.k-period:focus{background:var(--k-accent,#c40606);color:#fff;text-decoration:none}
.k-period.on{background:var(--k-accent,#c40606);color:#fff}

/* /clans/: потрачены все 4 нападения недели — цифра «Начато» в обводке.
   Сплошная заливка была слишком яркой: здесь тонкая тёмно-красная рамка и
   лёгкий фон, рамку видно и на красной строке зоны. */
.k-spent{display:inline-block;min-width:20px;padding:0 5px;border:1px solid var(--k-bad,#b00000);border-radius:10px;background:rgba(176,0,0,.10);font-weight:700;line-height:18px;text-align:center}
.k-spent a,.k-spent a:hover,.k-spent a:focus{color:var(--k-bad,#b00000) !important;text-decoration:none;border:0}

/* Значок «Спиритическая связь» у ника тачки (Kodg\Drivers::badge, вариант Е3) */
.k-eye{display:inline-block;vertical-align:-3px;margin-left:2px;line-height:0;cursor:help;text-decoration:none;border:0}
a.k-eye{cursor:pointer}
.k-eye svg{display:block}
