/*
 * wmarka_tenge — The Tenge на wmarka. Стили дизайн-прототипа the-tengekz-new (design/prototype, v0.1) перенесены как есть:
 * токены, компоненты tm-*, главная, статья, ленты, подвал. Убраны только служебная панель прототипа и карта шаблонов.
 * Разметку tm-* выводят переопределения этого шаблона (partial/, html/) и модуль главной mod_tenge_home.
 *
 * Шрифты — локально, из ../fonts/ (свободная лицензия OFL): Raleway — шрифт чтения (заголовки, лиды, текст статьи),
 * Golos Text — интерфейс (меню, подписи, метки, таблицы), как в прототипе (--font-text и --font-ui).
 * Казахские буквы — в наборах cyrillic и cyrillic-ext, знак ₸ — в latin-ext; браузер берёт только нужные файлы.
 * В стиле шаблона «Шрифт» — «Системный»: иначе wmarka подключит свой Noto Sans.
 */

/* Golos Text normal — cyrillic-ext */
/* Шрифты: основные наборы (кириллица, латиница с цифрами) — swap и предзагрузка в «Коде в head»; курсив и расширенные наборы — optional:
   если не успели загрузиться, страница не перестраивается (CLS), а шрифт подхватится со следующей страницы. */
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 800;
  font-display: optional;
  src: url(../fonts/golos-text-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Golos Text normal — cyrillic */
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/golos-text-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Golos Text normal — latin-ext */
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 800;
  font-display: optional;
  src: url(../fonts/golos-text-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Golos Text normal — latin */
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/golos-text-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Raleway italic — cyrillic-ext */
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 400 800;
  font-display: optional;
  src: url(../fonts/raleway-italic-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Raleway italic — cyrillic */
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 400 800;
  font-display: optional;
  src: url(../fonts/raleway-italic-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Raleway italic — latin-ext */
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 400 800;
  font-display: optional;
  src: url(../fonts/raleway-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Raleway italic — latin */
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 400 800;
  font-display: optional;
  src: url(../fonts/raleway-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Raleway normal — cyrillic-ext */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400 800;
  font-display: optional;
  src: url(../fonts/raleway-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Raleway normal — cyrillic */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/raleway-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Raleway normal — latin-ext */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400 800;
  font-display: optional;
  src: url(../fonts/raleway-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Raleway normal — latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/raleway-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   The Tenge — дизайн-токены и компоненты. Префикс собственных классов — tm-.
   Токены объявлены один раз; тёмная тема переопределяет те же переменные.
   ========================================================================== */
/* Цвета: одна таблица, у каждого токена светлое и тёмное значение в light-dark(). Тема — по системе (color-scheme: light dark),
   ручной выбор переключает color-scheme атрибутом data-theme. Тёмные значения записаны один раз. */
:root {
  color-scheme: light dark;
  --paper: light-dark(#F3F5F2, #0F1613);
  --raised: light-dark(#FFFFFF, #1B2722);
  --surface: light-dark(#E7EEE9, #16211C);
  --ink: light-dark(#16221D, #E6ECE8);
  --ink-2: light-dark(#43514A, #B6C1BA);
  --ink-3: light-dark(#5E6C65, #8B9790);
  --line: light-dark(#D3DCD6, #26342D);
  --line-strong: light-dark(#78867F, #6E7E76);
  --brand: light-dark(#274E37, #8CC2A2);
  --on-brand: light-dark(#FFFFFF, #0B1F18);
  --brand-soft: light-dark(#E2ECE5, #1C3327);
  --accent: light-dark(#2B8EB5, #6DC6E7);
  --accent-text: light-dark(#1C6C8F, #6DC6E7);
  --up: light-dark(#1F7A4D, #8CC2A2);
  --down: light-dark(#AE3727, #E58C78);
  --focus: light-dark(#2B8EB5, #6DC6E7);
  --cover-deep: light-dark(#274E37, #1B3626);
  --shadow: 0 1px 0 light-dark(rgba(22, 34, 29, .04), rgba(0, 0, 0, .3)), 0 12px 32px -18px light-dark(rgba(22, 34, 29, .28), rgba(0, 0, 0, .7));
  --t-ekonomika: light-dark(#274E37, #8CC2A2);
  --t-rynki: light-dark(#1F4E8C, #8DB4EA);
  --t-biznes: light-dark(#3D4A57, #AEBBC8);
  --t-finansy: light-dark(#7A5A12, #DDB866);
  --t-obshchestvo: light-dark(#9A3F2B, #E89C86);
  --t-gosudarstvo: light-dark(#5E3A6B, #C9A2D8);
  --t-mir: light-dark(#136572, #72C6D1);
  --c1: light-dark(#274E37, #8CC2A2);
  --c2: light-dark(#2B8EB5, #6DC6E7);
  --c3: light-dark(#1F4E8C, #8DB4EA);
  --c4: light-dark(#8E9A93, #7C8983);
  --c5: light-dark(#9A3F2B, #E89C86);
  --c6: light-dark(#5E3A6B, #C9A2D8);

  --font-text: "Raleway", "Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-ui: "Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --wrap: 1280px;
  --gut: clamp(16px, 4vw, 40px);
  --gap: clamp(20px, 2.4vw, 32px);
  --section: clamp(48px, 7vw, 96px);
  --r-s: 4px;
  --r-m: 8px;
  --header-h: 70px;
  --tabbar-h: 0px;
  --sa-top: env(safe-area-inset-top, 0px);
  --sa-bottom: env(safe-area-inset-bottom, 0px);
}
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"] { color-scheme: dark; }
/* запасной вариант для браузеров без light-dark() (Safari до 17.5): светлая тема */
@supports not (color: light-dark(#000, #fff)) { :root { color-scheme: light; --paper: #F3F5F2; --raised: #FFFFFF; --surface: #E7EEE9; --ink: #16221D; --ink-2: #43514A; --ink-3: #5E6C65; --line: #D3DCD6; --line-strong: #78867F; --brand: #274E37; --on-brand: #FFFFFF; --brand-soft: #E2ECE5; --accent: #2B8EB5; --accent-text: #1C6C8F; --up: #1F7A4D; --down: #AE3727; --focus: #2B8EB5; --cover-deep: #274E37; --shadow: 0 1px 0 rgba(22, 34, 29, .04), 0 12px 32px -18px rgba(22, 34, 29, .28); --t-ekonomika: #274E37; --t-rynki: #1F4E8C; --t-biznes: #3D4A57; --t-finansy: #7A5A12; --t-obshchestvo: #9A3F2B; --t-gosudarstvo: #5E3A6B; --t-mir: #136572; --c1: #274E37; --c2: #2B8EB5; --c3: #1F4E8C; --c4: #8E9A93; --c5: #9A3F2B; --c6: #5E3A6B; } }

/* ───────── база ───────── */
html {
  background: var(--paper); color: var(--ink);
  font-family: var(--font-ui); font-size: 100%; line-height: 1.5;
  font-variant-numeric: lining-nums;
  scroll-padding-top: calc(var(--header-h) + var(--sa-top) + 16px);
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
}
body { margin: 0; background: var(--paper); color: var(--ink); overflow-x: clip; }
*, *::before, *::after { box-sizing: border-box; }
img, svg { max-width: 100%; }
a { color: var(--brand); text-decoration: none; }
a:hover { color: var(--ink); text-decoration: none; }
:where(h1, h2, h3, h4, h5, h6) { color: var(--ink); font-family: var(--font-text); text-transform: none; margin: 0; }
p, ul, ol, dl, figure, table, blockquote { margin: 0; }
:where(ul, ol).tm-plain { list-style: none; padding: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
::selection { background: var(--brand-soft); color: var(--ink); }
:focus { outline: none; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 2px; }
[hidden] { display: none !important; }
.tm-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.tm-icon { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.tm-icon--fill { fill: currentColor; stroke: none; }
.tm-num, .tm-table, .tm-ticker, .tm-feed time, .tm-time { font-variant-numeric: lining-nums tabular-nums; }
.uk-light, .uk-card { color: inherit; }

/* ───────── сайт и экраны ───────── */
.tm-site { display: flex; flex-direction: column; min-height: 100vh; min-height: 100svh; padding-top: var(--sa-top); }
.tm-site::before { content: ""; position: fixed; inset: 0 0 auto; height: var(--sa-top); background: var(--paper); z-index: 60; }
.uk-container.tm-wrap, .tm-wrap { box-sizing: content-box; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gut); }
.tm-page { flex: 1 0 auto; outline: none; padding-bottom: var(--section); }
.js .tm-screen { display: none; }
.js .tm-screen.is-active { display: block; }
.tm-screen + .tm-screen { border-top: 6px double var(--line); }
.js .tm-screen + .tm-screen { border-top: 0; }
.tm-screen__h1-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.tm-section { margin-top: var(--section); }
.tm-section--tight { margin-top: clamp(32px, 4vw, 56px); }
.tm-grid { display: grid; gap: var(--gap); grid-template-columns: repeat(var(--cols, 1), minmax(0, 1fr)); }
.uk-grid.tm-grid { margin: 0; }
.uk-grid.tm-grid > * { padding: 0; margin: 0; }
@media (min-width: 640px) { .tm-grid--2s { --cols: 2; } .tm-grid--3s { --cols: 2; } .tm-grid--4s { --cols: 2; } }
@media (min-width: 960px) { .tm-grid--3s { --cols: 3; } .tm-grid--4s { --cols: 4; } .tm-grid--3m { --cols: 3; } }

/* ───────── «Перейти к содержанию» ───────── */
.tm-skip { position: absolute; left: 12px; top: -100px; z-index: 100; background: var(--brand); color: var(--on-brand); padding: 12px 16px; border-radius: var(--r-s); font-weight: 600; }
.tm-skip:focus { top: calc(12px + var(--sa-top)); color: var(--on-brand); }

/* ───────── объявление ───────── */
.tm-announce { background: var(--surface); border-bottom: 1px solid var(--line); font-size: .9375rem; }
.tm-announce__in { display: flex; align-items: center; gap: 8px 16px; flex-wrap: wrap; padding-block: 10px; }
.tm-announce__type { font-weight: 600; display: inline-flex; align-items: center; gap: 8px; }
.tm-announce__type::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); }
.tm-announce[data-kind="urgent"] .tm-announce__type::before { background: var(--down); }
.tm-announce[data-kind="mourning"] .tm-announce__type::before { background: var(--ink); }
.tm-announce__text { color: var(--ink); }
.tm-announce__until { color: var(--ink-3); font-size: .8125rem; }
.tm-announce__close { margin-left: auto; }

/* ───────── кнопки, ссылки, поля ───────── */
.tm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 20px; border-radius: var(--r-s);
  border: 1px solid var(--brand); background: var(--brand); color: var(--on-brand); font-weight: 600; font-size: .9375rem; cursor: pointer; white-space: nowrap; line-height: 1.2; }
.tm-btn:hover { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.tm-btn--ghost { background: transparent; color: var(--ink); border-color: var(--line-strong); }
.tm-btn--ghost:hover { background: var(--surface); color: var(--ink); border-color: var(--ink); }
.tm-btn--small { min-height: 36px; padding: 0 14px; font-size: .875rem; }
.tm-btn[aria-pressed="true"] { background: var(--surface); color: var(--brand); border-color: var(--brand); }
.tm-link-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; border: 0; padding: 0; background: none; color: var(--brand); font-weight: 600; font-size: .875rem; cursor: pointer; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.tm-link-btn:hover { color: var(--ink); }
.tm-link-btn .tm-icon { width: 18px; height: 18px; }
.tm-more { font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.tm-field { display: grid; gap: 6px; }
.tm-field > span, .tm-field > label { font-size: .875rem; font-weight: 600; color: var(--ink-2); }
.tm-input, .tm-select { min-height: 44px; width: 100%; border: 1px solid var(--line-strong); border-radius: var(--r-s); background: var(--raised); color: var(--ink); padding: 0 12px; font-size: 1rem; font-variant-numeric: lining-nums tabular-nums; }
.tm-select { appearance: none; padding-right: 36px; background-image: linear-gradient(45deg, transparent 50%, var(--ink-2) 50%), linear-gradient(135deg, var(--ink-2) 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.tm-input:focus-visible, .tm-select:focus-visible { outline-offset: 0; }
.tm-input::placeholder { color: var(--ink-3); }

/* ───────── метки ───────── */
.tm-topic { color: var(--tc, var(--brand)); font-weight: 600; font-size: .8125rem; letter-spacing: .01em; }
a.tm-topic:hover { color: var(--ink); }
.tm-format { font-family: var(--font-text); font-style: italic; font-size: .875rem; color: var(--ink-2); }
.tm-badge { display: inline-flex; align-items: center; gap: 6px; font-size: .8125rem; font-weight: 600; color: var(--ink-2); }
.tm-badge--live { color: var(--down); }
.tm-badge--live::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.tm-demo { display: inline-flex; align-items: center; font: 500 .75rem/1 var(--font-ui); color: var(--ink-2); border: 1px dashed var(--line-strong); border-radius: 3px; padding: 4px 6px; vertical-align: middle; white-space: nowrap; letter-spacing: 0; font-style: normal; }
.tm-story { display: inline-flex; gap: 6px; align-items: baseline; font-size: .8125rem; color: var(--ink-2); font-weight: 500; text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
.tm-story:hover { color: var(--brand); }
.tm-chg { font-weight: 600; white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; }
.tm-chg--up { color: var(--up); }
.tm-chg--down { color: var(--down); }
.tm-chg--neutral, .tm-chg--flat { color: var(--ink-2); }

/* двойная черта ₸ — фирменный мотив */
.tm-dbar { display: inline-block; width: 26px; height: 8px; border-top: 2px solid var(--brand); border-bottom: 2px solid var(--brand); margin-right: 12px; vertical-align: .32em; flex: none; }
.tm-dbar--chart { width: 22px; height: 7px; margin: 0 0 10px; display: block; border-color: var(--accent); }

/* ───────── живые числа (верхняя строка) ───────── */
.tm-ticker { background: var(--raised); border-bottom: 1px solid var(--line); font-size: .8125rem; position: relative; }
.tm-ticker__in { display: flex; align-items: stretch; gap: 0; min-height: 56px; }
.tm-ticker__now { display: flex; flex-direction: column; justify-content: center; padding-right: 18px; margin-right: 6px; border-right: 1px solid var(--line); white-space: nowrap; flex: none; }
.tm-ticker__day { font-weight: 600; color: var(--ink); }
.tm-ticker__time { color: var(--ink-3); }
.tm-ticker__list { display: flex; align-items: stretch; flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
.tm-ticker__list::-webkit-scrollbar { display: none; }
.tm-tick { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 8px; align-content: center; padding: 6px 12px; color: var(--ink); white-space: nowrap; flex: 1 0 auto; border-radius: var(--r-s); }
.tm-tick:hover { background: var(--surface); color: var(--ink); }
.tm-tick__label { color: var(--ink-2); font-weight: 500; }
.tm-tick__val { font-weight: 600; font-size: .9375rem; grid-row: 2; }
.tm-tick__spark { grid-row: 1; grid-column: 2; justify-self: end; align-self: center; }
.tm-tick__meta { grid-row: 2; grid-column: 2; display: flex; gap: 6px; align-items: baseline; justify-self: end; }
.tm-tick__upd { color: var(--ink-3); font-size: .75rem; }
.tm-spark { width: 40px; height: 14px; overflow: visible; }
.tm-spark polyline { fill: none; stroke: var(--brand); stroke-width: 1.5; }
.tm-ticker__demo { display: flex; align-items: center; padding-left: 10px; flex: none; }
@media (max-width: 1199px) { .tm-ticker__now { display: none; } }
@media (max-width: 959px) {
  .tm-ticker__in { padding-inline: 0; }
  .tm-ticker__list { padding-inline: var(--gut); scroll-snap-type: x proximity; }
  .tm-tick { flex: none; scroll-snap-align: start; }
  .tm-ticker__demo { position: absolute; right: 8px; top: -14px; padding: 0; }
}

/* ───────── шапка ───────── */
.tm-header { position: sticky; top: var(--sa-top); z-index: 50; background: var(--paper); border-bottom: 1px solid var(--line); overflow-anchor: none; }
.tm-header::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; border-top: 2px solid var(--brand); border-bottom: 2px solid var(--brand); pointer-events: none; }
.tm-header__bar { display: flex; align-items: center; gap: 20px; height: var(--header-h); padding-top: 6px; }
.tm-logo { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); flex: none; }
.tm-logo:hover { color: var(--ink); }
.tm-logo__mark { width: 34px; height: 34px; flex: none; }
.tm-logo__mark .bg { fill: var(--brand); }
.tm-logo__mark .fg { fill: var(--on-brand); }
.tm-logo__word { font-family: var(--font-text); font-weight: 700; font-size: 1.5rem; letter-spacing: -.01em; line-height: 1; white-space: nowrap; }
.tm-logo__motto { display: block; font-family: var(--font-ui); font-weight: 400; font-size: .75rem; letter-spacing: 0; color: var(--ink-3); margin-top: 4px; transition: opacity .15s; }
.tm-nav { flex: 1; min-width: 0; }
.tm-nav__list { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.tm-nav__link { position: relative; display: inline-flex; align-items: center; gap: 4px; min-height: 44px; padding: 0 10px; color: var(--ink); font-weight: 500; font-size: .9375rem; white-space: nowrap; border: 0; background: none; cursor: pointer; }
.tm-nav__link::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 6px; height: 3px; background: var(--tc, var(--brand)); transform: scaleX(0); transform-origin: left; }
.tm-nav__link:hover { color: var(--ink); }
.tm-nav__link:hover::after { transform: scaleX(1); height: 1px; }
.tm-nav__link[aria-current="page"]::after { transform: scaleX(1); height: 3px; }
.tm-nav__link .tm-icon { width: 16px; height: 16px; transition: transform .15s; }
.tm-nav__link[aria-expanded="true"] .tm-icon { transform: rotate(180deg); }
.tm-header__actions { display: flex; align-items: center; gap: 8px; margin-left: auto; flex: none; }
.tm-iconbtn { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: var(--r-s); border: 0; background: transparent; color: var(--ink); cursor: pointer; }
.tm-iconbtn:hover { background: var(--surface); color: var(--ink); }
.tm-iconbtn .tm-icon { width: 22px; height: 22px; }
.tm-header__menu { display: none; }
.tm-header.is-compact .tm-logo__motto { opacity: 0; }
.tm-header.is-compact .tm-header__subscribe { visibility: hidden; opacity: 0; }
.tm-progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 6px; border-top: 2px solid var(--brand); border-bottom: 2px solid var(--accent); transform-origin: left; transform: scaleX(var(--p, 0)); opacity: 0; pointer-events: none; }
.tm-header.has-progress .tm-progress { opacity: 1; }
@media (max-width: 1279px) { .tm-logo__motto { display: none; } .tm-nav__link { padding: 0 8px; font-size: .9063rem; } .tm-nav__link::after { left: 8px; right: 8px; } }
@media (max-width: 1099px) { .tm-header__subscribe { display: none; } }
@media (max-width: 959px) {
  :root { --header-h: 64px; --tabbar-h: calc(60px + var(--sa-bottom)); }
  .tm-nav, .tm-header__subscribe { display: none; }
  .tm-header__menu { display: inline-grid; }
  .tm-logo__word { font-size: 1.3125rem; }
  .tm-logo__mark { width: 30px; height: 30px; }
  .tm-site { padding-bottom: var(--tabbar-h); }
}

/* мегапанель «Ещё» и поиск в шапке */
.tm-drop { position: absolute; left: 0; right: 0; top: 100%; background: var(--raised); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); z-index: 49; max-height: calc(100vh - var(--header-h) - 40px); overflow: auto; }
.tm-mega { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; padding-block: 32px 40px; }
.tm-mega__group h2 { font-family: var(--font-ui); font-size: 1rem; font-weight: 700; }
.tm-mega__group p { color: var(--ink-2); font-size: .875rem; margin: 4px 0 14px; }
.tm-mega__group ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.tm-mega__group a { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; color: var(--ink); border-bottom: 1px solid var(--line); font-size: .9375rem; }
.tm-mega__group a:hover { color: var(--brand); }
.tm-mega__group small { color: var(--ink-3); font-size: .8125rem; font-variant-numeric: tabular-nums; }
.tm-searchdrop { padding-block: 24px 28px; }
.tm-searchbox { display: flex; gap: 8px; }
.tm-searchbox .tm-input { font-size: 1.125rem; min-height: 52px; }
.tm-searchbox .tm-btn { min-height: 52px; }
.tm-quick { margin-top: 16px; display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.tm-qa { display: grid; grid-template-columns: auto 1fr auto; gap: 4px 20px; align-items: center; padding: 18px 20px; border: 1px solid var(--line); border-left: 4px solid var(--brand); border-radius: var(--r-s); background: var(--paper); color: var(--ink); }
.tm-qa:hover { color: var(--ink); border-color: var(--brand); }
.tm-qa__val { font-family: var(--font-text); font-size: 2rem; font-weight: 600; line-height: 1; color: var(--brand); grid-row: span 2; font-variant-numeric: lining-nums tabular-nums; }
.tm-qa__title { font-weight: 600; }
.tm-qa__meta { color: var(--ink-3); font-size: .8125rem; }
.tm-qa .tm-chg { grid-row: span 2; }
.tm-suggest { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tm-chip { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line-strong); background: var(--raised); color: var(--ink); font-size: .875rem; cursor: pointer; }
.tm-chip:hover, .tm-chip[aria-pressed="true"] { border-color: var(--brand); color: var(--brand); }
.tm-quick__results { list-style: none; padding: 0; margin: 0; display: grid; }
.tm-quick__results a { display: block; padding: 10px 0; border-bottom: 1px solid var(--line); color: var(--ink); font-family: var(--font-text); font-weight: 600; }
.tm-quick__results a:hover { color: var(--brand); }
@media (max-width: 959px) { .tm-mega { grid-template-columns: 1fr 1fr; } }

/* ───────── offcanvas: меню на телефоне ───────── */
.tm-offcanvas .uk-offcanvas-bar { background: var(--paper); color: var(--ink); width: min(88vw, 400px); padding: calc(20px + var(--sa-top)) 22px calc(28px + var(--sa-bottom)); }
.tm-offcanvas .uk-offcanvas-close { color: var(--ink); top: calc(14px + var(--sa-top)); right: 14px; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; }
.tm-offcanvas h2 { font-family: var(--font-ui); font-size: .875rem; font-weight: 700; color: var(--ink-2); margin: 28px 0 8px; }
.tm-offcanvas p.tm-oc__hint { font-size: .8125rem; color: var(--ink-3); margin: -4px 0 8px; }
.tm-oc__topics { list-style: none; margin: 0; padding: 0; }
.tm-oc__topics a { display: flex; align-items: center; gap: 12px; padding: 11px 0; font-family: var(--font-text); font-size: 1.25rem; font-weight: 600; color: var(--ink); border-bottom: 1px solid var(--line); }
.tm-oc__topics a::before { content: ""; width: 4px; height: 20px; background: var(--tc); border-radius: 1px; }
.tm-oc__links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 8px; }
.tm-oc__links a { display: inline-flex; min-height: 36px; align-items: center; padding: 0 12px; border-radius: 999px; border: 1px solid var(--line); color: var(--ink); font-size: .875rem; }
.tm-oc__search { display: flex; gap: 8px; margin-top: 8px; }

/* ───────── нижняя панель на телефоне ───────── */
.tm-tabbar { display: none; }
@media (max-width: 959px) {
  .tm-tabbar { display: grid; grid-template-columns: repeat(5, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; background: var(--raised); border-top: 1px solid var(--line); padding-bottom: var(--sa-bottom); }
  .tm-tabbar__item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 60px; color: var(--ink-2); font-size: .6875rem; font-weight: 500; border: 0; background: none; cursor: pointer; padding: 6px 2px; }
  .tm-tabbar__item .tm-icon { width: 24px; height: 24px; }
  .tm-tabbar__item[aria-current="page"] { color: var(--brand); }
  .tm-tabbar__item[aria-current="page"] .tm-icon { stroke-width: 2.1; }
}

/* ───────── хлебные крошки и заголовки экранов ───────── */
.tm-crumbs { padding-top: 22px; font-size: .875rem; }
.tm-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0; }
.tm-crumbs li { display: inline-flex; align-items: center; color: var(--ink-3); }
.tm-crumbs li + li::before { content: "→"; margin: 0 8px; color: var(--ink-3); font-family: var(--font-ui); }
.tm-crumbs a { color: var(--ink-2); text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
.tm-crumbs a:hover { color: var(--brand); }
.tm-crumbs [aria-current] { max-width: 42ch; overflow: hidden; text-overflow: clip; white-space: nowrap; }
.tm-pagehead { padding-top: 18px; display: grid; gap: 14px; max-width: 920px; }
.tm-pagehead h1 { font-size: clamp(2.125rem, 1.4rem + 2.6vw, 3.25rem); line-height: 1.08; font-weight: 700; letter-spacing: -.012em; }
.tm-pagehead__lead { font-family: var(--font-text); font-size: clamp(1.125rem, 1rem + .5vw, 1.375rem); line-height: 1.5; color: var(--ink-2); max-width: 40em; }
.tm-pagehead__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; color: var(--ink-3); font-size: .875rem; }
.tm-bh { display: flex; align-items: baseline; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; padding-bottom: 14px; margin-bottom: 22px; border-bottom: 1px solid var(--line); }
.tm-bh__title { font-size: clamp(1.375rem, 1.15rem + .8vw, 1.75rem); font-weight: 700; line-height: 1.2; letter-spacing: -.005em; }
.tm-bh__title a { color: inherit; }
.tm-bh__title a:hover { color: var(--brand); }
.tm-bh__aside { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.tm-bh__more { font-weight: 600; font-size: .9375rem; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }

/* ───────── обложки 16:9 ───────── */
.tm-cover { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r-s); overflow: hidden; background: var(--surface); margin: 0; }
.tm-cover svg { display: block; width: 100%; height: 100%; }
.tm-cover--figure { background: #274E37; background: light-dark(#274E37, #1E3B2A); color: #FFFFFF; color: light-dark(#FFFFFF, #F3F5F2); display: grid; align-content: end; padding: clamp(14px, 4%, 28px); }
.tm-cover--figure .tm-cover__big { font-family: var(--font-text); font-weight: 600; font-size: var(--cover-big, clamp(2.75rem, 9cqi, 6.5rem)); line-height: .9; letter-spacing: -.02em; font-variant-numeric: lining-nums; }
.tm-cover--figure .tm-cover__what { font-size: clamp(.75rem, 2.4cqi, 1rem); margin-top: .6em; max-width: 30ch; opacity: .92; }
.tm-cover--figure::before { content: ""; position: absolute; left: clamp(14px, 4%, 28px); top: clamp(14px, 6%, 28px); width: 34px; height: 10px; border-top: 2px solid var(--accent); border-bottom: 2px solid var(--accent); }
.tm-cover--photo { background: var(--surface); }
.tm-cover--photo svg .ph-a { fill: var(--surface); }
.tm-cover--photo svg .ph-b { fill: color-mix(in srgb, var(--line) 70%, var(--surface)); }
.tm-cover--photo svg .ph-c { fill: color-mix(in srgb, var(--ink-3) 18%, var(--surface)); }
.tm-cover--photo svg .ph-i { fill: none; stroke: var(--ink-3); stroke-width: 1.5; }
.tm-cover__credit { position: absolute; right: 8px; bottom: 8px; font-size: .6875rem; background: color-mix(in srgb, var(--paper) 88%, transparent); color: var(--ink-2); padding: 2px 6px; border-radius: 2px; }
.tm-cover--chart { background: var(--raised); border: 1px solid var(--line); }
.tm-cover--chart .cc-grid line { stroke: var(--line); stroke-width: 1; vector-effect: non-scaling-stroke; }
.tm-cover--chart .cc-area { fill: color-mix(in srgb, var(--brand) 10%, transparent); }
.tm-cover--chart .cc-line { fill: none; stroke: var(--brand); stroke-width: 3; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.tm-cover--chart .cc-dot { fill: var(--accent); }
.tm-cover--chart .tm-cover__credit { background: transparent; left: 10px; right: auto; bottom: 6px; padding: 0; }
.tm-cover-wrap { container-type: inline-size; }

/* ───────── карточки ───────── */
.tm-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding-top: 14px; min-width: 0; }
.tm-card::before { content: ""; position: absolute; top: 0; left: 0; width: 32px; height: 3px; background: var(--tc, var(--brand)); }
.tm-card__link { display: flex; flex-direction: column; gap: 10px; color: var(--ink); }
.tm-card__link:hover, .tm-card__link:focus-visible { color: var(--ink); }
.tm-card__link:hover .tm-card__title, .tm-card__link:focus-visible .tm-card__title { color: var(--brand); }
.tm-card__topic { order: 0; }
.tm-card__title { font-family: var(--font-text); font-weight: 700; font-size: 1.25rem; line-height: 1.25; letter-spacing: -.003em; text-wrap: pretty; }
.tm-card__lead { font-family: var(--font-text); color: var(--ink-2); font-size: 1rem; line-height: 1.5; }
.tm-card__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; color: var(--ink-3); font-size: .8125rem; }
.tm-card__meta .tm-format { font-size: .875rem; }
.tm-card__read { white-space: nowrap; }
.tm-card--lg .tm-card__title { font-size: clamp(1.5rem, 1.1rem + 1.3vw, 2.125rem); line-height: 1.14; letter-spacing: -.01em; }
.tm-card--lg .tm-card__lead { font-size: clamp(1.0625rem, 1rem + .25vw, 1.1875rem); max-width: 36em; }
.tm-card--lg .tm-card__link { gap: 14px; }
.tm-card--text .tm-card__title { font-size: 1.125rem; }
.tm-card--num .tm-card__fig { display: grid; gap: 6px; padding: 18px 18px 16px; background: var(--raised); border: 1px solid var(--line); border-radius: var(--r-s); }
.tm-card--num .tm-card__big { font-family: var(--font-text); font-weight: 600; font-size: clamp(2.75rem, 2rem + 2vw, 3.5rem); line-height: .95; letter-spacing: -.02em; color: var(--ink); font-variant-numeric: lining-nums; }
.tm-card--num .tm-card__unit { color: var(--ink-2); font-size: .875rem; }
.tm-card--num .tm-card__figrow { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.tm-card--num .tm-spark { width: 96px; height: 30px; }
.tm-card--num .tm-spark polyline { stroke: var(--accent); stroke-width: 2; }
.tm-card--old .tm-card__meta time { color: var(--ink-2); }
.tm-oldnote { font-size: .75rem; color: var(--ink-2); border: 1px solid var(--line-strong); border-radius: 3px; padding: 1px 6px; }

/* строка ленты */
.tm-feed { list-style: none; margin: 0; padding: 0; }
.tm-feed__item { display: grid; grid-template-columns: 4.6rem minmax(0, 1fr); gap: 4px 14px; padding: 11px 0; border-bottom: 1px solid var(--line); position: relative; }
.tm-feed__item:last-child { border-bottom: 0; }
.tm-feed__item time { color: var(--ink-3); font-size: .8125rem; padding-top: 3px; white-space: nowrap; }
.tm-feed__item time.is-fresh { color: var(--brand); font-weight: 600; white-space: normal; line-height: 1.25; }
.tm-feed__link { color: var(--ink); font-family: var(--font-text); font-weight: 600; font-size: 1.0625rem; line-height: 1.32; }
.tm-feed__link:hover { color: var(--brand); }
.tm-feed__link::after { content: ""; position: absolute; inset: 0; }
.tm-feed__meta { grid-column: 2; display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; font-size: .8125rem; color: var(--ink-3); }
.tm-feed__meta .tm-topic { position: relative; z-index: 1; }
.tm-feed--wide .tm-feed__item { grid-template-columns: 7.2rem minmax(0, 1fr); padding: 14px 0; }
.tm-feed--wide .tm-feed__link { font-size: 1.1875rem; }
.tm-feed__day { font-family: var(--font-ui); font-size: .9375rem; font-weight: 700; color: var(--ink); padding: 26px 0 8px; border-bottom: 2px solid var(--ink); list-style: none; }
.tm-feed__day:first-child { padding-top: 0; }

/* цитата */
.tm-card--quote { padding-top: 0; gap: 18px; }
.tm-card--quote::before { display: none; }
.tm-card--quote .tm-card__link { gap: 18px; }
.tm-quote { font-family: var(--font-text); font-style: italic; font-size: clamp(1.25rem, 1.05rem + .7vw, 1.5rem); line-height: 1.38; color: var(--ink); text-wrap: pretty; position: relative; padding-top: 30px; }
.tm-quote::before { content: "«"; position: absolute; top: -6px; left: -2px; font-size: 3.25rem; line-height: 1; color: var(--accent); font-style: normal; }
.tm-card__link:hover .tm-quote { color: var(--brand); }
.tm-person { display: flex; align-items: center; gap: 12px; }
.tm-person__img { width: 52px; height: 52px; border-radius: 50%; flex: none; overflow: hidden; background: var(--surface); }
.tm-person__img svg { width: 100%; height: 100%; display: block; }
.tm-person__name { font-weight: 600; color: var(--ink); line-height: 1.3; }
.tm-person__role { color: var(--ink-3); font-size: .8125rem; line-height: 1.35; }
.tm-person a { color: inherit; }
.tm-person a:hover { color: var(--brand); }

/* лонгрид в карточке */
.tm-card--long { padding-top: 0; }
.tm-card--long::before { display: none; }
.tm-card--long .tm-card__link { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 0; background: var(--cover-deep); color: #F3F5F2; border-radius: var(--r-m); overflow: hidden; min-height: 320px; }
.tm-card--long .tm-card__link:hover .tm-card__title, .tm-card--long .tm-card__link:focus-visible .tm-card__title { color: #6DC6E7; }
.tm-card--long .tm-card__art { position: relative; min-height: 220px; }
.tm-card--long .tm-card__art svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.tm-card--long .tm-card__body { padding: clamp(22px, 3vw, 40px); display: flex; flex-direction: column; gap: 14px; justify-content: flex-end; }
.tm-card--long .tm-card__kicker { font-weight: 600; font-size: .8125rem; color: #6DC6E7; display: flex; gap: 12px; }
.tm-card--long .tm-card__title { color: #F3F5F2; font-size: clamp(1.75rem, 1.2rem + 2vw, 2.75rem); line-height: 1.08; letter-spacing: -.012em; }
.tm-card--long .tm-card__lead { color: #CFDAD3; }
.tm-card--long .tm-card__meta { color: #B7C5BD; }
@media (max-width: 767px) { .tm-card--long .tm-card__link { grid-template-columns: 1fr; } .tm-card--long .tm-card__art { min-height: 180px; } }

/* ───────── главная ───────── */
.tm-greet { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; padding: 26px 0 0; }
.tm-greet__text { font-family: var(--font-text); font-size: clamp(1.25rem, 1.05rem + .8vw, 1.75rem); font-weight: 400; line-height: 1.25; color: var(--ink); }
.tm-greet__text b { font-weight: 700; }
.tm-modes { display: flex; align-items: center; gap: 10px; font-size: .8125rem; color: var(--ink-3); }
.tm-modes__label { white-space: nowrap; }
.tm-modes .tm-seg { color: var(--ink-2); border-color: var(--line-strong); }
.tm-modes .tm-seg button { color: var(--ink-2); }
.tm-modes .tm-seg button[aria-pressed="true"] { background: var(--ink); }
.tm-modes .tm-seg button[aria-pressed="true"] > span { color: var(--paper); }
.tm-hero { margin-top: 22px; }
.tm-daynum { display: grid; gap: 8px; padding-bottom: 28px; }
.tm-daynum__label { display: flex; align-items: center; gap: 0 10px; font-size: .875rem; font-weight: 600; color: var(--ink-2); flex-wrap: wrap; }
.tm-daynum__label .tm-dbar { margin-right: 4px; }
.tm-daynum__fig { font-family: var(--font-text); font-weight: 560; font-size: clamp(5.25rem, 2rem + 11vw, 11rem); line-height: .86; letter-spacing: -.035em; color: var(--brand); font-variant-numeric: lining-nums; margin: 6px 0 4px -.04em; }
.tm-daynum__fig span { font-weight: 400; letter-spacing: -.02em; }
.tm-daynum__what { font-family: var(--font-text); font-size: clamp(1.0625rem, 1rem + .4vw, 1.3125rem); line-height: 1.45; color: var(--ink); max-width: 30em; }
.tm-daynum__more { justify-self: start; margin-top: 6px; font-size: 1rem; }
.tm-hero__tabs { display: none; }
.tm-side { background: var(--raised); border: 1px solid var(--line); border-radius: var(--r-m); padding: 22px 24px 18px; }
.tm-side__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 6px; }
.tm-side__title { font-size: 1.375rem; font-weight: 700; }
.tm-side__sub { font-size: .8125rem; color: var(--ink-3); }
.tm-side [data-mode-block] { display: none; }
.tm-hero[data-mode="morning"] [data-mode-block="morning"], .tm-hero[data-mode="day"] [data-mode-block="day"],
.tm-hero[data-mode="evening"] [data-mode-block="evening"], .tm-hero[data-mode="weekend"] [data-mode-block="weekend"] { display: block; }
.no-js .tm-side [data-mode-block="day"] { display: block; }
.tm-brief { list-style: none; margin: 10px 0 18px; padding: 0; counter-reset: b; }
.tm-brief li { counter-increment: b; display: grid; grid-template-columns: 2rem 1fr; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.tm-brief li::before { content: counter(b); font-family: var(--font-text); font-size: 1.5rem; line-height: 1; color: var(--accent); font-weight: 600; font-variant-numeric: lining-nums; }
.tm-brief a { color: var(--ink); font-family: var(--font-text); font-weight: 600; font-size: 1.0625rem; line-height: 1.35; }
.tm-brief a:hover { color: var(--brand); }
.tm-side__actions { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; margin-top: 4px; }
.tm-weekend { display: grid; gap: 18px; margin-top: 12px; }
.tm-weekend a { display: grid; grid-template-columns: 96px 1fr; gap: 14px; color: var(--ink); align-items: start; }
.tm-weekend a:hover .tm-weekend__t { color: var(--brand); }
.tm-weekend__thumb { aspect-ratio: 1; border-radius: var(--r-s); overflow: hidden; background: var(--cover-deep); }
.tm-weekend__thumb svg { width: 100%; height: 100%; display: block; }
.tm-weekend__t { font-family: var(--font-text); font-weight: 700; font-size: 1.0625rem; line-height: 1.3; display: block; }
.tm-weekend__m { color: var(--ink-3); font-size: .8125rem; display: block; margin-top: 4px; }
.tm-important { margin-top: clamp(36px, 5vw, 64px); }
@media (min-width: 960px) {
  .tm-hero { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: clamp(32px, 4vw, 56px); grid-template-areas: "num side" "lead side" "imp imp"; align-items: start; }
  .tm-daynum { grid-area: num; }
  .tm-hero__main { display: contents; }
  .tm-hero__lead { grid-area: lead; }
  .tm-hero__side { grid-area: side; position: sticky; top: calc(var(--header-h) + var(--sa-top) + 20px); }
  .tm-important { grid-area: imp; }
}
@media (max-width: 959px) {
  .tm-hero__tabs { display: flex; gap: 0; border-bottom: 1px solid var(--line); margin: 6px 0 22px; position: sticky; top: calc(var(--header-h) + var(--sa-top)); background: var(--paper); z-index: 5; }
  .tm-hero__tabs button { flex: 1; min-height: 48px; border: 0; background: none; font-weight: 600; font-size: 1rem; color: var(--ink-2); border-bottom: 3px solid transparent; margin-bottom: -1px; cursor: pointer; }
  .tm-hero__tabs button[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--brand); }
  .js .tm-hero[data-tab="main"] .tm-hero__side { display: none; }
  .js .tm-hero[data-tab="side"] .tm-hero__main { display: none; }
  .tm-side { background: transparent; border: 0; padding: 0; }
  .tm-side__head { display: none; }
  .no-js .tm-hero__side { margin-top: 40px; }
}

/* экономика сегодня — полоса на главной */
.tm-today { background: var(--surface); border-radius: var(--r-m); padding: clamp(22px, 3vw, 36px); }
.tm-today__grid { display: grid; gap: 1px; background: var(--line); grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: var(--r-s); overflow: hidden; }
.tm-today__cell { background: var(--raised); padding: 18px 20px 20px; display: grid; gap: 6px; align-content: start; color: var(--ink); }
.tm-today__cell:hover { color: var(--ink); background: var(--paper); }
.tm-today__kind { font-size: .8125rem; font-weight: 600; color: var(--ink-2); }
.tm-today__val { font-family: var(--font-text); font-size: clamp(1.75rem, 1.4rem + 1vw, 2.25rem); font-weight: 600; line-height: 1; font-variant-numeric: lining-nums tabular-nums; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.tm-today__val .tm-chg { font-family: var(--font-ui); font-size: .875rem; }
.tm-today__name { font-weight: 600; font-size: .9375rem; }
.tm-today__why { font-family: var(--font-text); color: var(--ink-2); font-size: .9375rem; line-height: 1.45; }
@media (max-width: 959px) { .tm-today__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 479px) { .tm-today__grid { grid-template-columns: 1fr; } }

/* полка тем */
.tm-shelf { display: grid; gap: clamp(36px, 4vw, 48px) var(--gap); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tm-shelf__col { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.tm-shelf__head { border-top: 3px solid var(--tc); padding-top: 12px; display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.tm-shelf__head h2 { font-size: 1.375rem; font-weight: 700; }
.tm-shelf__head h2 a { color: var(--ink); }
.tm-shelf__head h2 a:hover { color: var(--tc); }
.tm-shelf__list { list-style: none; margin: 0; padding: 0; display: grid; }
.tm-shelf__list li { padding: 12px 0; border-top: 1px solid var(--line); }
.tm-shelf__list a { color: var(--ink); font-family: var(--font-text); font-weight: 600; font-size: 1rem; line-height: 1.35; display: block; }
.tm-shelf__list a:hover { color: var(--brand); }
.tm-shelf__list .tm-card__meta { margin-top: 6px; }
.tm-shelf .tm-card { padding-top: 0; }
.tm-shelf .tm-card::before { display: none; }
@media (max-width: 1099px) { .tm-shelf { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .tm-shelf { grid-template-columns: 1fr; } }

/* индекс бешбармака: чек */
.tm-receipt { background: var(--raised); border: 1px solid var(--line); border-radius: var(--r-s); padding: 20px 20px 18px; position: relative; font-variant-numeric: lining-nums tabular-nums; }
.tm-receipt::after { content: ""; position: absolute; left: 0; right: 0; bottom: -7px; height: 8px; background: radial-gradient(circle at 6px -2px, transparent 6px, var(--raised) 6.5px) repeat-x; background-size: 12px 8px; }
.tm-receipt__title { font-family: var(--font-text); font-weight: 700; font-size: 1.25rem; }
.tm-receipt__sub { color: var(--ink-3); font-size: .8125rem; margin-top: 2px; }
.tm-receipt__rows { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; font-size: .9375rem; }
.tm-receipt__rows li { display: flex; align-items: baseline; gap: 8px; }
.tm-receipt__rows li::after { content: ""; order: 2; flex: 1; border-bottom: 1px dotted var(--line-strong); transform: translateY(-4px); min-width: 12px; }
.tm-receipt__name { order: 1; }
.tm-receipt__name small { color: var(--ink-3); font-size: .8125rem; }
.tm-receipt__sum { order: 3; font-weight: 600; white-space: nowrap; }
.tm-receipt__total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 2px solid var(--ink); position: relative; }
.tm-receipt__total::before { content: ""; position: absolute; left: 0; right: 0; top: 2px; border-top: 2px solid var(--ink); }
.tm-receipt__total b { font-family: var(--font-text); font-size: 2rem; font-weight: 600; color: var(--brand); line-height: 1; padding-top: 6px; }
.tm-receipt__total span { font-weight: 600; padding-top: 6px; }
.tm-receipt__chg { margin-top: 8px; font-size: .875rem; color: var(--ink-2); }
.tm-receipt__foot { margin-top: 14px; display: flex; gap: 12px 18px; flex-wrap: wrap; align-items: center; }

/* мнения, лонгриды, как это работает */
.tm-opinions { display: grid; gap: var(--gap); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tm-opinions > * { padding-top: 22px; border-top: 1px solid var(--line); }
@media (max-width: 959px) { .tm-opinions { grid-template-columns: 1fr; } }
.tm-longs { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.tm-longs__side { display: grid; gap: var(--gap); align-content: start; }
@media (max-width: 959px) { .tm-longs { grid-template-columns: 1fr; } }
.tm-explain { display: grid; gap: var(--gap); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tm-explain__item { background: var(--raised); border: 1px solid var(--line); border-radius: var(--r-m); padding: 20px; display: flex; flex-direction: column; gap: 12px; color: var(--ink); min-height: 200px; }
.tm-explain__item:hover { color: var(--ink); border-color: var(--brand); }
.tm-explain__item:hover .tm-explain__t { color: var(--brand); }
.tm-explain__q { font-family: var(--font-text); font-size: 2.25rem; line-height: 1; color: var(--accent); font-weight: 600; }
.tm-explain__t { font-family: var(--font-text); font-weight: 700; font-size: 1.125rem; line-height: 1.3; }
.tm-explain__item .tm-card__meta { margin-top: auto; }
.tm-explain__item--dict { background: var(--brand); color: var(--on-brand); border-color: var(--brand); }
.tm-explain__item--dict:hover { color: var(--on-brand); background: var(--ink); border-color: var(--ink); }
.tm-explain__item--dict .tm-explain__t, .tm-explain__item--dict:hover .tm-explain__t { color: inherit; }
.tm-explain__item--dict p { font-size: .9375rem; line-height: 1.45; opacity: .92; }
.tm-explain__terms { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.tm-explain__terms span { border: 1px solid currentColor; border-radius: 999px; padding: 2px 10px; font-size: .8125rem; opacity: .9; }
@media (max-width: 1099px) { .tm-explain { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px) { .tm-explain { grid-template-columns: 1fr; } .tm-explain__item { min-height: 0; } }

/* подписка */
.tm-subscribe { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 64px); align-items: center; padding: clamp(28px, 4vw, 48px); border-radius: var(--r-m); background: var(--raised); border: 1px solid var(--line); position: relative; overflow: hidden; }
.tm-subscribe::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; border-top: 2px solid var(--brand); border-bottom: 2px solid var(--brand); }
.tm-subscribe h2 { font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem); line-height: 1.1; font-weight: 700; }
.tm-subscribe__promise { font-family: var(--font-text); font-size: 1.125rem; color: var(--ink-2); margin-top: 10px; line-height: 1.45; }
.tm-subscribe__form { display: grid; gap: 10px; }
.tm-subscribe__row { display: flex; gap: 8px; }
.tm-subscribe__note { font-size: .8125rem; color: var(--ink-3); }
.tm-subscribe__done { font-weight: 600; color: var(--brand); }
@media (max-width: 767px) { .tm-subscribe { grid-template-columns: 1fr; } .tm-subscribe__row { flex-direction: column; } }

/* ───────── статья ───────── */
.tm-article-head { padding-top: 18px; max-width: 900px; }
.tm-labels { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.tm-labels .tm-topic { font-size: .875rem; }
.tm-labels .tm-topic::before { content: ""; display: inline-block; width: 18px; height: 3px; background: var(--tc); vertical-align: middle; margin-right: 8px; transform: translateY(-1px); }
.tm-article h1 { font-size: clamp(2rem, 1.25rem + 3vw, 3.25rem); line-height: 1.1; font-weight: 700; letter-spacing: -.014em; margin-top: 16px; text-wrap: balance; max-width: 22em; }
.tm-article__lead { font-family: var(--font-text); font-size: clamp(1.1875rem, 1.05rem + .55vw, 1.4375rem); line-height: 1.45; color: var(--ink-2); margin-top: 18px; max-width: 34em; }
.tm-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: 26px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.tm-byline__dates { display: grid; gap: 2px; font-size: .875rem; color: var(--ink-2); }
.tm-byline__dates b { font-weight: 600; color: var(--ink); }
.tm-byline__read { font-size: .875rem; color: var(--ink-3); display: inline-flex; align-items: center; gap: 6px; }
.tm-byline__read .tm-icon { width: 18px; height: 18px; }
.tm-variant { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 16px; font-size: .8125rem; color: var(--ink-3); }
.tm-variant .tm-seg { color: var(--ink-2); border-color: var(--line-strong); flex-wrap: wrap; border-radius: 18px; }
.tm-variant .tm-seg button { color: var(--ink-2); }
.tm-variant .tm-seg button[aria-pressed="true"] { background: var(--ink); }
.tm-variant .tm-seg button[aria-pressed="true"] > span { color: var(--paper); }
.tm-notice { display: flex; gap: 12px; align-items: flex-start; margin-top: 16px; padding: 12px 16px; border-radius: var(--r-s); background: var(--surface); font-size: .9375rem; color: var(--ink); max-width: 46em; }
.tm-notice .tm-icon { color: var(--brand); margin-top: 2px; }
.tm-notice small { display: block; color: var(--ink-3); font-size: .8125rem; margin-top: 2px; }
.tm-article [data-variant-show] { display: none; }
.tm-article[data-variant="ai"] [data-variant-show~="ai"], .tm-article[data-variant="fix"] [data-variant-show~="fix"],
.tm-article[data-variant="refute"] [data-variant-show~="refute"] { display: flex; }
.tm-article[data-variant="refute"] [data-variant-hide~="refute"] { display: none; }
.tm-article [data-variant-block] { display: none; }
.tm-article[data-variant="refute"] [data-variant-block="refute"] { display: block; }
.tm-article__cover { margin-top: 28px; }
.tm-article__cover figcaption { display: flex; flex-wrap: wrap; gap: 4px 16px; justify-content: space-between; color: var(--ink-3); font-size: .8125rem; margin-top: 10px; }
.tm-article-grid { display: grid; grid-template-columns: 220px minmax(0, 680px) minmax(0, 1fr); column-gap: clamp(28px, 4vw, 56px); margin-top: 36px; }
.tm-article-grid > .tm-toc { grid-column: 1; grid-row: 1 / span 20; }
.tm-article-grid > :not(.tm-toc) { grid-column: 2; }
.tm-article-grid > .tm-break { grid-column: 2 / 4; }
@media (max-width: 1199px) { .tm-article-grid { grid-template-columns: 200px minmax(0, 1fr); } .tm-article-grid > .tm-break { grid-column: 2; } }
@media (max-width: 959px) { .tm-article-grid { display: block; } .tm-article-grid > .tm-toc { display: none; } }
.tm-toc { position: sticky; top: calc(var(--header-h) + var(--sa-top) + 28px); align-self: start; font-size: .875rem; }
.tm-toc__title { font-weight: 700; color: var(--ink); margin-bottom: 10px; display: flex; align-items: center; }
.tm-toc ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--line); }
.tm-toc a { display: block; padding: 7px 0 7px 14px; margin-left: -1px; border-left: 2px solid transparent; color: var(--ink-2); line-height: 1.35; }
.tm-toc a:hover { color: var(--ink); }
.tm-toc a[aria-current="true"] { color: var(--ink); border-left-color: var(--brand); font-weight: 600; }
.tm-toc__progress { margin-top: 16px; height: 6px; border-top: 2px solid var(--line); border-bottom: 2px solid var(--line); position: relative; }
.tm-toc__progress::before { content: ""; position: absolute; left: 0; top: -2px; bottom: -2px; width: calc(var(--p, 0) * 100%); border-top: 2px solid var(--brand); border-bottom: 2px solid var(--accent); }
.tm-prose { font-family: var(--font-text); font-size: 1.1875rem; line-height: 1.62; color: var(--ink); }
.tm-prose > * + * { margin-top: 1.05em; }
.tm-prose h2 { font-size: clamp(1.5rem, 1.25rem + .8vw, 1.875rem); line-height: 1.2; font-weight: 700; margin-top: 1.9em; letter-spacing: -.008em; scroll-margin-top: calc(var(--header-h) + 24px); }
.tm-prose a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--brand) 55%, transparent); }
.tm-prose em { font-style: italic; }
.tm-prose strong { font-weight: 700; }
.tm-prose ul:not(.tm-plain) { padding-left: 1.2em; }
.tm-prose ul:not(.tm-plain) li + li { margin-top: .4em; }
@media (max-width: 639px) { .tm-prose { font-size: 1.0625rem; line-height: 1.6; } }
.tm-why { font-family: var(--font-text); }
.tm-why b { font-family: var(--font-ui); font-weight: 700; font-size: .9375rem; color: var(--brand); margin-right: 6px; }
.tm-short { background: var(--raised); border: 1px solid var(--line); border-radius: var(--r-m); padding: 20px 24px 22px; font-family: var(--font-ui); }
.tm-short h2 { font-family: var(--font-ui); font-size: 1rem; font-weight: 700; margin: 0 0 10px; display: flex; align-items: center; }
.tm-short ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.tm-short li { display: grid; grid-template-columns: 14px 1fr; gap: 12px; font-size: 1.0625rem; line-height: 1.45; }
.tm-short li::before { content: ""; width: 10px; height: 10px; margin-top: .45em; border-radius: 1px; background: var(--accent); }
.tm-inset { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; align-items: center; padding: 16px 18px; border-left: 4px solid var(--tc, var(--brand)); background: var(--surface); border-radius: 0 var(--r-s) var(--r-s) 0; font-family: var(--font-ui); }
.tm-inset__k { font-size: .8125rem; font-weight: 700; color: var(--ink-2); grid-column: 1 / -1; }
.tm-inset a { font-family: var(--font-text); font-weight: 700; font-size: 1.125rem; line-height: 1.3; color: var(--ink); text-decoration: none; grid-column: 1 / -1; }
.tm-inset a:hover { color: var(--brand); }
.tm-inset .tm-card__meta { grid-column: 1 / -1; }
.tm-pull { font-family: var(--font-text); font-style: italic; font-size: clamp(1.4rem, 1.15rem + .9vw, 1.85rem); line-height: 1.35; padding: 8px 0 8px 22px; border-left: 3px solid var(--accent); }
.tm-pull footer { font-style: normal; font-family: var(--font-ui); font-size: .9375rem; color: var(--ink-2); margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.tm-means { border-top: 2px solid var(--ink); padding-top: 18px; font-family: var(--font-ui); }
.tm-means h2 { margin-top: 0; font-size: 1.5rem; }
.tm-means dl { display: grid; gap: 0; margin-top: 10px; }
.tm-means dl > div { display: grid; grid-template-columns: 180px 1fr; gap: 6px 24px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.tm-means dt { font-weight: 700; font-size: .9375rem; display: flex; align-items: center; gap: 10px; }
.tm-means dt .tm-icon { color: var(--brand); }
.tm-means dd { margin: 0; font-family: var(--font-text); font-size: 1.0625rem; line-height: 1.5; color: var(--ink); }
@media (max-width: 639px) { .tm-means dl > div { grid-template-columns: 1fr; } }
.tm-axios { border: 1px solid var(--line); border-radius: var(--r-m); overflow: hidden; font-family: var(--font-ui); }
.tm-axios section { padding: 18px 22px; }
.tm-axios section + section { border-top: 1px solid var(--line); }
.tm-axios h3 { font-family: var(--font-ui); font-size: .9375rem; font-weight: 700; color: var(--brand); margin-bottom: 6px; }
.tm-axios section:nth-child(2) h3 { color: var(--accent-text); }
.tm-axios p { font-family: var(--font-text); font-size: 1.0625rem; line-height: 1.55; }
.tm-source { font-family: var(--font-ui); font-size: .9375rem; color: var(--ink-2); display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.tm-source b { color: var(--ink); font-weight: 600; }
.tm-source a { font-weight: 600; }
.tm-tags { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-family: var(--font-ui); }
.tm-tag { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 999px; background: var(--raised); border: 1px solid var(--line); color: var(--ink); font-size: .875rem; font-weight: 500; text-decoration: none !important; }
.tm-tag:hover { border-color: var(--brand); color: var(--brand); }
.tm-tagsub { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 14px; font-family: var(--font-ui); font-size: .9375rem; color: var(--ink-2); }
.tm-discuss { display: flex; flex-wrap: wrap; gap: 10px; font-family: var(--font-ui); }
.tm-discuss .tm-btn--ghost .tm-icon { width: 20px; height: 20px; }
.tm-share { display: none; }
@media (hover: none) and (pointer: coarse) { .tm-share { display: inline-flex; } }
.tm-hubcard { background: var(--surface); border-radius: var(--r-m); padding: 22px; font-family: var(--font-ui); }
.tm-hubcard__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.tm-hubcard__head h2 { font-size: 1.25rem; margin: 0; }
.tm-hubcard__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.tm-hubcard__list a { display: grid; gap: 2px; padding: 12px; background: var(--raised); border-radius: var(--r-s); border: 1px solid var(--line); color: var(--ink); }
.tm-hubcard__list a:hover { border-color: var(--brand); color: var(--ink); }
.tm-hubcard__list span { font-size: .8125rem; color: var(--ink-2); }
.tm-hubcard__list b { font-family: var(--font-text); font-size: 1.375rem; font-weight: 600; font-variant-numeric: lining-nums tabular-nums; }
@media (max-width: 639px) { .tm-hubcard__list { grid-template-columns: 1fr 1fr; } }
.tm-refute { border: 2px solid var(--ink); border-radius: var(--r-m); padding: 22px 24px; margin-top: 28px; max-width: 900px; }
.tm-refute h1 { margin-top: 10px; }
.tm-refute p { font-family: var(--font-text); font-size: 1.1875rem; line-height: 1.6; margin-top: 14px; max-width: 34em; }

/* ───────── популяр: «Сколько это в тенге?» и термины ───────── */
.tm-fx, .tm-term { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline dashed; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--brand); }
.tm-fx:hover, .tm-term:hover { color: var(--brand); }
.tm-fx { text-decoration-color: var(--accent); }
.tm-pop { position: fixed; inset: auto; margin: 0; width: min(340px, calc(100vw - 24px)); padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--r-m); background: var(--raised); color: var(--ink); box-shadow: var(--shadow); font-family: var(--font-ui); font-size: .9375rem; line-height: 1.45; }
.tm-pop:not(:popover-open) { display: none; }
.tm-pop__k { font-size: .8125rem; color: var(--ink-3); font-weight: 600; }
.tm-pop__row { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--line); font-variant-numeric: lining-nums tabular-nums; }
.tm-pop__row b { font-weight: 700; white-space: nowrap; }
.tm-pop__t { font-family: var(--font-text); font-weight: 700; font-size: 1.125rem; margin-bottom: 4px; }
.tm-pop p { margin-top: 6px; }
.tm-pop a { display: inline-block; margin-top: 10px; font-weight: 600; }

/* ───────── графики ───────── */
.tm-chart { background: var(--raised); border: 1px solid var(--line); border-radius: var(--r-m); padding: clamp(16px, 2.5vw, 26px); font-family: var(--font-ui); }
.tm-chart__title { font-family: var(--font-ui); font-size: clamp(1.125rem, 1rem + .5vw, 1.375rem); font-weight: 700; line-height: 1.25; }
.tm-chart__sub { color: var(--ink-2); font-size: .875rem; margin-top: 4px; display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.tm-chart__foot { display: flex; justify-content: space-between; align-items: center; gap: 8px 20px; flex-wrap: wrap; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.tm-chart__source { color: var(--ink-3); font-size: .8125rem; }
.tm-chart__actions { display: flex; gap: 18px; flex-wrap: wrap; }
.tm-chart__data { margin-top: 14px; }
.tm-conclusion { margin-top: 14px; font-family: var(--font-text); font-size: 1.0625rem; line-height: 1.45; color: var(--ink); display: flex; gap: 10px; }
.tm-conclusion::before { content: ""; flex: none; width: 14px; height: 6px; margin-top: .55em; border-top: 2px solid var(--accent); border-bottom: 2px solid var(--accent); }
.tm-plot { position: relative; padding: 18px 46px 30px 46px; margin-top: 10px; }
.tm-plot__area-wrap { position: relative; height: var(--plot-h, 260px); cursor: crosshair; touch-action: pan-y; }
.tm-plot__area-wrap:focus-visible { outline-offset: 8px; }
.tm-plot__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.tm-plot__grid line { stroke: var(--line); stroke-width: 1; }
.tm-plot__grid line:first-child { stroke: transparent; }
.tm-plot__grid line:last-child { stroke: var(--line-strong); }
.tm-plot__area { fill: color-mix(in srgb, var(--c1) 9%, transparent); }
.tm-plot__line { fill: none; stroke: var(--c1); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.tm-plot__bar { fill: color-mix(in srgb, var(--c1) 78%, var(--raised)); }
.tm-plot__bar.is-last { fill: var(--c2); }
.tm-plot__band { fill: color-mix(in srgb, var(--c2) 18%, transparent); opacity: .0; }
.tm-plot__y { position: absolute; inset: 0; pointer-events: none; }
.tm-plot__ytick { position: absolute; right: calc(100% + 8px); transform: translateY(-50%); font-size: .75rem; color: var(--ink-3); white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; }
.tm-plot__x { position: absolute; left: 0; right: 0; top: 100%; height: 26px; pointer-events: none; }
.tm-plot__xtick { position: absolute; top: 8px; transform: translateX(-50%); font-size: .75rem; color: var(--ink-3); white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; }
.tm-plot__xtick.is-first { transform: none; }
.tm-plot__xtick.is-last { transform: translateX(-100%); }
.tm-plot__dot { position: absolute; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: var(--c2); box-shadow: 0 0 0 3px var(--raised); pointer-events: none; }
.tm-plot__last { position: absolute; transform: translate(10px, -50%); font-weight: 700; font-size: .875rem; color: var(--ink); background: var(--raised); padding: 1px 4px; border-radius: 3px; white-space: nowrap; pointer-events: none; font-variant-numeric: lining-nums tabular-nums; }
.tm-plot__cursor { position: absolute; top: 0; bottom: 0; width: 1px; background: var(--ink-2); pointer-events: none; }
.tm-plot__hover { position: absolute; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--raised); border: 2px solid var(--ink); pointer-events: none; }
.tm-plot__tip { position: absolute; top: -8px; transform: translate(-50%, -100%); background: var(--ink); color: var(--paper); font-size: .8125rem; padding: 6px 10px; border-radius: var(--r-s); white-space: nowrap; pointer-events: none; z-index: 3; font-variant-numeric: lining-nums tabular-nums; }
.tm-plot__tip b { font-weight: 700; }
.tm-plot__mark { position: absolute; pointer-events: none; }
.tm-plot__mark-dot { position: absolute; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--c2); box-shadow: 0 0 0 3px var(--raised); }
.tm-plot__mark-label { position: absolute; left: 10px; bottom: 10px; white-space: nowrap; font-size: .75rem; font-weight: 600; color: var(--ink); background: var(--raised); padding: 2px 6px; border-radius: 3px; border: 1px solid var(--line); }
@media (max-width: 639px) { .tm-plot { padding: 16px 30px 30px 40px; } .tm-plot__last { transform: translate(-100%, -170%); } }
.tm-periods { display: inline-flex; gap: 4px; padding: 3px; border-radius: var(--r-s); background: var(--surface); margin-top: 14px; list-style: none; }
.tm-periods a, .tm-periods button { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 3px; color: var(--ink-2); font-weight: 600; font-size: .875rem; border: 0; background: none; cursor: pointer; }
.tm-periods .uk-active a, .tm-periods [aria-selected="true"] { background: var(--raised); color: var(--ink); box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.tm-switcher { list-style: none; margin: 0; padding: 0; }

/* таблицы */
.tm-table-wrap { overflow-x: auto; max-width: 100%; border: 1px solid var(--line); border-radius: var(--r-s); background: var(--raised); }
.tm-table { width: 100%; border-collapse: collapse; font-family: var(--font-ui); font-size: .9375rem; }
.tm-table caption { text-align: left; caption-side: top; padding: 12px 14px 0; font-weight: 700; color: var(--ink); }
.tm-table th, .tm-table td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--line); white-space: nowrap; vertical-align: baseline; }
.tm-table thead th { font-size: .8125rem; color: var(--ink-2); font-weight: 600; border-bottom: 1px solid var(--line-strong); background: var(--raised); }
.tm-table tbody th { font-weight: 500; color: var(--ink); }
.tm-table .is-num { text-align: right; }
.tm-table tbody tr:last-child > * { border-bottom: 0; }
.tm-table tbody tr:hover > * { background: var(--paper); }
.tm-table .is-best { background: var(--brand-soft) !important; font-weight: 700; color: var(--ink); }
.tm-table .is-best::after { content: " ★"; color: var(--accent); font-weight: 400; }
.tm-table--wide { min-width: 560px; }

/* ───────── лонгрид ───────── */
.tm-lr-cover { position: relative; min-height: calc(100svh - var(--header-h) - var(--sa-top)); background: var(--cover-deep); color: #F3F5F2; display: grid; align-items: end; overflow: hidden; }
.tm-lr-cover__art { position: absolute; inset: 0; }
.tm-lr-cover__art svg { width: 100%; height: 100%; display: block; }
.tm-lr-cover__in { position: relative; padding-block: clamp(80px, 12vh, 140px) clamp(40px, 7vh, 72px); }
.tm-lr-cover .tm-crumbs a, .tm-lr-cover .tm-crumbs li, .tm-lr-cover .tm-crumbs li::before { color: #CFDAD3; }
.tm-lr-cover .tm-crumbs a { text-decoration-color: #6E8A7E; }
.tm-lr-cover .tm-crumbs { position: absolute; top: 0; }
.tm-lr-cover__kicker { color: #6DC6E7; font-weight: 600; font-size: .9375rem; display: flex; gap: 12px; align-items: center; }
.tm-lr-cover__kicker .tm-dbar { border-color: #6DC6E7; }
.tm-lr-cover h1 { color: #F3F5F2; font-size: clamp(2.75rem, 1.2rem + 6.5vw, 6.5rem); line-height: .98; letter-spacing: -.025em; font-weight: 700; margin-top: 18px; max-width: 12em; }
.tm-lr-cover__sub { font-family: var(--font-text); font-size: clamp(1.1875rem, 1rem + .8vw, 1.625rem); line-height: 1.4; color: #DCE6E0; max-width: 30em; margin-top: 22px; }
.tm-lr-cover__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 30px; color: #CFDAD3; font-size: .9375rem; align-items: center; }
.tm-lr-cover__meta a { color: #F3F5F2; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #6E8A7E; }
.tm-lr-cover__meta .tm-demo { color: #DCE6E0; border-color: #6E8A7E; }
.tm-lr-cover__hint { margin-top: 40px; display: inline-flex; gap: 10px; align-items: center; color: #6DC6E7; font-weight: 600; font-size: .9375rem; }
.tm-lr-cover__hint .tm-icon { width: 22px; height: 22px; }
.tm-lr-cover .guil-a { stroke: #6DC6E7; }
.tm-lr-cover .guil-b { stroke: #8CC2A2; }
.tm-lr-body { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); margin-top: clamp(40px, 6vw, 72px); }
.tm-lr-toc { position: sticky; top: calc(var(--header-h) + var(--sa-top) + 28px); align-self: start; font-size: .875rem; }
.tm-lr-main { min-width: 0; }
.tm-lr-main > .tm-prose, .tm-lr-narrow { max-width: 680px; }
.tm-lr-chapter { margin-top: clamp(56px, 8vw, 96px); }
.tm-lr-chapter__no { font-family: var(--font-ui); color: var(--accent-text); font-weight: 700; font-size: .875rem; display: flex; align-items: center; }
.tm-lr-chapter h2 { font-size: clamp(1.875rem, 1.3rem + 2vw, 2.75rem); line-height: 1.1; margin-top: 10px; letter-spacing: -.012em; scroll-margin-top: calc(var(--header-h) + 80px); }
.tm-scrolly { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: clamp(24px, 4vw, 56px); margin-top: 36px; }
.tm-scrolly__steps { display: grid; gap: 0; }
.tm-step { min-height: 72vh; display: flex; align-items: center; }
.tm-step:first-child { min-height: 50vh; }
.tm-step__card { background: var(--raised); border: 1px solid var(--line); border-radius: var(--r-m); padding: 22px 24px; transition: border-color .2s, box-shadow .2s; }
.tm-step.is-active .tm-step__card { border-color: var(--brand); box-shadow: var(--shadow); }
.tm-step__date { font-family: var(--font-ui); font-weight: 700; color: var(--accent-text); font-size: .9375rem; }
.tm-step__title { font-family: var(--font-text); font-weight: 700; font-size: 1.375rem; line-height: 1.25; margin-top: 6px; }
.tm-step__text { font-family: var(--font-text); font-size: 1.0625rem; line-height: 1.55; margin-top: 8px; color: var(--ink-2); }
.tm-scrolly__chart { position: sticky; top: calc(var(--header-h) + var(--sa-top) + 24px); align-self: start; }
.tm-scrolly__chart .tm-chart { padding-bottom: 16px; }
.tm-scrolly__chart .tm-plot__mark { opacity: .25; transition: opacity .2s; }
.tm-scrolly__chart [data-active-step="all"] .tm-plot__mark, .tm-scrolly__chart .tm-plot__mark.is-on { opacity: 1; }
.tm-scrolly__chart .tm-plot__band.is-on { opacity: 1; }
.tm-scrolly__caption { margin-top: 12px; font-family: var(--font-text); font-size: 1rem; color: var(--ink); min-height: 3em; }
.no-js .tm-scrolly__chart .tm-plot__mark { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .tm-scrolly__chart .tm-plot__mark { opacity: 1; } .tm-step { min-height: 0; padding: 10px 0; } .tm-scrolly__chart { position: static; } }
.tm-scrolly.is-static .tm-plot__mark { opacity: 1; }
.tm-scrolly.is-static .tm-step { min-height: 0; padding: 10px 0; }
@media (max-width: 959px) {
  .tm-lr-body { display: block; }
  .tm-lr-toc { position: sticky; top: calc(var(--header-h) + var(--sa-top)); z-index: 6; background: var(--paper); margin-inline: calc(-1 * var(--gut)); padding: 8px var(--gut); border-bottom: 1px solid var(--line); }
  .tm-lr-toc .tm-toc__title { display: none; }
  .tm-lr-toc ol { display: flex; overflow-x: auto; border-left: 0; gap: 6px; scrollbar-width: none; }
  .tm-lr-toc ol::-webkit-scrollbar { display: none; }
  .tm-lr-toc a { white-space: nowrap; border: 1px solid var(--line); border-radius: 999px; padding: 6px 12px; margin: 0; }
  .tm-lr-toc a[aria-current="true"] { border-color: var(--brand); color: var(--brand); }
  .tm-lr-toc .tm-toc__progress { display: none; }
  .tm-scrolly { display: block; }
  .tm-scrolly__chart { top: calc(var(--header-h) + var(--sa-top) + 52px); z-index: 4; background: var(--paper); padding-bottom: 8px; }
  .tm-scrolly__chart .tm-chart { padding: 12px; }
  .tm-scrolly__chart .tm-chart__head, .tm-scrolly__chart .tm-chart__foot, .tm-scrolly__chart .tm-conclusion { display: none; }
  .tm-scrolly__caption { display: none; }
  .tm-step { min-height: 60vh; position: relative; z-index: 5; }
}
.tm-timeline { list-style: none; margin: 32px 0 0; padding: 0; position: relative; }
.tm-timeline::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 6px; border-left: 2px solid var(--brand); border-right: 2px solid var(--brand); box-sizing: border-box; }
.tm-timeline li { position: relative; padding: 0 0 30px 44px; }
.tm-timeline li::before { content: ""; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; border-radius: 50%; background: var(--paper); border: 2px solid var(--brand); }
.tm-timeline time { font-family: var(--font-ui); font-weight: 700; color: var(--accent-text); font-size: .9375rem; }
.tm-timeline h3 { font-size: 1.375rem; line-height: 1.25; margin-top: 4px; }
.tm-timeline p { font-family: var(--font-text); font-size: 1.0625rem; line-height: 1.55; color: var(--ink-2); margin-top: 6px; max-width: 36em; }
.tm-bigquote { margin: clamp(48px, 7vw, 88px) 0; padding: 0; max-width: 900px; }
.tm-bigquote p { font-family: var(--font-text); font-size: clamp(1.75rem, 1.2rem + 2.2vw, 3rem); line-height: 1.18; font-weight: 600; letter-spacing: -.012em; text-wrap: balance; }
.tm-bigquote p::before { content: ""; display: block; width: 44px; height: 12px; border-top: 3px solid var(--accent); border-bottom: 3px solid var(--accent); margin-bottom: 22px; }
.tm-bigquote footer { margin-top: 16px; color: var(--ink-2); font-size: .9375rem; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.tm-howto { border: 1px solid var(--line); border-radius: var(--r-m); background: var(--raised); padding: 20px 22px; font-family: var(--font-ui); max-width: 680px; }
.tm-howto__k { font-weight: 700; font-size: .875rem; color: var(--brand); display: flex; align-items: center; gap: 4px; }
.tm-howto h3 { font-size: 1.25rem; margin-top: 8px; }
.tm-howto p { font-family: var(--font-text); font-size: 1.0625rem; line-height: 1.55; margin-top: 8px; }
.tm-calc { background: var(--raised); border: 1px solid var(--line); border-radius: var(--r-m); padding: clamp(18px, 3vw, 28px); font-family: var(--font-ui); }
.tm-calc__form { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; align-items: end; margin-top: 14px; }
.tm-calc__result { margin-top: 18px; padding: 18px 20px; background: var(--surface); border-radius: var(--r-s); }
.tm-calc__big { font-family: var(--font-text); font-size: clamp(2rem, 1.4rem + 2vw, 3rem); font-weight: 600; line-height: 1.05; color: var(--brand); font-variant-numeric: lining-nums tabular-nums; }
.tm-calc__line { margin-top: 6px; font-size: 1rem; color: var(--ink); line-height: 1.5; }
.tm-calc__note { margin-top: 10px; font-size: .8125rem; color: var(--ink-3); }
.tm-calc h2, .tm-calc h3 { font-family: var(--font-ui); font-size: 1.25rem; font-weight: 700; }
.tm-next { display: grid; grid-template-columns: auto 1fr; gap: 6px 20px; align-items: center; padding: 22px 24px; border-radius: var(--r-m); background: var(--cover-deep); color: #F3F5F2; }
.tm-next:hover { color: #F3F5F2; }
.tm-next:hover b { color: #6DC6E7; }
.tm-next span { color: #6DC6E7; font-weight: 600; font-size: .875rem; }
.tm-next b { font-family: var(--font-text); font-size: 1.5rem; line-height: 1.2; grid-column: 1 / -1; }
.tm-next .tm-demo { color: #DCE6E0; border-color: #6E8A7E; }
.tm-srclist { font-family: var(--font-ui); font-size: .9375rem; line-height: 1.5; padding-left: 1.4em; color: var(--ink-2); }
.tm-srclist li + li { margin-top: 6px; }

/* ───────── хаб, курс, показатели, калькуляторы ───────── */
.tm-hub { display: grid; gap: var(--gap); grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 30px; }
.tm-hub__block { background: var(--raised); border: 1px solid var(--line); border-radius: var(--r-m); padding: clamp(18px, 2.5vw, 26px); display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.tm-hub__block h2 { font-family: var(--font-ui); font-size: 1.25rem; font-weight: 700; display: flex; align-items: center; }
.tm-hub__rows { display: grid; }
.tm-hub__row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 4px 16px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--ink); }
.tm-hub__row:hover { color: var(--ink); background: linear-gradient(90deg, var(--paper), transparent); }
.tm-hub__row:last-child { border-bottom: 0; }
.tm-hub__name { font-weight: 600; }
.tm-hub__name small { display: block; font-weight: 400; color: var(--ink-3); font-size: .8125rem; }
.tm-hub__val { font-family: var(--font-text); font-weight: 600; font-size: 1.5rem; text-align: right; font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.tm-hub__row .tm-chg { font-size: .875rem; min-width: 5.5em; text-align: right; }
.tm-hub__row .tm-spark { grid-column: 1; width: 100%; max-width: 160px; height: 18px; }
.tm-hub .tm-conclusion { margin-top: auto; padding-top: 6px; }
@media (max-width: 959px) { .tm-hub { grid-template-columns: 1fr; } }
.tm-cal { list-style: none; margin: 0; padding: 0; display: grid; }
.tm-cal li { display: grid; grid-template-columns: 7.5rem 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.tm-cal time { font-weight: 700; font-variant-numeric: tabular-nums; }
.tm-cal span { color: var(--ink-2); }
.tm-og { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--gap); align-items: center; }
.tm-og__frame { background: var(--raised); border: 1px solid var(--line); border-radius: 14px; padding: 12px; max-width: 520px; box-shadow: var(--shadow); }
.tm-og__frame svg { display: block; width: 100%; height: auto; border-radius: 8px; }
.tm-og__host { font-size: .8125rem; color: var(--ink-3); margin-top: 10px; }
.tm-og__t { font-weight: 700; margin-top: 2px; }
.tm-og__d { font-size: .875rem; color: var(--ink-2); margin-top: 2px; }
@media (max-width: 959px) { .tm-og { grid-template-columns: 1fr; } }
.tm-answers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap); margin-top: 26px; }
.tm-answer { background: var(--raised); border: 1px solid var(--line); border-radius: var(--r-m); padding: 20px 22px; display: grid; gap: 6px; align-content: start; }
.tm-answer__q { font-weight: 600; color: var(--ink-2); font-size: .9375rem; }
.tm-answer__v { font-family: var(--font-text); font-size: clamp(2rem, 1.5rem + 1.6vw, 2.75rem); font-weight: 600; line-height: 1; color: var(--ink); font-variant-numeric: lining-nums tabular-nums; }
.tm-answer__who { font-weight: 600; }
.tm-answer__note { font-size: .875rem; color: var(--ink-3); }
.tm-answer--accent { border-top: 4px solid var(--brand); }
@media (max-width: 959px) { .tm-answers { grid-template-columns: 1fr; } }
.tm-cities { display: inline-flex; gap: 4px; padding: 4px; background: var(--surface); border-radius: var(--r-s); margin-top: 22px; list-style: none; flex-wrap: wrap; }
.tm-cities a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 3px; color: var(--ink-2); font-weight: 600; }
.tm-cities .uk-active a { background: var(--raised); color: var(--ink); box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.tm-rank { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; counter-reset: r; }
.tm-rank li { display: grid; grid-template-columns: 1.6rem minmax(0, 7rem) 1fr auto; gap: 12px; align-items: center; counter-increment: r; font-variant-numeric: lining-nums tabular-nums; }
.tm-rank li::before { content: counter(r); color: var(--ink-3); font-weight: 600; }
.tm-rank__bar { height: 10px; border-radius: 2px; background: var(--surface); position: relative; overflow: hidden; }
.tm-rank__bar span { position: absolute; inset: 0 auto 0 0; background: var(--c1); border-radius: 2px; }
.tm-rank li:first-child .tm-rank__bar span { background: var(--c2); }
.tm-rank__v { font-weight: 700; white-space: nowrap; }
.tm-rank__d { color: var(--ink-3); font-size: .8125rem; white-space: nowrap; }
.tm-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); }
@media (max-width: 959px) { .tm-two { grid-template-columns: 1fr; } }
.tm-explainer-note { font-family: var(--font-text); font-size: 1.0625rem; line-height: 1.6; max-width: 42em; }
.tm-ind-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 40px; align-items: end; margin-top: 18px; }
.tm-ind-big { font-family: var(--font-text); font-size: clamp(4rem, 2rem + 7vw, 7.5rem); line-height: .9; font-weight: 560; letter-spacing: -.03em; color: var(--brand); font-variant-numeric: lining-nums; }
.tm-ind-chg { font-size: 1.125rem; display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; margin-top: 10px; }
.tm-ind-what { color: var(--ink-2); margin-top: 6px; font-size: .9375rem; }
.tm-ind-facts { display: grid; gap: 10px; font-size: .9375rem; min-width: 260px; }
.tm-ind-facts div { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.tm-ind-facts dt { color: var(--ink-2); }
.tm-ind-facts dd { margin: 0; font-weight: 600; text-align: right; }
@media (max-width: 767px) { .tm-ind-head { grid-template-columns: 1fr; } }
.tm-indlist { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--gap); }
.tm-indcard { display: grid; gap: 8px; padding: 18px 20px; background: var(--raised); border: 1px solid var(--line); border-radius: var(--r-m); color: var(--ink); }
.tm-indcard:hover { border-color: var(--brand); color: var(--ink); }
.tm-indcard__l { font-weight: 600; color: var(--ink-2); font-size: .9375rem; }
.tm-indcard__v { font-family: var(--font-text); font-size: 2.25rem; font-weight: 600; line-height: 1; font-variant-numeric: lining-nums tabular-nums; }
.tm-indcard__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: .875rem; }
.tm-indcard .tm-spark { width: 110px; height: 28px; }

/* ───────── списки, фильтры, пагинация ───────── */
.tm-listing { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(28px, 4vw, 64px); margin-top: 30px; }
@media (max-width: 959px) { .tm-listing { grid-template-columns: 1fr; } }
.tm-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; align-items: end; padding: 16px; background: var(--surface); border-radius: var(--r-m); margin-top: 26px; }
.tm-filters .tm-btn { width: 100%; }
.tm-list { list-style: none; margin: 0; padding: 0; }
.tm-list__item { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: 16px 28px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.tm-list__item .tm-card { padding-top: 0; }
.tm-list__item .tm-card::before { display: none; }
.tm-list__thumb { order: 2; }
.tm-list__item:not(:has(.tm-list__thumb)) { grid-template-columns: 1fr; }
@media (max-width: 639px) { .tm-list__item { grid-template-columns: 1fr; } .tm-list__thumb { order: 0; } }
.tm-pager { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 30px; font-variant-numeric: lining-nums tabular-nums; list-style: none; padding: 0; }
.tm-pager a, .tm-pager span { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 10px; border-radius: var(--r-s); border: 1px solid var(--line); color: var(--ink); font-weight: 600; }
.tm-pager a:hover { border-color: var(--brand); color: var(--brand); }
.tm-pager [aria-current="page"] { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.tm-pager .is-gap { border: 0; min-width: 24px; color: var(--ink-3); }
.tm-pager__next { padding: 0 16px !important; }
.tm-aside-box { position: sticky; top: calc(var(--header-h) + var(--sa-top) + 24px); }
.tm-popular { list-style: none; margin: 0; padding: 0; counter-reset: p; }
.tm-popular li { counter-increment: p; display: grid; grid-template-columns: 2rem 1fr; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.tm-popular li::before { content: counter(p); font-family: var(--font-text); font-size: 1.5rem; line-height: 1; color: var(--tc, var(--brand)); font-weight: 600; font-variant-numeric: lining-nums; }
.tm-popular a { color: var(--ink); font-family: var(--font-text); font-weight: 600; line-height: 1.35; }
.tm-popular a:hover { color: var(--brand); }
.tm-popular .tm-card__meta { margin-top: 4px; }
.tm-empty { padding: 28px; border: 1px dashed var(--line-strong); border-radius: var(--r-m); background: var(--raised); }
.tm-empty h2 { font-size: 1.5rem; }
.tm-empty ul { margin-top: 12px; padding-left: 1.2em; display: grid; gap: 6px; }
.tm-calendar { background: var(--raised); border: 1px solid var(--line); border-radius: var(--r-m); padding: 16px; }
.tm-calendar__head { display: flex; justify-content: space-between; align-items: center; font-weight: 700; margin-bottom: 10px; }
.tm-calendar table { width: 100%; border-collapse: collapse; font-variant-numeric: lining-nums tabular-nums; text-align: center; }
.tm-calendar th { font-size: .75rem; color: var(--ink-3); font-weight: 600; padding: 4px 0; }
.tm-calendar td { padding: 2px; }
.tm-calendar td a, .tm-calendar td span { display: grid; place-items: center; height: 36px; border-radius: var(--r-s); font-size: .875rem; }
.tm-calendar td a { color: var(--ink); font-weight: 600; background: var(--surface); }
.tm-calendar td a:hover { background: var(--brand-soft); color: var(--brand); }
.tm-calendar td a[aria-current="date"] { background: var(--brand); color: var(--on-brand); }
.tm-calendar td span { color: var(--ink-3); }
.tm-taghead { display: flex; gap: 12px 20px; align-items: center; flex-wrap: wrap; margin-top: 4px; }
.tm-related { display: flex; flex-wrap: wrap; gap: 8px; }
.tm-author-head { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 20px 32px; align-items: center; margin-top: 22px; }
.tm-author-head .tm-person__img { width: 140px; height: 140px; }
.tm-author-head h1 { font-size: clamp(2rem, 1.5rem + 1.8vw, 3rem); line-height: 1.1; }
.tm-author-head__role { color: var(--ink-2); margin-top: 6px; font-size: 1.0625rem; }
.tm-author-head__bio { font-family: var(--font-text); font-size: 1.125rem; line-height: 1.55; margin-top: 12px; max-width: 38em; }
.tm-socials { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
@media (max-width: 559px) { .tm-author-head { grid-template-columns: 1fr; } .tm-author-head .tm-person__img { width: 96px; height: 96px; } }
.tm-authors { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--gap); margin-top: 30px; }
.tm-authors a { display: grid; grid-template-columns: 64px 1fr; gap: 14px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: var(--r-m); background: var(--raised); color: var(--ink); }
.tm-authors a:hover { border-color: var(--brand); color: var(--ink); }
.tm-authors .tm-person__img { width: 64px; height: 64px; }
mark { background: color-mix(in srgb, var(--accent) 30%, transparent); color: inherit; padding: 0 2px; border-radius: 2px; }
.tm-results__count { color: var(--ink-2); margin-top: 10px; }
.tm-abc { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 22px; list-style: none; padding: 0; }
.tm-abc a, .tm-abc span { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: var(--r-s); font-weight: 700; font-family: var(--font-text); font-size: 1.125rem; }
.tm-abc a { background: var(--raised); border: 1px solid var(--line); color: var(--ink); }
.tm-abc a:hover { border-color: var(--brand); color: var(--brand); }
.tm-abc span { color: var(--line-strong); }
.tm-gloss { margin-top: 30px; display: grid; gap: 34px; }
.tm-gloss__letter { font-family: var(--font-text); font-size: 2.5rem; font-weight: 700; color: var(--accent); line-height: 1; border-bottom: 1px solid var(--line); padding-bottom: 8px; scroll-margin-top: calc(var(--header-h) + 24px); }
.tm-gloss dl { display: grid; gap: 0; }
.tm-gloss dl > div { display: grid; grid-template-columns: minmax(0, 280px) 1fr; gap: 6px 28px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.tm-gloss dt a { font-family: var(--font-text); font-weight: 700; font-size: 1.1875rem; color: var(--ink); }
.tm-gloss dt a:hover { color: var(--brand); }
.tm-gloss dd { margin: 0; color: var(--ink-2); font-family: var(--font-text); font-size: 1.0625rem; line-height: 1.5; }
@media (max-width: 639px) { .tm-gloss dl > div { grid-template-columns: 1fr; } }
.tm-term-def { font-family: var(--font-text); font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); line-height: 1.5; max-width: 34em; margin-top: 18px; }
.tm-term-sec { margin-top: 36px; max-width: 680px; }
.tm-term-sec h2 { font-family: var(--font-ui); font-size: 1rem; font-weight: 700; display: flex; align-items: center; color: var(--ink); }
.tm-term-sec p { font-family: var(--font-text); font-size: 1.1875rem; line-height: 1.6; margin-top: 10px; }
.tm-imprint { display: grid; grid-template-columns: minmax(0, 260px) 1fr; border-top: 2px solid var(--ink); margin-top: 26px; max-width: 900px; }
.tm-imprint dt, .tm-imprint dd { padding: 12px 0; border-bottom: 1px solid var(--line); margin: 0; }
.tm-imprint dt { color: var(--ink-2); font-weight: 600; padding-right: 20px; }
.tm-imprint dd { font-weight: 500; }
@media (max-width: 639px) { .tm-imprint { grid-template-columns: 1fr; } .tm-imprint dt { border-bottom: 0; padding-bottom: 0; } }
.tm-staff { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--gap); margin-top: 24px; }
.tm-staff a { color: var(--ink); display: grid; gap: 10px; }
.tm-staff a:hover .tm-person__name { color: var(--brand); }
.tm-staff .tm-person__img { width: 100%; height: auto; aspect-ratio: 4 / 5; border-radius: var(--r-s); }
.tm-about-sec { margin-top: var(--section); max-width: 760px; scroll-margin-top: calc(var(--header-h) + 24px); }
.tm-about-sec p, .tm-about-sec li { font-family: var(--font-text); font-size: 1.125rem; line-height: 1.6; }
.tm-about-sec p + p { margin-top: .9em; }
.tm-about-sec ul { padding-left: 1.2em; margin-top: 12px; display: grid; gap: 8px; }
.tm-404 { padding-top: clamp(40px, 8vw, 96px); max-width: 980px; }
.tm-404__fig { font-family: var(--font-text); font-weight: 560; font-size: clamp(6rem, 3rem + 13vw, 13rem); line-height: .82; letter-spacing: -.04em; color: var(--brand); font-variant-numeric: lining-nums; }
.tm-404__fig small { font-size: .3em; letter-spacing: 0; color: var(--ink-3); font-weight: 400; vertical-align: top; margin-left: .2em; }
.tm-404 h1 { font-size: clamp(2rem, 1.3rem + 2.6vw, 3.25rem); line-height: 1.1; margin-top: 18px; }
.tm-404 p { font-family: var(--font-text); font-size: 1.1875rem; line-height: 1.55; color: var(--ink-2); margin-top: 12px; max-width: 36em; }

/* ───────── подвал ───────── */
.tm-footer { background: var(--surface); border-top: 1px solid var(--line); position: relative; margin-top: auto; font-size: .9375rem; }
.tm-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; border-top: 2px solid var(--brand); border-bottom: 2px solid var(--brand); }
.tm-footer a { color: var(--ink); }
.tm-footer a:hover { color: var(--brand); }
.tm-footer__top { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); padding-block: clamp(48px, 6vw, 80px) clamp(32px, 4vw, 48px); }
.tm-footer__word { font-family: var(--font-text); font-weight: 700; font-size: clamp(3.5rem, 1.8rem + 7vw, 8rem); line-height: .9; letter-spacing: -.035em; color: var(--brand); display: flex; align-items: center; gap: .18em; }
.tm-footer__word svg { width: .7em; height: .7em; }
.tm-footer__promise { font-family: var(--font-text); font-size: clamp(1.25rem, 1.05rem + .8vw, 1.75rem); line-height: 1.3; margin-top: 18px; max-width: 22em; }
.tm-footer__today { display: grid; gap: 0; align-content: start; }
.tm-footer__today h2 { font-family: var(--font-ui); font-size: 1rem; font-weight: 700; display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 6px; }
.tm-footer__today a { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: baseline; padding: 11px 0; border-bottom: 1px solid var(--line); }
.tm-footer__today b { font-family: var(--font-text); font-size: 1.375rem; font-weight: 600; font-variant-numeric: lining-nums tabular-nums; }
.tm-footer__today small { color: var(--ink-3); font-size: .8125rem; }
.tm-footer__sub { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); padding: 28px; background: var(--raised); border-radius: var(--r-m); border: 1px solid var(--line); }
.tm-footer__sub h2 { font-size: 1.5rem; }
.tm-footer__sub p { color: var(--ink-2); margin-top: 6px; }
.tm-issue { border-left: 3px solid var(--accent); padding-left: 16px; }
.tm-issue__k { font-size: .8125rem; color: var(--ink-3); font-weight: 600; }
.tm-issue ol { margin: 8px 0 0; padding-left: 1.2em; display: grid; gap: 6px; font-family: var(--font-text); font-size: .9375rem; line-height: 1.4; }
.tm-issue ol a { color: var(--ink); }
.tm-footer__cols { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 24px; padding-block: 44px 8px; }
.tm-footer__col { border-top: 3px solid var(--tc); padding-top: 12px; min-width: 0; }
.tm-footer__col h2 { font-size: 1.125rem; font-weight: 700; }
.tm-footer__col ul { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 4px; font-size: .875rem; }
.tm-footer__col li a { color: var(--ink-2); display: inline-block; padding: 3px 0; }
.tm-footer__more { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 40px; padding-block: 36px; }
.tm-footer__more h2 { font-family: var(--font-ui); font-size: 1rem; font-weight: 700; margin-bottom: 10px; }
.tm-footer__more ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.tm-footer__more li a { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; }
.tm-footer__more small { color: var(--ink-3); font-variant-numeric: tabular-nums; }
.tm-channels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; padding-block: 28px; border-top: 1px solid var(--line); }
.tm-channels__head { grid-column: 1 / -1; margin-bottom: 8px; }
.tm-channels__head h2 { font-size: 1.5rem; }
.tm-channels__head p { color: var(--ink-2); margin-top: 4px; }
.tm-channel { display: grid; grid-template-columns: 36px 1fr; gap: 2px 14px; padding: 14px 0; border-bottom: 1px solid var(--line); align-items: center; }
.tm-channel .tm-icon { width: 26px; height: 26px; grid-row: span 2; color: var(--brand); }
.tm-channel b { font-weight: 700; }
.tm-channel span { color: var(--ink-2); font-size: .875rem; }
.tm-imprint-foot { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 20px 48px; padding-block: 28px 36px; border-top: 1px solid var(--line); font-size: .875rem; color: var(--ink-2); line-height: 1.55; }
.tm-imprint-foot p + p { margin-top: 8px; }
.tm-imprint-foot b { color: var(--ink); font-weight: 600; }
.tm-footer__legal { display: flex; flex-wrap: wrap; gap: 10px 22px; align-items: center; padding-block: 18px 28px; border-top: 1px solid var(--line); font-size: .875rem; }
.tm-footer__legal a { color: var(--ink-2); text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
.tm-footer__top-btn { margin-left: auto; }
@media (max-width: 1099px) { .tm-footer__cols { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 959px) { .tm-footer__top, .tm-footer__sub, .tm-imprint-foot { grid-template-columns: 1fr; } .tm-footer__more, .tm-channels { grid-template-columns: 1fr 1fr; } }
@media (max-width: 639px) { .tm-footer__cols { grid-template-columns: 1fr 1fr; } .tm-footer__more, .tm-channels { grid-template-columns: 1fr; } .tm-footer__sub { padding: 20px; } }

/* ───────── движение ───────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0s !important; animation-duration: 0s !important; scroll-behavior: auto !important; }
}
@media print {
  .tm-proto, .tm-announce, .tm-ticker, .tm-header, .tm-tabbar, .tm-footer, .tm-toc, .tm-discuss { display: none !important; }
}

/* ───────── дополнения к style.css: то, что понадобилось при сборке экранов ───────── */
.tm-feed__h, .tm-card__title, .tm-explain__t { margin: 0; }
.tm-feed__h { font: inherit; }
.tm-guil, .tm-lr-cover__art svg, .tm-card__art svg, .tm-weekend__thumb svg { --g-a: #6DC6E7; --g-b: #8CC2A2; display: block; width: 100%; height: 100%; }
.tm-weekend__thumb { position: relative; }
.tm-person__name { color: var(--ink); }
.tm-byline .tm-person { min-width: 220px; }
.tm-tagbox { display: grid; gap: 4px; }
.tm-article-grid { row-gap: 32px; }
.tm-article-grid > .tm-toc { align-self: start; }
.tm-home[data-home-mode="weekend"] .tm-home-longs { display: none; }
.tm-shelf > .tm-receipt { align-self: start; }
.tm-list__thumb .tm-cover-wrap, .tm-list__thumb .tm-cover { width: 100%; }
.tm-chart .tm-table-wrap { margin-top: 4px; }
.tm-hub__row .tm-spark polyline { stroke: var(--c1); }
.tm-indcard .tm-spark polyline, .tm-hubcard .tm-spark polyline { stroke: var(--c1); }
.tm-plot__band { opacity: 0; transition: opacity .2s; }
.tm-scrolly__chart[data-active-step="all"] .tm-plot__band { opacity: 0; }
.tm-scrolly .tm-plot__band.is-on { opacity: 1; }
.tm-qa .tm-chg { align-self: center; }
.tm-calendar__head .tm-link-btn { text-decoration: none; min-width: 32px; justify-content: center; }
.tm-demo-row { margin-top: 8px; }
.tm-refute .tm-labels .tm-format { font-style: italic; }
.tm-oc-slot:empty { display: none; }

/* порядок в коде совпадает с видимым на всех ширинах: шапка, под ней строка живых чисел */
@media (max-width: 959px) { .tm-ticker__in { min-height: 52px; } }

/* меню на телефоне: те же узлы списка тем и мегапанели, перенесённые скриптом в боковую панель */
.tm-offcanvas .tm-nav__list { display: block; }
.tm-offcanvas .tm-nav__more-li { display: none; }
.tm-offcanvas .tm-nav__link { display: flex; width: 100%; gap: 12px; padding: 11px 0; min-height: 48px; font-family: var(--font-text); font-size: 1.25rem; font-weight: 600; border-bottom: 1px solid var(--line); }
.tm-offcanvas .tm-nav__link::after { display: none; }
.tm-offcanvas .tm-nav__link::before { content: ""; width: 4px; height: 20px; background: var(--tc); border-radius: 1px; flex: none; }
.tm-offcanvas .tm-nav__link[aria-current="page"] { color: var(--tc); }
.tm-offcanvas .tm-mega { grid-template-columns: 1fr; gap: 26px; padding: 0; margin-top: 28px; max-width: none; }
.tm-offcanvas .tm-mega__group h2 { margin: 0; font-size: .9375rem; }
.tm-offcanvas .tm-oc__search { margin-bottom: 8px; }
.tm-offcanvas .tm-oc__search .tm-input { min-height: 48px; }
.tm-offcanvas .uk-offcanvas-bar { overflow-y: auto; }

/* поповер «Сколько это в тенге?» и термина */
.tm-pop__close { position: absolute; top: 6px; right: 6px; width: 32px; height: 32px; display: grid; place-items: center; border: 0; background: none; color: var(--ink-2); cursor: pointer; border-radius: var(--r-s); }
.tm-pop__close:hover { background: var(--surface); }
.tm-pop__close .tm-icon { width: 18px; height: 18px; }

/* подписка на тег — состояние */
[data-follow][aria-pressed="true"] { background: var(--brand-soft); color: var(--brand); border-color: var(--brand); }

/* узкие экраны: переключатели прототипа переносятся, крошки не режут заголовок */
.tm-modes, .tm-modes .tm-seg, .tm-map__panel .tm-seg, .tm-variant .tm-seg { flex-wrap: wrap; }
.tm-map__hero > *, .tm-map__groups > *, .tm-map__notes > * { min-width: 0; }
.tm-crumbs li { min-width: 0; }
.tm-crumbs [aria-current] { max-width: none; white-space: normal; overflow: visible; }
.tm-plot__mark.is-right .tm-plot__mark-label { left: auto; right: 10px; }
@media (max-width: 639px) { .tm-modes__label { flex-basis: 100%; } }
@media (max-width: 559px) {
  .tm-qa { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .tm-qa__val, .tm-qa .tm-chg { grid-row: auto; }
}
@media (max-width: 479px) {
  .tm-feed--wide .tm-feed__item { grid-template-columns: 4.6rem minmax(0, 1fr); padding: 12px 0; }
  .tm-feed--wide .tm-feed__link { font-size: 1.0625rem; }
  .tm-feed__item time { white-space: normal; line-height: 1.3; }
}
/* главная: лишняя высота уходит под карточку, а не между цифрой дня и карточкой */
@media (min-width: 960px) { .tm-hero { grid-template-rows: auto 1fr auto; } }
.tm-feed__item time { white-space: normal; line-height: 1.3; }
.tm-card--num .tm-card__big { white-space: nowrap; font-size: clamp(2.25rem, 1.5rem + 1.5vw, 3.25rem); }
.tm-card--num .tm-card__figrow { flex-wrap: wrap; }
/* строка живых чисел: компактная ячейка, чтобы на десктопе все восемь чисел помещались целиком */
.tm-tick { padding: 6px 9px; column-gap: 6px; flex: 1 0 auto; }
.tm-tick__val { display: inline-flex; align-items: baseline; }
.tm-tick__val .tm-chg { font-size: .875rem; }
.tm-tick__spark { width: 34px; height: 13px; }
.tm-ticker__demo { padding-left: 8px; }

/* заголовок экрана получает фокус для экранных дикторов — рамка ему не нужна */
h1[tabindex="-1"]:focus, main[tabindex="-1"]:focus, .tm-footer__sub[tabindex="-1"]:focus, [tabindex="-1"]:focus:not(:focus-visible) { outline: none; }
h1[tabindex="-1"]:focus-visible { outline: none; }
.tm-article__cover { max-width: 900px; }
.tm-article__cover .tm-cover--figure { --cover-big: clamp(4rem, 15cqi, 9.5rem); }
.tm-inset .tm-card__meta a { font-family: var(--font-ui); font-size: .8125rem; font-weight: 500; grid-column: auto; }

/* базовые стили UIkit для заголовков и цитат переопределяем токенами (у UIkit — системный шрифт, серый цвет, курсив) */
h1, h2, h3, h4, h5, h6 { font-family: var(--font-text); color: var(--ink); margin: 0; text-transform: none; font-weight: 700; }
* + h1, * + h2, * + h3, * + h4, * + h5, * + h6 { margin-top: 0; }
blockquote { color: inherit; font-size: inherit; line-height: inherit; font-style: normal; margin: 0; }
em { color: inherit; }
@media (max-width: 959px) { .tm-ticker__demo { position: static; padding: 0 10px 0 6px; } }
@media (max-width: 639px) { .tm-crumbs li:last-child { display: none; } }
@media (max-width: 359px) { .tm-pagehead h1 { font-size: 1.875rem; } .tm-article h1 { font-size: 1.875rem; } }
@media (max-width: 359px) { .tm-404 h1 { font-size: 1.75rem; } }

/* ═════════ телефонная вёрстка, вторая редакция ═════════ */
/* высота липкой шапки приходит из скрипта (--hdr), запасное значение — токен */
.tm-lr-toc { top: calc(var(--sa-top) + var(--hdr, var(--header-h))); }

@media (max-width: 639px) {
  /* служебная панель прототипа и плашка объявления — одной-двумя строками */
  .tm-proto__ver { display: none; }
  .tm-proto__in { flex-wrap: nowrap; gap: 10px; min-height: 40px; }
  .tm-proto__right { margin-left: auto; }
  .tm-proto [data-theme-set] > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .tm-proto [data-theme-set] { min-width: 32px; min-height: 28px; justify-content: center; }
  .tm-announce__in { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding-block: 8px; font-size: .875rem; line-height: 1.4; align-items: start; }
  .tm-announce__type { grid-column: 1; grid-row: 1; }
  .tm-announce__close { grid-column: 2; grid-row: 1 / span 2; margin: 0; align-self: center; }
  .tm-announce__text { grid-column: 1; grid-row: 2; }
  .tm-announce__until { grid-column: 1 / -1; font-size: .75rem; }

  /* главная: приветствие и переключатель режимов компактнее */
  .tm-greet { padding-top: 16px; gap: 10px; }
  .tm-greet__text { font-size: 1.25rem; }
  .tm-modes__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

  /* стандартная карточка — строкой: заголовок слева, миниатюра справа */
  .tm-card--std > .tm-card__link { display: grid; grid-template-columns: minmax(0, 1fr) 104px; gap: 12px; align-items: start; }
  .tm-card--std > .tm-card__link > :is(.tm-cover, .tm-cover-wrap) { grid-column: 2; grid-row: 1; }
  .tm-card--std > .tm-card__link > .tm-card__title { grid-column: 1; grid-row: 1; font-size: 1.125rem; line-height: 1.3; }
  .tm-card--std .tm-cover { aspect-ratio: 4 / 3; border-radius: var(--r-s); }
  .tm-card--std .tm-cover__credit, .tm-card--std .tm-cover__what, .tm-card--std .tm-cover--photo .ph-i { display: none; }
  .tm-card--std .tm-cover--figure { --cover-big: 1.375rem; padding: 8px 10px; }
  .tm-card--std { gap: 8px; padding-top: 12px; }
  .tm-grid--4s, .tm-grid--3s { gap: 4px 24px; }
  .tm-grid--4s > .tm-card, .tm-grid--3s > .tm-card, .tm-longs__side > .tm-card { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
  .tm-card--num .tm-card__big { font-size: 2.25rem; }
  .tm-card--num .tm-card__fig { padding: 12px 14px; }

  /* «Экономика сегодня» — лента карточек, которую листают пальцем */
  .tm-today__grid { display: flex; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; gap: 10px; background: none; border: 0; border-radius: 0;
    margin-inline: calc(-1 * var(--gut)); padding: 2px var(--gut) 10px; scroll-padding-inline: var(--gut); scrollbar-width: none; }
  .tm-today__grid::-webkit-scrollbar { display: none; }
  .tm-today__cell { flex: 0 0 80%; scroll-snap-align: start; border: 1px solid var(--line); border-radius: var(--r-m); padding: 16px; }

  /* «Как это работает» — строки с вопросом слева */
  .tm-explain__item:has(.tm-explain__q) { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 4px 12px; padding: 14px 16px; align-items: start; }
  .tm-explain__item:has(.tm-explain__q) > .tm-explain__q { grid-row: 1 / span 3; }
  .tm-explain__item:has(.tm-explain__q) > :not(.tm-explain__q) { grid-column: 2; }

  /* списки разделов, поиска и автора — без миниатюр */
  .tm-list__thumb { display: none; }
  .tm-list__item { padding: 16px 0; }

  /* фильтры — две колонки вместо четырёх строк */
  .tm-filters { grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px; margin-top: 18px; }
  .tm-filters > .tm-field:first-child, .tm-filters > .tm-btn { grid-column: 1 / -1; }

  /* таблицы: текст переносится, числа — нет */
  .tm-table { font-size: .875rem; }
  .tm-table th, .tm-table td { padding: 8px 10px; }
  .tm-table thead th, .tm-table td:not(.is-num), .tm-table tbody th { white-space: normal; }
  .tm-table caption { padding: 10px 10px 0; }


  /* хаб: название строкой, ниже — число, изменение и мини-график */
  .tm-hub__row { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 12px; row-gap: 4px; }
  .tm-hub__name { flex: 1 0 100%; }
  .tm-hub__row .tm-chg { min-width: 0; text-align: left; }
  .tm-hub__row .tm-spark { margin-left: auto; width: 76px; max-width: none; align-self: center; }

  /* подвал: темы — одними названиями, служебные ссылки — в две колонки */
  .tm-footer__col ul { display: none; }
  .tm-footer__cols { gap: 12px 18px; padding-block: 28px 0; }
  .tm-footer__col { padding-top: 8px; }
  .tm-footer__more { grid-template-columns: 1fr 1fr; gap: 22px 18px; padding-block: 28px; }
  .tm-footer__more > nav:last-child { grid-column: 1 / -1; }
  .tm-footer__more > nav:last-child ul { grid-template-columns: 1fr 1fr; column-gap: 18px; }
  .tm-channels { grid-template-columns: 1fr 1fr; gap: 0 14px; }
  .tm-channel { grid-template-columns: 26px 1fr; gap: 2px 10px; }
  .tm-channel .tm-icon { width: 22px; height: 22px; }
  .tm-channel span { font-size: .8125rem; }
}
@media (max-width: 479px) { .tm-table--banks th:nth-child(5), .tm-table--banks td:nth-child(5) { display: none; } }

/* лонгрид на телефоне: график прилипает под оглавлением глав, шаги проезжают поверх */
@media (max-width: 959px) {
  .tm-scrolly { display: flex; flex-direction: column; }
  .tm-scrolly__chart { order: -1; top: calc(var(--sa-top) + var(--hdr, var(--header-h)) + 52px); }
  .tm-scrolly__chart .tm-plot { --plot-h: 190px !important; }
  .tm-scrolly .tm-step { min-height: 55vh; }
  .tm-scrolly .tm-step__card { background: color-mix(in srgb, var(--raised) 94%, transparent); box-shadow: var(--shadow); }
}
@media (max-width: 959px) { .tm-scrolly__chart { align-self: stretch; width: 100%; } }
@media (max-width: 639px) {
  .tm-filters { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .tm-filters .tm-field { min-width: 0; }
  .tm-filters .tm-input, .tm-filters .tm-select { min-width: 0; width: 100%; }
}
/* активная кнопка темы на панели прототипа: светлая «таблетка» на тёмной панели и наоборот; подпись и значок — контрастные */
.tm-proto .tm-seg button[aria-pressed="true"] { color: inherit; background: #E6ECE8; background: light-dark(#E6ECE8, #16221D); }
.tm-proto .tm-seg button[aria-pressed="true"] > span, .tm-proto .tm-seg button[aria-pressed="true"] .tm-icon { color: #16221D; color: light-dark(#16221D, #E6ECE8); }
/* на телефоне подпись вехи видна только у текущего шага — соседние даты не наезжают друг на друга */
@media (max-width: 959px) { .tm-scrolly__chart:not([data-active-step="all"]) .tm-plot__mark:not(.is-current) .tm-plot__mark-label { opacity: 0; } }
@media (max-width: 639px) { .tm-table--wide { min-width: 0; } }
.tm-fx, .tm-term { max-width: 100%; white-space: normal; text-align: inherit; }
.tm-prose .tm-btn { white-space: normal; height: auto; min-height: 44px; max-width: 100%; text-align: left; }
.tm-imprint-foot a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* мобильное меню: UIkit красит ссылки внутри .uk-offcanvas-bar в белый («инверсия» для тёмной панели) —
   у нас панель цвета бумаги, поэтому возвращаем ссылкам цвета токенов, в обеих темах */
.tm-offcanvas .uk-offcanvas-bar a:not(.tm-btn), .tm-offcanvas .uk-offcanvas-bar .tm-nav__link { color: var(--ink); }
.tm-offcanvas .uk-offcanvas-bar a:not(.tm-btn):hover, .tm-offcanvas .uk-offcanvas-bar .tm-nav__link:hover { color: var(--brand); }
.tm-offcanvas .uk-offcanvas-bar .tm-nav__link[aria-current="page"] { color: var(--tc); }
.tm-offcanvas .uk-offcanvas-bar small { color: var(--ink-3); }
/* кнопка «Закрыть» — в своей строке, не поверх кнопки поиска */
.tm-offcanvas .uk-offcanvas-bar { padding-top: calc(70px + var(--sa-top)); }
.tm-offcanvas .uk-offcanvas-close { background: var(--raised); border: 1px solid var(--line-strong); border-radius: var(--r-s); color: var(--ink); }
.tm-offcanvas .uk-offcanvas-close:hover { border-color: var(--brand); color: var(--brand); }
.tm-offcanvas .uk-offcanvas-bar::before { content: "Меню"; position: absolute; top: calc(25px + var(--sa-top)); left: 22px; font-family: var(--font-text); font-size: 1.375rem; font-weight: 700; color: var(--ink); }
/* затемнение страницы под открытым меню */
.tm-offcanvas.uk-offcanvas-overlay::before { background: rgba(8, 18, 14, .5); }

/* логотип The Tenge — присланный logo.svg; цвет #294F38, в тёмной теме — светлый, цветом текста */
:root { --logo: light-dark(#274E37, #FFFFFF); }   /* брендбук: на светлом — зелёный Pantone 350 C, на тёмном — белый */
@supports not (color: light-dark(#000, #fff)) { :root { --logo: #274E37; } }
.tm-logo { gap: 12px; }
.tm-logo__mark { width: auto; height: 40px; aspect-ratio: 38 / 40.2; }
.tm-logo__mark .fg { fill: var(--logo); }
.tm-logo__word { color: var(--logo); }
.tm-header.is-compact .tm-logo__mark { height: 32px; }
@media (max-width: 959px) { .tm-logo__mark { width: auto; height: 32px; } .tm-logo { gap: 10px; } }
.tm-footer__word { line-height: 0; }
.tm-footer__logo { display: block; width: auto; height: 104px; aspect-ratio: 38 / 50; }
@media (max-width: 639px) { .tm-footer__logo { height: 84px; } }
.tm-footer__word .tm-footer__logo { width: auto; height: 104px; margin: 0; }
@media (max-width: 639px) { .tm-footer__word .tm-footer__logo { height: 84px; } }

/* ═════ аккуратные переносы ═════ */
/* «Дальше →»: стрелка рядом с текстом, а не под ним; на узком экране — кнопка во всю ширину */
.tm-pager__next { display: inline-flex !important; align-items: center; gap: 6px; white-space: nowrap; }
@media (max-width: 479px) { .tm-pager > li:last-child { flex-basis: 100%; } .tm-pager__next { width: 100%; justify-content: center; } }
/* «Популярное»: дата и сюжет — под заголовком, а не в узкой колонке с номером */
.tm-popular li::before { grid-row: 1 / span 2; }
.tm-popular li > * { grid-column: 2; }
/* лента: в боковой колонке время — строкой над заголовком; в широкой ленте — колонка на десктопе и строка на телефоне */
.tm-feed__item time, .tm-feed__item time.is-fresh { white-space: nowrap; padding-top: 0; line-height: 1.35; }
.tm-feed:not(.tm-feed--wide) .tm-feed__item { grid-template-columns: minmax(0, 1fr); gap: 3px; }
.tm-feed:not(.tm-feed--wide) .tm-feed__item > * { grid-column: 1; }
.tm-feed--wide .tm-feed__item { grid-template-columns: 7.6rem minmax(0, 1fr); }
@media (max-width: 639px) {
  .tm-feed--wide .tm-feed__item { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .tm-feed--wide .tm-feed__item > * { grid-column: 1; }
}
/* метки в строке метаданных не рвутся посередине: переносится вся метка целиком */
.tm-card__meta > *, .tm-feed__meta > *, .tm-story, .tm-topic, .tm-format, .tm-badge, .tm-chg, .tm-more, .tm-tag, .tm-chip, .tm-btn, .tm-seg button { white-space: nowrap; }
.tm-today__val { flex-wrap: wrap; column-gap: 8px; row-gap: 2px; }
/* вывод под таблицей: блоком, а не гибкой строкой — иначе текст со ссылкой рассыпается по колонкам */
.tm-conclusion { display: block; position: relative; padding-left: 24px; }
.tm-conclusion::before { position: absolute; left: 0; top: .55em; margin-top: 0; }

/* ═════ без наездов ═════ */
/* правая колонка первого экрана липнет только в пределах своей полосы и уходит вверх до блока «Важное» */
@media (min-width: 960px) {
  .tm-hero__side { position: static; align-self: stretch; }
  .tm-hero__side > .tm-side { position: sticky; top: calc(var(--sa-top) + var(--hdr, var(--header-h)) + 20px); }
}
/* все липкие элементы отсчитывают отступ от настоящей высоты шапки */
.tm-hero__tabs { top: calc(var(--sa-top) + var(--hdr, var(--header-h))); }
.tm-toc, .tm-aside-box { top: calc(var(--sa-top) + var(--hdr, var(--header-h)) + 24px); }
@media (min-width: 960px) { .tm-lr-toc { top: calc(var(--sa-top) + var(--hdr, var(--header-h)) + 24px); } .tm-scrolly__chart { top: calc(var(--sa-top) + var(--hdr, var(--header-h)) + 20px); } }
/* обложка-цифра: подпись источника — в правом верхнем углу, чтобы не ложиться на пояснение под цифрой */
.tm-cover--figure .tm-cover__credit { top: clamp(10px, 4%, 18px); bottom: auto; }
/* показатель: на планшете крупное число и сведения о релизе — друг под другом */
@media (max-width: 1023px) { .tm-ind-head { grid-template-columns: minmax(0, 1fr); } }
/* подписи оси X прореживаются по ширине самого графика, а не окна */
.tm-plot { container-type: inline-size; }
@container (max-width: 520px) {
  .tm-plot__xtick:nth-child(even):not(.is-first):not(.is-last), .tm-plot__xtick:nth-last-child(2):not(.is-first) { display: none; }
}
/* миниатюры в списках: на маленькой обложке-цифре — только цифра, без подписей */
.tm-list__thumb .tm-cover__credit, .tm-list__thumb .tm-cover__what { display: none; }
.tm-list__thumb .tm-cover--figure { --cover-big: clamp(1.5rem, 16cqi, 3rem); }

/* до первого шага скроллителлинга все вехи на графике видны полностью (в style.css селектор не срабатывал) */
.tm-scrolly__chart[data-active-step="all"] .tm-plot__mark { opacity: 1; }
/* на узком графике у вех — только год: полные даты рядом не помещаются; полная дата — в подписи к шагу */
.tm-ml-short { display: none; }
@container (max-width: 520px) { .tm-ml-full { display: none; } .tm-ml-short { display: inline; } }
/* на самом узком графике подпись вехи 2014 года появляется только на её шаге: рядом стоят 1999 и 2015 */
@container (max-width: 520px) { .tm-plot__mark.is-minor:not(.is-current) .tm-plot__mark-label { display: none; } }

/* подборки «Тенге за утро» и «Итоги дня»: время вместо номеров, подзаголовок «выбор редакции» — отдельной строкой */
.tm-side__head { flex-wrap: wrap; row-gap: 2px; }
.tm-feed--brief .tm-feed__item { padding-block: 10px; }
.tm-feed--brief .tm-feed__link { font-size: 1.0625rem; line-height: 1.32; }
.tm-issue .tm-feed--brief { margin-top: 8px; }
/* на телефоне заголовок подборки уже на вкладке — под ней остаётся только подзаголовок «выбор редакции» */
@media (max-width: 959px) {
  .tm-hero__side .tm-side__head { display: flex; margin: 0 0 2px; }
  .tm-hero__side .tm-side__title { display: none; }
}

/* ═════ брендбук The Tenge ═════ */
/* Raleway — фирменный шрифт: заголовки, крупные числа, цитаты; текст статей и подписи — Golos Text: в Raleway нет табличных цифр */
html { font-feature-settings: "lnum" 1; }
.tm-prose, .tm-prose p, .tm-prose li, .tm-article__lead, .tm-card__lead, .tm-short li, .tm-means dd, .tm-axios p, .tm-term-def, .tm-term-sec p,
.tm-about-sec li, .tm-about-sec p, .tm-lr-cover__sub, .tm-pagehead__lead, .tm-daynum__what, .tm-today__why, .tm-step__text, .tm-timeline p,
.tm-explainer-note, .tm-receipt__chg, .tm-calc__line, .tm-404 p, .tm-subscribe__promise, .tm-footer__promise, .tm-author-head__bio, .tm-gloss dd { font-family: var(--font-ui); }
h1, h2, h3, .tm-card__title, .tm-feed__link, .tm-pagehead h1 { letter-spacing: -0.01em; }
/* логотип в шапке — целиком, знак и подпись THE TENGE, не меньше 50 px (минимум брендбука для экранов) */
.tm-logo__full { display: block; flex: none; width: auto; height: 50px; aspect-ratio: 38 / 50; }
.tm-logo__motto { display: none; }
@media (min-width: 1280px) { .tm-logo__motto { display: block; max-width: 14em; font: 500 .8125rem/1.3 var(--font-ui); color: var(--ink-3); } }
.tm-header.is-compact .tm-logo__motto { display: none; }
/* фирменный паттерн «свечной график» на обложке-цифре */
.tm-cover--figure { position: relative; overflow: hidden; }
.tm-cover__bars { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 72%; --bars: rgba(6, 22, 13, .30); pointer-events: none; }
.tm-cover--figure .tm-cover__big, .tm-cover--figure .tm-cover__what { position: relative; z-index: 1; }
.tm-cover--figure .tm-cover__credit { z-index: 2; }
/* гильош лонгрида: на телефоне — вертикальная композиция с розеткой над заголовком */
.tm-guil .g-p { display: none; }
@media (max-width: 959px) { .tm-lr-cover .tm-guil .g-l { display: none; } .tm-lr-cover .tm-guil .g-p { display: inline; } }
/* крупные цифры в Raleway — полужирные, как заголовки брендбука */
.tm-daynum__fig, .tm-cover__big, .tm-ind-big, .tm-calc__big, .tm-card__big, .tm-answer__v, .tm-404__fig { font-weight: 600; }

/* лонгрид на телефоне: оглавление глав вплотную к шапке, график — вплотную к оглавлению; карточки шагов уходят под график, а не закрывают его */
@media (max-width: 959px) {
  .tm-toc.tm-lr-toc { top: calc(var(--sa-top) + var(--hdr, var(--header-h))); }
  .tm-scrolly__chart { top: calc(var(--sa-top) + var(--hdr, var(--header-h)) + var(--lrtoc, 50px)); z-index: 6; box-shadow: 0 12px 14px -14px rgba(0, 0, 0, .45); }
  .tm-scrolly .tm-step { z-index: 1; }
  .tm-scrolly .tm-step__card { background: var(--raised); }
}


/* ==========================================================================
   Мост к wmarka и Joomla
   ========================================================================== */
/* Тема: по системе (color-scheme: light dark из токенов прототипа); ручной выбор — атрибут data-theme на <html>,
   его ставит переключатель в подвале (user.js) и ранний скрипт в «Коде в head», чтобы страница не мигала светлой */
:root { --logo: var(--brand); }
.tm-chip.is-active { color: var(--on-brand); }
.tm-theme { display: inline-flex; gap: 6px; flex-wrap: wrap; align-items: center; font-family: var(--font-ui); font-size: .875rem; color: var(--ink-2); }
.tm-theme button { font: inherit; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--raised); color: var(--ink); cursor: pointer; }
.tm-theme button[aria-pressed="true"] { background: var(--brand); border-color: var(--brand); color: var(--on-brand); }
.tm-theme .tm-icon { width: 16px; height: 16px; }
/* картинки и графики из архива — на светлой подложке, чтобы схемы с белым фоном не резали глаз в тёмной теме */
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .tm-prose img { background: #fff; border-radius: 4px; } }
:root[data-theme="dark"] .tm-prose img { background: #fff; border-radius: 4px; }
/* плашки UIkit wmarka, которые могли остаться: фон и текст — из токенов */
.uk-offcanvas-bar, .uk-modal-dialog, .uk-dropdown, .uk-card-default { background: var(--raised); color: var(--ink); }

/* цвета тем по английским алиасам варианта B (economy, markets…) — те же токены прототипа */
:root {
    --t-economy: var(--t-ekonomika); --t-markets: var(--t-rynki); --t-business: var(--t-biznes); --t-finance: var(--t-finansy);
    --t-society: var(--t-obshchestvo); --t-state: var(--t-gosudarstvo); --t-world: var(--t-mir);
}

/* фон страницы и секции wmarka, если где-то остались, — «бумага» прототипа */
.uk-section-default, .uk-section-muted { background: transparent; }
.tm-page { display: block; }
#system-message-container:empty { display: none; }

/* обложки прототипа — плейсхолдеры svg; у сайта настоящие фото */
.tm-cover > img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* текст статей архива: картинки, таблицы и врезки старого редактора */
.tm-prose img { max-width: 100%; height: auto; display: block; margin-inline: auto; }
.tm-prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-family: var(--font-ui); font-size: .9375rem; }
.tm-prose td, .tm-prose th { border: 1px solid var(--line); padding: 6px 10px; }
.tm-prose iframe { max-width: 100%; }
.tm-prose figure { margin-inline: 0; }

/* словарь: число материалов рядом с термином, переключатель порядка */
.tm-gloss__n { font-family: var(--font-ui); font-size: .875rem; font-weight: 500; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.tm-chip.is-active { background: var(--brand); border-color: var(--brand); color: #fff; }
.tm-term .tm-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Пометка об ИИ и исправления под текстом материала (поля вкладки «Выпуск»; ТЗ) */
.tm-ainote { display: flex; gap: 10px; align-items: flex-start; margin: 20px 0 0; padding: 12px 16px; font-family: var(--font-ui); font-size: .9375rem; color: var(--ink-2); background: var(--raised); border: 1px solid var(--line); border-left: 4px solid var(--brand); border-radius: 6px; }
.tm-ainote .tm-icon { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--brand); }
.tm-corr { margin: 16px 0 0; padding: 14px 18px; font-family: var(--font-ui); font-size: .9375rem; color: var(--ink); background: var(--raised); border: 1px solid var(--line); border-left: 4px solid var(--warn, #b7791f); border-radius: 6px; }
.tm-corr__t { margin: 0 0 6px; font-size: .875rem; font-weight: 700; letter-spacing: .02em; color: var(--ink-2); }
.tm-corr ul { margin: 0; padding-left: 1.1em; }
.tm-corr li + li { margin-top: 4px; }

/* Якоря и сноски в тексте материала (вставка из Word: ссылки #_ftn1 / #_ftnref1, закладки). Отступ под липкую шапку даёт scroll-padding-top у html. */
.tm-prose :target { background: color-mix(in srgb, var(--accent) 18%, transparent); border-radius: 3px; transition: background .4s; }
.tm-prose div[id^="ftn"]:has(:target) { background: color-mix(in srgb, var(--accent) 12%, transparent); border-radius: 4px; }
.tm-prose a[href^="#_ftn"], .tm-prose a[href^="#ftn"] { text-decoration: none; font-weight: 600; }
.tm-prose a[href^="#_ftn"] sup, .tm-prose a[href^="#ftn"] sup, .tm-prose sup a[href^="#"] { font-size: .75em; line-height: 0; }
.tm-prose div[id^="ftn"] { font-family: var(--font-ui); font-size: .875rem; line-height: 1.5; color: var(--ink-2); margin: 0 0 6px; padding: 2px 6px; }
.tm-prose div[id^="ftn"] p { margin: 0; }
.tm-prose hr + div[id^="ftn"] { margin-top: 14px; }

/* Вставки соцсетей и видео (метка tm-embed → iframe, blockquote твита и т. п.; см. js/user.js) */
.tm-prose .tm-embed { margin: 1.6em 0; max-width: 100%; }
.tm-prose .tm-embed > iframe { display: block; width: 100%; max-width: 100%; border: 0; border-radius: 8px; background: var(--raised); }
.tm-prose .tm-embed:not(.is-ready) { padding: 14px 16px; background: var(--raised); border: 1px solid var(--line); border-radius: 8px; font-family: var(--font-ui); font-size: .9375rem; overflow-wrap: anywhere; }
.tm-prose blockquote.twitter-tweet, .tm-prose blockquote.instagram-media, .tm-prose blockquote.tiktok-embed, .tm-prose blockquote.text-post-media, .tm-prose blockquote.bluesky-embed { margin: 1.6em auto; max-width: 100%; }
