/* Общие стили серверного ридера отчетов (render_mode = server), поверх CSS отчета.
   Разметка серверного ридера отличается от React только там, где это нужно без JS:
   пункты оглавления — ссылки <a href="#id"> вместо <button>; названия на графиках
   с логотипами — скрытым текстом .rep-sr. Пейволл — тот же paywall.css, что у React-
   ридеров (у всех отчетов он побайтно одинаковый). */

/* Оглавление: <a> выглядит как прежняя <button> (.rep-toc-list button в CSS отчета). У легаси-отчетов
   (rep-toc--legacy) CSS отчета сам стилизует `.rep-toc-list a` — общий стиль не нужен. */
.edtech-embed .rep-toc:not(.rep-toc--legacy) .rep-toc-list a {
  display: flex; gap: 10px; align-items: baseline;
  width: 100%; text-align: left; text-decoration: none;
  padding: 9px 0 9px 14px;
  font-family: var(--sans);
  font-weight: 500;
  font-size: 14px; line-height: 1.3;
  color: var(--ink-3);
  transition: color .15s;
}
.edtech-embed .rep-toc:not(.rep-toc--legacy) .rep-toc-list li.on a { color: var(--ink); font-weight: 600; }
.edtech-embed .rep-toc:not(.rep-toc--legacy) .rep-toc-list a:hover { color: var(--blue); }
@media (max-width: 1024px) {
  .edtech-embed .rep-toc:not(.rep-toc--legacy) .rep-toc-list a { padding-left: 12px; }
}
html { scroll-padding-top: 80px; }

/* Текст только для поисковиков, нейросетей и скринридеров (названия под логотипами).
   Скрытый текст позиционирован абсолютно — его контейнер должен быть positioned, иначе
   внутри таблицы с прокруткой (.rep-table-wrap) он «вылетает» и дает горизонтальный
   скролл всей страницы на 390px. */
.edtech-embed .rep-table-wrap,
.edtech-embed .sc-who { position: relative; }
.edtech-embed .rep-sr {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}

/* Закрытое значение: только текст и замок, без чисел. */
.edtech-embed .rep-locked {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: "JetBrains Mono", monospace; font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink-3); white-space: nowrap; cursor: pointer;
}
.edtech-embed .rep-locked .pw-lock-ico { font-size: 0.9em; opacity: 0.6; }

/* Paywall (teaser cut) — scoped under .edtech-embed, uses report tokens. */
.edtech-embed .rep-paywall {
  position: relative;
  margin: 0;
}
.edtech-embed .rep-paywall-ellipsis {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 40px;
  line-height: 1;
  letter-spacing: 8px;
  color: var(--ink-4);
  margin: 4px 0 0;
}
.edtech-embed .rep-paywall-fade {
  height: 96px;
  margin: -56px 0 0;
  background: linear-gradient(180deg, rgba(247, 248, 251, 0) 0%, var(--paper) 88%);
  pointer-events: none;
}
.edtech-embed .rep-paywall-card {
  border: 1px solid var(--ink);
  background: var(--paper-2);
  padding: 40px 44px;
  margin: 0 0 72px;
}
.edtech-embed .rep-paywall-eyebrow {
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 14px;
}
.edtech-embed .rep-paywall-h {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 30px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0 0 12px;
}
.edtech-embed .rep-paywall-sub {
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink-2);
  margin: 0 0 24px;
  max-width: 56ch;
}
.edtech-embed .rep-paywall-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.edtech-embed .rep-paywall-btn {
  display: inline-block;
  background: var(--blue);
  color: #fff;
  font-family: var(--sans);
  font-weight: 600;
  font-size: 15px;
  padding: 14px 28px;
  text-decoration: none;
  border: 1px solid var(--blue);
  transition: background 0.15s, border-color 0.15s;
}
.edtech-embed .rep-paywall-btn:hover {
  background: var(--blue-2);
  border-color: var(--blue-2);
}
.edtech-embed .rep-paywall-btn--ghost {
  background: transparent;
  color: var(--blue);
}
.edtech-embed .rep-paywall-btn--ghost:hover {
  background: var(--blue-pale);
}
.edtech-embed .rep-paywall-note {
  margin-top: 16px;
  font-family: var(--sans);
  font-size: 13px;
  color: var(--ink-3);
}

/* Рейтинговые таблицы и сворачиваемые списки (ssr/table.js). Без JS видны все строки, а
   инструменты (поиск, «Топ-10 / Все N», фильтр, «Показать все») скрыты — они без JS не работают.
   С JS (класс rep-js ставится в <head> до отрисовки) лишние строки скрыты сразу, без скачка. */
html:not(.rep-js) .edtech-embed [data-rep-rank] .rep-table-tools,
html:not(.rep-js) .edtech-embed [data-rep-collapse-btn] { display: none; }
.rep-js .edtech-embed [data-rep-top]:not(.is-ready) tr.rep-more,
.rep-js .edtech-embed [data-rep-collapse]:not(.is-ready) .rep-more { display: none; }
.edtech-embed [data-rep-rank] tr[hidden],
.edtech-embed [data-rep-collapse] [hidden] { display: none; }
.edtech-embed .rep-table th[data-sort-type] { cursor: pointer; }

/* Скрытые таблицы данных графиков (table.rep-sr) лежат внутри figure — она positioned (R-01). */
.edtech-embed figure.rep-sc { position: relative; }

/* Методика со сворачиванием (blocks/methodology.html): <details> вместо кнопки React. Подпись выглядит
   как прежняя button.rep-meth-toggle (инлайн-блок, без маркера), знак меняется по [open]. */
.edtech-embed details.rep-meth > summary { display: inline-block; list-style: none; line-height: normal; }
.edtech-embed details.rep-meth > summary::-webkit-details-marker { display: none; }
.edtech-embed details.rep-meth > summary .rep-meth-minus,
.edtech-embed details.rep-meth[open] > summary .rep-meth-plus { display: none; }
.edtech-embed details.rep-meth[open] > summary .rep-meth-minus { display: inline; }

/* Название партнера скрытым текстом внутри ссылки-логотипа (R-01, R-04). */
.edtech-embed .rep-partner { position: relative; }

/* Переключатель таблиц [data-rep-switch] (hrtech-h1): без JS обе таблицы и без кнопок; с JS вторая скрыта сразу. */
html:not(.rep-js) .edtech-embed [data-rep-switch] > .rep-toggle { display: none; }
.rep-js .edtech-embed [data-rep-switch]:not(.is-ready) > [data-rep-switch-pane] ~ [data-rep-switch-pane] { display: none; }
.edtech-embed [data-rep-switch-pane][hidden] { display: none; }

/* pr-100: наведение как в report.jsx (там меняли inline-стиль из JS). */
.edtech-embed .pr-co-link:hover .co-name { color: #2563EB !important; }
.edtech-embed .pr-hero-btn:hover { background: #1D4ED8 !important; }
.edtech-embed .pr-hero-btn--ghost:hover { background: rgba(255,255,255,0.08) !important; border-color: #fff !important; }
.edtech-embed .pr-full-btn:hover { background: #2563EB !important; border-color: #2563EB !important; }

/* medtech-2025: стрелка «Показать остальные компании» в <details> (в React менялась по состоянию). */
.edtech-embed details.rank-more .rank-more-arrow-up,
.edtech-embed details.rank-more[open] .rank-more-arrow-down { display: none; }
.edtech-embed details.rank-more[open] .rank-more-arrow-up { display: inline; }
