/* ==========================================================================
   «Рельсы и пушки» — тема сайта поверх UIkit 3.25
   --------------------------------------------------------------------------
   Подключается после css/uikit.min.css. Весь CSS сайта — только в этом файле.
   Порядок разделов:
     1. Шрифты и токены           7. Компоненты UIkit: кнопки, метки, карточки,
     2. База (поверх UIkit)          крошки, пагинация, вкладки, аккордеон,
     3. Секции, контейнер, утилиты   таблица, формы, лайтбокс, уведомления
     4. Типографика               8. Блоки сайта (панели, герой, юниты, босс…)
     5. Шапка, меню, offcanvas    9. Форум
     6. Подвал, «наверх», cookie  10. Вход и регистрация
                                  11. Формы-страницы, пресс-кит, юр. тексты
                                  12. Поддержать игру
                                  13. Адаптив, печать
   Классы uk-* — компоненты UIkit (перекрашены здесь), остальные — блоки сайта
   в духе BEM: .block, .block__elem, .block--mod. Состояния: .is-*
   Точки перелома UIkit: @s 640px, @m 960px, @l 1200px.
   ========================================================================== */

/* 1. Шрифты и токены ---------------------------------------------------- */
@font-face {
  font-family: "Russo One";
  src: url("../fonts/RussoOne.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Rubik";
  src: url("../fonts/Rubik.ttf") format("truetype");
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
}

:root {
  /* палитра игры: бутылочная зелень, латунь, кремовый, ржавчина */
  --c-ink: #0b1712;
  --c-bg: #10221b;
  --c-bg-2: #142b22;
  --c-panel: #1d3a30;
  --c-panel-2: #24493c;
  --c-panel-3: #2c5747;
  --c-gold: #ffd34d;
  --c-gold-2: #f2b631;
  --c-brass: #c99a2e;
  --c-brass-d: #7a5a17;
  --c-cream: #fff4dc;
  --c-paper: #f6ead0;
  --c-muted: #c3d2bf;
  --c-dim: #8fa69a;
  --c-rust: #b8432f;
  --c-red: #e0503d;
  --c-red-d: #8e2a1d;
  --c-green: #6cc24a;
  --c-sky: #59b7d9;
  --c-line: rgba(255, 211, 77, 0.28);
  --c-line-soft: rgba(195, 210, 191, 0.14);

  --f-head: "Russo One", "Arial Black", Impact, sans-serif;
  --f-body: "Rubik", "Segoe UI", Roboto, Arial, sans-serif;

  --fs-xs: 0.8125rem;
  --fs-sm: 0.9375rem;
  --fs-md: 1.0625rem;
  --fs-lg: 1.25rem;
  --fs-h4: 1.25rem;
  --fs-h3: clamp(1.25rem, 1.1rem + 0.6vw, 1.6rem);
  --fs-h2: clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem);
  --fs-h1: clamp(2.1rem, 1.4rem + 3vw, 4rem);

  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 22px;
  --r-pill: 999px;

  --sh-1: 0 2px 0 rgba(0, 0, 0, 0.35), 0 6px 16px rgba(0, 0, 0, 0.28);
  --sh-2: 0 3px 0 rgba(0, 0, 0, 0.4), 0 18px 40px rgba(0, 0, 0, 0.45);
  --sh-gold: 0 0 0 1px rgba(255, 211, 77, 0.55), 0 0 26px rgba(255, 211, 77, 0.28);

  --header-h: 72px;
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --t: 0.22s var(--ease);

  /* заклёпка панели */
  --rivet: radial-gradient(circle, #ffe08a 0 1.6px, #b98c26 2.2px, #5b410f 3px, transparent 3.6px);
}

/* 2. База (поверх UIkit) ------------------------------------------------ */
*,
*::before,
*::after { box-sizing: border-box; }

html {
  font-family: var(--f-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--c-muted);
  background: var(--c-bg);
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 16px);
}

