/* Доводка до 10/10 по независимой проверке, круг 1 (docs/design/12). Подключается последним — и в режиме статей,
   и в приложении. На токенах. Каждое правило закрывает конкретный недочёт проверяющего (номер — в комментарии). */

/* ——— общее: одна кнопка «назад» на всех экранах (общ. 5) — пилюля со стрелкой и названием ——— */
.шапка-экрана .назад, .status a[href], .верх > a.назад-чат { width:auto !important; height:40px !important; border-radius:20px !important;
  display:inline-flex !important; align-items:center; gap:6px; padding:0 14px 0 10px !important; font:600 14px/1 "Onest" !important;
  color:var(--ink) !important; text-decoration:none; background:var(--glass) !important;
  box-shadow:inset 0 1px 0 var(--hi), 0 0 0 1px var(--line) !important; backdrop-filter:blur(var(--blur)); -webkit-backdrop-filter:blur(var(--blur)); }
.назад svg, .назад-чат svg, .status a[href] svg { width:18px; height:18px; flex:none; }

/* ——— общее: главная кнопка плоская, без блика (общ. 3); вторичная — тёмная (общ. 4) ——— */
.btn, .pill { background:linear-gradient(180deg, #24a8da, #1588b5) !important; box-shadow:0 10px 24px rgba(0,0,0,.32) !important; }
.вторичная, .btn.вторичная, a.btn.вторичная { background:var(--fill-3) !important; color:var(--ink) !important;
  box-shadow:inset 0 0 0 1px var(--line) !important; }
.ghost { height:var(--btn-h) !important; }                        /* «Без стиля» и «Сохранить» одной высоты (09) */

/* ——— общее: вкладки с подписями (общ. 1), вложенный экран — без вкладок ——— */
.панель nav { height:56px !important; justify-content:space-around; }
.панель nav a, body > nav a { flex:1; flex-direction:column; gap:4px; padding:6px 0 !important; background:none !important;
  box-shadow:none !important; font:600 11px/1 "Onest" !important; color:var(--ink3); }
.панель nav a.on, body > nav a.on { color:var(--acc) !important; }
.панель nav em, body > nav em { display:block; font-style:normal; }
body.вложенный .панель nav { display:none; }
body.вложенный .панель .поле { margin:0; }
body.вложенный.с-панелью { padding-bottom:110px; }

/* ——— общее: поле-ссылка «Спросить HOOK…» — стрелка не горит, пока нечего отправлять (общ. 12) ——— */
a.поле .go, form.поле:has(input:placeholder-shown) .go { background:var(--fill-3) !important; color:var(--ink3) !important;
  box-shadow:none !important; }
form.поле .go { box-shadow:none !important; outline:none; border:none !important; }

/* ——— общее: один шеврон (общ. 6) ——— */
.шеврон { width:16px; height:16px; flex:none; color:var(--ink2); }
details.скоро-блок summary::after { border:none !important; width:16px !important; height:16px !important; transform:none !important;
  background:var(--ink2); -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") center/contain no-repeat; }
details.скоро-блок[open] summary::after { transform:rotate(180deg) !important; }
details.скоро-блок summary .иконка { background:none !important; width:24px !important; color:var(--ink3) !important; }

/* ——— лента (01): карточка без картинки — с плиткой того же размера; низ — карточка, а не серая строка ——— */
#лента .card a.без-картинки { grid-template-columns:96px 1fr !important; padding:12px !important; }
#лента .card a.без-картинки::before { content:""; width:96px; height:96px; border-radius:14px; background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232fe39b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h9l4 4v14H6z'/><path d='M15 3v4h4M9 12h6M9 16h4'/></svg>") center/34px no-repeat, var(--s2);
  box-shadow:0 0 0 1px var(--line); }
#лента .card .meta, .cont .meta { white-space:normal; }
.cont .meta { display:none; }                                    /* под обложкой — один заголовок, без второго почти такого же (01) */
#лента .card .th.обложкой { background-size:cover !important; background-position:50% 0 !important; }   /* в миниатюре — обложка с крупным заголовком, а не схема с микротекстом */
p.foot.итог-ленты { display:flex; gap:14px; align-items:center; text-align:left; padding:16px; margin:24px 0 8px; border-radius:var(--r-card);
  background:var(--s1); box-shadow:var(--sh-card); font:var(--f-body); color:var(--ink); }
p.foot.итог-ленты .hk { flex:none; }

/* ——— статья (02, 03): шапка на месте при прокрутке; «Подробнее» строкой; шаблон — главное действие; таблицы карточками ——— */
body:has(article#тело) .status { position:sticky; top:0; z-index:6; background:color-mix(in srgb, var(--bg) 72%, transparent);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
body:has(article#тело) .status::after { content:""; position:absolute; left:0; right:0; top:100%; height:16px; pointer-events:none;
  background:linear-gradient(to bottom, color-mix(in srgb, var(--bg) 72%, transparent), transparent); }   /* круг 2: мягкий край, а не жёсткая полоса */
article#тело details { background:none !important; box-shadow:none !important; border:none !important; padding:0 !important; margin:4px 0 8px !important; }
article#тело details > summary { display:inline-flex !important; align-items:center; gap:6px; padding:6px 0 !important; background:none !important;
  border:none !important; box-shadow:none !important; font:600 15px/1.2 "Onest" !important; color:var(--acc) !important; }
.шаблон-копия { background:color-mix(in srgb, var(--acc) 12%, transparent) !important; color:var(--acc) !important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--acc) 30%, transparent) !important; font-weight:600 !important; }
article#тело table td, article#тело table th { border:0 !important; border-bottom:1px solid rgba(255,255,255,.06) !important; }   /* круг 2: без толстых рамок */
@media (max-width: 560px) {
  article#тело table.карточками, article#тело table.карточками tbody { display:block; width:100%; }
  article#тело table.карточками tr:first-child { display:none; }
  article#тело table.карточками tr { display:block; margin:0 0 10px; padding:14px 16px; border-radius:16px; background:var(--s1);
    box-shadow:inset 0 1px 0 var(--hi), 0 0 0 1px var(--line); }
  article#тело table.карточками td { display:block; border:none !important; padding:2px 0 !important; color:var(--ink); font-weight:400 !important; }
  article#тело table.карточками td:first-child { font:500 16px/1.4 "Onest"; color:var(--ink); margin-bottom:6px; }
  article#тело table.карточками td:not(:first-child)::before { content:attr(data-колонка) ": "; color:var(--ink3); }
}