body {
  min-height: 100vh;
  font-size: var(--fs-md);
  /* лёгкая «клёпаная сталь»: точки + виньетка */
  background-color: var(--c-bg);
  background-image:
    radial-gradient(rgba(255, 244, 220, 0.035) 1px, transparent 1.4px),
    radial-gradient(120% 80% at 50% 0%, #17322a 0%, var(--c-bg) 60%, var(--c-ink) 100%);
  background-size: 22px 22px, 100% 100%;
  background-attachment: scroll, fixed;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, video { display: block; }
/* значок без явного размера — по высоте строки */
svg:not([width]) { width: 1.2em; height: 1.2em; flex-shrink: 0; }
.uk-icon { flex-shrink: 0; }

a,
.uk-link { color: var(--c-gold); transition: color var(--t); }
a:hover,
.uk-link:hover { color: var(--c-cream); text-decoration: none; }

em { color: inherit; }
:not(pre) > code,
:not(pre) > kbd,
:not(pre) > samp { color: var(--c-gold); white-space: normal; }

hr { height: 1px; margin: 2rem 0; border: 0; background: var(--c-line-soft); }
* + hr { margin-top: 2rem; }
::selection { background: var(--c-gold); color: var(--c-ink); text-shadow: none; }

:focus-visible {
  outline: 3px solid var(--c-gold);
  outline-offset: 3px;
  border-radius: 4px;
}

/* UIkit добавляет верхний отступ блокам, идущим следом за другими.
   В макете отступы только снизу — возвращаем как было. */
p, ul, ol, dl, pre, address, fieldset, figure { margin: 0 0 1em; }
* + p, * + ul, * + ol, * + dl, * + pre, * + address, * + fieldset, * + figure { margin-top: 0; }
blockquote { color: var(--c-cream); }

.skip-link {
  position: absolute;
  left: 16px;
  top: -60px;
  z-index: 2000;
  padding: 10px 16px;
  background: var(--c-gold);
  color: var(--c-ink);
  font-weight: 700;
  border-radius: var(--r-sm);
}
.skip-link:focus { top: 12px; color: var(--c-ink); }

/* 3. Секции, контейнер, утилиты ----------------------------------------- */
.uk-container-small { max-width: 820px; }

.uk-section { padding-top: clamp(56px, 7vw, 104px); padding-bottom: clamp(56px, 7vw, 104px); position: relative; }
.uk-section-small { padding-top: clamp(36px, 4vw, 56px); padding-bottom: clamp(36px, 4vw, 56px); }
.uk-section-muted { background: linear-gradient(180deg, rgba(11, 23, 18, 0.55), rgba(11, 23, 18, 0.15)); }

.uk-text-muted { color: var(--c-dim) !important; }
.uk-text-primary { color: var(--c-gold) !important; }
.uk-text-meta { color: var(--c-dim); font-size: var(--fs-xs); }
.uk-text-lead { font-size: var(--fs-lg); line-height: 1.6; color: var(--c-cream); opacity: 0.92; max-width: 62ch; }

/* ряд кнопок с одинаковым зазором */
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.link-arrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.link-arrow svg { width: 18px; height: 18px; transition: transform var(--t); }
.link-arrow:hover svg { transform: translateX(4px); }

/* 4. Типографика -------------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.uk-h1, .uk-h2, .uk-h3, .uk-h4 {
  font-family: var(--f-head);
  font-weight: 400;
  line-height: 1.12;
  color: var(--c-cream);
  margin: 0 0 0.6em;
  letter-spacing: 0.01em;
}
* + h1, * + h2, * + h3, * + h4, * + h5, * + h6 { margin-top: 0; }
h1, .uk-h1 { font-size: var(--fs-h1); }
h2, .uk-h2 { font-size: var(--fs-h2); }
h3, .uk-h3 { font-size: var(--fs-h3); }
h4, .uk-h4 { font-size: var(--fs-h4); }
strong, b { color: var(--c-cream); font-weight: 600; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  font-family: var(--f-head);
  font-size: var(--fs-xs);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-gold);
}
.eyebrow::before {
  content: "";
  width: 26px;
  height: 6px;
  /* мини-рельс: шпалы + полоса */
  background:
    linear-gradient(currentColor, currentColor) 0 50% / 100% 2px no-repeat,
    repeating-linear-gradient(90deg, currentColor 0 2px, transparent 2px 6px);
  opacity: 0.85;
}

.section-head { max-width: 760px; margin-bottom: clamp(28px, 4vw, 48px); }
.section-head--center { margin-inline: auto; text-align: center; }
.section-head--center .eyebrow { justify-content: center; }
.section-head p { color: var(--c-muted); font-size: var(--fs-lg); }
.section-head p.eyebrow { color: var(--c-gold); font-size: var(--fs-xs); }
.section-head__row {
  max-width: none;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.title-shadow { text-shadow: 0 3px 0 rgba(0, 0, 0, 0.45), 0 10px 30px rgba(0, 0, 0, 0.5); }

/* Разделитель «рельсы» */
.rail-divider {
  height: 22px;
  margin: 0;
  border: 0;
  background:
    linear-gradient(#8f9aa3, #5e6870) 0 4px / 100% 3px no-repeat,
    linear-gradient(#8f9aa3, #5e6870) 0 15px / 100% 3px no-repeat,
    repeating-linear-gradient(90deg, #6b4a2b 0 10px, transparent 10px 30px) 0 1px / 100% 20px no-repeat;
  opacity: 0.55;
}
* + .rail-divider { margin-top: 0; }

/* 5. Шапка, меню, offcanvas --------------------------------------------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 980;
  height: var(--header-h);
  background: rgba(16, 34, 27, 0.82);
  backdrop-filter: blur(10px) saturate(1.2);
  -webkit-backdrop-filter: blur(10px) saturate(1.2);
  border-bottom: 1px solid var(--c-line);
  transition: background var(--t), box-shadow var(--t);
}
.site-header.is-scrolled {
  background: rgba(11, 23, 18, 0.95);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}
/* на главной шапка прозрачная поверх картинки, пока страницу не прокрутили */
.site-header--overlay { margin-bottom: calc(var(--header-h) * -1); }
.site-header--overlay:not(.is-scrolled) {
  background: linear-gradient(180deg, rgba(11, 23, 18, 0.75), rgba(11, 23, 18, 0));
  border-bottom-color: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.site-header .uk-navbar { height: 100%; }
.site-header .uk-navbar-left,
.site-header .uk-navbar-right { gap: 20px; }
.site-header .uk-navbar-nav > li > a,
.site-header .uk-navbar-item { min-height: var(--header-h); font-family: var(--f-body); }

.brand.uk-logo { padding: 0; }
.brand img { height: 50px; width: auto; filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.5)); }

.uk-navbar-nav { gap: 2px; }
.uk-navbar-nav > li > a {
  position: relative;
  padding: 0 12px;
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--c-muted);
  text-transform: none;
  white-space: nowrap;
}
.uk-navbar-nav > li > a::after {
  content: "";
  position: absolute;
  left: 12px; right: 12px; bottom: 18px;
  height: 2px;
  background: var(--c-gold);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--t);
}
.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li > a[aria-expanded="true"] { color: var(--c-cream); }
.uk-navbar-nav > li:hover > a::after,
.uk-navbar-nav > li > a[aria-expanded="true"]::after,
.uk-navbar-nav > li.uk-active > a::after { transform: scaleX(1); }
.uk-navbar-nav > li.uk-active > a { color: var(--c-gold); }
.uk-navbar-parent-icon { margin-left: 2px; opacity: 0.8; }

/* выделенный пункт «Поддержать» */
.uk-navbar-nav > li.nav-donate { display: flex; align-items: center; margin-left: 4px; }
.uk-navbar-nav > li.nav-donate > a {
  min-height: 0;
  height: auto;
  gap: 6px;
  padding: 8px 14px;
  color: var(--c-gold);
  border: 1px solid var(--c-line);
  border-radius: var(--r-pill);
  transition: color var(--t), background var(--t), border-color var(--t);
}
.uk-navbar-nav > li.nav-donate > a::after { display: none; }
.uk-navbar-nav > li.nav-donate > a svg { width: 18px; height: 18px; transition: transform var(--t); }
.uk-navbar-nav > li.nav-donate:hover > a,
.uk-navbar-nav > li.nav-donate.uk-active > a { color: var(--c-ink); background: var(--c-gold); border-color: var(--c-gold); }
.uk-navbar-nav > li.nav-donate:hover > a svg { transform: scale(1.1); }

/* выпадающая панель группы — как окно в игре: латунная рамка и уголок */
.uk-navbar-dropdown {
  --uk-position-offset: 6px;
  width: 330px;
  padding: 8px;
  color: var(--c-muted);
  border: 2px solid var(--c-brass);
  border-radius: var(--r-md);
  background: linear-gradient(180deg, var(--c-panel-2), var(--c-panel));
  box-shadow: var(--sh-2);
}
.uk-navbar-dropdown::before {
  content: "";
  position: absolute;
  top: -9px;
  left: 50%;
  width: 14px;
  height: 14px;
  margin-left: -7px;
  background: var(--c-panel-2);
  border-left: 2px solid var(--c-brass);
  border-top: 2px solid var(--c-brass);
  transform: rotate(45deg);
}
.uk-navbar-dropdown-nav > li > a,
.offcanvas-nav .uk-nav-default .uk-nav-sub a {
  gap: 12px;
  padding: 9px 12px;
  font-size: var(--fs-sm);
  font-weight: 600;
  line-height: 1.3;
  color: var(--c-cream);
  border-radius: var(--r-sm);
  transition: background var(--t), color var(--t);
}
.uk-navbar-dropdown-nav > li > a img,
.offcanvas-nav .uk-nav-sub img { width: 40px; height: 40px; object-fit: contain; flex: none; }
.uk-navbar-dropdown-nav .uk-nav-subtitle,
.offcanvas-nav .uk-nav-default .uk-nav-subtitle { font-size: var(--fs-xs); font-weight: 400; line-height: 1.35; color: var(--c-dim); }
.uk-navbar-dropdown-nav > li > a:hover,
.uk-navbar-dropdown-nav > li > a:focus-visible { background: rgba(255, 211, 77, 0.1); color: var(--c-gold); }
.uk-navbar-dropdown-nav > li.uk-active > a,
.offcanvas-nav .uk-nav-default .uk-nav-sub li.uk-active > a { color: var(--c-gold); }

.header-actions.uk-navbar-item { gap: 12px; padding: 0; }

.lang {
  display: inline-flex;
  padding: 3px;
  border: 1px solid var(--c-line);
  border-radius: var(--r-pill);
  background: rgba(0, 0, 0, 0.25);
}
.lang a {
  padding: 4px 10px;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.6;
  color: var(--c-dim);
  border-radius: var(--r-pill);
}
.lang a[aria-current="true"] { background: var(--c-gold); color: var(--c-ink); }

/* Кнопка-значок в шапке (вход в аккаунт) */
.icon-btn {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid var(--c-line);
  background: rgba(0, 0, 0, 0.25);
  color: var(--c-cream);
  transition: background var(--t), color var(--t), border-color var(--t);
}
.icon-btn:hover,
.icon-btn[aria-current="page"] { background: var(--c-gold); border-color: var(--c-gold); color: var(--c-ink); }

/* меню пользователя в шапке (вошёл на сайт): значок в золотой рамке + панель как у выпадашек меню */
.icon-btn--user { border-color: var(--c-gold); color: var(--c-gold); cursor: pointer; }
.user-drop {
  width: 220px;
  padding: 14px;
  color: var(--c-muted);
  border: 2px solid var(--c-brass);
  border-radius: var(--r-md);
  background: linear-gradient(180deg, var(--c-panel-2), var(--c-panel));
  box-shadow: var(--sh-2);
}
.user-drop__name { margin: 0 0 12px; font-family: var(--f-head); color: var(--c-cream); overflow-wrap: anywhere; }

.burger {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid var(--c-line);
  border-radius: var(--r-sm);
  background: var(--c-panel);
  color: var(--c-cream);
}
.burger:hover { color: var(--c-gold); }
.burger svg { width: 24px; height: 24px; }

/* Мобильное меню: выезжает справа */
.uk-offcanvas-bar.offcanvas-nav {
  padding: 64px 22px 32px;
  background: var(--c-ink);
  border-left: 2px solid var(--c-brass);
  color: var(--c-muted);
}
.offcanvas-nav .uk-offcanvas-close { top: 16px; right: 16px; color: var(--c-cream); }
.offcanvas-nav .uk-nav-default > li > a {
  gap: 8px;
  padding: 14px 4px;
  font-family: var(--f-head);
  font-size: 1.25rem;
  line-height: 1.2;
  color: var(--c-cream);
  border-bottom: 1px solid var(--c-line-soft);
}
.offcanvas-nav .uk-nav-default > li > a:hover,
.offcanvas-nav .uk-nav-default > li.uk-active > a { color: var(--c-gold); }
.offcanvas-nav .uk-nav-default .uk-nav-sub { padding: 6px 0 12px; border-bottom: 1px solid var(--c-line-soft); }
.offcanvas-nav .uk-nav-default .uk-nav-sub a { padding: 8px 4px; }
.offcanvas-nav .uk-nav-default .uk-nav-sub a:hover { color: var(--c-gold); background: none; }
.offcanvas-nav .uk-nav-parent-icon { margin-left: auto; }
.offcanvas-nav .nav-donate > a {
  justify-content: center;
  margin-top: 16px;
  padding: 10px 14px !important;
  color: var(--c-gold) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: var(--r-pill);
}
.offcanvas-nav .nav-donate > a:hover,
.offcanvas-nav .nav-donate.uk-active > a { color: var(--c-ink) !important; background: var(--c-gold); }
.offcanvas-nav .nav-donate svg { width: 20px; height: 20px; }
.offcanvas-nav .lang { margin-top: 24px; }
.uk-offcanvas-overlay::before { background: rgba(5, 12, 9, 0.6); }

/* 6. Подвал, «наверх», cookie ------------------------------------------- */
.site-footer {
  position: relative;
  padding-top: 64px;
  background: var(--c-ink);
  border-top: 1px solid var(--c-line);
  font-size: var(--fs-sm);
}
.site-footer::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: -12px;
  height: 22px;
  background:
    linear-gradient(#a0abb3, #5e6870) 0 4px / 100% 3px no-repeat,
    linear-gradient(#a0abb3, #5e6870) 0 15px / 100% 3px no-repeat,
    repeating-linear-gradient(90deg, #6b4a2b 0 10px, transparent 10px 30px) 0 1px / 100% 20px no-repeat;
}
.footer-grid { padding-bottom: 48px; }
.footer-brand img { width: 170px; margin-bottom: 16px; }
.footer-brand p { color: var(--c-dim); max-width: 32ch; }
.footer-title {
  margin: 0 0 14px;
  font-family: var(--f-head);
  font-size: var(--fs-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-cream);
}
.footer-links { margin: 0; }
.footer-links > :nth-child(n+2) { margin-top: 8px; }
.footer-links a { color: var(--c-muted); }
.footer-links a:hover { color: var(--c-gold); }

.socials { display: flex; gap: 10px; flex-wrap: wrap; }
.uk-icon-button {
  width: 42px;
  height: 42px;
  background: var(--c-panel);
  border: 1px solid var(--c-line);
  color: var(--c-cream);
  transition: transform var(--t), background var(--t), color var(--t);
}
.uk-icon-button:hover { background: var(--c-gold); color: var(--c-ink); transform: translateY(-2px); }

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  padding-block: 20px;
  border-top: 1px solid var(--c-line-soft);
  color: var(--c-dim);
  font-size: var(--fs-xs);
}
.footer-bottom nav { display: flex; gap: 18px; flex-wrap: wrap; }
.footer-bottom a { color: var(--c-dim); }
.footer-bottom a:hover { color: var(--c-gold); }

/* «Наверх» — uk-totop; видна после прокрутки (класс ставит main.js) */
.to-top.uk-totop {
  position: fixed;
  right: 18px; bottom: 18px;
  z-index: 970;
  display: grid;
  place-items: center;
  width: 48px; height: 48px;
  padding: 0;
  border-radius: 50%;
  border: 2px solid var(--c-brass);
  background: var(--c-panel);
  color: var(--c-gold);
  box-shadow: var(--sh-1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity var(--t), transform var(--t), visibility var(--t), background var(--t), color var(--t);
}
.to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.to-top.uk-totop:hover { background: var(--c-gold); color: var(--c-ink); }
.to-top svg { width: 22px; height: 22px; }

.cookie {
  position: fixed;
  left: 16px; right: 16px; bottom: 16px;
  z-index: 975;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 24px;
  max-width: 760px;
  margin-inline: auto;
  padding: 16px 20px;
  font-size: var(--fs-sm);
  border-radius: var(--r-md);
  border: 2px solid var(--c-brass);
  background: rgba(16, 34, 27, 0.97);
  box-shadow: var(--sh-2);
  transform: translateY(140%);
  transition: transform 0.4s var(--ease);
}
.cookie.is-visible { transform: none; }
.cookie p { margin: 0; flex: 1 1 320px; }

/* 7. Компоненты UIkit --------------------------------------------------- */

/* Кнопки: primary — золото, secondary — стальная панель, default — контурная */
.uk-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 22px;
  font-family: var(--f-head);
  font-size: var(--fs-sm);
  letter-spacing: 0.04em;
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--c-cream);
  background: var(--c-panel-2);
  border: 2px solid var(--c-line);
  border-radius: var(--r-sm);
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.45);
  transition: transform var(--t), box-shadow var(--t), background var(--t), color var(--t), filter var(--t), border-color var(--t);
  white-space: nowrap;
}
.uk-button:hover { color: var(--c-cream); transform: translateY(-2px); box-shadow: 0 5px 0 rgba(0, 0, 0, 0.45), 0 12px 24px rgba(0, 0, 0, 0.3); }
.uk-button:active { transform: translateY(1px); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.45); }
.uk-button svg { width: 20px; height: 20px; }

.uk-button-secondary,
.uk-button-secondary:hover,
.uk-button-secondary:focus,
.uk-button-secondary:active { background-color: var(--c-panel-2); color: var(--c-cream); border-color: var(--c-line); }
.uk-button-secondary:hover { background-color: var(--c-panel-3); }