/* ——— «скоро» (04): без прокрутки; вместо веера мелких обложек — три статьи строками ——— */
.скоро { min-height:calc(100dvh - 140px) !important; padding-bottom:0 !important; }
body:has(.скоро) { padding-bottom:0 !important; }
.скоро .статьи-строками { display:flex; flex-direction:column; gap:8px; text-align:left; }
.скоро .статьи-строками a { display:grid; grid-template-columns:56px 1fr 16px; gap:12px; align-items:center; padding:10px 12px;
  border-radius:16px; background:var(--s1); box-shadow:inset 0 1px 0 var(--hi), 0 0 0 1px var(--line); color:var(--ink); text-decoration:none;
  font:600 15px/1.25 "Onest"; }
.скоро .статьи-строками span.мини { width:56px; height:56px; border-radius:12px; background:50% 0/cover no-repeat; box-shadow:0 0 0 1px var(--line); }

/* ——— «Сегодня» (05): подсказки одной строкой с прокруткой ——— */
.подсказки { flex-wrap:nowrap !important; overflow-x:auto; scrollbar-width:none; margin-left:calc(var(--step) * -3); margin-right:calc(var(--step) * -3);
  padding:0 calc(var(--step) * 3); }
.подсказки::-webkit-scrollbar { display:none; }
.подсказки .chip { flex:none; }

/* ——— «План» (06): дни строками в одной карточке; «+ Добавить» вместо серой «свободно»; ровный шаг 24 ——— */
.дни-списком { margin:12px 0 24px; padding:4px 16px; border-radius:var(--r-card); background:var(--s1); box-shadow:var(--sh-card); }
.дни-списком .строка-дня { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:12px; min-height:56px;
  border-top:1px solid var(--line); }