.uk-button-primary,
.uk-button-primary:hover,
.uk-button-primary:focus,
.uk-button-primary:active {
  color: #2b1d05;
  border-color: #fff0b0;
  background: linear-gradient(180deg, #ffe37a 0%, var(--c-gold) 45%, var(--c-gold-2) 100%);
}
.uk-button-primary { box-shadow: 0 3px 0 var(--c-brass-d), 0 0 0 1px var(--c-brass-d) inset; }
.uk-button-primary:hover { filter: brightness(1.06); box-shadow: 0 5px 0 var(--c-brass-d), 0 14px 30px rgba(255, 211, 77, 0.25); }

.uk-button-default,
.uk-button-default:focus,
.uk-button-default:active { background: transparent; color: var(--c-cream); border-color: rgba(255, 244, 220, 0.4); box-shadow: none; }
.uk-button-default:hover { background: transparent; color: var(--c-cream); border-color: var(--c-gold); box-shadow: none; }

.uk-button-large { min-height: 58px; padding: 14px 30px; font-size: var(--fs-md); line-height: 1.1; }
.uk-button-small { min-height: 38px; padding: 6px 14px; font-size: var(--fs-xs); line-height: 1.1; }
.uk-button:disabled { opacity: 0.5; transform: none; box-shadow: none; }

/* Метки (бывшие бейджи) */
.uk-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5;
  color: var(--c-ink);
  background: var(--c-gold);
  border-radius: var(--r-pill);
}
.uk-label-success { background: var(--c-green); color: #0e2408; }
.uk-label-danger { background: var(--c-red); color: #fff; }
.label-steel { background: #4b5c55; color: var(--c-cream); }
.label-outline { background: transparent; color: var(--c-gold); box-shadow: inset 0 0 0 1px currentColor; }
.label-genre { font-size: 0.85rem; padding: 4px 12px; box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.35), 0 4px 14px rgba(255, 211, 77, 0.35); }

/* Карточки (новости и т. п.) */
.uk-card-default {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--c-muted);
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  background: linear-gradient(180deg, var(--c-panel-2), var(--c-panel));
  box-shadow: var(--sh-1);
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
}
.uk-card-default.uk-card-hover:hover { transform: translateY(-4px); box-shadow: var(--sh-2); border-color: rgba(255, 211, 77, 0.6); background: linear-gradient(180deg, var(--c-panel-2), var(--c-panel)); }
.uk-card-default .uk-card-media-top { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--c-ink); }
.uk-card-default .uk-card-media-top img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease); }
.uk-card-default:hover .uk-card-media-top img { transform: scale(1.05); }
.uk-card-media-top .uk-label { position: absolute; left: 14px; top: 14px; }
.uk-card-default > .uk-card-body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 20px 22px 22px; }
.uk-card-default .uk-card-title { margin: 0; font-size: var(--fs-h4); line-height: 1.2; color: var(--c-cream); }
.uk-card-title a { color: inherit; }
.uk-card-title a::after { content: ""; position: absolute; inset: 0; } /* вся карточка — ссылка */
.card__text { margin: 0; color: var(--c-muted); font-size: var(--fs-sm); }
.card__meta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: auto; font-size: var(--fs-xs); color: var(--c-dim); }

/* Хлебные крошки */
.breadcrumbs { margin-bottom: 18px; }
.uk-breadcrumb { margin: 0; }
.uk-breadcrumb > * > * { font-size: var(--fs-sm); color: var(--c-muted); }
.uk-breadcrumb > * > a:hover { color: var(--c-gold); }
.uk-breadcrumb > :last-child > span,
.uk-breadcrumb > :last-child > a:not([href]) { color: var(--c-gold); }
.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before { margin: 0 6px; font-size: var(--fs-sm); color: var(--c-dim); opacity: 0.6; }

/* Пагинация */
.pagination { margin-top: 44px; }
.uk-pagination { gap: 8px; }
.uk-pagination > * > * {
  display: grid;
  place-items: center;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  border-radius: var(--r-sm);
  border: 1px solid var(--c-line-soft);
  color: var(--c-muted);
  font-weight: 600;
}
.uk-pagination > * > a:hover { border-color: var(--c-gold); color: var(--c-gold); }
.uk-pagination > .uk-active > * { background: var(--c-gold); color: var(--c-ink); border-color: var(--c-gold); }

/* Вкладки-«таблетки»: рубрики, сортировка, фильтр галереи, переключатель */
.uk-subnav { gap: 8px; margin-left: 0; }
.uk-subnav > * { padding-left: 0; }
.tabs { margin-bottom: 26px; }
.uk-subnav-pill > * > :first-child {
  padding: 9px 18px;
  font-family: var(--f-head);
  font-size: var(--fs-xs);
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--c-muted);
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid var(--c-line-soft);
  border-radius: var(--r-pill);
  transition: background var(--t), color var(--t), border-color var(--t);
}
.uk-subnav-pill > * > a:hover { color: var(--c-cream); border-color: var(--c-line); background-color: rgba(0, 0, 0, 0.25); }
.uk-subnav-pill > .uk-active > a,
.uk-subnav-pill > .uk-active > a:hover { color: var(--c-ink); background: var(--c-gold); border-color: var(--c-gold); }

/* Аккордеон (вопросы и ответы) */
.uk-accordion.accordion > * {
  border-radius: var(--r-md);
  border: 1px solid var(--c-line-soft);
  background: linear-gradient(180deg, rgba(36, 73, 60, 0.7), rgba(29, 58, 48, 0.7));
  transition: border-color var(--t);
}
.uk-accordion.accordion > :nth-child(n+2) { margin-top: 12px; }
.uk-accordion.accordion > .uk-open { border-color: var(--c-line); }
.accordion .uk-accordion-title {
  position: relative;
  padding: 18px 56px 18px 22px;
  font-size: var(--fs-md);
  font-weight: 600;
  line-height: 1.4;
  color: var(--c-cream);
}
.accordion .uk-accordion-title:hover { color: var(--c-gold); }
.accordion .uk-accordion-title::after {
  content: "";
  position: absolute;
  right: 22px; top: 50%;
  width: 12px; height: 12px;
  margin-top: -8px;
  border-right: 3px solid var(--c-gold);
  border-bottom: 3px solid var(--c-gold);
  transform: rotate(45deg);
  transition: transform var(--t), margin var(--t);
}
.accordion .uk-open > .uk-accordion-title::after { transform: rotate(-135deg); margin-top: -2px; }
.accordion .uk-accordion-content { margin-top: 0; padding: 0 22px 20px; }

/* Таблица */
.table-wrap { border-radius: var(--r-md); border: 1px solid var(--c-line); }
.uk-table { margin: 0; font-size: var(--fs-sm); min-width: 520px; }
.uk-table th,
.uk-table td { padding: 14px 18px; text-align: left; border-bottom: 1px solid var(--c-line-soft); vertical-align: top; }
.uk-table thead th {
  font-family: var(--f-head);
  font-size: var(--fs-sm);
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--c-gold);
  background: rgba(0, 0, 0, 0.3);
}
.uk-table tbody th { font-size: var(--fs-sm); text-transform: none; color: var(--c-cream); font-weight: 600; width: 28%; }
.uk-table-striped tbody tr:nth-of-type(odd) { background: transparent; border: 0; }
.uk-table-striped tbody tr:nth-of-type(even) { background: rgba(0, 0, 0, 0.12); }
.uk-table tbody tr:last-child > * { border-bottom: 0; }

/* Списки с латунными заклёпками */
.list-check { margin: 0; padding: 0; }
.list-check > li { position: relative; padding-left: 30px; }
.list-check > li::before {
  content: "";
  position: absolute;
  left: 0; top: 0.35em;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: radial-gradient(circle, #ffe08a 0 3px, var(--c-brass) 3.5px 6px, var(--c-brass-d) 6.5px);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
}

/* Формы */
.form { display: grid; gap: 18px; }
.form > :not([uk-grid]) { margin: 0; }
.field { display: grid; gap: 6px; }
.uk-form-label,
.uk-form-stacked .uk-form-label { margin: 0; font-size: var(--fs-sm); font-weight: 600; color: var(--c-cream); }
.field__hint { font-size: var(--fs-xs); color: var(--c-dim); }
.field__error { display: none; font-size: var(--fs-xs); color: #ff9b8c; }
.field.is-invalid .field__error { display: block; }

.uk-input,
.uk-select,
.uk-textarea {
  padding: 0 14px;
  color: var(--c-cream);
  background: rgba(11, 23, 18, 0.6);
  border: 1px solid rgba(195, 210, 191, 0.25);
  border-radius: var(--r-sm);
  transition: border-color var(--t), box-shadow var(--t), background var(--t);
}
.uk-input,
.uk-select:not([multiple]):not([size]) { height: 52px; }
.uk-textarea { min-height: 150px; padding: 12px 14px; resize: vertical; }
.uk-input::placeholder,
.uk-textarea::placeholder { color: #6f8579; }
.uk-input:hover,
.uk-select:hover,
.uk-textarea:hover { border-color: rgba(195, 210, 191, 0.45); }
.uk-input:focus,
.uk-select:focus,
.uk-textarea:focus {
  color: var(--c-cream);
  border-color: var(--c-gold);
  box-shadow: 0 0 0 3px rgba(255, 211, 77, 0.2);
  background-color: rgba(11, 23, 18, 0.85);
}
.uk-select:not([multiple]):not([size]) {
  padding-right: 40px;
  background-image: linear-gradient(45deg, transparent 50%, var(--c-gold) 50%), linear-gradient(135deg, var(--c-gold) 50%, transparent 50%);
  background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%;
  background-size: 6px 6px;
  background-repeat: no-repeat;
}
.uk-select option { background: var(--c-bg); color: var(--c-cream); }
.uk-form-danger,
.uk-form-danger:focus,
.field.is-invalid .uk-input,
.field.is-invalid .uk-select,
.field.is-invalid .uk-textarea { color: var(--c-cream); border-color: var(--c-red); box-shadow: 0 0 0 3px rgba(224, 80, 61, 0.25); }

.uk-form-icon { width: 44px; color: var(--c-dim); }
.uk-form-icon svg { width: 20px; height: 20px; }
.uk-form-icon:not(.uk-form-icon-flip) ~ .uk-input { padding-left: 44px !important; }

.uk-checkbox,
.uk-radio {
  width: 18px;
  height: 18px;
  margin-top: 0;
  background-color: rgba(11, 23, 18, 0.6);
  border: 1px solid rgba(195, 210, 191, 0.45);
}
.uk-checkbox { border-radius: 4px; }
.uk-checkbox:focus,
.uk-radio:focus { border-color: var(--c-gold); }
.uk-radio:checked,
.uk-checkbox:checked,
.uk-checkbox:indeterminate,
.uk-radio:checked:focus,
.uk-checkbox:checked:focus,
.uk-checkbox:indeterminate:focus { background-color: var(--c-gold); border-color: var(--c-gold); }
.uk-checkbox:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='14' height='11' viewBox='0 0 14 11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon fill='%230b1712' points='12 1 5 7.5 2 5 1 5.5 5 10 13 1.5'/%3E%3C/svg%3E");
}
.uk-radio:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle fill='%230b1712' cx='8' cy='8' r='2.5'/%3E%3C/svg%3E");
}

.check { display: flex; gap: 10px; align-items: flex-start; font-size: var(--fs-sm); cursor: pointer; }
.check .uk-checkbox { width: 20px; height: 20px; margin-top: 2px; flex-shrink: 0; }

/* Лайтбокс UIkit: латунная рамка у картинки */
.uk-lightbox { background: rgba(5, 12, 9, 0.94); }
.uk-lightbox-items > * > img { border: 3px solid var(--c-brass); border-radius: var(--r-sm); box-shadow: var(--sh-2); }
.uk-lightbox-caption { font-size: var(--fs-sm); color: var(--c-cream); }

/* Уведомление — как всплывающая ачивка в игре (UIkit.notification) */
.uk-notification { width: min(360px, calc(100vw - 36px)); }
.uk-notification-message {
  padding: 14px 16px;
  font-size: var(--fs-sm);
  color: var(--c-muted);
  border-radius: var(--r-md);
  border: 2px solid var(--c-brass);
  background: linear-gradient(180deg, var(--c-panel-2), var(--c-panel));
  box-shadow: var(--sh-2), var(--sh-gold);
}
.toast { display: grid; grid-template-columns: 56px 1fr; gap: 14px; align-items: center; }
.toast img { width: 56px; height: 56px; }
.toast small { display: block; font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-green); font-weight: 700; }
.toast strong { display: block; font-family: var(--f-head); font-weight: 400; font-size: 1.05rem; }
.toast span { font-size: var(--fs-xs); color: var(--c-dim); }

/* 8. Блоки сайта -------------------------------------------------------- */

/* Панель с заклёпками — фирменный элемент (как окна в игре) */
.panel {
  position: relative;
  padding: clamp(20px, 2.4vw, 32px);
  color: var(--c-muted);
  border: 2px solid var(--c-brass);
  border-radius: var(--r-md);
  background-color: var(--c-panel);
  background-image: var(--rivet), var(--rivet), var(--rivet), var(--rivet), linear-gradient(180deg, var(--c-panel-2), var(--c-panel) 70%);
  background-size: 10px 10px, 10px 10px, 10px 10px, 10px 10px, 100% 100%;
  background-position: 7px 7px, calc(100% - 7px) 7px, 7px calc(100% - 7px), calc(100% - 7px) calc(100% - 7px), 0 0;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.35), var(--sh-1);
}
.panel > :last-child { margin-bottom: 0; }
.panel--dark { background-color: var(--c-bg-2); }
.panel--paper {
  color: #4a3d25;
  border-color: #b28a3b;
  background-color: var(--c-paper);
  background-image: var(--rivet), var(--rivet), var(--rivet), var(--rivet), linear-gradient(180deg, #fff8e6, var(--c-paper));
  box-shadow: inset 0 0 0 2px rgba(122, 90, 23, 0.2), var(--sh-1);
}
.panel--paper h3, .panel--paper h4 { color: #2a2414; }
.panel__title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: -4px 0 16px;
  font-size: var(--fs-h4);
}
.panel__title img { width: 40px; height: 40px; }
.panel__title svg { width: 22px; height: 22px; color: var(--c-gold); flex-shrink: 0; }

.chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.chip {
  padding: 6px 14px;
  font-size: var(--fs-sm);
  color: var(--c-muted);
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid var(--c-line-soft);
  border-radius: var(--r-pill);
}
.chip--check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: border-color var(--t), color var(--t), background var(--t);
}
.chip--check input { width: 16px; height: 16px; }
.chip--check:hover { border-color: var(--c-line); color: var(--c-cream); }
.chip--check:has(input:checked) { color: var(--c-ink); background: var(--c-gold); border-color: var(--c-gold); }
.chip--check:has(input:checked) input { background-color: var(--c-ink); border-color: var(--c-ink); }
.chip--check .uk-checkbox:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='14' height='11' viewBox='0 0 14 11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon fill='%23ffd34d' points='12 1 5 7.5 2 5 1 5.5 5 10 13 1.5'/%3E%3C/svg%3E");
}
.chip--check .uk-radio:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle fill='%23ffd34d' cx='8' cy='8' r='2.5'/%3E%3C/svg%3E");
}

/* Фичи */
.feature {
  position: relative;
  padding: 26px 24px 24px;
  border-radius: var(--r-md);
  background: linear-gradient(180deg, rgba(36, 73, 60, 0.85), rgba(29, 58, 48, 0.85));
  border: 1px solid var(--c-line-soft);
  transition: border-color var(--t), transform var(--t);
}
.feature:hover { border-color: var(--c-line); transform: translateY(-3px); }
.feature__icon {
  width: 72px;
  height: 72px;
  margin-bottom: 16px;
  padding: 6px;
  border-radius: 18px;
  background: radial-gradient(circle at 50% 35%, rgba(255, 211, 77, 0.25), rgba(0, 0, 0, 0.2) 70%);
  border: 1px solid var(--c-line);
}
.feature__icon img { width: 100%; height: 100%; object-fit: contain; }
.feature h3 { font-size: var(--fs-h4); margin-bottom: 8px; }
.feature p { margin: 0; font-size: var(--fs-sm); }

/* Цифры */
.stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 2px solid var(--c-brass);
  border-radius: var(--r-md);
  background: var(--c-line);
  box-shadow: var(--sh-1);
}
.stat { padding: 22px 16px; text-align: center; background: var(--c-panel); }
.stat__num {
  display: block;
  font-family: var(--f-head);
  font-size: clamp(1.8rem, 1.2rem + 2vw, 2.8rem);
  line-height: 1;
  color: var(--c-gold);
  text-shadow: 0 3px 0 rgba(0, 0, 0, 0.4);
}
.stat__label { display: block; margin-top: 8px; font-size: var(--fs-sm); color: var(--c-muted); }

/* Герой главной */
.hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: min(92vh, 900px);
  padding: calc(var(--header-h) + 48px) 0 clamp(48px, 7vw, 96px);
  overflow: hidden;
  isolation: isolate;
}
.hero > .uk-container { width: 100%; }
.hero__bg { position: absolute; inset: 0; z-index: -2; }
.hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; transform: scale(1.04); animation: hero-pan 24s var(--ease) infinite alternate; }
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(11, 23, 18, 0.88) 0%, rgba(11, 23, 18, 0.55) 42%, rgba(11, 23, 18, 0) 75%),
    linear-gradient(0deg, var(--c-bg) 0%, rgba(16, 34, 27, 0) 38%);
}
.hero__content { max-width: 620px; }
.hero__badges { display: flex; flex-wrap: wrap; gap: 8px; }
.hero__logo { width: min(520px, 100%); margin: 0 0 18px -8px; filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.55)); }
.hero__lead { font-size: clamp(1.1rem, 1rem + 0.5vw, 1.35rem); color: var(--c-cream); margin-bottom: 28px; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6); }
.hero__lead strong { color: var(--c-gold); }
.hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 24px; font-size: var(--fs-sm); color: var(--c-muted); }
.hero__meta > span { display: inline-flex; align-items: center; gap: 8px; }
.hero__meta svg { width: 20px; height: 20px; color: var(--c-gold); }
.hero__scroll {
  position: absolute;
  left: 50%;
  bottom: 22px;
  width: 26px;
  height: 42px;
  margin-left: -13px;
  border: 2px solid rgba(255, 244, 220, 0.5);
  border-radius: 14px;
}
.hero__scroll::after {
  content: "";
  position: absolute;
  left: 50%; top: 8px;
  width: 4px; height: 8px;
  margin-left: -2px;
  border-radius: 2px;
  background: var(--c-gold);
  animation: scroll-dot 1.8s var(--ease) infinite;
}
@keyframes hero-pan { to { transform: scale(1.1) translate(-1.5%, -1%); } }
@keyframes scroll-dot { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }

/* Шапка внутренних страниц */
.page-hero {
  position: relative;
  padding: clamp(48px, 6vw, 88px) 0 clamp(40px, 5vw, 64px);
  overflow: hidden;
  isolation: isolate;
  border-bottom: 1px solid var(--c-line);
}
.page-hero__bg { position: absolute; inset: 0; z-index: -2; }
.page-hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.45; }
.page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, var(--c-bg) 10%, rgba(16, 34, 27, 0.6) 70%, rgba(16, 34, 27, 0.35)), linear-gradient(0deg, var(--c-bg), transparent 60%);
}
.page-hero h1 { margin-bottom: 12px; }
.page-hero .uk-text-lead { margin: 0; }

/* Медиа-блок с рамкой */
.frame {
  position: relative;
  overflow: hidden;
  border: 3px solid var(--c-brass);
  border-radius: var(--r-md);
  background: var(--c-ink);
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.5), var(--sh-2);
}
.frame img { width: 100%; height: 100%; object-fit: cover; }
.frame--tilt { transform: rotate(-1.2deg); }
.frame__caption {
  position: absolute;
  left: 14px; bottom: 14px;
  padding: 6px 12px;
  font-size: var(--fs-xs);
  color: var(--c-cream);
  background: rgba(11, 23, 18, 0.8);
  border-radius: var(--r-sm);
}

/* Видео-заглушка */
.video {
  position: relative;
  aspect-ratio: 16 / 9;
  display: block;
  overflow: hidden;
  border: 3px solid var(--c-brass);
  border-radius: var(--r-lg);
  background: var(--c-ink);
  box-shadow: var(--sh-2);
  color: var(--c-cream);
}
.video img { width: 100%; height: 100%; object-fit: cover; opacity: 0.75; transition: opacity var(--t), transform 0.8s var(--ease); }
.video:hover img { opacity: 0.9; transform: scale(1.03); }
.video__play {
  position: absolute;
  left: 50%; top: 50%;
  display: grid;
  place-items: center;
  width: clamp(72px, 9vw, 104px);
  height: clamp(72px, 9vw, 104px);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: linear-gradient(180deg, #ffe37a, var(--c-gold-2));
  color: #2b1d05;
  box-shadow: 0 0 0 10px rgba(255, 211, 77, 0.2), 0 12px 30px rgba(0, 0, 0, 0.5);
  transition: transform var(--t), box-shadow var(--t);
}
.video:hover .video__play { transform: translate(-50%, -50%) scale(1.08); box-shadow: 0 0 0 16px rgba(255, 211, 77, 0.16), 0 12px 30px rgba(0, 0, 0, 0.5); }
.video__play svg { width: clamp(30px, 3.6vw, 42px); height: auto; margin-left: 6%; }
.video__label {
  position: absolute;
  left: 20px; bottom: 18px;
  font-family: var(--f-head);
  font-size: var(--fs-lg);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
}

/* Галерея скриншотов (открывается в uk-lightbox, фильтр — uk-filter) */
.gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.gallery--feature { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 1fr; }
.gallery--feature .shot:first-child { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
.shot {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: var(--r-sm);
  border: 2px solid var(--c-line);
  background: var(--c-ink);
}
.shot img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease), filter var(--t); }
.shot::after {
  content: attr(data-caption);
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 28px 14px 10px;
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--c-cream);
  background: linear-gradient(0deg, rgba(11, 23, 18, 0.9), transparent);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity var(--t), transform var(--t);
}
.shot:hover { border-color: var(--c-gold); }
.shot:hover img { transform: scale(1.06); }
.shot:hover::after { opacity: 1; transform: none; }