.дни-списком .строка-дня:first-child { border-top:none; }
.дни-списком .строка-дня .день { font:600 14px/1 "Onest"; color:var(--ink2); }
.дни-списком .строка-дня .вид { display:flex; align-items:center; gap:10px; font:500 15px/1.2 "Onest"; color:var(--ink); }
.дни-списком .строка-дня .вид svg { width:28px; height:28px; padding:6px; border-radius:9px; }
.дни-списком .пост svg { color:var(--acc); background:color-mix(in srgb, var(--acc) 12%, transparent); }
.дни-списком .рилс svg { color:#2bb4e6; background:rgba(43,180,230,.12); }
.дни-списком .сторис svg { color:var(--ink); background:var(--fill-3); }
.дни-списком .добавить { font:600 14px/1 "Onest"; color:var(--acc); text-decoration:none; padding:8px 0 8px 8px; }
.ритм .столб i.сторис { background:var(--ink) !important; } .ритм .столб i.сторис.пусто { color:var(--ink) !important; }
.ритм-подпись span:nth-child(2) { color:#2bb4e6 !important; } .ритм-подпись span:nth-child(3) { color:var(--ink) !important; }
.ритм-подпись span:nth-child(4) { display:none; }
main > .btn + a.row.line, main > a.btn + a.row.line { margin-top:12px; }
.add { margin-top:24px !important; }

/* ——— «Цель» (07): время строкой под задачей; «готовим мы» — подпись, а не ещё один вид рамки; согласовать — всегда видно ——— */
.неделя-карта .step > div { display:block !important; }
.неделя-карта .step small { display:block !important; height:auto !important; padding:0 !important; margin-top:4px; background:none !important;
  font:var(--f-cap) !important; color:var(--ink3) !important; }
.подпись-плана { font:var(--f-body); color:var(--ink2); margin:16px 0 0; }
.кнопка-плана { margin-top:16px; }   /* круг 2: не закрепляем — наезжала на карточку */

/* ——— «Разговор» (08): подсказки — под первым сообщением, крупными строками ——— */
.подсказки.в-ленте { flex-direction:column; flex-wrap:nowrap !important; gap:8px; overflow:visible; margin:16px 0 0 52px !important; padding:0 !important; position:static !important; width:auto !important; transform:none !important; }
.подсказки.в-ленте .chip { height:auto; padding:12px 14px; border-radius:14px; justify-content:flex-start; text-align:left;
  font:500 15px/1.25 "Onest"; color:var(--ink); background:var(--s1); box-shadow:inset 0 1px 0 var(--hi), 0 0 0 1px var(--line); }

/* ——— «Стиль» (09): ползунки — края шкалы, дорожка видна, ручка заливкой; поле без уголка; карточки с затуханием ——— */
.оси input[type=range] { -webkit-appearance:none; appearance:none; width:100%; height:24px; background:transparent; }
.оси input[type=range]::-webkit-slider-runnable-track { height:4px; border-radius:2px; background:#2a3434; }
.оси input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; width:24px; height:24px; margin-top:-10px; border-radius:50%;
  background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.45); border:none; }
.оси .края { display:flex; justify-content:space-between; font:500 12px/1 "Onest"; color:var(--ink3); margin-top:2px; }
.оси .знач { display:none; }
.оси .ось.сдвиг .знач { display:inline; color:var(--acc); }
textarea { resize:none; }
.манеры { -webkit-mask-image:linear-gradient(90deg, #000 85%, transparent); mask-image:linear-gradient(90deg, #000 85%, transparent); }
.легенда { display:none; }
.заг small { display:block; margin-top:6px; font:var(--f-cap); font-size:14px; color:var(--ink2); }

/* ——— «Кабинет» (10): удаление — строкой; состав тарифа галочками в карточке; «скоро» рядом с заголовком ——— */
a.danger { display:block; border:none !important; background:none !important; box-shadow:none !important; padding:16px 0 4px !important;
  text-align:left !important; font:500 15px/1.2 "Onest" !important; color:var(--bad) !important; height:auto !important; }
.состав { grid-column:1 / -1; list-style:none; margin:12px 0 0; padding:12px 0 0; border-top:1px solid var(--line); }
.состав li { display:flex; justify-content:space-between; gap:12px; padding:6px 0; font:var(--f-body); color:var(--ink); }
.состав li span { color:var(--ink2); font:var(--f-cap); }
.состав li::before { content:""; width:18px; height:18px; flex:none; margin-right:-4px; background:var(--acc);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>") center/contain no-repeat; }
.состав li b { flex:1; font-weight:500; }
h2 .метка-скоро { margin-left:8px; vertical-align:3px; }
.политика-строка { display:block; margin-top:8px; font:var(--f-cap); color:var(--ink3); text-decoration:underline; text-underline-offset:3px; }

/* ——— решения CTO 10.10 (docs/design/12) ——— */
/* 2: приветствие — живой градиент в палитре Б, синий → белый; бирюзы нет («градиент синим, остальное зелёным») */
.привет { --hk-flow:linear-gradient(90deg, #2bb4e6 0%, #e9f7fd 50%, #2bb4e6 100%); }
/* 1: ссылки на канал и сообщество — без сбора данных */
.наши-ссылки { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.наши-ссылки a { display:flex; align-items:center; justify-content:center; gap:8px; height:44px; border-radius:14px; text-decoration:none;
  font:600 14px/1 "Onest"; color:var(--ink); background:var(--fill-3); box-shadow:inset 0 0 0 1px var(--line); }
.наши-ссылки svg { width:18px; height:18px; }
p.foot.итог-ленты { flex-wrap:wrap; }
p.foot.итог-ленты .наши-ссылки { flex-basis:100%; margin-top:4px; }
.скоро .наши-ссылки { margin-top:0; }
/* 5: первое дело дня — главной кнопкой */
.первое-дело small { margin-left:6px; font:500 13px/1 "Onest"; opacity:.8; }

/* ——— круг 3: по отзыву круга 2 (docs/design/13) и текстам CMO ——— */
/* лента: итог — карточка со знаком, текстом и двумя ссылками; миниатюра — верх обложки крупно */
div.итог-ленты { display:grid; grid-template-columns:40px 1fr; gap:12px 14px; align-items:start; padding:16px; margin:24px 0 8px;
  border-radius:var(--r-card); background:var(--s1); box-shadow:var(--sh-card); }
div.итог-ленты p { margin:0; font:500 15px/1.4 "Onest"; color:var(--ink); }
div.итог-ленты .наши-ссылки { grid-column:1 / -1; margin:0; }
#лента .card .th.обложкой { background-size:150% !important; background-position:0 0 !important; }
/* «скоро»: без прокрутки; у строк статей — значок вместо мелкой обложки */
main:has(.скоро) { padding-bottom:16px !important; min-height:0 !important; }
.скоро { min-height:calc(100dvh - 56px - 40px) !important; }
.скоро .статьи-строками span.мини { background:color-mix(in srgb, var(--acc) 10%, transparent) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232fe39b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h9l4 4v14H6z'/><path d='M15 3v4h4M9 12h6M9 16h4'/></svg>") center/24px no-repeat !important;
  width:44px; height:44px; box-shadow:none; }
.скоро .статьи-строками a { grid-template-columns:44px 1fr 16px; }
/* таблица из трёх колонок — карточками; кнопка «Скопировать» под ней — во всю ширину */
article#тело table.карточками + .шаблон-копия { border-radius:14px !important; margin-top:4px; }
/* «Сегодня»: карточка цели без лишнего низа */
#шапка-прогресс a.goalbar .bar { margin-bottom:0 !important; }
/* «План»: полосы дней нет — она повторяла список; сегодня отмечен, прошедшие приглушены; поле — внутри «+ Добавить» */
#ритм, .ритм-подпись, .add { display:none !important; }
.дни-списком .строка-дня.сегодня .день { color:var(--acc); }
.дни-списком .строка-дня.прошло { opacity:.45; }
.дни-списком .строка-дня .день small { display:block; margin-top:3px; font:500 10px/1 "Onest"; color:var(--acc); }
/* «Цель»: «Задайте цель и срок» — вторичной кнопкой под целью; итог плана строкой под заголовком */
a.задать-цель { margin:12px 0 4px; }
.итог-плана { margin:-4px 0 8px; font:var(--f-cap); color:var(--ink2); }
/* «Стиль»: края шкалы один раз; дорожка без капсулы; без столбиков и заглушки */
.оси .дорожка { background:none !important; border:0 !important; box-shadow:none !important; padding:0 !important; }
.оси .ось:not(:first-child) .края { display:none; }
.оси .края { color:#8a9494; margin-top:6px; }
.манера .столбики { display:none; }
.подсказка-тона { margin:-2px 0 12px; font:500 14px/1.4 "Onest"; color:var(--ink2); }
/* «Кабинет»: платный пункт тарифа — без зелёной галочки; низ — всё влево */
.состав li.платно::before { background:var(--ink3); -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'><circle cx='12' cy='12' r='7'/></svg>") center/12px no-repeat; }
main:has(#удалить) p.foot { text-align:left !important; margin-top:4px !important; font:var(--f-cap); color:var(--ink3); }
.политика-строка { margin:20px 0 4px; }

/* ——— круг 4: по отзыву круга 3 (docs/design/14) ——— */
/* приветствие: синий → белый прямо фоном — переменная проигрывала стилю приложения */
.привет { background-image:linear-gradient(90deg, #2bb4e6 0%, #e9f7fd 50%, #2bb4e6 100%) !important; }
/* мета без точек: части с отступом, без висячих «·» в начале и конце строки */
.meta.без-точек { display:flex; flex-wrap:wrap; gap:2px 10px; }
.meta.без-точек span { white-space:nowrap; }
.meta.без-точек b, .meta.без-точек span:first-child { color:var(--acc); font-weight:600; }
#лента .card .th.обложкой { background-size:cover !important; background-position:50% 0 !important; }
/* статья: «Что читать дальше» — тот же вид, что карточки ленты */
#связанные .card a { grid-template-columns:96px 1fr !important; gap:14px !important; padding:12px !important; }
#связанные .card a::after { display:none !important; }
#связанные .card .th { width:96px !important; height:96px !important; border-radius:14px !important; background-size:cover !important; background-position:50% 0 !important; }
article#тело table.карточками td:not(:first-child)::before { color:var(--ink2) !important; }
/* «скоро»: главное действие — канал; «К статьям» не нужна (статьи — строками выше, «назад» — сверху) */
.скоро > a.btn { display:none !important; }
.скоро .наши-ссылки a:first-child { background:linear-gradient(180deg, #24a8da, #1588b5); color:#fff; box-shadow:0 10px 24px rgba(0,0,0,.32); }
/* «Сегодня»: первое дело — карточкой с кнопкой внутри, а не третьим повтором отдельной кнопкой */
#первое { display:none !important; }
#пост { margin-top:16px !important; }
.task.первое-дело { padding:14px 16px !important; margin:8px 0 6px; border-radius:var(--r-card); background:var(--s1);
  box-shadow:var(--sh-card), inset 0 0 0 1px color-mix(in srgb, var(--acc) 35%, transparent); border-top:none !important; flex-wrap:wrap; }
.task.первое-дело .начать { display:flex; width:100%; margin-top:12px; height:44px; font-size:15px; text-decoration:none; }
a.goalbar .задать { display:block; margin-top:10px; font:600 14px/1.2 "Onest"; color:var(--acc); }
/* вложенный экран — без поля и без вкладок: поле «Спросить HOOK» — на экранах вкладок */
body.вложенный .панель, body.без-вкладок .панель { display:none !important; }
body.вложенный, body.без-вкладок { padding-bottom:32px !important; }
main:has(.шаги-подкл) { padding-bottom:24px !important; }
/* «План»: даты у дней; прошедшие — без действия; шаг 24 между блоками */
.дни-списком .строка-дня .день { line-height:1.15; }
.дни-списком .строка-дня .день small.дата { color:var(--ink3); font-weight:500; }
.дни-списком .строка-дня.прошло .добавить { display:none; }
.дни-списком .строка-дня.выходной .вид { color:var(--ink3); }
main > a.btn + a.row.line { margin-top:24px !important; }
a.row.line + .дни-списком, a.row.line + #дни { margin-top:24px; }
/* «Цель»: кнопка в одну строку и подпись под ней */
a.задать-цель { justify-content:center; text-align:center; }
.задать-подпись { margin:6px 0 12px; text-align:center; font:var(--f-cap); color:var(--ink2); }
/* «Стиль»: ползунок без капсулы (общий стиль полей ввода); карточки манер без пустого низа */
.оси input[type=range] { background:none !important; box-shadow:none !important; border:0 !important; padding:0 !important; }
.манеры .манера { min-height:0 !important; height:auto !important; padding-bottom:14px !important; }
.кнопки .btn[disabled] { background:var(--fill-3) !important; color:var(--ink3) !important; box-shadow:none !important; }
/* «Кабинет»: «Подключить» — неактивна с причиной; пояснение к удалению — сразу под ним */
.кнопка-тарифа { margin-top:14px; width:100%; }
.кнопка-тарифа + .cap { margin-top:6px; text-align:center; }
main:has(#удалить) p.foot { padding:0 !important; margin:4px 0 0 !important; border:0 !important; }
/* «Проекты»: текущий — карточкой со стрелкой; при лимите — без формы */
.проект.текущий { position:relative; padding:14px 40px 14px 16px; border-radius:var(--r-card); background:var(--s1); box-shadow:var(--sh-card); }
.проект.текущий .шеврон { position:absolute; right:14px; top:50%; transform:translateY(-50%); }
.проект .цифры { display:flex; gap:10px; margin-top:6px; font:var(--f-cap); color:var(--ink2); }
#тариф { margin-bottom:12px; }
.лимит { margin:8px 0 12px; font:var(--f-cap); color:var(--ink2); }
/* «Площадки»: кнопка на всю ширину */
#клиенту { width:100%; }
/* «Вход»: ценность — не серым; согласия — над кнопкой */
.say-t .mid { color:var(--acc) !important; }
.cons { margin:20px 0 16px; }
#способы .btn[disabled] { background:var(--fill-3) !important; color:var(--ink3) !important; box-shadow:none !important; }
.btn[disabled], .pill[disabled] { background:var(--fill-3) !important; color:var(--ink3) !important; box-shadow:none !important; }
.task.первое-дело { flex-wrap:nowrap !important; align-items:flex-start; }
.task.первое-дело > div { flex:1; }
main:has(.наши-ссылки) #каналы { display:none !important; }

/* ——— два состояния «модель включена / выключена» (CTO 10.10, docs/design/15) ———
   body[data-модель="вкл|выкл"] ставит app.js по ответу сервера; куски разметки помечены data-при-модели. */
body[data-модель="выкл"] [data-при-модели="вкл"], body:not([data-модель="выкл"]) [data-при-модели="выкл"] { display:none !important; }

/* ——— круг 5: открытая часть по отзыву круга 4 (docs/design/16) ——— */
/* карточка статьи: рубрика — строкой над заголовком; «инструкция · 4 мин · 6 шагов» — одной неразрывной строкой */
.рубрика { margin:0 0 6px; font:600 12.5px/1.2 "Onest"; letter-spacing:.01em; color:var(--acc); }
.meta.без-точек { display:block !important; }
.meta.без-точек span { white-space:nowrap; color:var(--ink2) !important; font-weight:450 !important; }
/* карточка без обложки — текст на всю ширину, без заглушки-значка */
#лента .card a.без-картинки { grid-template-columns:1fr !important; padding:16px !important; }
#лента .card a.без-картинки::before { display:none !important; }
#связанные .card a:not(:has(.th)) { grid-template-columns:1fr !important; padding:16px !important; }
/* карусель «Из наших постов»: верх обложки (заголовок поста) квадратом — без мелочи снизу; подпись — что это статья к посту */
.cont img { aspect-ratio:1 / 1; object-fit:cover; object-position:50% 0; }
.к-посту { margin:10px 0 2px !important; font:600 12px/1.2 "Onest" !important; color:var(--acc) !important; }
/* таблица карточками: длинные строки переносятся, не режутся */
article#тело table.карточками td { white-space:normal !important; overflow-wrap:anywhere; max-width:none !important; width:auto !important; }
/* Telegram и ВК — одного веса (ВК — основная площадка, Telegram — третья: слово владельца) */
.наши-ссылки a, .наши-ссылки a:first-child { height:48px; background:var(--s2) !important; color:var(--ink) !important;
  box-shadow:inset 0 1px 0 var(--hi), 0 0 0 1px var(--line) !important; }
/* «скоро»: блок выше, к оптическому центру */
.скоро { min-height:calc(100dvh - 56px - 140px) !important; }
/* «скоро»: строка про запуск — прямо над кнопками, которые она объясняет */
.скоро .статьи-строками { order:1; } .скоро .новые { order:2; margin-top:8px; } .скоро .наши-ссылки { order:3; }

/* ——— круг 6: по отзыву круга 5 (docs/design/17) ——— */
/* мета — одной строкой везде (лента и «Что читать дальше»): «·» не попадает ни в начало, ни в конец строки */
.meta.без-точек { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
/* таблица карточками: у группы нет своей рамки и фона — только карточки с промежутком */
article#тело table.карточками { background:none !important; box-shadow:none !important; border-radius:0 !important; border:0 !important; }
/* «скоро»: строка про запуск — обычным текстом 15 pt; блок ниже, к оптическому центру */
.скоро .новые { font:450 15px/1.35 "Onest" !important; color:var(--ink) !important; letter-spacing:0 !important; }
.скоро { min-height:calc(100dvh - 56px - 60px) !important; }

/* ——— круг 7: обложки v3 в миниатюрах ——— */
#связанные .card .th.обложкой, #лента .card .th.обложкой { background-size:cover !important; background-position:50% 0 !important; }
.скоро .статьи-строками span.мини { background:var(--обл) 50% 0 / cover no-repeat, var(--s2) !important; width:52px; height:52px; border-radius:12px; box-shadow:0 0 0 1px var(--line); }
.скоро .статьи-строками a { grid-template-columns:52px 1fr 16px; }

/* ——— круг 8: по отзыву круга 7 (docs/design/18) ——— */
/* маленькая миниатюра — только знак темы (название и так рядом); обложка целиком — в карусели */
#лента .card .th.обложкой, #связанные .card .th.обложкой { background-size:142% !important; background-position:50% 90% !important; }
.скоро .статьи-строками span.мини { background-size:142% auto, auto !important; background-position:50% 90%, 0 0 !important; }
/* «скоро»: подписка — единственное действие; ВК — основная площадка, её кнопка главная */
.скоро .наши-ссылки a:first-child { background:linear-gradient(180deg, #24a8da, #1588b5) !important; color:#fff !important; box-shadow:0 10px 24px rgba(0,0,0,.32) !important; }

/* ——— круг 9: по отзыву круга 8 — одна карточка статьи, знак без лишней рамки, обложка в карусели целиком ——— */
#связанные .card { padding:0 !important; overflow:hidden; }
#связанные .card .th { box-shadow:0 0 0 1px var(--line) !important; }
/* миниатюра — внутренность плитки со знаком: край плитки обложки не виден, рамка одна — у самой миниатюры */
#лента .card .th.обложкой, #связанные .card .th.обложкой { background-size:200% !important; background-position:50% 79% !important; }
.скоро .статьи-строками span.мини { background-size:200% auto, auto !important; background-position:50% 79%, 0 0 !important; box-shadow:0 0 0 1px var(--line) !important; }
/* карусель «Из наших постов»: обложка 4:5 целиком — знак не срезан */
.cont img { aspect-ratio:4 / 5 !important; object-position:50% 50% !important; }
div.итог-ленты p, .скоро .новые { text-wrap:balance; }   /* круг 9: перенос подписки ровный */