/* Юниты (вагоны, враги) */
.unit {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 18px;
  align-items: start;
  padding: 18px;
  border-radius: var(--r-md);
  border: 1px solid var(--c-line-soft);
  background: linear-gradient(180deg, rgba(36, 73, 60, 0.7), rgba(29, 58, 48, 0.7));
  transition: border-color var(--t), background var(--t);
}
.unit:hover { border-color: var(--c-line); background: linear-gradient(180deg, rgba(44, 87, 71, 0.8), rgba(29, 58, 48, 0.8)); }
.unit__img {
  width: 96px;
  height: 96px;
  padding: 4px;
  border-radius: 16px;
  background: radial-gradient(circle at 50% 40%, rgba(255, 244, 220, 0.18), rgba(0, 0, 0, 0.25) 70%);
  border: 1px solid var(--c-line);
}
.unit__img img { width: 100%; height: 100%; object-fit: contain; }
.unit h3 { margin: 2px 0 6px; font-size: 1.15rem; }
.unit p { margin: 0 0 10px; font-size: var(--fs-sm); }
.unit--enemy .unit__img { background: radial-gradient(circle at 50% 40%, rgba(224, 80, 61, 0.28), rgba(0, 0, 0, 0.25) 70%); border-color: rgba(224, 80, 61, 0.45); }

.meter { display: grid; grid-template-columns: 84px 1fr; gap: 4px 10px; align-items: center; font-size: var(--fs-xs); color: var(--c-dim); }
.meter__bar { height: 6px; border-radius: 3px; background: rgba(0, 0, 0, 0.35); overflow: hidden; }
.meter__bar i { display: block; height: 100%; width: var(--v, 50%); border-radius: inherit; background: linear-gradient(90deg, var(--c-brass), var(--c-gold)); }
.unit--enemy .meter__bar i { background: linear-gradient(90deg, var(--c-red-d), var(--c-red)); }

/* Босс */
.boss {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  overflow: hidden;
  border: 3px solid var(--c-red);
  border-radius: var(--r-lg);
  background: linear-gradient(135deg, #3a1712, #1d0d0a 60%);
  box-shadow: 0 0 0 1px #000, 0 20px 60px rgba(224, 80, 61, 0.18), var(--sh-2);
}
.boss__art {
  position: relative;
  display: grid;
  place-items: center;
  padding: 28px;
  background:
    radial-gradient(circle at 50% 55%, rgba(255, 244, 220, 0.95) 0 45%, rgba(246, 234, 208, 0.9) 60%, rgba(246, 234, 208, 0) 72%),
    repeating-linear-gradient(45deg, #2a100c 0 14px, #3a1712 14px 28px);
}
.boss__art img { width: 100%; max-width: 560px; mix-blend-mode: multiply; }
.boss__body { padding: clamp(24px, 3.5vw, 44px); }
.boss__body h3 { font-size: var(--fs-h2); color: #ffd9cf; }
.boss__bar {
  height: 16px;
  margin: 6px 0 22px;
  border-radius: 4px;
  background: #210a07;
  box-shadow: inset 0 0 0 2px #000;
  overflow: hidden;
}
.boss__bar i { display: block; width: 78%; height: 100%; background: linear-gradient(180deg, #ff6b55, #b8261a); }
.boss .list-check > li::before { background: radial-gradient(circle, #ffb3a6 0 3px, var(--c-red) 3.5px 6px, var(--c-red-d) 6.5px); }
.boss--rev { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
.boss--rev .boss__art { order: 2; }

.boss-mini {
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: var(--r-md);
  border: 2px dashed rgba(255, 244, 220, 0.25);
  background: var(--c-paper);
}
.boss-mini img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; filter: grayscale(0.85) contrast(1.05) brightness(0.9); transition: filter var(--t); }
.boss-mini:hover img { filter: none; }
.boss-mini figcaption { padding: 12px 14px; color: #3a2f1d; font-weight: 600; font-size: var(--fs-sm); }
.boss-mini .uk-label { position: absolute; right: 10px; top: 10px; }

/* Кампания: миссии */
.mission {
  position: relative;
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 18px;
  padding: 22px;
  border-radius: var(--r-md);
  border: 1px solid var(--c-line-soft);
  background: linear-gradient(180deg, rgba(36, 73, 60, 0.75), rgba(29, 58, 48, 0.75));
}
.mission__num {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  font-family: var(--f-head);
  font-size: 1.6rem;
  color: var(--c-cream);
  background: radial-gradient(circle at 50% 35%, #4b5c55, #273a33);
  border: 4px solid var(--c-brass);
  box-shadow: 0 0 0 2px #000, 0 6px 14px rgba(0, 0, 0, 0.4);
}
.mission--boss .mission__num { background: radial-gradient(circle at 50% 35%, #d9584a, #7a2016); }
.mission--first .mission__num { background: radial-gradient(circle at 50% 35%, #7fd15c, #2f6f22); }
.mission h3 { margin: 4px 0 8px; font-size: 1.3rem; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.mission p { margin: 0 0 12px; font-size: var(--fs-sm); }
.mission__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.mission--soon { opacity: 0.6; border-style: dashed; background: rgba(0, 0, 0, 0.18); }
.mission--soon .mission__num { background: #2a332f; color: var(--c-dim); }

.stars { display: inline-flex; gap: 2px; color: var(--c-gold); }
.stars svg { width: 16px; height: 16px; }

/* Шаги «как играть» (нумерация — счётчиком) */
main { counter-reset: step; }
.step { position: relative; padding: 30px 24px 24px; border-radius: var(--r-md); background: rgba(0, 0, 0, 0.22); border: 1px solid var(--c-line-soft); }
.step::before {
  counter-increment: step;
  content: counter(step, decimal-leading-zero);
  position: absolute;
  right: 18px; top: 10px;
  font-family: var(--f-head);
  font-size: 3rem;
  line-height: 1;
  color: rgba(255, 211, 77, 0.16);
}
.step h3 { font-size: var(--fs-h4); }
.step p { margin: 0; font-size: var(--fs-sm); }

/* Таймлайн (журнал изменений / дорожная карта) */
.timeline { position: relative; list-style: none; margin: 0; padding: 0 0 0 34px; }
.timeline::before {
  content: "";
  position: absolute;
  left: 8px; top: 6px; bottom: 6px;
  width: 6px;
  background:
    linear-gradient(90deg, #8f9aa3 0 1.5px, transparent 1.5px 4.5px, #8f9aa3 4.5px),
    repeating-linear-gradient(0deg, transparent 0 8px, #6b4a2b 8px 11px);
  opacity: 0.7;
}
.timeline li { position: relative; padding-bottom: 26px; }
.timeline li::before {
  content: "";
  position: absolute;
  left: -32px; top: 4px;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--c-panel);
  border: 3px solid var(--c-gold);
}
.timeline li.is-done::before { background: var(--c-gold); }
.timeline h4 { margin-bottom: 4px; font-size: 1.1rem; }
.timeline p { margin: 0; font-size: var(--fs-sm); }
.timeline time { font-size: var(--fs-xs); color: var(--c-dim); }

/* Новости: главная карточка */
.news-featured { display: grid; grid-template-columns: 1.3fr 1fr; overflow: hidden; }
.news-featured .uk-card-media-top { aspect-ratio: auto; min-height: 320px; }
.news-featured > .uk-card-body { padding: clamp(24px, 3vw, 40px); justify-content: center; }
.news-featured .uk-card-title { font-size: var(--fs-h3); }
.news-featured .uk-label { align-self: flex-start; }

/* Статья */
.article { font-size: 1.1rem; line-height: 1.75; }
.article h2 { font-size: var(--fs-h3); margin-top: 2em; }
.article > img, .article > .frame { margin: 2rem 0; }
.article figure { margin: 2rem 0; }
.article figcaption { margin-top: 10px; font-size: var(--fs-sm); color: var(--c-dim); text-align: center; }
.article blockquote {
  margin: 2rem 0;
  padding: 18px 24px;
  font-size: inherit;
  line-height: inherit;
  border-left: 4px solid var(--c-gold);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  background: rgba(255, 211, 77, 0.07);
  color: var(--c-cream);
  font-style: italic;
}
.article ul { padding-left: 1.2em; }
.article .list-check { padding-left: 0; margin: 0 0 1.2em; }
.article li + li { margin-top: 6px; }
.article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin-bottom: 26px; color: var(--c-dim); font-size: var(--fs-sm); }
.article-meta > span { display: inline-flex; align-items: center; gap: 6px; }
.article-meta svg { width: 18px; height: 18px; color: var(--c-gold); }
.article-share { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--c-line-soft); }

/* Боковая колонка (ячейка uk-width-auto@m, ширину задаёт сама колонка) */
.aside { position: sticky; top: calc(var(--header-h) + 20px); display: grid; gap: 20px; }
@media (min-width: 960px) {
  .aside { width: 320px; }
}

/* Загрузка */
.platform { display: flex; flex-direction: column; gap: 14px; text-align: center; align-items: center; }
.platform__icon {
  display: grid;
  place-items: center;
  width: 84px; height: 84px;
  border-radius: 22px;
  background: radial-gradient(circle at 50% 30%, rgba(255, 211, 77, 0.28), rgba(0, 0, 0, 0.25) 70%);
  border: 1px solid var(--c-line);
  color: var(--c-gold);
}
.platform__icon svg { width: 44px; height: 44px; }
.platform h3 { margin: 0; }
.platform p { margin: 0; font-size: var(--fs-sm); }
.platform .uk-button { margin-top: auto; }
.platform--soon { opacity: 0.7; }

/* CTA-полоса */
.cta {
  position: relative;
  overflow: hidden;
  padding: clamp(36px, 5vw, 64px);
  border-radius: var(--r-lg);
  border: 3px solid var(--c-brass);
  isolation: isolate;
  box-shadow: var(--sh-2);
}
.cta__bg { position: absolute; inset: 0; z-index: -2; }
.cta__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.cta::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(11, 23, 18, 0.95) 0%, rgba(11, 23, 18, 0.75) 50%, rgba(11, 23, 18, 0.2)); }
.cta h2 { max-width: 18ch; }
.cta p { max-width: 50ch; color: var(--c-cream); }

/* Медали */
.medals { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
.medal { padding: 16px 12px; text-align: center; border-radius: var(--r-md); background: rgba(0, 0, 0, 0.22); border: 1px solid var(--c-line-soft); }
.medal img { width: 64px; height: 64px; margin: 0 auto 8px; }
.medal strong { display: block; font-size: var(--fs-sm); }
.medal span { font-size: var(--fs-xs); color: var(--c-dim); }
.medal--locked img { filter: grayscale(1) brightness(0.6); }

/* 404 */
.notfound { min-height: 70vh; display: grid; place-items: center; text-align: center; padding-block: 80px; }
.notfound__code {
  font-family: var(--f-head);
  font-size: clamp(6rem, 18vw, 12rem);
  line-height: 0.9;
  color: var(--c-gold);
  text-shadow: 0 6px 0 var(--c-brass-d), 0 20px 50px rgba(0, 0, 0, 0.6);
}
.notfound .rail-divider { width: min(520px, 100%); margin: 24px auto 32px; }

/* 9. Форум -------------------------------------------------------------- */

/* Панель над списками: поиск + вкладки */
.forum-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.search { flex: 1 1 280px; margin: 0; }
.search .uk-input { width: 100%; }
.forum-bar .tabs { margin: 0; }

/* Группа разделов */
.forum-group {
  overflow: hidden;
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  background: linear-gradient(180deg, rgba(36, 73, 60, 0.6), rgba(29, 58, 48, 0.6));
  box-shadow: var(--sh-1);
}
.forum-group + .forum-group { margin-top: 22px; }
.forum-group__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 64px 84px 190px;
  gap: 14px;
  align-items: center;
  padding: 12px 20px;
  font-size: var(--fs-xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-dim);
  background: rgba(0, 0, 0, 0.3);
  border-bottom: 2px solid var(--c-brass);
}
.forum-group__head h2 {
  margin: 0;
  font-size: var(--fs-md);
  letter-spacing: 0.04em;
  color: var(--c-gold);
}
.forum-group__head span { text-align: center; }
.forum-group__head span:last-child { text-align: left; }

/* Строка раздела / темы */
.forum-row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 64px 84px 190px;
  gap: 14px;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid var(--c-line-soft);
  transition: background var(--t);
}
.forum-row:last-child { border-bottom: 0; }
.forum-row:hover { background: rgba(255, 211, 77, 0.05); }
.forum-row__main { display: flex; align-items: center; gap: 16px; min-width: 0; }
.forum-row__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 52px; height: 52px;
  padding: 4px;
  border-radius: 14px;
  border: 1px solid var(--c-line);
  background: radial-gradient(circle at 50% 35%, rgba(255, 211, 77, 0.22), rgba(0, 0, 0, 0.25) 70%);
}
.forum-row__icon img { width: 100%; height: 100%; object-fit: contain; }
.forum-row__icon--new { box-shadow: 0 0 0 2px var(--c-gold), 0 0 14px rgba(255, 211, 77, 0.35); }
.forum-row__title {
  display: block;
  margin: 0 0 4px;
  font-family: var(--f-body);
  font-size: var(--fs-md);
  font-weight: 600;
  line-height: 1.35;
}
.forum-row__title a { color: var(--c-cream); }
.forum-row__title .tag { margin-left: 6px; vertical-align: 2px; }
.forum-row__title .status { margin-right: 6px; vertical-align: -3px; }
.forum-row__title .status:empty { display: none; }
.forum-row__title a:hover { color: var(--c-gold); }
.forum-row__title a::after { content: ""; position: absolute; inset: 0; } /* вся строка — ссылка */
.forum-row__info { min-width: 0; }
.forum-row__desc { margin: 0; font-size: var(--fs-sm); color: var(--c-dim); }
.forum-row__sub { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-top: 6px; font-size: var(--fs-xs); color: var(--c-dim); }
.forum-row__sub > span:first-child { margin-right: 6px; }
.forum-row__sub a { position: relative; z-index: 1; color: var(--c-muted); }
.forum-row__sub a:hover { color: var(--c-gold); }
.forum-row__num { text-align: center; line-height: 1.2; }
.forum-row__num strong { display: block; font-family: var(--f-head); font-weight: 400; font-size: var(--fs-lg); color: var(--c-cream); }
.forum-row__num span { font-size: var(--fs-xs); color: var(--c-dim); }
.forum-row--pinned { background: rgba(255, 211, 77, 0.06); }
.forum-row--read .forum-row__title a { color: var(--c-muted); font-weight: 500; }

/* Последнее сообщение */
.last {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 10px;
  align-items: center;
  min-width: 0;
  font-size: var(--fs-xs);
  color: var(--c-dim);
}
.last > div { min-width: 0; }
.last > div > span { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.last a { display: block; overflow: hidden; color: var(--c-muted); font-size: var(--fs-sm); white-space: nowrap; text-overflow: ellipsis; }
.last a:hover { color: var(--c-gold); }

/* Значки статуса темы */
.status { display: inline-flex; gap: 4px; }
.status svg { width: 18px; height: 18px; }
.status .is-pin { color: var(--c-gold); }
.status .is-lock { color: var(--c-dim); }
.status .is-solved { color: var(--c-green); }
.tag {
  display: inline-block;
  padding: 1px 8px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-transform: uppercase;
  border-radius: 6px;
  color: var(--c-cream);
  background: #3a4a44;
}
.tag--dev { color: var(--c-ink); background: var(--c-gold); }
.tag--solved { color: #0e2408; background: var(--c-green); }
.tag--bug { color: #fff; background: var(--c-red); }
.tag--idea { color: #08202a; background: var(--c-sky); }

/* Аватары: инициалы на цветном круге (без фото) */
.avatar {
  --av: #4b6b5e;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 36px; height: 36px;
  font-family: var(--f-head);
  font-size: 0.85rem;
  color: #fff;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--av) 70%, #fff), var(--av) 70%);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.45);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
}
.avatar--lg { width: 72px; height: 72px; font-size: 1.5rem; }
.avatar--dev { background: radial-gradient(circle at 50% 35%, #2c5747, #10221b); box-shadow: 0 0 0 3px var(--c-gold), 0 0 16px rgba(255, 211, 77, 0.35); }
.avatar--dev img { width: 80%; height: auto; }

/* Сообщения в теме */
.thread { display: grid; gap: 18px; }
.post {
  position: relative;
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--c-line-soft);
  border-radius: var(--r-md);
  background: linear-gradient(180deg, rgba(36, 73, 60, 0.7), rgba(29, 58, 48, 0.7));
  box-shadow: var(--sh-1);
}
.post__author {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 22px 14px;
  text-align: center;
  background: rgba(0, 0, 0, 0.22);
  border-right: 1px solid var(--c-line-soft);
}
.post__name { font-weight: 700; color: var(--c-cream); word-break: break-word; }
.post__role { font-size: var(--fs-xs); color: var(--c-dim); }
.post__stats { display: grid; gap: 2px; margin-top: 4px; font-size: var(--fs-xs); color: var(--c-dim); }
.post__body { display: flex; flex-direction: column; min-width: 0; padding: 18px 24px 16px; }
.post__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  padding-bottom: 12px;
  margin-bottom: 14px;
  border-bottom: 1px dashed var(--c-line-soft);
  font-size: var(--fs-xs);
  color: var(--c-dim);
}
.post__head a { color: var(--c-dim); }
.post__head a:hover { color: var(--c-gold); }
.post__when { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.post__text { color: var(--c-muted); }
.post__text p:last-child { margin-bottom: 0; }
.post__text ul, .post__text ol { padding-left: 1.2em; margin: 0 0 1em; }
.post__text li + li { margin-top: 4px; }
.post__text img { margin: 6px 0 12px; border-radius: var(--r-sm); border: 2px solid var(--c-line); }
.post__text code {
  padding: 1px 6px;
  font-size: 0.9em;
  color: var(--c-gold);
  background: rgba(0, 0, 0, 0.35);
  border-radius: 4px;
}
.quote {
  margin: 0 0 14px;
  padding: 10px 14px;
  font-size: var(--fs-sm);
  font-style: normal;
  color: var(--c-muted);
  border-left: 3px solid var(--c-dim);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  background: rgba(0, 0, 0, 0.25);
}
.quote cite { display: block; margin-bottom: 4px; font-style: normal; font-weight: 700; font-size: var(--fs-xs); color: var(--c-cream); }
.post__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--c-line-soft);
}
.post__actions { display: flex; flex-wrap: wrap; gap: 4px; }
.act {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--c-dim);
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: color var(--t), background var(--t), border-color var(--t);
}
.act svg { width: 16px; height: 16px; }
.act:hover { color: var(--c-cream); background: rgba(0, 0, 0, 0.25); }
.act.is-on { color: var(--c-gold); border-color: var(--c-line); }
.post__sign { font-size: var(--fs-xs); color: var(--c-dim); font-style: italic; }

/* Ответ разработчика — латунная рамка и лента */
.post--dev {
  border: 2px solid var(--c-gold);
  background: linear-gradient(180deg, rgba(60, 80, 40, 0.55), rgba(29, 58, 48, 0.8));
  box-shadow: var(--sh-1), 0 0 30px rgba(255, 211, 77, 0.12);
}
.post--dev .post__author { background: rgba(255, 211, 77, 0.08); border-right-color: var(--c-line); }
.post--dev .post__name { color: var(--c-gold); }
.post__ribbon {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  font-family: var(--f-head);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-ink);
  background: var(--c-gold);
  border-radius: 6px;
}
.post__ribbon svg { width: 14px; height: 14px; }
.post--solution { border-color: var(--c-green); }
.post__solution {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: -4px 0 14px;
  padding: 8px 12px;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: #c9f2b4;
  background: rgba(108, 194, 74, 0.14);
  border-radius: var(--r-sm);
}
.post__solution svg { width: 18px; height: 18px; color: var(--c-green); }

/* Шапка темы */
.topic-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px 24px;
  margin-bottom: 22px;
}
.topic-head h1 { margin: 6px 0 10px; font-size: var(--fs-h2); }
.topic-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: var(--fs-sm); color: var(--c-dim); }
.topic-meta span { display: inline-flex; align-items: center; gap: 6px; }
.topic-meta svg { width: 16px; height: 16px; }

/* Редактор ответа */
.editor {
  overflow: hidden;
  border: 1px solid rgba(195, 210, 191, 0.25);
  border-radius: var(--r-sm);
  background: rgba(11, 23, 18, 0.6);
  transition: border-color var(--t), box-shadow var(--t);
}
.editor:focus-within { border-color: var(--c-gold); box-shadow: 0 0 0 3px rgba(255, 211, 77, 0.2); }
.editor__tools {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  padding: 6px;
  border-bottom: 1px solid var(--c-line-soft);
  background: rgba(0, 0, 0, 0.25);
}
.editor__tools button {
  display: grid;
  place-items: center;
  min-width: 34px;
  height: 34px;
  padding: 0 8px;
  font-weight: 700;
  font-size: var(--fs-sm);
  color: var(--c-muted);
  background: transparent;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
}
.editor__tools button:hover { color: var(--c-ink); background: var(--c-gold); }
.editor__tools svg { width: 18px; height: 18px; }
.editor__sep { width: 1px; margin: 6px 4px; background: var(--c-line-soft); }
.editor .uk-textarea,
.editor .uk-textarea:focus { border: 0; border-radius: 0; background: transparent; box-shadow: none; min-height: 180px; }
.editor__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  font-size: var(--fs-xs);
  color: var(--c-dim);
  border-top: 1px solid var(--c-line-soft);
}

.reply-box { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 18px; }

/* Боковые блоки форума */
.forum-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.forum-stats div { padding: 12px; text-align: center; border-radius: var(--r-sm); background: rgba(0, 0, 0, 0.25); }
.forum-stats strong { display: block; font-family: var(--f-head); font-weight: 400; font-size: 1.4rem; color: var(--c-gold); }
.forum-stats span { font-size: var(--fs-xs); color: var(--c-dim); }
.online { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.online .avatar { width: 30px; height: 30px; font-size: 0.7rem; }
.mini-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.mini-list li { display: grid; grid-template-columns: 36px 1fr; gap: 10px; align-items: start; font-size: var(--fs-xs); color: var(--c-dim); }
.mini-list a { display: block; font-size: var(--fs-sm); color: var(--c-cream); line-height: 1.35; margin-bottom: 2px; }
.mini-list a:hover { color: var(--c-gold); }
.rules { margin: 0; padding-left: 1.2em; font-size: var(--fs-sm); }
.rules li + li { margin-top: 6px; }

.legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: var(--fs-sm); }
.legend li { display: flex; align-items: center; gap: 10px; }
.legend .tag { min-width: 0; }
.fieldset { margin: 0; padding: 0; border: 0; display: grid; gap: 8px; }

.empty-note {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  font-size: var(--fs-sm);
  border-radius: var(--r-sm);
  border: 1px dashed var(--c-line);
  background: rgba(255, 211, 77, 0.05);
}
.empty-note svg { width: 22px; height: 22px; color: var(--c-gold); }

/* 10. Вход и регистрация ------------------------------------------------ */

/* Раскладка: картинка слева, форма справа */
.auth {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 520px);
  min-height: calc(100vh - var(--header-h));
}
.auth__art {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 18px;
  padding: clamp(32px, 5vw, 64px);
  overflow: hidden;
  isolation: isolate;
  border-right: 2px solid var(--c-brass);
}
.auth__art > img:first-child {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.auth__art::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(0deg, rgba(11, 23, 18, 0.95) 0%, rgba(11, 23, 18, 0.55) 45%, rgba(11, 23, 18, 0.1) 100%);
}
.auth__logo { width: min(340px, 80%); filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.55)); }
.auth__art h2 { max-width: 20ch; margin: 0; }
.auth__perks { display: grid; gap: 12px; max-width: 460px; margin: 0; padding: 0; list-style: none; }
.auth__perks li { display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: center; color: var(--c-cream); font-size: var(--fs-sm); }
.auth__perks img {
  width: 44px;
  height: 44px;
  padding: 3px;
  border-radius: 12px;
  border: 1px solid var(--c-line);
  background: rgba(11, 23, 18, 0.7);
}
.auth__side {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(28px, 4vw, 56px) 16px;
  background: linear-gradient(180deg, var(--c-bg-2), var(--c-bg));
}
.auth__card { width: 100%; max-width: 420px; }
.auth__card h1 { margin-bottom: 8px; font-size: clamp(1.8rem, 1.4rem + 1.4vw, 2.4rem); }
.auth__card > p { margin-bottom: 26px; color: var(--c-muted); }
.auth__card .form { gap: 16px; }
.auth__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; font-size: var(--fs-sm); }
.auth__switch {
  margin: 26px 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--c-line-soft);
  text-align: center;
  font-size: var(--fs-sm);
  color: var(--c-dim);
}
.auth__icon {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  margin-bottom: 18px;
  border-radius: 20px;
  border: 1px solid var(--c-line);
  background: radial-gradient(circle at 50% 35%, rgba(255, 211, 77, 0.25), rgba(0, 0, 0, 0.25) 70%);
  color: var(--c-gold);
}
.auth__icon svg { width: 34px; height: 34px; }

/* Вход через соцсети */
.social-login { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.social-login .uk-button { text-transform: none; letter-spacing: 0; font-family: var(--f-body); font-weight: 600; }
.divider-text {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 22px 0;
  font-size: var(--fs-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-dim);
}
.divider-text::before,
.divider-text::after { content: ""; flex: 1; height: 1px; background: var(--c-line-soft); }

/* Поле пароля с кнопкой «показать» */
.pass { position: relative; }
.pass .uk-input { padding-right: 52px; }
.pass__toggle {
  position: absolute;
  right: 6px;
  top: 50%;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  transform: translateY(-50%);
  color: var(--c-dim);
  background: transparent;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
}
.pass__toggle:hover { color: var(--c-gold); }
.pass__toggle svg { width: 20px; height: 20px; }
.pass__toggle .i-hide { display: none; }
.pass.is-shown .pass__toggle .i-show { display: none; }
.pass.is-shown .pass__toggle .i-hide { display: block; }

/* Надёжность пароля: 4 деления */
.strength { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin-top: 2px; }
.strength i { height: 5px; border-radius: 3px; background: rgba(195, 210, 191, 0.15); transition: background var(--t); }
.strength[data-level="1"] i:nth-child(-n+1) { background: var(--c-red); }
.strength[data-level="2"] i:nth-child(-n+2) { background: var(--c-gold-2); }
.strength[data-level="3"] i:nth-child(-n+3) { background: #b7d84a; }
.strength[data-level="4"] i { background: var(--c-green); }
.strength-text { font-size: var(--fs-xs); color: var(--c-dim); }

.notice {
  display: flex;
  gap: 12px;
  padding: 14px 16px;
  font-size: var(--fs-sm);
  border-radius: var(--r-sm);
  border: 1px solid rgba(108, 194, 74, 0.5);
  background: rgba(108, 194, 74, 0.1);
  color: #d6f5c6;
}
.notice svg { width: 22px; height: 22px; color: var(--c-green); }
.notice[hidden] { display: none; }

/* 11. Формы-страницы, пресс-кит, юр. тексты ---------------------------- */

.faq-nav { display: grid; gap: 6px; }
.faq-nav a { display: block; padding: 10px 14px; border-radius: var(--r-sm); color: var(--c-muted); border-left: 3px solid transparent; }
.faq-nav a:hover { background: rgba(0, 0, 0, 0.2); color: var(--c-cream); border-left-color: var(--c-gold); }

/* Контакты */
.contact-cards { display: grid; gap: 16px; }
.contact-card { display: grid; grid-template-columns: 48px 1fr; gap: 14px; align-items: center; }
.contact-card__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: rgba(255, 211, 77, 0.12); color: var(--c-gold); }
.contact-card__icon svg { width: 24px; height: 24px; }
.contact-card strong { display: block; }
.contact-card span { font-size: var(--fs-sm); color: var(--c-dim); }

/* Пресс-кит */
.facts { display: grid; gap: 0; margin: 0; }
.facts div { display: grid; grid-template-columns: 140px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--c-line-soft); }
.facts div:last-child { border-bottom: 0; }
.facts dt { color: var(--c-dim); font-size: var(--fs-sm); font-weight: 400; }
.aside .facts div { grid-template-columns: 92px 1fr; }
.facts dd { margin: 0; color: var(--c-cream); font-size: var(--fs-sm); }
.asset {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: var(--r-md);
  border: 1px solid var(--c-line-soft);
  background: rgba(0, 0, 0, 0.2);
}
.asset__preview {
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 10;
  padding: 14px;
  border-radius: var(--r-sm);
  background: repeating-conic-gradient(#1a2e26 0 25%, #213a30 0 50%) 0 0 / 20px 20px;
}
.asset__preview img { max-height: 100%; object-fit: contain; }
.asset__preview--photo { padding: 0; overflow: hidden; }
.asset__preview--photo img { width: 100%; height: 100%; object-fit: cover; }
.asset__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: var(--fs-sm); }
.asset__row span { color: var(--c-dim); font-size: var(--fs-xs); }

/* Сообщить об ошибке: карточки выбора, зона загрузки файлов, известные проблемы */
.uk-textarea.input--short { min-height: 96px; }
.uk-textarea.input--tall { min-height: 260px; }
/* в редакторе - тоже, и в фокусе: иначе .editor .uk-textarea:focus сжимал поле до 180px,
   при потере фокуса оно вырастало и сдвигало кнопку, по которой как раз кликают */
.editor .uk-textarea.input--tall { min-height: 260px; }
/* разделы длинной формы: отступ и тонкая линия над заголовком */
.form > h2:not(:first-child) { margin: 10px 0 0; padding-top: 22px; border-top: 1px solid var(--c-line-soft); }
.choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.choice__item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 14px;
  border: 1px solid var(--c-line-soft);
  border-radius: var(--r-sm);
  background: rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transition: border-color var(--t), background var(--t);
}
.choice__item input { margin-top: 2px; flex-shrink: 0; }
.choice__item strong { display: block; font-size: var(--fs-sm); color: var(--c-cream); }
.choice__item small { display: block; font-size: var(--fs-xs); color: var(--c-dim); }
.choice__item:hover { border-color: var(--c-line); }
.choice__item:has(input:checked) { border-color: var(--c-gold); background: rgba(255, 211, 77, 0.08); }

.dropzone { position: relative; }
.dropzone__input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.dropzone__area {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 28px 16px;
  text-align: center;
  color: var(--c-muted);
  border: 2px dashed rgba(255, 211, 77, 0.45);
  border-radius: var(--r-md);
  background: rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transition: border-color var(--t), background var(--t);
}
.dropzone__area svg { width: 42px; height: 42px; margin-bottom: 4px; color: var(--c-gold); }
.dropzone__area strong { color: var(--c-cream); font-size: var(--fs-md); }
.dropzone__area small { max-width: 46ch; margin-top: 6px; font-size: var(--fs-xs); color: var(--c-dim); }
.dropzone__pick { color: var(--c-gold); text-decoration: underline; text-underline-offset: 3px; }
.dropzone__area:hover,
.dropzone.is-over .dropzone__area { border-color: var(--c-gold); background: rgba(255, 211, 77, 0.07); }
.dropzone__input:focus-visible + .dropzone__area { outline: 3px solid var(--c-gold); outline-offset: 3px; }
.dropzone__error { margin: 10px 0 0; font-size: var(--fs-sm); color: #ff9b8c; }
.dropzone__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.dropzone__list:empty { display: none; }
.dz-file { position: relative; overflow: hidden; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-ink); }
.dz-file__thumb { display: grid; place-items: center; aspect-ratio: 16 / 10; background: #0b1712; color: var(--c-gold); }
.dz-file__thumb img { width: 100%; height: 100%; object-fit: cover; }
.dz-file__thumb svg { width: 34px; height: 34px; }
.dz-file__meta { padding: 6px 8px; font-size: var(--fs-xs); }
.dz-file__name { display: block; overflow: hidden; color: var(--c-cream); white-space: nowrap; text-overflow: ellipsis; }
.dz-file__size { color: var(--c-dim); }
.dz-file__remove {
  position: absolute;
  top: 6px;
  right: 6px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: var(--c-cream);
  background: rgba(11, 23, 18, 0.85);
  cursor: pointer;
}
.dz-file__remove:hover { background: var(--c-red); }
.dz-file__remove svg { width: 16px; height: 16px; }

.known { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.known li { display: grid; gap: 4px; justify-items: start; }
.known strong { font-size: var(--fs-sm); line-height: 1.35; }
.known small { font-size: var(--fs-xs); color: var(--c-dim); }

/* Об авторе: монограмма вместо фото */
.author-card { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.author-card__mono {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  font-family: var(--f-head);
  font-size: 1.6rem;
  color: var(--c-ink);
  background: radial-gradient(circle at 40% 30%, #ffe9a3, var(--c-gold) 55%, var(--c-brass));
  box-shadow: 0 0 0 3px var(--c-brass-d), 0 0 0 6px rgba(255, 211, 77, 0.25), var(--sh-1);
}

/* Юридические тексты */
.legal { font-size: var(--fs-md); }
.legal h2 { font-size: 1.35rem; margin-top: 2.2em; }
.legal ul { padding-left: 1.2em; }
.toc { list-style: none; margin: 0; padding: 0; counter-reset: toc; font-size: var(--fs-sm); }
.toc li { counter-increment: toc; }
.toc a { display: block; padding: 6px 0; color: var(--c-muted); }
.toc a::before { content: counter(toc) ". "; color: var(--c-gold); }
.toc a:hover { color: var(--c-gold); }

/* 12. Поддержать игру --------------------------------------------------- */
.donate-band {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px;
  padding: clamp(20px, 3vw, 32px) clamp(20px, 3vw, 40px);
  border: 2px solid var(--c-brass);
  border-radius: var(--r-lg);
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(255, 211, 77, 0.16), transparent 55%),
    linear-gradient(135deg, var(--c-panel-2), var(--c-bg-2));
  box-shadow: var(--sh-2);
}
.donate-band__icon {
  display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%;
  color: var(--c-ink); background: radial-gradient(circle at 35% 30%, #fff1b0, var(--c-gold) 55%, var(--c-brass));
  box-shadow: 0 0 0 4px rgba(255, 211, 77, 0.22), 0 10px 24px rgba(255, 211, 77, 0.3);
}
.donate-band__icon svg { width: 34px; height: 34px; }
.donate-band__text h2 { font-size: var(--fs-h3); margin-bottom: 6px; }
.donate-band__text p { margin: 0; }

.panel--donate { border-color: var(--c-gold); background: linear-gradient(160deg, #3b3313, var(--c-bg-2) 70%); }

.spend-list { display: grid; gap: 14px; margin-top: 18px; }
.spend {
  display: grid; grid-template-columns: 64px 1fr; gap: 16px; align-items: start;
  padding: 16px 18px; border-radius: var(--r-md);
  background: rgba(36, 73, 60, 0.6); border: 1px solid var(--c-line-soft);
}
.spend img { width: 64px; height: 64px; }
.spend h3 { font-size: var(--fs-h4); margin: 0 0 4px; }
.spend p { margin: 0; font-size: var(--fs-sm); }

.donate-rub {
  display: grid; grid-template-columns: minmax(220px, 0.8fr) 1.4fr auto; align-items: center; gap: 28px;
  padding: clamp(20px, 3vw, 32px);
  border: 2px solid var(--c-brass); border-radius: var(--r-lg);
  background: linear-gradient(180deg, var(--c-panel-2), var(--c-panel));
  box-shadow: var(--sh-1);
}
.donate-rub__brand { display: flex; align-items: center; gap: 14px; }
.donate-rub__brand strong { display: block; color: var(--c-cream); font-size: var(--fs-md); }
.donate-rub__brand span { font-size: var(--fs-sm); color: var(--c-dim); }
.ya-logo {
  display: grid; place-items: center; flex-shrink: 0; width: 56px; height: 56px; border-radius: 50%;
  font: 800 30px/1 Arial, Helvetica, sans-serif; color: #fff; background: #fc3f1d;
  box-shadow: 0 6px 16px rgba(252, 63, 29, 0.35);
}
.donate-rub__label { margin: 0 0 8px; color: var(--c-cream); font-weight: 600; }
.amounts { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; padding: 0; list-style: none; }
.amounts li {
  padding: 6px 14px; border-radius: var(--r-pill);
  color: var(--c-cream); font-weight: 600; font-size: var(--fs-sm);
  background: rgba(11, 23, 18, 0.55); border: 1px solid var(--c-line);
}
.donate-rub__body .uk-text-muted { margin: 0; font-size: var(--fs-sm); }

.coin {
  display: grid; grid-template-columns: 1fr 112px;
  grid-template-areas: "head qr" "label qr" "addr addr" "hint hint";
  column-gap: 18px; padding: 22px; border-radius: var(--r-md);
  border: 1px solid var(--c-line); background: linear-gradient(180deg, var(--c-panel-2), var(--c-panel));
  box-shadow: var(--sh-1);
}
.coin__head { grid-area: head; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.coin__logo {
  display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%;
  font: 700 26px/1 var(--f-body); color: #fff; background: var(--coin);
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.2), 0 4px 12px rgba(0, 0, 0, 0.35);
}
.coin__name h3 { margin: 0; font-size: var(--fs-h4); }
.coin__name span { font-size: var(--fs-xs); letter-spacing: 0.08em; color: var(--c-dim); }
.coin__net { margin-left: auto; }
.coin__qr {
  grid-area: qr; align-self: start; display: grid; place-items: center; width: 112px; height: 112px;
  border-radius: var(--r-sm);
  background:
    repeating-linear-gradient(0deg, rgba(11, 23, 18, 0.08) 0 6px, transparent 6px 12px),
    repeating-linear-gradient(90deg, rgba(11, 23, 18, 0.08) 0 6px, transparent 6px 12px),
    var(--c-cream);
  border: 2px dashed var(--c-brass);
}
.coin__qr span { font-size: var(--fs-xs); font-weight: 700; color: #5b410f; }
.coin__label { grid-area: label; align-self: end; margin: 14px 0 6px; font-size: var(--fs-xs); color: var(--c-dim); text-transform: uppercase; letter-spacing: 0.08em; }
.coin__addr { grid-area: addr; display: flex; gap: 10px; align-items: stretch; margin-top: 10px; }
.coin__addr code {
  flex: 1; min-width: 0; padding: 10px 12px; border-radius: var(--r-sm);
  font: 500 var(--fs-sm)/1.4 ui-monospace, Consolas, monospace;
  color: var(--c-cream); background: rgba(11, 23, 18, 0.65); border: 1px solid var(--c-line-soft);
  overflow-wrap: anywhere; user-select: all;
}
.coin__addr .uk-button { flex-shrink: 0; }
.coin__hint { grid-area: hint; margin: 10px 0 0; font-size: var(--fs-xs); color: var(--c-dim); }

.warn {
  display: grid; grid-template-columns: auto 1fr; gap: 18px; margin-top: 24px;
  padding: 20px 24px; border-radius: var(--r-md);
  border: 1px solid rgba(255, 211, 77, 0.45); background: rgba(255, 211, 77, 0.07);
}
.warn__icon {
  display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
  font: 700 22px/1 var(--f-head); color: var(--c-ink); background: var(--c-gold);
}
.warn h3 { margin: 0 0 8px; font-size: var(--fs-h4); }
.warn ul { margin: 0; padding-left: 18px; }
.warn li { margin-bottom: 6px; }

.thanks {
  margin-top: 40px; padding: 32px; text-align: center; border-radius: var(--r-lg);
  border: 1px solid var(--c-line);
  background: radial-gradient(100% 120% at 50% 0%, rgba(255, 211, 77, 0.12), transparent 60%), var(--c-bg-2);
}
.thanks__icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; color: var(--c-ink); background: var(--c-gold); }
.thanks__icon svg { width: 28px; height: 28px; }
.thanks__text { max-width: 560px; margin: 16px auto 20px; color: var(--c-cream); font-size: var(--fs-md); }
.thanks__sign { justify-content: center; margin: 0; text-align: left; }

/* 13. Адаптив, печать --------------------------------------------------- */
@media (max-width: 1199.98px) {
  :root { --header-h: 64px; }
  .brand img { height: 42px; }
  .forum-group__head, .forum-row { grid-template-columns: minmax(0, 1fr) 70px 190px; }
  .forum-group__head .col-b, .forum-row__num--b { display: none; }
  .gallery--feature { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .donate-rub { grid-template-columns: 1fr; }
  .donate-rub__btn { justify-self: start; }
}

@media (max-width: 959.98px) {
  .aside { position: static; }
  .boss { grid-template-columns: 1fr; }
  .news-featured { grid-template-columns: 1fr; }
  .news-featured .uk-card-media-top { min-height: 220px; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero { min-height: auto; padding-top: calc(var(--header-h) + 140px); }
  .hero::after { background: linear-gradient(0deg, var(--c-bg) 8%, rgba(11, 23, 18, 0.75) 55%, rgba(11, 23, 18, 0.25)); }
  .hero__scroll { display: none; }
  .frame--tilt { transform: none; }
  .forum-group__head { grid-template-columns: 1fr; }
  .forum-group__head span { display: none; }
  .forum-row { grid-template-columns: 1fr; gap: 10px; padding: 14px 16px; }
  .forum-row__num { display: none; }
  .forum-row .last { padding-left: 68px; }
  .post { grid-template-columns: 1fr; }
  .post__author {
    flex-direction: row;
    justify-content: flex-start;
    gap: 12px;
    padding: 12px 16px;
    text-align: left;
    border-right: 0;
    border-bottom: 1px solid var(--c-line-soft);
  }
  .post__author .avatar--lg { width: 44px; height: 44px; font-size: 1rem; }
  .post__author .post__stats { display: none; }
  .post__body { padding: 16px; }
  .reply-box { grid-template-columns: 1fr; }
  .reply-box > .avatar { display: none; }
  .auth { grid-template-columns: 1fr; min-height: 0; }
  .auth__art { min-height: 300px; border-right: 0; border-bottom: 2px solid var(--c-brass); }
  .auth__art h2, .auth__perks { display: none; }
}

@media (max-width: 860px) {
  .donate-band { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .boss--rev { grid-template-columns: 1fr; }
  .boss--rev .boss__art { order: 0; }
}

@media (max-width: 639.98px) {
  .gallery, .gallery--feature { grid-template-columns: 1fr; }
  .gallery--feature .shot:first-child { grid-column: auto; grid-row: auto; aspect-ratio: 16 / 9; }
  .unit { grid-template-columns: 72px 1fr; gap: 14px; padding: 14px; }
  .unit__img { width: 72px; height: 72px; }
  .mission { grid-template-columns: 1fr; }
  .facts div { grid-template-columns: 1fr; gap: 2px; }
  .choice { grid-template-columns: 1fr; }
  .uk-button-large { width: 100%; }
  .cta { padding: 28px 20px; }
}

@media (max-width: 520px) {
  .coin { grid-template-columns: 1fr; grid-template-areas: "head" "qr" "label" "addr" "hint"; }
  .coin__qr { margin-top: 14px; }
  .coin__addr { flex-direction: column; }
}

@media (max-width: 340px) {
  .social-login { grid-template-columns: 1fr; }
}

/* форум: спойлер, предпросмотр, загрузка картинки в редактор */
.spoiler { margin: 0 0 1em; padding: 10px 14px; border: 1px dashed var(--c-brass); border-radius: var(--r-md); background: rgba(0, 0, 0, 0.18); }
.spoiler > summary { cursor: pointer; font-weight: 700; color: var(--c-gold); }
.spoiler[open] > summary { margin-bottom: 8px; }
.preview { margin: 0 0 16px; padding: 14px 16px; border: 1px dashed var(--c-line); border-radius: var(--r-md); }
.editor textarea.is-loading { opacity: 0.6; cursor: progress; }
.post__text img { max-width: 100%; height: auto; }

/* .uk-drop не трогаем: UIkit меряет выпадающее меню по ходу своей анимации,
   при 0.01ms оно встает со сдвигом на свой размер (посередине экрана) */
@media (prefers-reduced-motion: reduce) {
  *:not(.uk-drop), *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

@media print {
  .site-header, .site-footer, .cookie, .to-top, .hero__scroll, .uk-button { display: none !important; }
  html, body { background: #fff; color: #000; }
  h1, h2, h3 { color: #000; }
}
