
  :root{
    --wa:#C77DA8; --wa-dark:#6E4A6B; --wa-deep:#8A4E7E; --wa-soft:#F6ECF3;
    /* Тёмный конец градиента линии жизни. В светлой теме — прежний
       лиловый, в тёмной задан свой (7 сентября). */
    --wa-dark2:#9A5C8C;
    --bg:#FFFFFF; --panel:#F7F8FA;
    /* --ink-1 — тот же цвет, что --ink. Он рассыпан по файлу больше сорока
       раз, но объявлен не был: браузер молча подставлял чёрный по умолчанию,
       и это сходило с рук, пока цвет не понадобился ФОНОМ — тёмное облачко
       над «плюсом» вышло белым, а белый текст в нём стал невидимым. */
    --ink:#111B21; --ink-1:#111B21; --ink-2:#667781; --ink-3:#9AA5AC; --line:#E9EDF0;
    --amber:#F0A63C; --amber-soft:#FDF2E2;
    --sleep:#6B7BE0; --food:#E8894A;

    /* ===== ДВИЖЕНИЕ =====

       1 сентября, слово хозяина: «возьми то, что упомянул, и поставь».
       Правило из набора Эмиля Ковальски (Vercel, Linear): ПОЯВЛЕНИЕ —
       ease-out, ИСЧЕЗНОВЕНИЕ — ease-in.

       Почему так, а не наоборот. Появление должно начинаться быстро и
       мягко тормозить у места — тогда вещь читается как приехавшая и
       вставшая. Исчезновение наоборот: тронулось не спеша и ускорилось,
       уходя, — глаз не тянут за уходящим. Браузер по умолчанию ставит
       ease (медленно с обоих концов), и всё выглядит вязким: у нас в
       файле без малого сорок переходов были именно такими.

       --в  — появление (сильный ease-out)
       --из — исчезновение (ease-in)
       --мяг — общий, для мелочей вроде цвета рамки */
    --в:cubic-bezier(.16,1,.3,1);
    --из:cubic-bezier(.4,0,1,1);
    --мяг:cubic-bezier(.4,0,.2,1);

    /* Мягкая тень вместо сплошной рамки — второе правило оттуда же.
       Сплошная линия режет глаз и делает поверхность плоской; тень той же
       силы отделяет мягче и даёт глубину. Держим в переменной, чтобы
       менять в одном месте. */
    --тень-1:0 1px 2px rgba(40,20,35,.06), 0 2px 8px rgba(40,20,35,.05);
    --тень-2:0 4px 14px rgba(40,20,35,.10), 0 1px 3px rgba(40,20,35,.06);
  }

  /* ===== ТЁМНАЯ ТЕМА =====

     16 августа. Раньше она делалась одной строкой: invert(1) hue-rotate(180deg)
     на всю страницу. Это буквально негатив фотоплёнки — так оно и выглядело:
     белое становилось чёрным, розовое ядовито-зелёным, а фотографии людей
     превращались в рентген. Дёшево в работе, дёшево на вид.

     Хуже того, поворот оттенка ломал сами снимки: лица в карусели, аватары,
     нарисованные кадры — всё уходило в чужие цвета, а поправить это было
     нельзя, потому что переворачивалась вся страница целиком.

     Теперь тема сделана как положено — своими цветами. Правила подбора:

       · фон не чёрный, а тёмно-сливовый: чистый чёрный на телефоне режет
         глаз ночью и делает вид дешёвым;
       · розовый пришлось поднять по светлоте — на тёмном фоне прежний
         тонул и читался серым;
       · текст не белый, а чуть тёплый: белое по тёмному «звенит»
         и утомляет через минуту чтения;
       · линии светлее фона, а не темнее: на тёмном разделители работают
         наоборот.

     Снимки при этом не трогаются вовсе — лица остаются лицами. */
  /* ===== ТЁМНАЯ ТЕМА: ТЁПЛАЯ СЕРО-КОРИЧНЕВАЯ ОСНОВА =====

     7 сентября, слово хозяина: «тёмная тема АЙЫЫ напоминает чернила,
     вылившиеся на тетрадь — резкий жгучий запах вперемешку с
     испорченной тетрадью. Скопируй тёмную тему Клода».

     Он про фиолетово-чёрный #17121A с сиреневой примесью во всём:
     в фоне, рамках, полутонах. Такой цвет и правда читается как пятно,
     а не как бумага в темноте.

     Основу беру тёплую серо-коричневую, как у Клода: тот же ход —
     не «чёрный с оттенком», а тёмная бумага. Три ступени вместо двух:
     ящик разговоров темнее полотна, полотно темнее карточек. Текст
     кремовый, не голубоватый: на тёплом фоне холодный белый выглядит
     синим пятном.

     АКЦЕНТ ОСТАВЛЯЮ РОЗОВЫМ. У Клода он оранжевый, но розовый — это
     сам АЙЫЫ: он в светлой теме, в знаке, на слайдах каруселей. Скопировать
     и его значило бы одеть приложение в чужое лицо. Скажешь — поменяю
     одной строкой. */
  html[data-theme="dark"]{
    /* ===== В ТЁМНОЙ ТЕМЕ РОЗОВОГО НЕТ =====

       7 сентября, слово хозяина: «светлая и розовая — это из дома: мама
       кормила нас кёрчэхом со смородиной, и ели мы это утром, в светлое
       время. А тёмное время не до еды. Розовый убрать, а то несерьёзно».

       Довод не про вкус, а про смысл, и он верный: у двух тем разные
       роли. Светлая — дом и утро, там розовый на месте и остаётся
       нетронутым. Тёмная — работа, ей нужен спокойный тёплый акцент.

       19 октября, слово хозяина: «тёмная тема очень похожа на Claude» — перешли на фиолетовую гамму Superepost
       (фон #0D0B14, акцент #7B5CFF). Ниже — прежнее объяснение терракоты, для истории.
       Берём терракотовый, как у Клода: он из той же тёплой семьи, что
       и фон (тон 15 против 60), поэтому не спорит с ним, а лежит рядом.
       Розовый в самих каруселях это не трогает — там цвета рисуются
       в кадре и живут своей жизнью. */
    --wa:#7B5CFF; --wa-dark:#2A2140; --wa-deep:#B79BFF; --wa-dark2:#5A3FD9;
    /* ЕЩЁ НА СТУПЕНЬ ТЕМНЕЕ. 7 сентября, второе слово хозяина: «у тебя
       чернее, я же просил 1в1». Первый заход дал #1A1423 — средний
       серый; у Клода полотно заметно глубже. Опускаем всё на ступень:
       ящик почти чёрный, полотно тёмное, карточки на нём читаются как
       карточки, а не сливаются с фоном. */
    --bg:#0D0B14; --panel:#1A1625;
    --ink:#F3EFF8; --ink-1:#F3EFF8; --ink-2:#C4BCD3; --ink-3:#A79FB8;
    --line:#2A2535;
    --amber:#F0A63C; --amber-soft:#231C31;
  }
  /* Мягкий подсвет: сплошной, а не прозрачный — прозрачный розовый на
     тёмном даёт грязь. На тёплой основе он тоже тёплый. */
  html[data-theme="dark"]{ --wa-soft:#221B33; --ink-3:#A79FB8; }
  /* ПОЛОСА «АЙЫЫ СОБИРАЕТ» НА ТЁМНОМ. 14 сентября, снимок хозяина:
     презентация собиралась, а на экране была пустая тёмная плашка —
     «на тёмном фоне тёмный шрифт».

     Так и есть. У .car-load фон берётся из --wa-soft, и на тёмной теме
     он темнеет (строка выше), а текст стоит на --wa-dark — тёмно-сливовый
     и в тёмной теме не меняется. Тёмное по тёмному. Кружок-вертушка
     светлый, поэтому он один и был виден.

     Тем же местом лечится и надпись «не получилось собрать»: правило
     одно на обе. */
  /* 9 октября, снимок хозяина: «почему в тёмной теме пишет светлой темой?» — розовый текст и розовое кольцо
     вертушки — это светлая тема. В тёмной: светлый тёплый текст, кольцо серое с оранжевым. */
  html[data-theme="dark"] .car-load{ color:#ECE6DE; }
  html[data-theme="dark"] .car-spin{ border-color:#332846; border-top-color:#886AE0; }
  /* Ящик разговоров на ступень темнее полотна — как у Клода: взгляд
     сразу отделяет список от работы. */
  /* Стоит ПОСЛЕ общего списка (строка ~116), иначе тот перебьёт: там
     .chatlist получает --panel вместе с полусотней других карточек. */

  /* Белые карточки прописаны цветом прямо в правилах — их больше сотни,
     переписывать каждую значило бы месяц работы и новые ошибки. Здесь
     подменяем разом: всё, что было белым, становится цветом панели. */
  html[data-theme="dark"] .cmsg-b,
  html[data-theme="dark"] .car-cell,
  html[data-theme="dark"] .fb-box,
  html[data-theme="dark"] .plan-i,
  html[data-theme="dark"] .cl-me,
  html[data-theme="dark"] .fcard,
  html[data-theme="dark"] .lk-c,
  html[data-theme="dark"] .mlb-c,
  html[data-theme="dark"] .ab-note,
  html[data-theme="dark"] .car-anim-b,
  html[data-theme="dark"] .gd-card,
  html[data-theme="dark"] .ab-tell,
  html[data-theme="dark"] .insp-pro,
  html[data-theme="dark"] .cfa-b,
  html[data-theme="dark"] .panel,
  html[data-theme="dark"] .chatlist,
  html[data-theme="dark"] .mld-b,
  /* 23 августа, слово хозяина: всплывающие меню оставались белыми пятнами
     посреди тёмного приложения. Оба выпадают поверх всего, и белый лист
     в темноте бьёт по глазам сильнее любой другой карточки. */
  html[data-theme="dark"] .dots-menu,
  html[data-theme="dark"] .bottom-nav,
  html[data-theme="dark"] .brand-av.has{
    background:var(--panel);
    border-color:var(--line);
    color:var(--ink);
  }
  html[data-theme="dark"] body{background:#0F0B11;}
  html[data-theme="dark"] .pg,
  html[data-theme="dark"] #phone{background:var(--bg);}
  /* Поля ввода: на тёмном белое поле бьёт по глазам сильнее всего. */
  html[data-theme="dark"] input,
  html[data-theme="dark"] textarea,
  html[data-theme="dark"] select{
    background:var(--panel); color:var(--ink); border-color:var(--line);
  }
  html[data-theme="dark"] input::placeholder,
  html[data-theme="dark"] textarea::placeholder{color:var(--ink-3);}

  /* РЯДЫ ВЫБОРА НА ТЁМНОМ. 4 сентября, снимок хозяина: «Саха тыла» и
     «Харана» выбраны, а выглядят выключенными.

     Мой недосмотр. У .seg и .seg3 фон написан цветом прямо — background:#fff,
     а выбранной кнопке дан var(--wa-dark). В тёмной теме --wa-dark стал
     почти чёрным (#2A1A28), и вышло наоборот: невыбранные светятся белым,
     выбранная тонет в фоне. Подмена «всё белое → панель» до этих кнопок
     не дошла: она перечисляет карточки поимённо, а рядов там не было.

     Здесь всё переворачивается обратно: невыбранная — цвет панели,
     выбранная — заметный розовый, на нём тёмные буквы. */
  html[data-theme="dark"] .seg button,
  html[data-theme="dark"] .seg3 button{
    background:var(--panel); color:var(--ink-2); border-color:var(--line);
  }
  html[data-theme="dark"] .seg button.on,
  html[data-theme="dark"] .seg3 button.on{
    background:var(--wa); color:#1A121C; border-color:var(--wa);
  }
  /* Та же беда у одиночных кнопок настроек и у кнопок каруселей. */
  html[data-theme="dark"] .s-key-btn,
  html[data-theme="dark"] .car-btn,
  html[data-theme="dark"] .car-edit{
    background:var(--panel); color:var(--ink); border-color:var(--line);
  }
  html[data-theme="dark"] .car-btn.main{background:var(--wa); color:#1A121C; border-color:var(--wa);}

  /* ===== БУКВЫ НА КНОПКАХ РЯДОВ В ТЁМНОЙ ТЕМЕ =====

     5 сентября, слово хозяина: «может, белый шрифт в тёмной теме
     в кнопках, а то нифига не видно же».

     Так и есть. Общее правило тёмной темы задаёт этим кнопкам фон и
     рамку — и только. Цвет текста у .car-f прописан числом (#5b4a56),
     тёмная тема его не перекрывает, и тёмно-серые буквы остаются на
     тёмном фоне. У выбранной кнопки то же с розовым #8d5b76, у подписи
     ряда — с #9c8f98.

     Это общая болезнь: цвета, записанные числом, а не переменной, тема
     переключить не может. Правлю здесь три места, которые видно на
     экране карусели, а не весь файл: разом переписывать сотню правил
     значит завести десяток новых ошибок. */
  html[data-theme="dark"] .car-f{color:var(--ink-1);}
  /* Выбранная кнопка ряда: тёплая, а не розово-лиловая. Числа стояли
     с 5 сентября, когда тема была фиолетовой (7 сентября). */
  html[data-theme="dark"] .car-f.on{color:#D6CBF5; border-color:var(--wa);
    background:#28223A;}
  html[data-theme="dark"] .car-font-l{color:var(--ink-3);}
  /* Пометка «!» у шрифта без якутских букв: тёмно-красный на тёмном
     не читается. */
  html[data-theme="dark"] .car-f i{color:#8F6FF0;}

  /* ===== ТЁМНАЯ ТЕМА: ВШИТЫЕ ЦВЕТА ===== 4 сентября.

     Хозяин прислал снимок: имя «Власий» почти чёрное на почти чёрном.
     Причина общая, а не в одном месте. По приложению больше двухсот
     правил, где фон написан словом — background:#fff, — и ещё шесть
     десятков, где буквы заданы почти чёрным. Ранняя подмена «белое →
     панель» перечисляла карточки поимённо, их там два десятка, и всё
     остальное осталось белым или нечитаемым.

     Список ниже собран по самой таблице стилей, не руками: каждое
     правило с белым фоном и каждое с почти чёрными буквами. Поэтому он
     полный. Действует только в тёмной теме — светлая не тронута.

     Если где-то белый фон был осмысленным (значок на снимке), это будет
     видно глазом, и такое место надо будет вынести отдельным правилом
     НИЖЕ этого блока. */
  html[data-theme="dark"] #pg-life,
  html[data-theme="dark"] .ab-note,
  html[data-theme="dark"] .ab-tell,
  html[data-theme="dark"] .acc-sheet .acc-b,
  html[data-theme="dark"] .ad-e-again,
  html[data-theme="dark"] .ad-e-bottom,
  html[data-theme="dark"] .ad-e-l input:focus,
  html[data-theme="dark"] .ad-e-l textarea:focus,
  html[data-theme="dark"] .ad-e-w,
  html[data-theme="dark"] .adm-check button,
  html[data-theme="dark"] .ai-row button.undo,
  html[data-theme="dark"] .al-chat,
  html[data-theme="dark"] .al-fin,
  html[data-theme="dark"] .al-next,
  html[data-theme="dark"] .arrow,
  html[data-theme="dark"] .asb,
  html[data-theme="dark"] .avc-sheet .avc-b,
  html[data-theme="dark"] .bfilters .chip,
  html[data-theme="dark"] .bottom-nav,
  html[data-theme="dark"] .brand-av img,
  html[data-theme="dark"] .brand-av.has,
  html[data-theme="dark"] .bs-btn,
  html[data-theme="dark"] .burger i,
  html[data-theme="dark"] .buy-minus,
  html[data-theme="dark"] .buy-plus,
  html[data-theme="dark"] .cam-intent,
  html[data-theme="dark"] .cam-shoot-inner,
  html[data-theme="dark"] .car-anim-b,
  html[data-theme="dark"] .car-arrow,
  html[data-theme="dark"] .car-edit,
  html[data-theme="dark"] .car-f,
  html[data-theme="dark"] .car-fail,
  html[data-theme="dark"] .car-veil-d i,
  html[data-theme="dark"] .car-view-edit button,
  html[data-theme="dark"] .cb-1,
  html[data-theme="dark"] .cb-a,
  html[data-theme="dark"] .cbadge,
  html[data-theme="dark"] .cbox,
  html[data-theme="dark"] .cbox input:focus,
  html[data-theme="dark"] .cbox textarea:focus,
  html[data-theme="dark"] .cfa-b,
  html[data-theme="dark"] .cfa-name,
  html[data-theme="dark"] .cfa-when input,
  html[data-theme="dark"] .chin input,
  html[data-theme="dark"] .chip,
  html[data-theme="dark"] .chk,
  html[data-theme="dark"] .ck2,
  html[data-theme="dark"] .cl-load,
  html[data-theme="dark"] .cl-me,
  html[data-theme="dark"] .cl-menu,
  html[data-theme="dark"] .clm-ev,
  html[data-theme="dark"] .clm-in,
  html[data-theme="dark"] .cmsg-ask button,
  html[data-theme="dark"] .cmsg-paint button.stk-go,
  html[data-theme="dark"] .cmsg-paint button:not(:first-child),
  html[data-theme="dark"] .cofld input:focus,
  html[data-theme="dark"] .cofld select:focus,
  html[data-theme="dark"] .cp,
  html[data-theme="dark"] .crnone button,
  html[data-theme="dark"] .cs-inner,
  html[data-theme="dark"] .cs-share button,
  html[data-theme="dark"] .ct-search input,
  html[data-theme="dark"] .cv-prog-b,
  html[data-theme="dark"] .cv-prog-min,
  html[data-theme="dark"] .cv-prog-stop,
  html[data-theme="dark"] .cvq-i,
  html[data-theme="dark"] .cw,
  html[data-theme="dark"] .dc-btns button,
  html[data-theme="dark"] .dmq,
  html[data-theme="dark"] .dmsg,
  html[data-theme="dark"] .dots-menu,
  html[data-theme="dark"] .drop-hint span,
  html[data-theme="dark"] .dt.on,
  html[data-theme="dark"] .edfree,
  html[data-theme="dark"] .edt,
  html[data-theme="dark"] .ek,
  html[data-theme="dark"] .eprow input,
  html[data-theme="dark"] .ev-prod,
  html[data-theme="dark"] .fb-box,
  html[data-theme="dark"] .fb-send.light,
  html[data-theme="dark"] .fba-i button,
  html[data-theme="dark"] .fcard,
  html[data-theme="dark"] .fld input:focus,
  html[data-theme="dark"] .fld select:focus,
  html[data-theme="dark"] .fld-b,
  html[data-theme="dark"] .fr-card,
  html[data-theme="dark"] .fr-sh-b,
  html[data-theme="dark"] .fsc>svg,
  html[data-theme="dark"] .gd-card,
  html[data-theme="dark"] .geo button.on,
  html[data-theme="dark"] .geoask,
  html[data-theme="dark"] .glist button,
  html[data-theme="dark"] .hact,
  html[data-theme="dark"] .hdot,
  html[data-theme="dark"] .ic-card,
  html[data-theme="dark"] .in-card,
  html[data-theme="dark"] .insp-pro,
  html[data-theme="dark"] .iq-line,
  html[data-theme="dark"] .iq-row .iq-next,
  html[data-theme="dark"] .kl-act,
  html[data-theme="dark"] .klf-x,
  html[data-theme="dark"] .ksx,
  html[data-theme="dark"] .lang-sheet .lang-b,
  html[data-theme="dark"] .lang-sheet .lang-i,
  html[data-theme="dark"] .lc-input,
  html[data-theme="dark"] .lcm-good,
  html[data-theme="dark"] .lfbtn,
  html[data-theme="dark"] .lk-c,
  html[data-theme="dark"] .llpi-act button,
  html[data-theme="dark"] .llpop,
  html[data-theme="dark"] .llz button,
  html[data-theme="dark"] .lsearch:focus,
  html[data-theme="dark"] .mcard2 .b1,
  html[data-theme="dark"] .mchips .chip,
  html[data-theme="dark"] .me-tag,
  html[data-theme="dark"] .mf-ig,
  html[data-theme="dark"] .mf-ws,
  html[data-theme="dark"] .mic-lang,
  html[data-theme="dark"] .mic-note button,
  html[data-theme="dark"] .mk-add,
  html[data-theme="dark"] .mk-way,
  html[data-theme="dark"] .mk-why-r,
  html[data-theme="dark"] .mlb-c,
  html[data-theme="dark"] .mld-b,
  html[data-theme="dark"] .mllay-mv button,
  html[data-theme="dark"] .mlsh-o,
  html[data-theme="dark"] .mset-b1,
  html[data-theme="dark"] .msg .mb,
  html[data-theme="dark"] .mypost-card,
  html[data-theme="dark"] .nobirth button,
  html[data-theme="dark"] .ob,
  html[data-theme="dark"] .ob-fld-b,
  html[data-theme="dark"] .ob-i:focus,
  html[data-theme="dark"] .obsx,
  html[data-theme="dark"] .of-course,
  html[data-theme="dark"] .ordcard,
  html[data-theme="dark"] .own .oi,
  html[data-theme="dark"] .panel,
  html[data-theme="dark"] .pb-way,
  html[data-theme="dark"] .pb1,
  html[data-theme="dark"] .pbar,
  html[data-theme="dark"] .pbbtns,
  html[data-theme="dark"] .pbfld input:focus,
  html[data-theme="dark"] .pbfld textarea:focus,
  html[data-theme="dark"] .pchips .chip,
  html[data-theme="dark"] .pe-b,
  html[data-theme="dark"] .pe-b2,
  html[data-theme="dark"] .pe-car,
  html[data-theme="dark"] .pe-free:focus,
  html[data-theme="dark"] .pe-row,
  html[data-theme="dark"] .pe-sm,
  html[data-theme="dark"] .pe-text input:focus,
  html[data-theme="dark"] .pe-text textarea:focus,
  html[data-theme="dark"] .pe-zoom-c,
  html[data-theme="dark"] .plan-auto,
  html[data-theme="dark"] .plan-btn,
  html[data-theme="dark"] .plan-buy.org,
  html[data-theme="dark"] .plan-pb,
  html[data-theme="dark"] .plan-sheet .plan-b,
  html[data-theme="dark"] .plan-sheet .plan-n i,
  html[data-theme="dark"] .pline,
  html[data-theme="dark"] .pline .arow .ck,
  html[data-theme="dark"] .pm-cats button.on,
  html[data-theme="dark"] .pnav,
  html[data-theme="dark"] .pshare,
  html[data-theme="dark"] .pv-sheet .pv-b,
  html[data-theme="dark"] .qa-in input,
  html[data-theme="dark"] .qa-m,
  html[data-theme="dark"] .rail-arrow,
  html[data-theme="dark"] .rl-price-bar,
  html[data-theme="dark"] .s-key-btn,
  html[data-theme="dark"] .save-sheet .ss-alt,
  html[data-theme="dark"] .save-sheet .ss-b,
  html[data-theme="dark"] .sb1,
  html[data-theme="dark"] .se-card,
  html[data-theme="dark"] .se-in:focus,
  html[data-theme="dark"] .se-poshint button,
  html[data-theme="dark"] .se-sizes button,
  html[data-theme="dark"] .searchres,
  html[data-theme="dark"] .seg button,
  html[data-theme="dark"] .seg3 button,
  html[data-theme="dark"] .self-card.self-ask,
  html[data-theme="dark"] .setchip,
  html[data-theme="dark"] .sh-btn,
  html[data-theme="dark"] .sh-card,
  html[data-theme="dark"] .sheet,
  html[data-theme="dark"] .skcard.done,
  html[data-theme="dark"] .slot .pl,
  html[data-theme="dark"] .soon input:focus,
  html[data-theme="dark"] .st-next,
  html[data-theme="dark"] .st-prev,
  html[data-theme="dark"] .stk-more-b,
  html[data-theme="dark"] .story-seg-fill,
  html[data-theme="dark"] .sw:after,
  html[data-theme="dark"] .tb1,
  html[data-theme="dark"] .tbtn.light,
  html[data-theme="dark"] .td-more,
  html[data-theme="dark"] .tday-g,
  html[data-theme="dark"] .tk-done,
  html[data-theme="dark"] .tok-p,
  html[data-theme="dark"] .transfer,
  html[data-theme="dark"] .two2 input:focus,
  html[data-theme="dark"] .vt-sheet .vt-h1,
  html[data-theme="dark"] .vt-sheet .vt-h2,
  html[data-theme="dark"] .wch input,
  html[data-theme="dark"] .wch-h button,
  html[data-theme="dark"] .wch-row input{
    background:var(--panel); border-color:var(--line);
  }

  /* Ящик разговоров на ступень темнее полотна — как у Клода: взгляд
     сразу отделяет список от работы (7 сентября). */
  html[data-theme="dark"] .chatlist{background:#0C0910;}

  /* Карточка «Төһө бардын» была фиолетовой — последнее розово-лиловое
     пятно в тёмной теме (7 сентября). Тёплая, из той же семьи, что фон
     и акцент. */
  html[data-theme="dark"] .mlnow{
    background:linear-gradient(155deg,#221C33,#2E244A);}

  /* СВОИ СООБЩЕНИЯ: ТЁМНЫЕ БУКВЫ НА РОЗОВОМ. Померено 7 сентября: белый
     на розовом даёт контраст 2,4 при норме 4,5 — свой же вопрос читался
     хуже всего на экране. Розовый оставляем, меняем буквы. */
  html[data-theme="dark"] .cmsg.me .cmsg-b{color:var(--ink);}

  /* Пузырь своего вопроса приглушаем. Сплошная яркая заливка на тёмном
     занимает половину экрана и кричит громче ответа, ради которого
     человек и пришёл. Оставляем розовый, но как подложку: цвет узнаётся,
     а глаз ведёт к ответу. Светлой темы это не касается — там ты сказал,
     что всё в порядке. */
  html[data-theme="dark"] .cmsg.me .cmsg-b{background:#20192B;color:var(--ink);
    border:1px solid #292139;}

  /* ===== ПЛАШКА СООБЩЕНИЙ И ОШИБОК =====

     7 сентября, слово хозяина: «когда ошибки выходят, они ужасно белого
     цвета». Так и есть: плашка красится в --ink, а в тёмной теме это
     почти белый — белые буквы на белом фоне, то есть сообщения об
     ошибке не видно вовсе. Раньше --ink был тёмным, и правило работало.

     В тёмной теме плашка тёмная, буквы светлые, рамка как у карточек. */
  html[data-theme="dark"] .toast{background:#221A2E; color:var(--ink);
    border:1px solid var(--line); box-shadow:0 8px 24px rgba(0,0,0,.45);}

  /* ТА ЖЕ ЛОВУШКА ЕЩЁ В ДВУХ МЕСТАХ. Нашёл сплошным поиском по правилам:
     фон красится в --ink, и в тёмной теме он светлый, а буквы белые.
     Крестик на вложении и кнопки в окнах «скоро», «деньги», «защита». */
  html[data-theme="dark"] .chat-att-x{background:#221B2E; color:var(--ink);}
  html[data-theme="dark"] .soon > button,
  html[data-theme="dark"] .money button,
  html[data-theme="dark"] .guard button{background:var(--wa); color:#181424;}

  /* ===== СТОПКА «СОБРАТЬ» =====

     Кружки и подписи были фиолетово-розовыми числами (#3a2434) — с новой
     тёплой темой они выпадали из общего вида (7 сентября). */
  html[data-theme="dark"] .fab-item button{background:#221B2E;}
  html[data-theme="dark"] .fab-item button:active{background:#2B223B;}
  html[data-theme="dark"] .fab-l{background:rgba(20,20,18,.9); color:var(--ink-1);}

  /* Зелёные кнопки пробовали 7 сентября — не пошли, вернули как было
     в тот же час. Оставляю след, чтобы не заходить сюда второй раз:
     зелёный на тёплом тёмном фоне спорит с терракотовым, и приложение
     разом теряет собранность. */

  /* РОЗОВЫЕ КНОПКИ: ТЁМНЫЕ БУКВЫ. Белым по #D793B6 выходит 2,4 при норме
     4,5 — это все главные кнопки приложения разом: «Новый разговор»,
     «Войти», «Добавить», «Сохранить», «Запомни это». Померено сплошным
     проходом по экрану 7 сентября. */
  html[data-theme="dark"] .cl-new,
  html[data-theme="dark"] #h-login,
  html[data-theme="dark"] .mladd-s,
  html[data-theme="dark"] .ml-meet-b,
  html[data-theme="dark"] #ml-meet-b,
  html[data-theme="dark"] .save,
  html[data-theme="dark"] .lrn-buy,
  html[data-theme="dark"] .fb-send,
  html[data-theme="dark"] .car-btn.main{color:#181424;}
  html[data-theme="dark"] .cmsg.me .cmsg-b a{color:var(--wa-deep);}

  /* Кнопка «Скопировать» была приглушена до .75 — на тёплом фоне это
     4,1. Поднимаем: она нужна часто. */
  html[data-theme="dark"] .cmsg-copy button{opacity:.9;}
  html[data-theme="dark"] .ad-e-again,
  html[data-theme="dark"] .ad-e-l input,
  html[data-theme="dark"] .ad-e-l textarea,
  html[data-theme="dark"] .ad-e-w,
  html[data-theme="dark"] .ad-e-wait b,
  html[data-theme="dark"] .adm-btns button.adm-off,
  html[data-theme="dark"] .agecap,
  html[data-theme="dark"] .authshare .asi b,
  html[data-theme="dark"] .bfoot,
  html[data-theme="dark"] .car-view-edit button,
  html[data-theme="dark"] .care,
  html[data-theme="dark"] .chbanner,
  html[data-theme="dark"] .cmsg-ask button,
  html[data-theme="dark"] .cmsg-paint button:not(:first-child),
  html[data-theme="dark"] .dhead .from,
  html[data-theme="dark"] .dnote.warn,
  html[data-theme="dark"] .lfw,
  html[data-theme="dark"] .note-t,
  html[data-theme="dark"] .pe-b2,
  html[data-theme="dark"] .pe-car,
  html[data-theme="dark"] .pe-free,
  html[data-theme="dark"] .pe-more,
  html[data-theme="dark"] .pe-note.wall,
  html[data-theme="dark"] .pe-sm,
  html[data-theme="dark"] .pe-text input,
  html[data-theme="dark"] .pe-text textarea,
  html[data-theme="dark"] .pe-zoom-c,
  html[data-theme="dark"] .ritual.night button,
  html[data-theme="dark"] .sleeprow,
  html[data-theme="dark"] .tfwarn,
  html[data-theme="dark"] .tok-p span,
  html[data-theme="dark"] .warn{
    color:var(--ink);
  }
  /* Шапки страниц: имя в них наследовало тёмный цвет страницы. */
  html[data-theme="dark"] .pbar,
  html[data-theme="dark"] .pbi b{color:var(--ink);}

  /* Знак АЙЫЫ тёмный по рисунку — на тёмном фоне его не видно.
     Осветляем только его, снимков это не касается. */
  html[data-theme="dark"] .aiyy-mark img,
  html[data-theme="dark"] .aiyy-hero-mark{filter:invert(1) brightness(1.6);}
  /* Montserrat — шрифт крупных чисел и служебных надписей.

     Отсюда убраны .aiyy-logo и .ttl: они теперь набираются Stengazeta,
     а это правило со своим !important перебивало бы её молча — самая
     обидная порода ошибок, когда правка сделана, а на экране ничего
     не меняется. */
  .aiyy-brand, .ob-h, .ob-mark, .cw-hi,
  .mln-v, .life-n, #life-n, .ob-big, .chat-logo, .aiyy-tag,
  .mlnow-in .mln-v, .lifehead .myday b{
    font-family:'Inter', sans-serif !important; letter-spacing:-.01em;
  }

  /* ЯКУТСКИЙ И MONTSERRAT НЕ ДРУЖАТ.

     15 августа. В Montserrat нет ү, ҥ, ө, һ, ҕ — проверено по таблицам
     глифов ещё в июле, потому его и не дают выбирать для карусели на саха.
     Но правило выше набирает им приветствие (.aiyy-tag) и заголовки,
     и с приходом якутской оболочки эти буквы посыпались бы: строка
     «Күнүҥ хайдах ааспытын кэпсээ» половиной знаков ушла бы в подменный
     шрифт, вразнобой по ширине и насыщенности.

     Поэтому на якутском тут Inter — он якутские буквы держит. Признак
     языка ставит langApply() в lang документа. */
  html[lang="sah"] .aiyy-brand,
  html[lang="sah"] .ob-h,
  html[lang="sah"] .ob-mark,
  html[lang="sah"] .cw-hi,
  html[lang="sah"] .ob-big,
  html[lang="sah"] .chat-logo,
  html[lang="sah"] .aiyy-tag,
  html[lang="sah"] .hdr .ttl,
  html[lang="sah"] .rail-h b,
  html[lang="sah"] .cl-head b,
  html[lang="sah"] .fb-h b,
  html[lang="sah"] .mlcap{
    font-family:'Inter', sans-serif !important; letter-spacing:0;
  }
  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
  /* Экран не должен ездить.

     На телефоне страница жила как обычный сайт: адресная строка то пряталась,
     то возвращалась, всё содержимое подпрыгивало, а при оттягивании вниз
     появлялась пружина. Отсюда ощущение, что интерфейс «то сближается,
     то двигается».

     Лечится тремя вещами: страница прибита к окну и сама не прокручивается;
     высота считается в dvh — она учитывает пропадающую адресную строку,
     тогда как 100vh врёт на величину этой строки; и отключена пружина. */
  html,body{margin:0;padding:0;background:#DDE3E7;height:100%;overflow:hidden;
    overscroll-behavior:none;-webkit-text-size-adjust:100%;}
  body{font-family:'Inter',sans-serif;color:var(--ink);display:flex;justify-content:center;
    position:fixed;inset:0;}
  /* 11 октября, снимки хозяина (iPhone и Android, тёмная тема): снизу под полем ввода — светлая полоса. Это фон страницы
     #DDE3E7 (серая рамка вокруг приложения для компьютера), он виден в нижней зоне телефона. На телефоне фон страницы —
     цвет приложения; серая рамка остаётся только на широком экране. */
  @media (max-width:1023px){ html,body{background:var(--bg) !important;} }
  html[data-theme="dark"]{color-scheme:dark;}
  #phone{width:100%;max-width:420px;height:100dvh;max-height:880px;background:var(--bg);
    position:relative;overflow:hidden;display:flex;flex-direction:column;
    overscroll-behavior:contain;}
  /* Старым браузерам без dvh оставляем прежнюю высоту. */
  @supports not (height: 100dvh){ #phone{height:100vh;} }
  /* ВО ВЕСЬ ЭКРАН НА ЛЮБОМ ТЕЛЕФОНЕ. 30 сентября, снимок хозяина: на
     большом айфоне (430 точек в ширину, 932 в высоту) приложение стояло
     узкой коробкой 420×880 с пустыми полями по бокам и снизу. Рамка нужна
     только на компьютере — там своя раскладка с 1024 точек. */
  @media (max-width:1023px){ #phone{max-width:none;max-height:none;} }
  button{font-family:'Inter',sans-serif;cursor:pointer;}
  .tiny{font-size:12px;color:var(--ink-3);}

  .hdr{background:var(--wa-dark);color:#fff;padding:15px 16px 0;flex:0 0 auto;}
  .hdr .top{display:flex;align-items:center;justify-content:space-between;padding-bottom:13px;}
  /* ЗАГОЛОВКИ ЭКРАНОВ — ТЕМ ЖЕ ШРИФТОМ, ЧТО «РАЗГОВОРЫ».

     16 августа. Заголовок в фиолетовой шапке набирался Стенгазетой, а шапка
     бокового меню — Montserrat. Рядом это читалось как два разных
     приложения: Стенгазета плакатная, только прописные, узкая; Montserrat
     мягче и приветливее.

     Плакатный шрифт оставлен там, где он и уместен: знак, надпись АЙЫЫ на
     пустом экране, слайды карусели. Разделам приложения он не нужен —
     они не вывеска, а навигация. */
  .hdr .ttl{font-family:'Inter',sans-serif;font-size:20px;font-weight:800;
    letter-spacing:-.01em;}
  .hdr .ttl small{font-weight:500;font-size:10.5px;opacity:.5;margin-left:6px;}
  .hright{display:flex;align-items:center;gap:4px;}
  /* Кнопка входа рядом с лампой. Единственное цветное пятно в этом ряду:
     остальное — серые значки, поэтому мимо неё не пройдёшь. Экран она не
     загораживает — приложением можно пользоваться, не входя. */
  .aiyy-right{display:flex;align-items:center;gap:8px;}
  .h-login{border:none;border-radius:999px;background:var(--wa);color:#fff;
    font-family:inherit;font-size:12.5px;font-weight:700;padding:8px 15px;cursor:pointer;
    white-space:nowrap;}
  .h-login:active{background:var(--wa-deep);}
  .hsearch{background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.85;}
  .hdots{color:#fff;cursor:pointer;padding:4px 6px;display:flex;align-items:center;opacity:.85;}
  .dots-menu{position:absolute;top:52px;right:8px;background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.18);z-index:100;min-width:220px;overflow:hidden;}
  .dm-item{padding:13px 18px;font-size:14.5px;color:var(--ink);cursor:pointer;display:flex;align-items:center;gap:10px;}
  .dm-item:active{background:var(--panel);}
  .dm-sep{height:1px;background:var(--line);margin:2px 0;}
  /* НИЖНЯЯ НАВИГАЦИЯ */
  .bottom-nav{position:absolute;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;z-index:35;padding-bottom:env(safe-area-inset-bottom,0);}
  .bnav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0 8px;background:none;border:none;cursor:pointer;font-family:'Inter',sans-serif;}
  .bnav-item span:last-child{font-size:10.5px;font-weight:600;color:var(--ink-3);}
  .bnav-icon{width:24px;height:24px;color:var(--ink-3);display:block;}
  .bnav-item.on .bnav-icon{color:var(--wa);}
  .bnav-item.on span:last-child{color:var(--wa);}
  /* AIYY — perplexity-стиль */
  #pg-chat{padding-bottom:0 !important;}
  #pg-chat.on{display:flex !important;flex-direction:column;position:absolute;inset:0;background:var(--bg);z-index:20;}
  .aiyy-top{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;
    padding:14px 12px 12px;padding-top:calc(14px + env(safe-area-inset-top,0));}
  .aiyy-tab{display:flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);
    border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--ink-2);
    font-family:'Inter',sans-serif;cursor:pointer;}
  .aiyy-tab:active{background:var(--line);}
  .aiyy-brand{font-size:15px;font-weight:800;letter-spacing:.08em;color:var(--ink-3);}
  /* Кнопка «Дневник» убрана 15 августа: разговоры переехали в боковое меню
     слева, как заведено везде. Правило само по себе верное — соседи стоят
     значками, а разговоры требовали слова, — но слово теперь стоит внутри
     меню, над списком, где от него больше толку.

     Сам класс .diary оставлен: на него ссылаются сохранённые сборки
     оболочки, а весит он три строки. */
  .aiyy-tab.diary{gap:7px;padding:8px 15px;color:var(--wa-deep);
    background:var(--wa-soft);border-color:#EBD9E6;font-weight:700;}
  .aiyy-tab.diary:active{background:#EFDFEC;}
  .aiyy-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;padding:0 16px;-webkit-overflow-scrolling:touch;}
  .aiyy-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 0;}
  /* Заголовок пустого экрана набран Stengazeta — тем же шрифтом, что и знак
     приложения. Так надпись и значок одной породы.

     Рисованный знак пробовали 14 августа и отвергли: буквы вышли кривыми.
     Montserrat перед этим тоже стоял здесь, но у Stengazeta кириллица
     нарисована как своя, а не переделана из латиницы, и в ней есть все
     якутские буквы.

     Разрядка положительная: у Stengazeta узкие просветы, и без неё
     «АЙЫЫ» слипается в частокол. */
  .aiyy-logo{font-family:'Stengazeta','Inter',sans-serif;font-size:52px;font-weight:400;
    letter-spacing:.02em;color:var(--ink-1);opacity:.92;}
  /* Подпись под знаком: объясняет, что дерево нажимается. Мелко и
     бледно — она подсказка, а не обещание, и не должна спорить с
     главной строкой над ней. */
  .aiyy-roots{margin-top:14px;font-size:11.5px;color:var(--ink-3);cursor:pointer;
    text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line);}

  .aiyy-tag{font-size:14px;color:var(--ink-3);margin-top:10px;line-height:1.5;max-width:290px;}
  /* Первая строка — та, что запоминают и повторяют: крупнее, темнее,
     плотнее по буквам. Вторая поясняет и потому отступает. */
  .aiyy-tag-1{display:block;font-size:17px;font-weight:700;color:var(--ink-2);
    letter-spacing:-.01em;line-height:1.3;margin-bottom:5px;}
  .aiyy-tag-2{display:block;font-size:13.5px;color:var(--ink-3);line-height:1.45;}
  /* Ряд языка под деревом (2 сентября). Цвет подписи, без рамок и фона —
     он подсказка, а не кнопка; выбранный язык подчёркнут, как .aiyy-roots.
     Класс .aiyy-lang проверен по разметке: index.html, блок .aiyy-hero. */
  .aiyy-lang{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:2px;
    font-size:12.5px;color:var(--ink-3);}
  .aiyy-lang button{background:none;border:none;padding:6px 7px;margin:0;font:inherit;
    font-size:12.5px;color:var(--ink-3);cursor:pointer;border-radius:8px;}
  .aiyy-lang button.on{color:var(--ink-2);font-weight:700;
    text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line);}
  .aiyy-lang i{font-style:normal;opacity:.55;}
  /* «Что ты умеешь?» под деревом (3 сентября): тихая пилюля в цвет
     подписи, не спорит с деревом и рядом языка. */
  .aiyy-what{display:block;margin:14px auto 0;padding:8px 16px;border:1px solid var(--line);
    border-radius:999px;background:var(--bg);font:inherit;font-size:13px;color:var(--ink-2);cursor:pointer;}
  .aiyy-what:active{background:var(--bg-2);}
  .aiyy-tips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;padding:0 24px;}
  .aiyy-tips .aiyy-what{margin:0;}

  /* Ряд времени и значков стоит ПОД пузырём, а не сбоку от него.
     8 сентября: пузырь и ряд лежали в одной flex-строке, и значки
     повисали справа от сообщения, посередине его высоты. Перенос
     строки плюс полная ширина ряда ставят их на строку ниже,
     прижатыми к тому же краю, что и сам пузырь. */
  .cmsg{display:flex;flex-wrap:wrap;margin-bottom:14px;width:100%;}
  .cmsg.me{justify-content:flex-end;}
  /* Длинные ссылки не должны рвать пузырь.

     Адрес вроде ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B4... — это одно
     «слово» без пробелов длиной в двести знаков. Браузер честно пытался
     уместить его целиком и раздвигал пузырь за край экрана.

     overflow-wrap разрешает переносить внутри такого слова, min-width:0
     нужен, потому что пузырь лежит во flex-строке: без него он отказывается
     сжиматься ниже своего содержимого, и перенос не спасает. */
  .cmsg-b{max-width:82%;min-width:0;padding:11px 14px;border-radius:16px;
    font-size:14.5px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word;}
  .cmsg-b a{overflow-wrap:anywhere;}
  .cmsg.me .cmsg-b{background:var(--wa);color:#fff;border-bottom-right-radius:5px;}
  .cmsg.ai .cmsg-b{background:var(--panel);color:var(--ink-1);border-bottom-left-radius:5px;border:1px solid var(--line);}
  /* Разметка внутри пузыря: жирный чуть плотнее обычного, моноширинный —
     тонкой плашкой, чтобы не спорил с округлым пузырём. */
  .cmsg-b b{font-weight:700;}
  /* Пункт перечня в пузыре. Точка стоит в поле слева, текст с отступом —
     тогда вторая строка пункта не подлезает под точку, а список читается
     столбиком. Отступ сверху заменяет пустую строку: в узком пузыре она
     съедала бы пол-экрана. */
  .cmsg-b .md-li{display:block;position:relative;padding-left:16px;margin-top:7px;}
  .cmsg-b .md-li::before{content:'•';position:absolute;left:2px;top:0;
    color:var(--wa);font-weight:700;}
  .cmsg-b .md-li:first-child{margin-top:0;}
  /* Заголовок разделом: своей строкой, с воздухом сверху. Кегль тот же —
     в узком пузыре разница в размерах только мешает (11 сентября). */
  .cmsg-b .md-h{display:block;margin:12px 0 2px;font-weight:700;}
  .cmsg-b .md-h:first-child{margin-top:0;}
  /* Кнопки «собрать сторис по готовым сценариям» — под ответом АЙЫЫ.
     11 сентября. Число кадров мелкой цифрой справа. */
  .cmsg-scen{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
  .cmsg-scen-b{padding:8px 12px;border-radius:10px;font-size:12.5px;
    font-weight:700;line-height:1.25;cursor:pointer;white-space:nowrap;
    border:1.5px solid var(--wa);background:var(--wa-soft);color:var(--wa-deep);}
  .cmsg-scen-b i{font-style:normal;font-weight:600;opacity:.65;margin-left:4px;}
  /* Карусель с другого устройства: только текст экранов. 11 сентября. */
  .car-lite{display:flex;flex-direction:column;gap:8px;padding:2px 0 0;}
  .car-lite-s{position:relative;padding:8px 10px 8px 30px;border-radius:10px;
    background:var(--card);border:1px solid var(--line);}
  .car-lite-s b{position:absolute;left:8px;top:8px;font-size:11px;font-weight:700;
    color:var(--wa-deep);opacity:.8;}
  .car-lite-s u{display:block;text-decoration:none;font-weight:700;font-size:13.5px;
    line-height:1.3;}
  .car-lite-s span{display:block;font-size:12.5px;line-height:1.4;color:var(--ink-2);
    margin-top:3px;}
  .car-lite-n{font-size:11.5px;color:var(--ink-3);margin-top:2px;}
  /* Волна по строкам субтитров: видно, что время переставлено по звуку.
     11 сентября. */
  @keyframes subFlash{
    0%{background:transparent;}
    30%{background:var(--wa-soft);}
    100%{background:transparent;}
  }
  .sub-row{border-radius:10px;}
  .sub-row.sub-flash{animation:subFlash .7s ease-out;}
  .cmsg-b i{font-style:italic;}
  .cmsg-b code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;
    background:rgba(0,0,0,.06);border-radius:5px;padding:1px 5px;}
  .cmsg.me .cmsg-b code{background:rgba(255,255,255,.22);}
  .cmsg-b img{max-width:100%;border-radius:10px;margin-bottom:6px;display:block;}
  .cmsg-typing{display:flex;gap:4px;padding:4px;}
  /* Курсор в конце пузыря, пока ответ идёт потоком (3 сентября). */
  .cmsg-cursor{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;
    background:currentColor;opacity:.6;animation:cmsgCur 1s steps(2,start) infinite;}
  @keyframes cmsgCur{to{opacity:0}}
  .cmsg-typing span{width:7px;height:7px;border-radius:50%;background:var(--ink-3);animation:ctp 1.2s infinite;}
  .cmsg-typing span:nth-child(2){animation-delay:.2s;}
  .sh-apps{display:flex;gap:7px;margin-top:12px;}
  .sh-app{flex:1;text-align:center;border:1px solid var(--line);border-radius:11px;padding:10px 6px;
    font-size:12.5px;font-weight:700;color:var(--wa-deep);text-decoration:none;background:var(--wa-soft);}
  .sh-app:active{opacity:.8;}
  /* ===== ЗНАКОМСТВО ===== */
  .ob-sex{display:flex;gap:8px;margin-bottom:14px;}
  .obsx{flex:1;border:1px solid var(--line);background:#fff;color:var(--ink-2);border-radius:12px;
    height:46px;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .obsx.on{background:var(--wa-soft);border-color:var(--wa);color:var(--wa-deep);}
  .ob-hi{font-size:13px;color:var(--ink-3);margin-bottom:6px;font-weight:600;}
  .ob-bar{height:5px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:11px;}
  .ob-bar-f{height:100%;background:var(--wa);border-radius:99px;}
  .ob-echo-x{margin-top:11px !important;padding-top:11px;border-top:1px solid var(--line);
    font-size:12.5px !important;color:var(--ink-3) !important;}
  .ob-sign{font-size:13.5px;line-height:1.6;color:var(--ink-2);margin-top:16px;font-weight:600;}
  /* ===== РЕДАКТОР СЛАЙДА ===== */
  .car-cell{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;}
  .car-edit{border:1px solid var(--line);background:#fff;color:var(--ink-2);border-radius:9px;
    padding:6px 8px;font-size:11.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;width:152px;}
  .car-edit:active{background:var(--wa-soft);color:var(--wa-deep);}
  .se-prev.movable{cursor:grab;touch-action:none;}
  .se-prev.movable:active{cursor:grabbing;}
  .se-poshint{display:flex;align-items:center;gap:9px;margin:-6px 0 14px;padding:9px 11px;
    background:var(--wa-soft);border:1px solid #EBD9E6;border-radius:11px;}
  .se-poshint span{flex:1;font-size:11.5px;line-height:1.4;color:var(--wa-dark);}
  .se-poshint button{flex:0 0 auto;border:1px solid #E3C9DC;background:#fff;color:var(--wa-deep);
    border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:700;cursor:pointer;
    font-family:'Inter',sans-serif;}
  .slide-edit{position:absolute;inset:0;background:rgba(30,16,28,.55);z-index:150;
    display:none;align-items:center;justify-content:center;padding:16px;}
  .slide-edit.on{display:flex;}
  .se-card{background:#fff;border-radius:18px;padding:20px 18px;width:100%;max-width:340px;
    max-height:90%;overflow-y:auto;position:relative;animation:shIn .24s cubic-bezier(.22,1,.36,1) both;}
  .se-step{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    color:var(--wa);margin-bottom:11px;}
  .se-prev{width:100%;border-radius:12px;display:block;margin-bottom:14px;border:1px solid var(--line);}
  .se-lab{display:block;font-size:11.5px;font-weight:700;color:var(--ink-2);margin:0 0 5px;}
  .se-lab span{font-weight:400;color:var(--ink-3);}
  .se-in{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-size:13.5px;
    font-family:'Inter',sans-serif;margin-bottom:12px;background:var(--panel);resize:vertical;line-height:1.45;}
  .se-in:focus{outline:none;border-color:var(--wa);background:#fff;}
  .ai-row{display:flex;gap:6px;flex-wrap:wrap;margin:-6px 0 14px;}
  .ai-row button{border:1px solid #E3C9DC;background:var(--wa-soft);color:var(--wa-deep);
    border-radius:9px;padding:6px 11px;font-size:11.5px;font-weight:700;cursor:pointer;
    font-family:'Inter',sans-serif;}
  .ai-row button:active{opacity:.75;}
  .ai-row button[disabled]{opacity:.45;cursor:default;}
  .ai-row button.undo{background:#fff;border-color:var(--line);color:var(--ink-3);
    padding:6px 10px;font-size:13px;}
  .se-in.thinking{opacity:.55;}
  .se-row{display:flex;gap:8px;}
  .se-row .sh-btn{margin-top:0;}
  .sh-btn.del{color:#B4404A;border-color:#F0D5D8;}
  /* ===== ПОДЕЛИТЬСЯ / ПРИНЯТЬ ЛИНИЮ ===== */
  .sharebox, .incoming{position:absolute;inset:0;background:rgba(30,16,28,.55);z-index:150;
    display:none;align-items:center;justify-content:center;padding:18px;}
  .sharebox.on, .incoming.on{display:flex;}
  .sh-card, .in-card{background:#fff;border-radius:18px;padding:20px 18px;width:100%;max-width:340px;
    max-height:88%;overflow-y:auto;position:relative;animation:shIn .24s cubic-bezier(.22,1,.36,1) both;}
  @keyframes shIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
  .sh-x{position:absolute;top:12px;right:12px;border:none;background:var(--panel);width:28px;height:28px;
    border-radius:50%;color:var(--ink-2);font-size:13px;cursor:pointer;}
  .sh-step, .in-step{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    color:var(--wa);margin-bottom:7px;}
  .in-step b{color:var(--wa-deep);}
  .sh-card h3, .in-card h2{font-family:'Inter',sans-serif;font-weight:800;margin:0 0 5px;
    letter-spacing:-.01em;line-height:1.2;}
  .sh-card h3{font-size:20px;} .in-card h2{font-size:24px;}
  .sh-card p, .in-card p{font-size:13px;color:var(--ink-2);margin:0 0 14px;line-height:1.5;}
  .sh-link{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-size:11px;
    font-family:monospace;color:var(--ink-2);background:var(--panel);resize:none;word-break:break-all;}
  .sh-size{display:block;font-size:11px;color:var(--ink-3);margin:6px 0 12px;}
  .sh-note, .in-note{font-size:12.5px;color:var(--ink-3);line-height:1.55;margin:0 0 14px;}
  .sh-btn{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink-2);border-radius:12px;
    height:44px;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;margin-top:8px;}
  .sh-btn.main{background:var(--wa);border-color:var(--wa);color:#fff;}
  .sh-btn:active{opacity:.85;}
  .in-list{max-height:220px;overflow-y:auto;margin-bottom:14px;}
  .in-ev{display:flex;gap:11px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.4;}
  .in-ev:last-child{border-bottom:none;}
  .in-ev span{flex:0 0 52px;color:var(--ink-3);font-size:11.5px;padding-top:2px;}
  .in-ev b{font-weight:600;}
  .in-empty{font-size:13px;color:var(--ink-3);padding:10px 0;}
  /* ===== ИСТОРИЯ РАЗГОВОРОВ ===== */
  /* РАЗГОВОРЫ — БОКОВЫМ ЯЩИКОМ.

     Был экран во весь размер, открывался кнопкой посередине шапки. Теперь
     выезжает слева от левой кнопки: сторона нажатия и сторона появления
     совпадают, иначе человек не понимает, что откуда взялось.

     Затемнение позади нужно, чтобы ящик читался как временный: полный экран
     без него выглядит переходом, из которого не ясно, как вернуться. */
  .cl-shade{position:absolute;inset:0;z-index:128;background:rgba(30,16,28,.34);
    opacity:0;pointer-events:none;transition:opacity .24s var(--в);}
  .cl-shade.on{opacity:1;pointer-events:auto;}
  .chatlist{position:absolute;top:0;bottom:0;left:0;width:86%;max-width:340px;
    background:var(--bg);z-index:130;display:flex;flex-direction:column;
    transform:translateX(-102%);transition:transform .28s cubic-bezier(.32,.72,0,1);
    box-shadow:6px 0 30px rgba(0,0,0,.18);}
  .chatlist.on{transform:none;}

  /* ПРОФИЛЬ ВНИЗУ ЯЩИКА. Прижат к низу, отделён чертой: это не ещё один
     разговор в списке, а выход в другое место. */
  .cl-me{margin-top:auto;flex:0 0 auto;display:flex;align-items:center;gap:11px;
    padding:13px 16px;border:none;border-top:1px solid var(--line);
    background:#fff;color:var(--ink);cursor:pointer;text-align:left;width:100%;}
  .cl-me:active{background:var(--wa-soft);}
  .cl-me-av{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--wa-soft);
    color:var(--wa-deep);display:flex;align-items:center;justify-content:center;
    font-size:15px;font-weight:800;overflow:hidden;}
  .cl-me-av img{width:100%;height:100%;object-fit:cover;display:block;}
  .cl-me-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
  .cl-me-t b{font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .cl-me-t i{font-style:normal;font-size:11.5px;color:var(--ink-3);
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .cl-me svg{flex:0 0 auto;color:var(--ink-3);}

  /* ВЫВЕСКА ПОСЕРЕДИНЕ ШАПКИ. Не кнопка: имя приложения ничего не делает,
     и делать вид, что делает, — обманывать нажатием. */
  /* ВЫВЕСКА ПОСЕРЕДИНЕ — ЗНАК, а не слово. Дерево с корнями-дорожками
     платы: живая память, растущая на цифре. Не кнопка намеренно.

     Высоту задаём жёстко: знак — картинка, и до её разбора шапка иначе
     дёрнулась бы, как это было с кадрами карусели. */
  /* Название разговора посередине шапки. Одна строка с многоточием: имена
     складываются из первых слов человека и бывают длинными, а переносить
     шапку на две строки нельзя — она и так съедает высоту у разговора. */
  .aiyy-mark{flex:1;min-width:0;border:none;background:none;padding:0 8px;
    font-family:'Inter',sans-serif;font-size:14px;font-weight:700;color:var(--ink);
    text-align:center;cursor:pointer;overflow:hidden;text-overflow:ellipsis;
    white-space:nowrap;}
  .aiyy-mark:active{opacity:.6;}

  /* Возврат из профиля к разговорам. Стоит в фиолетовой шапке панели,
     слева от имени, как всякая кнопка «назад». */
  /* Крестик мельче стрелки по рисунку — поднимаем кегль, иначе он выглядит
     как точка в кружке (1 сентября). */
  .p-back{border:none;background:rgba(255,255,255,.16);color:#fff;width:32px;height:32px;
    border-radius:50%;font-size:15px;line-height:1;cursor:pointer;margin-bottom:10px;
    display:flex;align-items:center;justify-content:center;}
  .p-back:active{background:rgba(255,255,255,.28);}

  /* Знак над приветствием. Уходит вместе со всем приветствием, как только
     человек напишет первое слово, — этим занимается сам блок .aiyy-hero. */
  /* Знак над приглашением. Стал крупнее, когда из-под него убрали слово
     АЙЫЫ: теперь он один держит верх пустого экрана. Отступ снизу больше
     прежнего — строка приглашения должна читаться отдельно от знака,
     а не прилипать к корням. */
  .aiyy-hero-mark{width:104px;height:104px;object-fit:contain;margin:0 auto 20px;
    display:block;opacity:.92;}

  /* Ряд правки под кадром. Правило «две кнопки поровну» писалось под пару
     «Добавить фото» / «Добавить видео» — её слили в одну кнопку ещё 20
     августа. С тех пор здесь стоят «Заменить» и «Ылар», разные по весу, а
     растяжка на всю ширину осталась и разносила их к самым краям: ряд
     выглядел не серединой, а двумя плитами. 14 сентября, слово хозяина.
     Теперь кнопки по своему тексту, а середину держит justify-content
     ряда. */
  .car-view-edit button{flex:0 1 auto;min-width:0;}
  .cl-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 16px 12px;}
  .cl-head b{font-family:'Inter',sans-serif;font-size:21px;font-weight:800;display:block;letter-spacing:-.01em;}
  .cl-head span{font-size:12.5px;color:var(--ink-3);display:block;margin-top:3px;}
  .cl-fold{display:none;}
  .cl-x{border:none;background:var(--panel);width:32px;height:32px;border-radius:50%;
    color:var(--ink-2);font-size:14px;cursor:pointer;flex:0 0 auto;}
  .cl-new{margin:0 16px 14px;background:var(--wa);border:none;color:#fff;border-radius:12px;
    height:44px;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .cl-new:active{opacity:.85;}
  .cl-items{flex:1;overflow-y:auto;padding:0 16px 24px;}
  /* РАЗГОВОР — ОДНОЙ СТРОКОЙ.

     Были плитки в пять строк с рамкой и тремя кнопками: на экран влезало
     четыре разговора. Теперь строка — влезает пятнадцать, и список читается
     сверху вниз одним взглядом, как ему и полагается.

     Рамок нет, разделителей нет: в коротком списке они только рябят.
     Нынешний разговор отмечен заливкой — этого достаточно. */
  .cl-i{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:2px;
    border-radius:10px;cursor:pointer;}
  .cl-i.on{background:var(--wa-soft);}
  .cl-i:active{background:var(--line);}
  .cl-i-n{flex:1;min-width:0;font-size:13.5px;font-weight:600;line-height:1.35;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .cl-i.on .cl-i-n{color:var(--wa-deep);font-weight:700;}
  .cl-when{font-size:11px;color:var(--ink-3);flex:0 0 auto;}

  /* «⋯» — редкие действия. Видна всегда, а не по наведению: на телефоне
     наведения нет, и спрятанная за него кнопка не существует вовсе. */
  .cl-i-more{flex:0 0 auto;border:none;background:none;color:var(--ink-3);
    width:26px;height:26px;border-radius:8px;font-size:15px;line-height:1;cursor:pointer;}
  .cl-i-more:active{background:var(--line);color:var(--ink);}
  .cl-menu{position:absolute;z-index:160;background:#fff;border:1px solid var(--line);
    border-radius:12px;padding:5px;box-shadow:0 10px 30px rgba(0,0,0,.16);
    display:flex;flex-direction:column;min-width:158px;}
  .cl-menu button{border:none;background:none;text-align:left;padding:10px 11px;
    border-radius:8px;font-size:13px;font-weight:600;color:var(--ink);
    font-family:'Inter',sans-serif;cursor:pointer;}
  .cl-menu button:active{background:var(--wa-soft);}
  .cl-menu button.del{color:#B4404A;}
  .cl-empty{text-align:center;color:var(--ink-3);font-size:13.5px;line-height:1.6;padding:40px 20px;}
  .aiyy-brand{cursor:pointer;}
  .makecar{margin:0 2px 8px;}
  .makecar button{width:100%;border:none;background:var(--wa);color:#fff;border-radius:12px;
    height:44px;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;
    display:flex;align-items:center;justify-content:center;gap:8px;
    box-shadow:0 3px 12px rgba(199,125,168,.28);}
  .makecar button span{font-size:13px;}
  .makecar button:active{opacity:.85;}
  /* ===== СОБЫТИЕ ЗАПИСАНО В ЛИНИЮ ===== */
  .ev-added{margin-top:11px;padding:11px 12px;background:var(--wa-soft);border:1px solid #EBD9E6;border-radius:12px;}
  .ev-added b{display:block;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
    color:var(--wa-deep);margin-bottom:7px;}
  .ev-added b.upd{color:#B45309;margin-top:9px;}
  .ev-added.kin{background:#F3EEF7;border-color:#E0D2EA;}
  .ev-added b.new{color:#6E4A6B;}
  .ev-added b.nm{display:inline;font-size:13px;text-transform:none;letter-spacing:0;color:var(--ink);margin:0;}
  .ev-added span{display:block;font-size:13px;line-height:1.5;color:var(--ink);margin-bottom:3px;}
  .ev-added button{margin-top:7px;background:none;border:none;color:var(--wa-deep);font-size:12.5px;
    font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;padding:0;}
  /* при добавлении ребёнка поле даты смерти не показываем */
  #kinform[data-kids="1"] .kin-death-lab,
  #kinform[data-kids="1"] #kin-died{display:none;}
  .cmsg-typing span:nth-child(3){animation-delay:.4s;}
  /* ===== КАРУСЕЛЬ ДЛЯ INSTAGRAM ===== */
  .car-wrap{width:100%;margin-bottom:14px;}
  .car-head{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;
    color:var(--wa-deep);letter-spacing:.04em;text-transform:uppercase;margin-bottom:9px;}
  /* ЛЕНТА СЛАЙДОВ ЕЗДИТ ТОЛЬКО ВБОК.

     15 августа, вечер. На телефоне карусель «уезжала вверх и пропадала».
     Причина не в ленте, а в том, как браузер понимает косой смах: палец
     редко идёт строго вбок, и без явного указания браузер считает движение
     вертикальным. Он прокручивает весь разговор, а лента остаётся на месте —
     человек видит, как карусель уходит вверх, хотя листал вправо.

     touch-action:pan-x говорит прямо: на этом месте бывает только движение
     вбок. Вертикальную часть смаха браузер отбрасывает, и лента слушается
     с первого раза.

     overscroll-behavior-x:contain — про край: долистал до последнего слайда
     и тянешь дальше, а браузер начинает уводить страницу назад по истории.
     Здесь этого быть не должно.

     Прилипание сменил с mandatory на proximity: жёсткое иногда доводит
     слайд до края само, и палец будто отбирают. */
  .car-track{display:flex;gap:9px;overflow-x:auto;padding-bottom:6px;
    /* pan-x pan-y (31 августа, слово хозяина): лента занимает пол-экрана,
       и вертикальный смах по ней должен листать РАЗГОВОР, а не умирать.
       Горизонталь по-прежнему листает слайды — браузер выбирает ось по
       первому движению пальца. */
    scroll-snap-type:x proximity;touch-action:pan-x pan-y;overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;scroll-behavior:smooth;cursor:grab;scrollbar-width:none;}
  .car-track.drag{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none;}
  .car-track::-webkit-scrollbar{display:none;}
  .car-slide{flex:0 0 auto;width:152px;scroll-snap-align:start;border-radius:13px;overflow:hidden;
    border:1px solid var(--line);background:var(--panel);box-shadow:0 3px 14px rgba(110,74,107,.10);
    cursor:zoom-in;position:relative;}
  /* ВЫСОТА КАДРА ЗАДАНА ЗАРАНЕЕ.

     15 августа. Смена шрифта (а также стиля, языка, числа экранов) роняла
     разговор в самый низ. Виноват был не переход вниз — его мы давно
     стережём, — а вот эта строка: у картинки задана только ширина.

     Слайды приходят как data:-адреса, и браузер узнаёт их размер не сразу,
     а после разбора. В эти доли секунды ряд слайдов имеет нулевую высоту,
     весь разговор становится короче экрана, и сохранённая высота прокрутки
     уже не помещается — браузер прижимает её к концу. Человек видел прыжок
     вниз и думал, что виноват шрифт.

     Соотношение сторон известно заранее: 4:5 для публикации, 9:16 для
     истории. Место под кадр держится до разбора, и прокрутке некуда падать. */
  .car-slide img{width:100%;display:block;margin:0;border-radius:0;pointer-events:none;
    aspect-ratio:4/5;object-fit:cover;background:var(--wa-soft);}
  .car-track.car-9x16 .car-slide img{aspect-ratio:9/16;}
  /* Презентация 16:9 (3 сентября): миниатюры шире, чем выше, и ряд из них
     занимает по два экрана в кадре, иначе слайд превращается в щель. */
  .car-track.car-16x9 .car-slide img{aspect-ratio:16/9;}
  /* 4 сентября, вторая правка. Первый раз я расширил ДО 260 только сам
     слайд, а его ячейку (.car-cell, 152) и кнопку «Уларыт» (.car-edit, 152)
     оставил прежними: слайд вылезал из своей ячейки на сто точек и наезжал
     на соседнюю карточку, закрывая ей левую половину. Ровно то, что хозяин
     назвал «уродски». Ширина задаётся всем троим разом. */
  .car-track.car-16x9 .car-cell{width:260px;}
  .car-track.car-16x9 .car-slide{width:260px;min-width:260px;}
  .car-track.car-16x9 .car-edit{width:260px;}
  /* КОНЦОВКА У ПРЕЗЕНТАЦИИ. 4 сентября, слово хозяина: «смотрится уродски».
     Раньше карточке задавалась только ширина, а высоту она брала от соседней
     плитки — вместе с рядом кнопки «Уларыт» под ней. Выходил широкий низкий
     прямоугольник, в котором большой ✦ и длинная надпись расползались по
     краям.

     Теперь карточка — того же вида, что и слайд рядом: 16:9 и по верхнему
     краю, а не растянута на всю колонку. Знак меньше, надпись переносится
     по словам и не вылезает за края. */
     Ширину карточке НЕ раздуваем до слайда: широкая и низкая, она наполовину
     срезается правым краем ленты, и человек видит обрубок — ровно то, на что
     хозяин показал. Оставляем узкой (как у карусели), но по высоте равняем на
     соседний слайд и ставим по верхнему краю: получается опрятная плитка
     «дописать» рядом с широкими слайдами. */
  .car-track.car-16x9 .car-add-cell{align-self:flex-start;}
  .car-track.car-16x9 .car-add{height:146px;flex:0 0 auto;padding:12px 16px;gap:6px;}
  .car-track.car-16x9 .car-add-p{font-size:26px;}
  .car-track.car-16x9 .car-add-t{font-size:12px;max-width:100%;}
  .car-slide b{position:absolute;top:7px;left:7px;background:rgba(52,28,48,.62);color:#fff;
    font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:99px;letter-spacing:.03em;}
  .car-slide{transition:transform .14s var(--в),opacity .14s var(--в);}
  .car-slide.dragging{opacity:.4;transform:scale(.95);}
  .car-slide.over{transform:translateY(-5px);box-shadow:0 0 0 2px var(--wa), 0 6px 18px rgba(110,74,107,.22);}
  .car-vid{position:absolute;top:7px;right:7px;background:rgba(52,28,48,.78);color:#fff;
    font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:99px;letter-spacing:.02em;}
  .car-move{position:absolute;bottom:6px;left:0;right:0;display:flex;justify-content:center;gap:5px;
    opacity:0;transition:opacity .15s var(--в);}
  .car-slide:hover .car-move{opacity:1;}
  .car-move button{width:22px;height:22px;border-radius:50%;border:none;background:rgba(52,28,48,.72);
    color:#fff;font-size:13px;line-height:1;cursor:pointer;padding:0;display:flex;
    align-items:center;justify-content:center;}
  .car-move button:active{background:var(--wa);}
  /* Крестик «убрать экран» в углу слайда.

     Виден всегда, а не по наведению, как стрелки перестановки: на телефоне
     наведения нет вовсе, и такие кнопки там просто не существуют.
     Тёмный кружок со светлым ободком читается и на светлом кадре,
     и на тёмном — слайды бывают всякие. */
  .car-del{position:absolute;top:5px;right:5px;width:24px;height:24px;border-radius:50%;
    border:1.5px solid rgba(255,255,255,.5);background:rgba(30,16,28,.72);color:#fff;
    font-size:12px;line-height:1;padding:0;cursor:pointer;z-index:3;
    display:flex;align-items:center;justify-content:center;}
  .car-del:active{background:rgba(30,16,28,.95);}
  .car-hint{font-size:11.5px;color:var(--ink-3);margin-top:7px;}
  /* стрелки над лентой */
  .car-nav{display:flex;align-items:center;gap:6px;margin-left:auto;}
  .car-arrow{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:#fff;
    color:var(--wa-deep);font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;
    cursor:pointer;padding:0;font-weight:700;}
  .car-arrow:active{background:var(--wa-soft);}
  .car-arrow[disabled]{opacity:.32;cursor:default;}
  /* полноэкранный просмотр слайда */
  /* 3 сентября, по снимку хозяина: на мониторе ящик разговоров (z 130)
     торчал поверх превью (z 120). Превью — самое верхнее из всего, что
     не окно-лист: над ящиком, под листами (155–165). */
  .car-view{position:absolute;inset:0;background:rgba(30,16,28,.94);z-index:150;display:none;
    flex-direction:column;align-items:center;justify-content:center;padding:16px;}
  .car-view.on{display:flex;}
  .car-view img{max-width:100%;max-height:74vh;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.5);}
  /* Видео на весь слайд, надписи поверх. Пропорции держит обёртка,
     чтобы кадр и слой надписей совпадали пиксель в пиксель. */
  /* КОРОБКУ НЕ СЖИМАТЬ. 25 августа, беда хозяина: в открытом слайде
     надписи стоят выше и шире, чем в карусели. Причина здесь: .car-view —
     колонка-флекс, и коробка, которой задана высота 677 точек, ужималась
     флексом до 585 — ширина при этом оставалась прежней. Кадр из 4:5
     становился почти квадратным, а слой надписей, растянутый на ту же
     коробку, съезжал вверх и вширь. flex:0 0 auto держит заданный
     размер; высоту под свободное место считает carPaintView. */
  #car-view-vwrap{position:relative;display:none;border-radius:12px;overflow:hidden;touch-action:none;
    flex:0 0 auto;box-shadow:0 10px 40px rgba(0,0,0,.5);background:#000;margin:0 auto;}
  #car-view-vid{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;
    display:block;background:#000;border-radius:0;max-width:none;max-height:none;}
  /* Родные кнопки плеера в webview лезут поверх слайда — гасим их. */
  #car-view-vid::-webkit-media-controls,
  #car-view-vid::-webkit-media-controls-enclosure,
  #car-view-vid::-webkit-media-controls-panel,
  #car-view-vid::-webkit-media-controls-start-playback-button{display:none !important;
    -webkit-appearance:none;}
  #car-view-ov{position:absolute;inset:0;width:100%;height:100%;display:block;
    pointer-events:none;max-width:none;max-height:none;border-radius:0;box-shadow:none;}
  #car-view-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:62px;height:62px;border-radius:50%;background:rgba(20,10,18,.5);
    backdrop-filter:blur(3px);color:#fff;font-size:24px;display:none;
    align-items:center;justify-content:center;padding-left:4px;pointer-events:none;}
  .car-view-bar{display:flex;align-items:center;gap:16px;margin-top:16px;}
  .car-view-bar button{width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.14);
    color:#fff;font-size:19px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
  .car-view-bar button:active{background:rgba(255,255,255,.28);}
  .car-view-n{color:#fff;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;min-width:52px;text-align:center;}
  /* Нижний ряд просмотрщика: правка и выгрузка. Верхний (car-view-edit) —
     чем наполнить кадр: фото и видео. Разделено 15 августа: человек решает
     тут две разные задачи, и мешать их в одну строку значило заставлять
     его читать все кнопки подряд каждый раз. */
  .car-view-dl{display:flex;gap:9px;margin-top:10px;flex-wrap:wrap;justify-content:center;}
  .car-view-dl button{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.10);
    color:#fff;border-radius:11px;padding:10px 15px;font-size:12.5px;font-weight:700;
    font-family:'Inter',sans-serif;cursor:pointer;width:auto;height:auto;}
  .car-view-dl button.all{background:var(--wa);border-color:var(--wa);}
  /* Мягкий свет включён — кнопка залита. Без отметки человек жмёт второй
     раз, ожидая «ещё мягче», а получает возврат. */
  .car-view-dl button.on{background:var(--wa);border-color:var(--wa);color:#fff;}
  .car-view-dl button:active{opacity:.82;}
  /* Белое на 16% прозрачности пропадало: слайд светлый, крестик белый —
     человек не находил, куда нажать. Теперь тёмный кружок со светлым
     ободком: читается и поверх светлого слайда, и поверх тёмного фона. */
  .car-view-x{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;
    border:1.5px solid rgba(255,255,255,.55);background:rgba(30,16,28,.78);color:#fff;
    font-size:21px;line-height:1;cursor:pointer;z-index:5;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 2px 10px rgba(0,0,0,.35);}
  .car-view-x:active{background:rgba(30,16,28,.95);}
  .car-num{position:absolute;}
  .car-cap{background:var(--wa-soft);border:1px solid #EBD9E6;border-radius:13px;
    padding:11px 13px;font-size:13.5px;line-height:1.55;color:var(--ink);margin-top:11px;white-space:pre-wrap;}
  .car-tags{color:var(--wa-deep);font-weight:600;margin-top:6px;display:block;font-size:12.5px;}
  .car-acts{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
  .car-btn{flex:1;min-width:120px;border:none;border-radius:11px;padding:11px 12px;font-size:13px;
    font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;display:flex;
    align-items:center;justify-content:center;gap:6px;}
  .car-btn.main{background:var(--wa);color:#fff;}
  .car-btn.ghost{background:var(--panel);color:var(--ink-2);border:1px solid var(--line);}
  .car-btn:active{opacity:.82;}
  .car-load{display:flex;align-items:center;gap:9px;padding:13px;background:var(--wa-soft);
    border-radius:13px;font-size:13.5px;color:var(--wa-dark);font-weight:600;}
  .car-spin{width:15px;height:15px;border:2px solid #E3C9DC;border-top-color:var(--wa);
    border-radius:50%;animation:carspin .7s linear infinite;flex:0 0 auto;}
  @keyframes carspin{to{transform:rotate(360deg);}}
  @keyframes ctp{0%,60%,100%{opacity:.3;transform:translateY(0);}30%{opacity:1;transform:translateY(-4px);}}
  /* position:relative — точка отсчёта для облачка-подсказки над «плюсом». */
  .aiyy-input-wrap{position:relative;flex:0 0 auto;padding:8px 12px calc(14px + env(safe-area-inset-bottom,0));}
  .chips-wrap{position:relative;}
  .chips-wrap::after{content:'';position:absolute;top:0;right:0;bottom:9px;width:34px;
    background:linear-gradient(90deg, rgba(251,246,249,0), var(--bg) 70%);
    pointer-events:none;opacity:0;transition:opacity .2s var(--в);}
  .chips-wrap.more::after{opacity:1;}
  .chips-wrap::before{content:'';position:absolute;top:0;left:0;bottom:9px;width:26px;
    background:linear-gradient(270deg, rgba(251,246,249,0), var(--bg) 70%);
    pointer-events:none;opacity:0;transition:opacity .2s var(--в);z-index:1;}
  .chips-wrap.back::before{opacity:1;}
  .chat-chips{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 9px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;scroll-behavior:smooth;}
  .chat-chips.drag{cursor:grabbing;scroll-behavior:auto;}
  .chat-chips::-webkit-scrollbar{display:none;}
  .chat-chip{flex:0 0 auto;background:var(--wa-soft);color:var(--wa-dark);border:none;border-radius:999px;padding:8px 13px;font-size:12.5px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;white-space:nowrap;}
  .chat-chip:active{opacity:.7;}
  .aiyy-input{display:flex;align-items:flex-end;gap:8px;background:var(--panel);border:1.5px solid var(--line);border-radius:26px;padding:6px 6px 6px 12px;}
  .aiyy-photo{flex:0 0 auto;background:none;border:none;color:var(--ink-3);cursor:pointer;padding:4px;display:flex;}
  .aiyy-input textarea{flex:1;min-width:0;border:none;background:none;outline:none;font-size:15px;
    font-family:'Inter',sans-serif;color:var(--ink-1);padding:8px 0;margin:0;
    line-height:1.45;resize:none;overflow-y:auto;max-height:168px;display:block;}
  .aiyy-input textarea::-webkit-scrollbar{width:0;}
  .aiyy-input button{flex:0 0 auto;margin-bottom:1px;}
  .aiyy-send{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--wa);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;}
  .aiyy-mic{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:none;border:none;color:var(--ink-3);display:flex;align-items:center;justify-content:center;cursor:pointer;}
  .aiyy-mic:active{color:var(--wa);}
  .aiyy-mic.rec{background:var(--wa);color:#fff;animation:micpulse 1s infinite;}
  .mic-note{margin:0 2px 8px;padding:11px 13px;background:#FFF6E8;border:1px solid #F0DFC0;
    border-radius:12px;font-size:12.5px;line-height:1.55;color:#7A5A28;}
  .mic-note b{font-family:monospace;background:rgba(0,0,0,.06);padding:1px 5px;border-radius:4px;font-weight:600;}
  .mic-note button{display:block;margin-top:9px;border:1px solid #E4CFA8;background:#fff;color:#7A5A28;
    border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;}
  .mic-live{display:flex;align-items:center;gap:9px;margin:0 2px 8px;padding:9px 12px;
    background:var(--wa-soft);border:1px solid #EBD9E6;border-radius:12px;}
  .mic-dot{width:9px;height:9px;border-radius:50%;background:#D1495B;flex:0 0 auto;
    animation:micpulse 1.1s infinite;}
  .mic-live-t{flex:1;min-width:0;font-size:12.5px;color:var(--wa-dark);line-height:1.35;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic;}
  .mic-lang{flex:0 0 auto;border:1px solid #E3C9DC;background:#fff;color:var(--wa-deep);
    border-radius:8px;padding:4px 9px;font-size:11px;font-weight:800;cursor:pointer;
    font-family:'Inter',sans-serif;letter-spacing:.04em;}
  .mic-stop{flex:0 0 auto;border:none;background:var(--wa);color:#fff;border-radius:8px;
    padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;}
  .mic-stop:active{opacity:.85;}
  @keyframes micpulse{0%,100%{box-shadow:0 0 0 0 rgba(199,125,168,.5);}50%{box-shadow:0 0 0 8px rgba(199,125,168,0);}}
  .chat-attach{margin:0 2px 8px;padding:9px 10px;background:var(--wa-soft);border-radius:12px;}
  .chat-att-row{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;}
  .chat-att-row::-webkit-scrollbar{display:none;}
  /* Размер задаёт сама плитка, а не картинка внутри: у видео без снятой
     обложки картинки нет вовсе, и раньше плитка схлопывалась в точку. */
  .chat-att-i{position:relative;flex:0 0 auto;width:52px;height:52px;border-radius:9px;
    overflow:hidden;cursor:grab;transition:transform .13s var(--в),opacity .13s var(--в);}
  .chat-att-i.vid{background:linear-gradient(150deg,#4a3a45,#2b2029);}
  .chat-att-pl{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:17px;opacity:.85;}
  .chat-att-i.dragging{opacity:.35;transform:scale(.9);cursor:grabbing;}
  .chat-att-i.over{transform:translateY(-4px);box-shadow:0 0 0 2px var(--wa);border-radius:9px;}
  .chat-att-i.vid img{filter:brightness(.82);}
  .chat-att-v{position:absolute;top:3px;left:3px;background:rgba(52,28,48,.82);color:#fff;
    font-size:9px;font-weight:700;border-radius:99px;padding:2px 6px;line-height:1.4;letter-spacing:.02em;}
  .chat-att-mv{position:absolute;left:0;right:0;bottom:2px;display:flex;justify-content:center;gap:3px;
    opacity:0;transition:opacity .15s var(--в);}
  .chat-att-i:hover .chat-att-mv{opacity:1;}
  .chat-att-mv button{width:17px;height:17px;border-radius:50%;border:none;background:rgba(52,28,48,.78);
    color:#fff;font-size:10px;line-height:1;cursor:pointer;padding:0;display:flex;
    align-items:center;justify-content:center;}
  .chat-att-mv button:active{background:var(--wa);}
  .chat-att-i img{width:52px;height:52px;border-radius:9px;object-fit:cover;display:block;}
  .chat-att-n{position:absolute;left:3px;bottom:3px;background:rgba(52,28,48,.72);color:#fff;
    font-size:9.5px;font-weight:700;border-radius:99px;padding:1px 5px;line-height:1.5;}
  .chat-att-x{position:absolute;top:-5px;right:-5px;width:19px;height:19px;border-radius:50%;
    background:var(--ink);border:2px solid var(--wa-soft);color:#fff;font-size:9px;
    cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;}
  .chat-att-add{flex:0 0 auto;width:52px;height:52px;border-radius:9px;border:1.5px dashed #D9BFD2;
    background:none;color:var(--wa);font-size:19px;cursor:pointer;line-height:1;}
  .chat-att-add:active{background:rgba(199,125,168,.10);}
  .chat-attach > span{display:block;font-size:12.5px;color:var(--wa-dark);line-height:1.3;margin-top:8px;}
  /* Две кнопки под пачкой снимков (8 сентября). Рядом, поровну: ни одна
     из дорог не главнее другой, и выбирать человек должен глазами, а не
     угадывать по величине кнопки. */
  .chat-att-go{display:flex;gap:8px;margin-top:9px;}
  .chat-att-go button{flex:1 1 0;min-width:0;padding:10px 8px;border-radius:12px;
    border:1.5px solid var(--wa);background:#fff;color:var(--wa-deep);
    font-family:'Inter',sans-serif;font-size:13.5px;font-weight:700;cursor:pointer;
    line-height:1.2;transition:background .15s var(--в);}
  .chat-att-go button:active{background:var(--wa-soft);}
  html[data-theme="dark"] .chat-att-go button{background:transparent;color:var(--wa);}
  .cmsg-imgs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:6px;}
  .cmsg-v{position:relative;display:inline-block;line-height:0;}
  .cmsg-v b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:20px;text-shadow:0 1px 6px rgba(0,0,0,.5);}
  .cmsg-imgs img{width:78px;height:78px;object-fit:cover;border-radius:9px;margin:0;display:block;}
  /* Одиночное вложение раньше рисовалось <img> без размеров: чёрная
     обложка растягивалась на весь пузырь. Теперь оно в той же сетке. */
  .cmsg-v img{width:78px;height:78px;object-fit:cover;border-radius:9px;display:block;}
  /* Видео без снятой обложки: тёмная плитка со стрелкой вместо битой картинки */
  .cmsg-v.noposter{width:78px;height:78px;border-radius:9px;
    background:linear-gradient(150deg,#4a3a45,#2b2029);display:inline-block;}
  .cmsg-v u{position:absolute;right:4px;bottom:4px;text-decoration:none;color:#fff;
    font-size:10px;line-height:1;background:rgba(0,0,0,.45);border-radius:5px;padding:2px 4px;}
  .aiyy-send:active{opacity:.85;}
  .h-aiyy{display:flex;align-items:center;gap:5px;background:rgba(255,255,255,.16);
    border:none;color:#fff;border-radius:999px;padding:6px 12px 6px 8px;
    font-size:13px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;margin-right:10px;}
  .h-aiyy:active{opacity:.75;}
  /* скрываем старый fab */
  .fab-wrap{display:none!important;}

  #body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;margin-bottom:70px;}
  #body::-webkit-scrollbar{display:none;}
  .pg{display:none;padding-bottom:24px;}
  .pg.on{display:block;}
  @keyframes slInR{from{transform:translateX(28px);opacity:.4}to{transform:translateX(0);opacity:1}}
  @keyframes slInL{from{transform:translateX(-28px);opacity:.4}to{transform:translateX(0);opacity:1}}
  @keyframes slInF{from{opacity:.5}to{opacity:1}}
  .pg.slin-r{animation:slInR .26s cubic-bezier(.32,.72,0,1);}
  .pg.slin-l{animation:slInL .26s cubic-bezier(.32,.72,0,1);}
  .pg.slin-f{animation:slInF .2s var(--в);}
  .pg.on{display:block;}
  .sect{padding:20px 16px 8px;font-size:12px;font-weight:800;color:var(--ink-3);letter-spacing:.07em;text-transform:uppercase;}

  .clock{background:var(--panel);border-radius:18px;margin:16px 16px 0;padding:16px 12px 12px;touch-action:none;}
  .clock .ch{display:flex;justify-content:space-between;align-items:baseline;padding:0 4px 10px;}
  .clock .ch b{font-size:14px;}
  .clock svg{display:block;width:100%;cursor:grab;}
  .clock svg:active{cursor:grabbing;}
  .clock .hl{background:var(--amber-soft);border-radius:12px;padding:11px 13px;margin-top:10px;}
  .clock .hl .d{font-size:11px;color:var(--amber);font-weight:800;margin-bottom:3px;letter-spacing:.04em;}
  .clock .hl p{margin:0;font-size:13.5px;line-height:1.5;}
  .clock .legend{display:flex;gap:13px;flex-wrap:wrap;padding:10px 4px 0;}
  .clock .legend span{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--ink-2);}
  .clock .legend i{width:9px;height:9px;border-radius:50%;display:inline-block;}

  .hour-row{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);align-items:flex-start;}

  /* per-person day lines */
  .pline{margin:0 16px 12px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;}
  .pline.mine{border:1.5px dashed #C5CCD3;background:var(--panel);}
  .pline .ph2{display:flex;align-items:center;gap:11px;padding:13px 14px 9px;}
  .pline .av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:0 0 auto;}
  .pline .nm{flex:1;min-width:0;}
  .pline .nm b{font-size:15px;display:block;line-height:1.25;}
  .pline .nm span{font-size:12px;color:var(--ink-3);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .pline .cnt{font-size:12px;font-weight:800;color:var(--ink-3);flex:0 0 auto;}
  .pline .cnt.full{color:var(--wa);}
  .pline .x{width:26px;height:26px;border-radius:8px;background:var(--panel);border:none;color:var(--ink-3);font-size:16px;flex:0 0 auto;line-height:1;padding-bottom:2px;}
  .pline .mini{padding:0 14px 10px;}
  .pline .mini svg{display:block;width:100%;}
  .pline .arow{display:flex;gap:11px;padding:11px 14px;align-items:flex-start;border-top:1px solid var(--line);}
  .pline .arow.done{background:#FBFDFC;}
  .pline .arow .hh2{flex:0 0 44px;font-size:12.5px;font-weight:800;color:var(--ink-2);padding-top:1px;}
  .pline .arow.done .hh2{color:var(--ink-3);}
  .pline .arow .aa{flex:1;font-size:14px;line-height:1.45;}
  .pline .arow.done .aa{color:var(--ink-3);text-decoration:line-through;}
  .pline .arow .ck{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);flex:0 0 auto;background:#fff;display:flex;align-items:center;justify-content:center;color:transparent;font-size:14px;font-weight:800;line-height:1;}
  .pline .arow .ck.on{background:var(--wa);border-color:var(--wa);color:#fff;}
  .foodtag{display:inline-block;font-size:10px;font-weight:800;color:var(--food);background:#FDF0E7;padding:2px 6px;border-radius:5px;margin-left:6px;vertical-align:1px;}
  .slot{display:flex;gap:11px;padding:11px 14px;align-items:center;border-top:1px solid var(--line);color:var(--ink-3);}
  .slot .hh2{flex:0 0 44px;font-size:12.5px;font-weight:800;}
  .slot .aa{flex:1;font-size:14px;}
  .slot .pl{width:24px;height:24px;border-radius:8px;background:#fff;border:1.5px dashed #C5CCD3;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--ink-3);flex:0 0 auto;line-height:1;padding-bottom:2px;}
  .mhint{padding:11px 14px;font-size:12.5px;color:var(--ink-3);line-height:1.5;border-top:1px solid var(--line);}
  .hour-row.done{background:#FBFDFC;}
  .hour-row .hh{flex:0 0 46px;font-size:13px;font-weight:800;color:var(--ink-2);padding-top:1px;}
  .hour-row.done .hh{color:var(--ink-3);}
  .hour-row .mid{flex:1;}
  .hour-row .act{font-size:15px;line-height:1.45;}
  .hour-row.done .act{color:var(--ink-3);text-decoration:line-through;}
  .hour-row .src{font-size:12px;color:var(--ink-3);margin-top:3px;display:flex;align-items:center;gap:5px;}
  .hour-row .src .dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;}
  .chk{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);flex:0 0 auto;background:#fff;display:flex;align-items:center;justify-content:center;color:transparent;font-size:14px;margin-top:2px;}
  .chk.on{background:var(--wa);border-color:var(--wa);color:#fff;}

  .invite{margin:16px;background:var(--wa-soft);border-radius:16px;padding:18px 16px;text-align:center;}
  .invite b{font-size:15px;display:block;margin-bottom:5px;}
  .invite p{margin:0 0 14px;font-size:13.5px;color:var(--ink-2);line-height:1.5;}
  .invite button{background:var(--wa);color:#fff;border:none;border-radius:12px;padding:12px 22px;font-size:14px;font-weight:700;}

  /* life */
  .life{padding:0 16px;}
  .life .hero{text-align:center;padding:20px 0 4px;}
  .life .hero .n{font-size:44px;font-weight:800;letter-spacing:-.04em;line-height:1;}
  .life .hero .c{font-size:13px;color:var(--ink-2);margin-top:6px;}
  .board{background:var(--panel);border-radius:18px;padding:16px 12px 12px;margin-top:12px;}
  .board svg{display:block;width:100%;cursor:grab;}
  .life svg{display:block;width:100%;cursor:grab;}
  .hl{background:var(--amber-soft);border-radius:12px;padding:11px 13px;margin-top:10px;}
  .hl .d{font-size:11px;color:var(--amber);font-weight:800;margin-bottom:3px;letter-spacing:.04em;}
  .hl p{margin:0;font-size:13.5px;line-height:1.5;}
  /* график на странице контакта — те же поля что у .life */
  #ctl-board{margin:12px 16px 0;}
  #ofl-board{margin:12px 16px 0;}
  /* geo ask */
  .geoask{position:absolute;inset:0;background:#fff;z-index:70;display:none;flex-direction:column;justify-content:center;padding:30px 26px;}
  .geoask.on{display:flex;}
  .gic{font-size:44px;text-align:center;margin-bottom:14px;}
  .geoask h3{font-size:25px;font-weight:800;letter-spacing:-.03em;margin:0 0 10px;text-align:center;}
  .geoask p{font-size:14.5px;color:var(--ink-2);line-height:1.6;margin:0 0 26px;text-align:center;}
  .gbtn{width:100%;background:var(--wa);color:#fff;border:none;border-radius:13px;height:50px;font-size:15px;font-weight:700;}
  .gor{text-align:center;font-size:12px;color:var(--ink-3);margin:16px 0 12px;font-weight:600;}
  .glist{display:flex;flex-direction:column;gap:8px;}
  .glist button{width:100%;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:14px;font-size:15px;font-weight:600;color:var(--ink);text-align:left;display:flex;justify-content:space-between;align-items:center;font-family:'Inter',sans-serif;}
  .glist button small{font-size:12px;color:var(--ink-3);font-weight:500;}

  /* header search */
  .hsearch{background:none;border:none;color:#fff;font-size:24px;padding:0 4px;opacity:.9;line-height:1;font-weight:400;}
  .searchbar{display:none;gap:8px;padding:0 0 10px;}
  .searchbar.on{display:flex;}
  .searchbar input{flex:1;border:none;border-radius:10px;padding:11px 13px;font-size:15px;font-family:'Inter',sans-serif;outline:none;background:rgba(255,255,255,.16);color:#fff;}
  .searchbar input::placeholder{color:rgba(255,255,255,.55);}
  .searchbar button{background:none;border:none;color:#fff;font-size:17px;padding:0 6px;opacity:.8;}

  /* birthday strip */
  .bday{display:flex;align-items:center;gap:11px;margin:0 16px 14px;background:#FFF6E5;border-radius:14px;padding:12px 13px;cursor:pointer;border:1px solid #FBE3B8;}
  .bday.mourn{background:#F2F4F6;border-color:#E2E6EA;}
  .bday .be{font-size:21px;flex:0 0 auto;line-height:1;}
  .bday .bt{flex:1;min-width:0;}
  .bday .bt b{font-size:13.5px;display:block;line-height:1.35;}
  .bday .bt span{font-size:12px;color:var(--ink-2);display:block;margin-top:2px;line-height:1.4;}
  .bday .bc{color:var(--ink-3);font-size:17px;flex:0 0 auto;}

  /* slider */
  .slider{margin:0 16px 14px;position:relative;overflow:hidden;}
  .slides{display:flex;transition:transform .35s cubic-bezier(.32,.72,0,1);}
  .slide{flex:0 0 100%;display:flex;align-items:center;gap:11px;border-radius:14px;padding:13px;border:1px solid;cursor:pointer;box-sizing:border-box;}
  .slide .se{font-size:21px;flex:0 0 auto;line-height:1;}
  .slide .st{flex:1;min-width:0;}
  .slide .st b{font-size:13.5px;display:block;line-height:1.35;}
  .slide .st span{font-size:12px;color:var(--ink-2);display:block;margin-top:2px;line-height:1.4;}
  .slide .sc{color:var(--ink-3);font-size:17px;flex:0 0 auto;}
  .dots{display:flex;justify-content:center;gap:5px;margin-top:8px;}
  .sd{width:5px;height:5px;border-radius:50%;background:var(--border-strong,#D4DAE0);cursor:pointer;transition:all .2s var(--в);}
  .sd.on{width:16px;border-radius:3px;background:var(--wa);}

  /* promo — слайдер призывов (баннеры) */
  .promo{margin:2px 16px 16px;position:relative;overflow:hidden;}
  .promo-track{display:flex;transition:transform .35s cubic-bezier(.32,.72,0,1);}
  .promo-card{flex:0 0 100%;display:flex;align-items:center;gap:12px;border-radius:16px;padding:15px;cursor:pointer;box-sizing:border-box;color:#fff;}
  .pc-e{font-size:26px;flex:0 0 auto;line-height:1;}
  .pc-t{flex:1;min-width:0;}
  .pc-t b{font-size:15px;font-weight:800;display:block;line-height:1.25;}
  .pc-t span{font-size:12px;opacity:.85;display:block;margin-top:3px;line-height:1.4;}
  .pc-arr{font-size:22px;opacity:.9;flex:0 0 auto;}
  .promo-dots{display:flex;justify-content:center;gap:5px;margin-top:9px;}
  .pd{width:5px;height:5px;border-radius:50%;background:var(--border-strong,#D4DAE0);cursor:pointer;transition:all .2s var(--в);}
  .pd.on{width:16px;border-radius:3px;background:var(--wa);}

  /* market cats */
  .mchips{display:flex;gap:7px;overflow-x:auto;padding:0 0 14px;}
  .mchips::-webkit-scrollbar{display:none;}
  .mchips .chip{width:auto!important;height:auto!important;font-size:12.5px!important;padding:8px 13px!important;border-radius:999px!important;border:1.5px solid var(--line)!important;background:#fff!important;color:var(--ink-2)!important;white-space:nowrap;flex:0 0 auto;font-weight:600!important;font-family:'Inter',sans-serif;}
  .mchips .chip.on{background:var(--wa-dark)!important;color:#fff!important;border-color:var(--wa-dark)!important;}
  .care{margin:0 14px 10px;background:#FDECEC;border-radius:10px;padding:9px 11px;font-size:11.5px;color:#8C2F2F;line-height:1.45;}

  /* world events */
  .lx{margin:10px 0 12px;}
  .lxbar{height:6px;background:var(--panel);border-radius:99px;overflow:hidden;margin-bottom:6px;}
  .lxfill{height:100%;background:var(--wa);border-radius:99px;}
  .lxrow{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3);}
  .lxrow b{color:var(--wa-deep);font-weight:800;}
  .lx{cursor:pointer;}
  .lxleft{font-size:11.5px;color:var(--ink-3);margin-top:6px;}
  .lsub{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin:0 0 12px;}
  .wsect{display:flex;align-items:baseline;justify-content:space-between;padding:6px 16px 10px;}
  .wsect span{font-size:12px;font-weight:800;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;}
  .wsect small{font-size:11px;color:var(--ink-3);}
  .wscroll{display:flex;gap:10px;overflow-x:auto;padding:0 16px 14px;}
  .wscroll::-webkit-scrollbar{display:none;}
  .wcard{flex:0 0 152px;border-radius:16px;padding:13px;display:flex;flex-direction:column;cursor:pointer;}
  .wcard:active{opacity:.85;}
  .wtag{font-size:9.5px;font-weight:800;letter-spacing:.06em;margin-bottom:6px;}
  .wemo{font-size:24px;margin-bottom:7px;line-height:1;}
  .wcard b{font-size:14px;line-height:1.3;margin-bottom:4px;}
  .wmeta{font-size:11.5px;color:var(--ink-2);line-height:1.4;}
  .lcap{font-size:12px;font-weight:800;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;padding:8px 16px 10px;}
  .lcap small{display:block;font-size:10.5px;font-weight:600;color:var(--ink-3);opacity:.7;letter-spacing:0;text-transform:none;margin-top:3px;}
  .ehero{padding:14px 16px 0;}
  .eh{border-radius:16px;padding:16px;}
  .ehe{font-size:30px;display:block;margin-bottom:8px;line-height:1;}
  .eh p{margin:0;font-size:14px;line-height:1.6;color:var(--ink);}
  .edisc{margin:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:12px;color:var(--ink-3);line-height:1.55;}

  /* life: list */
  .lifehead{padding:16px 16px 12px;}
  .myday{display:flex;align-items:baseline;gap:7px;margin-bottom:12px;}
  .myday span{font-size:13px;color:var(--ink-2);}
  .myday b{font-size:26px;font-weight:800;letter-spacing:-.03em;}
  .lsearch{width:100%;background:var(--panel);border:1.5px solid transparent;border-radius:12px;padding:12px 14px;font-size:15px;font-family:'Inter',sans-serif;outline:none;}
  .lsearch:focus{border-color:var(--wa);background:#fff;}
  .prsn{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);cursor:pointer;}
  .prsn:active{background:var(--panel);}
  .prsn .pav{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex:0 0 auto;overflow:hidden;}
  .prsn .pav.has{background:var(--panel)!important;}
  .pav-img{border-radius:50%;}
  .pbav{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:0 0 auto;overflow:hidden;}
  .pbav.has{background:var(--panel)!important;}
  .prsn .pin{flex:1;min-width:0;}
  .prsn .pin b{font-size:15px;display:block;line-height:1.3;}
  .prsn .pin span{font-size:12.5px;color:var(--ink-2);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .prsn .pdays{text-align:right;flex:0 0 auto;}
  .prsn .pdays b{font-size:13px;font-weight:800;display:block;}
  .prsn .pdays span{font-size:10.5px;color:var(--ink-3);}
  .prsn .pdays.alive b{color:var(--wa-deep);}
  .lempty{padding:40px 24px;text-align:center;color:var(--ink-3);font-size:14px;}

  /* creators */
  .crow{display:flex;align-items:center;gap:11px;padding:12px 16px;border-bottom:1px solid var(--line);cursor:pointer;}
  .crow:active{background:var(--panel);}
  .crank{width:22px;font-size:13px;font-weight:800;color:var(--ink-3);flex:0 0 auto;text-align:center;}
  .crank.gold{color:var(--wa-deep);}
  .cfol{text-align:right;flex:0 0 auto;}
  .cfol b{font-size:14px;font-weight:800;display:block;color:var(--wa-deep);}
  .cfol span{font-size:10px;color:var(--ink-3);}
  .ctop{margin:12px 16px 0;background:var(--wa-dark);color:#fff;border-radius:14px;padding:14px;cursor:pointer;}
  .ctop b{font-size:14.5px;display:block;margin-bottom:3px;}
  .ctop span{font-size:12.5px;opacity:.75;}

  /* creator page */
  .crwrap{padding:16px;}
  .crtop{display:flex;justify-content:center;margin-bottom:14px;}
  .crav{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;}
  .crbio{font-size:14px;line-height:1.65;color:var(--ink);margin:0 0 18px;}
  .crday{border:1px solid var(--line);border-radius:16px;overflow:hidden;}
  .crh{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;gap:10px;}
  .crh b{font-size:14.5px;display:block;}
  .crh span{font-size:12px;color:var(--ink-3);display:block;margin-top:2px;line-height:1.4;}
  .crprice{font-size:16px;font-weight:800;color:var(--wa-deep);flex:0 0 auto;}
  .cra{display:flex;gap:11px;padding:10px 14px;border-top:1px solid var(--line);}
  .cra .crt{flex:0 0 44px;font-size:12.5px;font-weight:800;color:var(--ink-2);}
  .cra .crx{flex:1;font-size:13.5px;line-height:1.45;}
  .crbtns{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line);}
  .cb-1{flex:1;background:#fff;border:1.5px solid var(--wa);color:var(--wa-deep);border-radius:11px;height:44px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;}
  .cb-2{flex:1.2;background:var(--wa);border:none;color:#fff;border-radius:11px;height:44px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;}
  .crnone{background:var(--panel);border-radius:16px;padding:18px;text-align:center;}
  .crnone b{font-size:15px;display:block;margin-bottom:6px;}
  .crnone p{font-size:13.5px;color:var(--ink-2);line-height:1.6;margin:0 0 14px;}
  .crnone button{background:#fff;border:1.5px solid var(--line);border-radius:11px;padding:11px 20px;font-size:13.5px;font-weight:700;font-family:'Inter',sans-serif;color:var(--ink);}
  .cfol.off b{color:var(--ink-3);}

  /* CHECKOUT */
  .colist{flex:1;overflow-y:auto;padding:4px 16px 16px;-webkit-overflow-scrolling:touch;}
  .colist::-webkit-scrollbar{display:none;}
  .cosum{margin-bottom:16px;}
  .cosh{border:1px solid var(--line);border-radius:13px;padding:11px 12px;margin-bottom:8px;}
  .coshh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px;}
  .coshh b{font-size:13.5px;}
  .coshh span{font-size:11px;color:var(--ink-3);}
  .coit{display:flex;align-items:center;gap:8px;padding:5px 0;}
  .coe{font-size:15px;flex:0 0 auto;}
  .con{flex:1;font-size:13px;}
  .cop{font-size:13px;font-weight:700;}
  .colab{font-size:12.5px;color:var(--ink-2);font-weight:700;display:block;margin:14px 0 8px;}
  .cofld{margin-bottom:8px;}
  .cofld input, .cofld select{width:100%;background:var(--panel);border:1.5px solid transparent;border-radius:11px;padding:13px;font-size:15px;font-family:'Inter',sans-serif;outline:none;color:var(--ink);}
  .cofld input:focus, .cofld select:focus{border-color:var(--wa);background:#fff;}
  .two2{display:flex;gap:8px;margin-bottom:8px;}
  .two2 input{flex:1;background:var(--panel);border:1.5px solid transparent;border-radius:11px;padding:13px;font-size:15px;font-family:'Inter',sans-serif;outline:none;min-width:0;}
  .two2 input:focus{border-color:var(--wa);background:#fff;}
  .cowhen, .copay{display:flex;gap:8px;margin:14px 0 4px;}
  .cw, .cp{flex:1;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px 8px;font-size:13px;font-weight:700;color:var(--ink-2);font-family:'Inter',sans-serif;display:flex;flex-direction:column;gap:2px;align-items:center;}
  .cw.on, .cp.on{background:var(--wa-soft);border-color:var(--wa);color:var(--wa-deep);}
  .cw small{font-size:10.5px;font-weight:600;opacity:.7;}
  .cototal{margin-top:18px;padding:13px;background:var(--panel);border-radius:13px;}
  .cor{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;}
  .cor span{font-size:13px;color:var(--ink-2);}
  .cor b{font-size:13.5px;font-weight:700;}
  .cor.big{border-top:1px solid var(--border-strong,#DDE1E6);margin-top:6px;padding-top:9px;}
  .cor.big span{font-size:14px;color:var(--ink);font-weight:600;}
  .cor.big b{font-size:19px;font-weight:800;}
  .conote{font-size:11.5px;color:var(--ink-3);line-height:1.55;margin:12px 0 6px;}
  .cobtns{display:flex;gap:9px;padding:14px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);}
  .cb-a{flex:1;background:#fff;border:1.5px solid var(--line);border-radius:12px;height:48px;font-size:13.5px;font-weight:700;color:var(--ink);font-family:'Inter',sans-serif;}
  .cb-b{flex:1.6;background:var(--wa);border:none;border-radius:12px;height:48px;font-size:14px;font-weight:700;color:#fff;font-family:'Inter',sans-serif;}
  .odi{width:56px;height:56px;border-radius:50%;background:var(--wa);color:#fff;font-size:26px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}

  /* market stories */
  .mstories{display:flex;gap:12px;overflow-x:auto;padding:4px 0 14px;}
  .mstories::-webkit-scrollbar{display:none;}
  .msc-in{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;}

  /* МАРКЕТ ВОСПОМИНАНИЙ */
  .mkhead{padding:18px 16px 10px;}
  .mkhead b{font-size:22px;font-weight:800;display:block;letter-spacing:-.02em;line-height:1.2;}
  .mkhead span{font-size:13px;color:var(--ink-2);display:block;margin-top:4px;}
  .mkshare{display:flex;align-items:center;gap:12px;margin:4px 16px 16px;padding:14px;border-radius:16px;background:linear-gradient(120deg,#6E4A6B,#8A4E7E);color:#fff;cursor:pointer;}
  .mks-e{font-size:24px;flex:0 0 auto;line-height:1;}
  .mks-t{flex:1;min-width:0;}
  .mks-t b{font-size:15px;font-weight:800;display:block;line-height:1.25;}
  .mks-t span{font-size:12px;opacity:.85;display:block;margin-top:3px;line-height:1.4;}
  .mks-arr{font-size:22px;opacity:.9;flex:0 0 auto;}
  .mkcats{display:flex;gap:9px;overflow-x:auto;padding:2px 16px 12px;}
  .mkcats::-webkit-scrollbar{display:none;}
  .mkcat{flex:0 0 auto;border:1px solid var(--line);border-radius:14px;padding:12px;width:110px;cursor:pointer;}
  .mkcat-e{font-size:22px;display:block;margin-bottom:6px;}
  .mkcat b{font-size:13px;font-weight:800;display:block;line-height:1.2;}
  .mkcat span{font-size:11px;color:var(--ink-3);display:block;margin-top:3px;line-height:1.3;}
  .mkitem{margin:0 16px 14px;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
  .mki-mem{padding:14px 14px 6px;font-size:14px;line-height:1.6;color:var(--ink);font-style:italic;}
  .mki-by{padding:0 14px 12px;font-size:11.5px;color:var(--ink-3);font-weight:600;}
  .mki-prod{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--panel);border-top:1px solid var(--line);}
  .mki-e{font-size:22px;flex:0 0 auto;line-height:1;}
  .mki-info{flex:1;min-width:0;}
  .mki-info b{font-size:14px;display:block;line-height:1.25;}
  .mki-info span{font-size:11.5px;color:var(--ink-3);}
  .mki-r{flex:0 0 auto;text-align:right;}
  .mki-p{font-size:15px;font-weight:800;display:block;line-height:1.2;}
  .mki-btn{margin-top:5px;background:var(--wa);border:none;color:#fff;border-radius:9px;padding:7px 14px;font-size:12.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;display:block;width:100%;}

  /* тёмный слайд в карусели */
  .slide.dark{color:#fff;}
  .slide.dark .st span{color:rgba(255,255,255,.8);}
  .slide.dark .sc{color:rgba(255,255,255,.7);}

  /* КОНТАКТЫ */
  .cth-sub{padding:10px 16px 4px;font-size:13px;color:var(--ink-2);}
  .ct-sync{margin:12px 16px;padding:28px 20px;border:1.5px dashed var(--line);border-radius:16px;text-align:center;}
  .cts-i{font-size:36px;margin-bottom:12px;}
  .ct-sync b{font-size:16px;display:block;margin-bottom:8px;}
  .ct-sync p{font-size:13px;color:var(--ink-2);line-height:1.5;margin:0 0 16px;}
  .ct-sync button{background:var(--wa);border:none;color:#fff;border-radius:12px;padding:13px 24px;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .ct-search{padding:10px 16px 4px;}
  .ct-search input{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 14px;font-size:14px;font-family:'Inter',sans-serif;color:var(--ink);background:#fff;box-sizing:border-box;}
  .ct-section{padding:16px 16px 6px;font-size:11px;font-weight:800;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;}
  .ctcard{display:flex;align-items:flex-start;gap:11px;padding:12px 16px;border-bottom:1px solid var(--line);cursor:pointer;}
  .ctcard:active{background:var(--panel);}
  .ctcard.ctout{cursor:default;opacity:.7;}
  .ctav-story-wrap{flex:0 0 auto;border-radius:50%;padding:2px;background:transparent;}
  .ctav-story-wrap.has-story{background:linear-gradient(135deg,var(--wa),#C77DA8);cursor:pointer;}
  .ctav-story-wrap .ctav-wrap{border:2px solid #fff;border-radius:50%;}
  .ctav-wrap{width:46px;height:46px;border-radius:50%;overflow:hidden;}
  .ctav-wrap svg,.ctav-wrap img{display:block;width:100%;height:100%;}
  .ctlav .ctav-wrap{width:36px;height:36px;}
  .ctinfo{flex:1;min-width:0;}
  .cttop{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin-bottom:3px;}
  .cttop b{font-size:15px;}
  .ctago{font-size:11.5px;color:var(--ink-3);}
  .ctmem{font-size:12.5px;color:var(--ink-2);line-height:1.4;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .ctprod{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:var(--wa-deep);}
  .ctp{color:var(--ink);font-weight:700;}
  .ctname-row{display:flex;align-items:center;gap:6px;}
  .ct-emojis{font-size:13px;letter-spacing:1px;opacity:.75;}
  .ct-empty{padding:20px 16px;color:var(--ink-3);font-size:13px;}
  /* страница линии контакта */
  .ctpost{margin:0 16px 14px;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
  .ctp-mem{padding:14px 14px 6px;font-size:14px;line-height:1.6;font-style:italic;color:var(--ink);}
  .ctp-prod{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--panel);border-top:1px solid var(--line);}
  .ctp-e{font-size:22px;flex:0 0 auto;}
  .ctp-i{flex:1;min-width:0;}
  .ctp-i b{font-size:14px;display:block;line-height:1.25;}
  .ctp-i span{font-size:11.5px;color:var(--ink-3);}
  .ctp-buy{background:var(--wa);border:none;color:#fff;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;flex:0 0 auto;cursor:pointer;}

  /* сторисы в контактах */
  .ct-stories{padding:14px 0 4px;}
  .cts-row{display:flex;gap:14px;overflow-x:auto;padding:0 16px 10px;}
  .cts-row::-webkit-scrollbar{display:none;}
  .cts-item{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;}
  .cts-ring{width:56px;height:56px;border-radius:50%;overflow:hidden;border:2.5px solid var(--wa);display:inline-flex;flex:0 0 auto;}
  .cts-ring svg{display:block;width:56px;height:56px;}
  .cts-item span{font-size:11px;color:var(--ink-2);font-weight:600;max-width:60px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

  /* гео маркета */
  .mkgeo-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 6px;}
  #mk-geo-label{font-size:13px;font-weight:700;color:var(--ink-2);}
  .mkgeo-tabs{display:flex;gap:6px;}
  .mkgeo-tabs button{background:var(--panel);border:none;color:var(--ink-2);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .mkgeo-tabs button.on{background:var(--wa);color:#fff;}
  .mkgeo-item{display:flex;align-items:center;gap:11px;margin:0 16px 8px;border:1px solid var(--line);border-radius:13px;padding:12px;cursor:pointer;transition:border-color .15s var(--мяг);}
  .mkgeo-item:active{border-color:var(--wa);}
  .mkg-add{display:block;font-size:11px;font-weight:700;color:var(--wa-deep);margin-top:3px;text-align:right;}
  .mkg-e{font-size:22px;flex:0 0 auto;line-height:1;}
  .mkg-i{flex:1;min-width:0;}
  .mkg-i b{font-size:14px;display:block;line-height:1.25;}
  .mkg-i span{font-size:11.5px;color:var(--ink-3);}
  .mkg-r{text-align:right;flex:0 0 auto;}
  .mkg-n{display:block;font-size:11.5px;color:#B8722A;font-weight:700;}
  .mkg-p{display:block;font-size:15px;font-weight:800;}

  /* КОРЗИНА */
  .cart-head{padding:18px 16px 10px;}
  .cart-head b{font-size:22px;font-weight:800;display:block;}
  .cart-head span{font-size:13px;color:var(--ink-2);}
  #cart-empty{padding:50px 20px;text-align:center;}
  .cart-empty-i{font-size:48px;display:block;margin-bottom:14px;}
  #cart-empty b{font-size:17px;display:block;margin-bottom:8px;}
  #cart-empty p{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin:0;}
  .cgrp{margin:0 16px 16px;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
  .cgrp-h{display:flex;align-items:baseline;justify-content:space-between;padding:13px 14px 10px;border-bottom:1px solid var(--line);background:var(--panel);}
  .cgrp-h b{font-size:15px;font-weight:800;}
  .cgrp-h span{font-size:12px;color:var(--wa-deep);font-weight:700;}
  .citem{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line);}
  .ci-e{font-size:20px;flex:0 0 auto;line-height:1;}
  .ci-i{flex:1;min-width:0;}
  .ci-i b{font-size:14px;display:block;line-height:1.25;}
  .ci-ref{font-size:11px;color:var(--wa-deep);font-weight:600;display:block;}
  .ci-p{font-size:14px;font-weight:800;flex:0 0 auto;}
  .ci-rm{background:none;border:none;color:var(--ink-3);font-size:20px;flex:0 0 auto;cursor:pointer;padding:0 0 0 6px;line-height:1;}
  .cgrp-total{display:flex;justify-content:space-between;align-items:baseline;padding:11px 14px;border-bottom:1px solid var(--line);}
  .cgrp-total span{font-size:13px;color:var(--ink-2);}
  .cgrp-total b{font-size:16px;font-weight:800;}
  .cgrp-btn{width:100%;background:var(--wa);border:none;color:#fff;padding:14px;font-size:14.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .cbadge{background:#fff;color:var(--wa-dark);border-radius:999px;font-size:10px;font-weight:800;padding:1px 6px;margin-left:4px;display:inline-block;vertical-align:middle;}
  /* слайдер рекомендаций */
  .cart-suggest-wrap{overflow:hidden;}
  .cart-suggest-scroll{display:flex;gap:10px;overflow-x:scroll;padding:4px 16px 16px;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scroll-snap-type:x mandatory;}
  .cart-suggest-scroll::-webkit-scrollbar{display:none;}
  .csug-card{flex:0 0 140px;scroll-snap-align:start;border:1px solid var(--line);border-radius:14px;padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:4px;}
  .csug-e{font-size:24px;line-height:1;display:block;}
  .csug-card b{font-size:13.5px;line-height:1.25;display:block;}
  .csug-card span{font-size:11px;color:var(--ink-3);display:block;}
  .csug-p{font-size:14px;font-weight:800;color:var(--ink)!important;margin-top:4px;}
  .csug-btn{margin-top:6px;width:100%;background:var(--wa-soft);border:none;color:var(--wa-deep);border-radius:8px;padding:7px;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}

  /* мои топ-посты */
  .mypost-card{flex:0 0 160px;scroll-snap-align:start;border:1px solid var(--line);border-radius:14px;padding:13px;display:flex;flex-direction:column;gap:5px;background:#fff;}
  .mypost-e{font-size:26px;line-height:1;display:block;margin-bottom:3px;}
  .mypost-card b{font-size:13px;font-weight:800;line-height:1.3;display:block;}
  .mypost-stats{display:flex;flex-direction:column;gap:2px;}
  .mypost-stats span{font-size:11px;color:var(--ink-3);}
  .mypost-share{margin-top:6px;width:100%;background:var(--wa);border:none;color:#fff;border-radius:9px;padding:8px;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}

  /* универсальный экран контакта */
  .wantlike-btn{display:block;width:calc(100% - 32px);margin:4px 16px 8px;background:var(--wa);border:none;color:#fff;border-radius:14px;height:48px;font-size:15px;font-weight:800;font-family:'Inter',sans-serif;cursor:pointer;transition:background .2s var(--мяг);}
  .wantlike-btn.active{background:var(--panel);color:var(--wa-deep);border:1.5px solid var(--wa);}
  .ctpbio{padding:12px 16px 4px;}
  .ctpbio p{font-size:14px;line-height:1.6;color:var(--ink-2);margin:0;}
  .ctpsect{margin:14px 16px;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
  /* ОНБОРДИНГ */
  .ob{position:absolute;inset:0;z-index:120;background:#fff;display:none;}
  .ob.on{display:block;}
  .ob-in{position:relative;height:100%;}
  /* Экран знакомства прокручивается.

     Без прокрутки на Android второй шаг обрывался: там крупное число,
     карточка с рекордом, четыре строки подписи и кнопка — на экране
     с адресной строкой браузера всё это выше, чем высота окна, и кнопка
     «Начать» оказывалась за нижним краем без всякой возможности до неё
     добраться. Человек упирался в тупик на втором экране приложения.

     Заодно это лечит любой телефон пониже и любой шрифт покрупнее:
     не влезло — прокрутил. */
  .ob-step{position:absolute;inset:0;display:none;flex-direction:column;
    padding:64px 28px calc(28px + env(safe-area-inset-bottom));opacity:0;
    overflow-y:auto;-webkit-overflow-scrolling:touch;}
  .ob-step.on{display:flex;animation:obIn .45s cubic-bezier(.2,.8,.2,1) forwards;}
  @keyframes obIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
  .ob-back{position:absolute;top:22px;left:20px;width:34px;height:34px;border-radius:50%;
    background:var(--panel);color:var(--ink-2);font-size:20px;display:flex;
    align-items:center;justify-content:center;cursor:pointer;}
  .ob-mark{font-size:13px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;
    color:var(--wa);margin-bottom:auto;}
  .ob-h{font-size:36px;font-weight:800;line-height:1.12;letter-spacing:-.02em;
    color:var(--ink-1);margin:0 0 12px;}
  .ob-p{font-size:16px;line-height:1.55;color:var(--ink-2);margin:0;}
  .ob-i{width:100%;margin-top:26px;background:var(--panel);border:1.5px solid transparent;
    border-radius:14px;padding:16px;font-size:19px;font-family:'Inter',sans-serif;
    outline:none;color:var(--ink-1);}
  .ob-i:focus{border-color:var(--wa);background:#fff;}
  .ob-hint{font-size:13px;color:var(--wa-dark);margin-top:12px;min-height:18px;font-weight:600;}
  .ob-sp{flex:1;min-height:24px;}
  /* Кнопке нельзя ужиматься: в тесной колонке flex сплющивал её до полоски
     в несколько пикселей, и она была видна, но не нажималась. */
  .ob-b{width:100%;flex:0 0 auto;background:var(--wa);border:none;color:#fff;border-radius:15px;
    height:54px;font-size:16px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .ob-b:active{opacity:.85;}
  .ob-skip{width:100%;background:none;border:none;color:var(--ink-3);font-size:13.5px;
    font-family:'Inter',sans-serif;padding:14px 0 2px;cursor:pointer;}
  /* Верхний отступ был auto — число прижималось к середине экрана. В колонке
     с прокруткой такой отступ уводит содержимое ВЫШЕ начала прокрутки, и
     докрутить до него нельзя. Заменён на обычный: вниз кнопку по-прежнему
     отжимает распорка .ob-sp, а на высоких экранах вид почти не меняется. */
  .ob-big{font-size:66px;font-weight:800;letter-spacing:-.03em;color:var(--wa-dark);
    line-height:1;margin:18px 0 6px;font-variant-numeric:tabular-nums;}
  .ob-card{margin-top:22px;background:var(--wa-soft);border-radius:16px;padding:16px 18px;}
  .ob-card b{display:block;font-size:12px;font-weight:800;letter-spacing:.05em;
    text-transform:uppercase;color:var(--wa-dark);margin-bottom:6px;}
  .ob-card p{margin:0;font-size:15px;line-height:1.5;color:var(--ink-1);}
  .ob-list{margin-top:28px;display:flex;flex-direction:column;gap:18px;}
  .ob-li{display:flex;gap:14px;align-items:flex-start;}
  .ob-li>span{font-size:24px;flex:0 0 auto;line-height:1.1;}
  .ob-li b{display:block;font-size:15px;font-weight:700;color:var(--ink-1);}
  .ob-li div>span{display:block;font-size:13.5px;color:var(--ink-2);line-height:1.45;margin-top:2px;}
  #ctl-ads-block{border-color:var(--wa);}
  .meal-hi{border-color:#F0A63C;background:#FFFCF6;}
  .meal-hi .ctps-h b{color:#B45309;}
  /* МОЙ РОД */
  .kin-intro{font-size:12.5px;color:var(--ink-3);line-height:1.5;margin:0 0 12px;}
  .kin-empty{font-size:13px;color:var(--ink-3);line-height:1.5;padding:16px;
    background:var(--panel);border-radius:14px;text-align:center;}
  .kin-card{border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;cursor:pointer;}
  .kid-card{border-color:var(--wa);background:linear-gradient(135deg,var(--wa-soft),#fff);}
  .self-card{border-color:var(--wa-dark);background:linear-gradient(135deg,var(--wa-soft),#fff);}
  .self-card .kin-hd{margin-bottom:9px;}
  .ov-arr{margin-left:auto;font-size:22px;color:var(--wa);flex:0 0 auto;}
  .kin-card:active{background:var(--panel);}
  .kin-hd{display:flex;align-items:center;gap:11px;margin-bottom:9px;}
  .kin-av{width:38px;height:38px;border-radius:50%;flex:0 0 auto;display:flex;
    align-items:center;justify-content:center;font-size:17px;font-weight:800;}
  .kin-i{min-width:0;}
  .kin-i b{display:block;font-size:14.5px;font-weight:700;color:var(--ink-1);}
  .kin-i span{display:block;font-size:12px;color:var(--ink-3);margin-top:1px;}
  .kin-proud{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin:0 0 12px;font-style:italic;}
  .kin-track{position:relative;height:26px;margin:6px 2px 4px;}
  .kin-line{position:absolute;top:12px;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--kc),var(--kc));opacity:.25;border-radius:2px;}
  .kin-dot{position:absolute;top:9px;width:8px;height:8px;border-radius:50%;
    background:var(--kc);transform:translateX(-50%);}
  .kin-me{position:absolute;top:6px;width:14px;height:14px;border-radius:50%;
    background:#F0A63C;border:2.5px solid #fff;box-shadow:0 0 0 1.5px #F0A63C;
    transform:translateX(-50%);z-index:2;}
  .kin-echo{font-size:12px;color:var(--wa-dark);background:var(--wa-soft);
    border-radius:10px;padding:8px 11px;margin-top:10px;line-height:1.45;}
  /* страница предка */
  .kl-hd-av{width:36px;height:36px;border-radius:50%;flex:0 0 auto;color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;}
  .kl-del-b{background:none;border:none;color:var(--danger,#C0392B);font-size:13px;
    font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;margin-left:auto;flex:0 0 auto;}
  .kl-proud-b{font-size:14.5px;color:var(--ink-1);line-height:1.55;font-style:italic;
    margin:0;padding:13px 14px;background:var(--wa-soft);border-radius:13px;}
  .kl-ev{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line);}
  .kl-d{flex:0 0 62px;font-size:12px;font-weight:700;color:var(--ink-3);}
  .kl-t{flex:1;font-size:14px;color:var(--ink-1);line-height:1.4;}
  .kl-take{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--wa-dark);
    background:var(--wa-soft);border-radius:8px;padding:6px 11px;cursor:pointer;}
  .kl-you{display:flex;align-items:center;gap:9px;padding:11px 4px;
    font-size:12.5px;font-weight:700;color:#B45309;}
  .kl-proud-row{display:flex;align-items:flex-start;gap:9px;margin:16px 0 18px;}
  .kl-proud-row.empty{margin:14px 0 16px;}
  .kl-proud-row.empty .kl-edit-info{flex:1;background:none;border:1px dashed var(--line);
    color:var(--ink-3);padding:11px;font-weight:600;}
  .kl-proud-row .kl-proud-b{flex:1;}
  .kl-edit-info{flex:0 0 auto;background:var(--wa-soft);color:var(--wa-dark);border:none;
    border-radius:9px;padding:7px 12px;font-size:12px;font-weight:700;
    font-family:'Inter',sans-serif;cursor:pointer;margin-top:2px;}
  .kl-ev-acts{display:flex;align-items:center;gap:4px;flex:0 0 auto;}
  .kl-post{background:var(--wa-soft);color:var(--wa-dark);border:none;border-radius:8px;
    padding:6px 9px;font-size:11.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;white-space:nowrap;}
  .kl-ev-edit,.kl-ev-del{width:26px;height:26px;border-radius:7px;border:none;background:var(--panel);
    color:var(--ink-3);font-size:12px;cursor:pointer;flex:0 0 auto;}
  .kl-ev-del:active{background:#F3D6D6;color:#C0392B;}
  .kinev-hint{font-size:12px;color:var(--ink-3);line-height:1.4;margin:8px 0 0;}
  .kin-death-lab span{font-weight:400;color:var(--ink-3);font-size:11.5px;}
  .kin-sex{display:flex;gap:8px;margin-bottom:4px;}
  .ksx{flex:1;padding:11px;border:1.5px solid var(--line);border-radius:11px;background:#fff;
    font-size:14px;font-weight:600;font-family:'Inter',sans-serif;color:var(--ink-2);cursor:pointer;}
  .ksx.on{border-color:var(--wa);background:var(--wa-soft);color:var(--wa-dark);}
  .kl-you span{width:12px;height:12px;border-radius:50%;background:#F0A63C;
    border:2.5px solid #fff;box-shadow:0 0 0 1.5px #F0A63C;flex:0 0 auto;}
  /* линия предка сверху */
  .kl-track2{margin:0 2px 20px;}
  .klt-line{position:relative;height:16px;margin-bottom:10px;}
  .klt-line::before{content:'';position:absolute;top:6px;left:0;right:0;height:4px;
    background:var(--line);border-radius:2px;}
  .klt-fill{position:absolute;top:6px;left:0;height:4px;border-radius:2px;
    background:#F0A63C;z-index:1;}
  .klt-dot{position:absolute;top:4px;width:8px;height:8px;border-radius:50%;
    background:var(--kc);transform:translateX(-50%);z-index:2;}
  .klt-me{position:absolute;top:0;width:16px;height:16px;border-radius:50%;
    background:#F0A63C;border:3px solid #fff;box-shadow:0 0 0 1.5px #F0A63C;
    transform:translateX(-50%);z-index:3;}
  .klt-ax{position:relative;height:18px;font-size:10.5px;color:var(--ink-3);}
  .klt-a1{position:absolute;left:0;}
  .klt-a2{position:absolute;right:0;}
  .klt-you{position:relative;height:16px;margin-top:3px;}
  .klt-you span{position:absolute;transform:translateX(-50%);color:#B45309;font-weight:700;
    font-size:10.5px;white-space:nowrap;}
  .ctl{background:var(--panel);border:1px solid var(--line);border-radius:16px;
    padding:6px 4px 2px;margin:0 0 12px;}
  .ctl svg{width:100%;display:block;touch-action:none;}
  .lcmp{margin:0 0 18px;}
  .lcmp-b{background:#FFF6E8;border:1px solid #F2E0C0;border-radius:14px;padding:13px 14px;}
  .lcmp-b > b{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;
    text-transform:uppercase;color:#B45309;margin-bottom:9px;}
  .lcmp-b p{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink-1);}
  .cmp-two{display:flex;flex-direction:column;gap:10px;}
  .cmp-side{padding-left:11px;border-left:3px solid #E4C89A;}
  .cmp-side.me{border-left-color:#F0A63C;}
  .cmp-who{display:block;font-size:10.5px;font-weight:700;letter-spacing:.03em;
    color:var(--ink-3);text-transform:none;margin-bottom:2px;}
  .cmp-side b{display:block;font-size:13.5px;font-weight:600;line-height:1.4;color:var(--ink-1);}
  .cmp-when{display:block;font-size:11px;color:var(--ink-3);margin-top:2px;}
  .ev-who{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px;}
  .ev-who button{border:1px solid var(--line);background:var(--wa-soft);color:var(--wa-deep);
    border-radius:99px;padding:3px 10px;font-size:11px;font-weight:700;cursor:pointer;
    font-family:'Inter',sans-serif;}
  .ev-who button:active{opacity:.8;}
  .nobirth{background:var(--panel);border:1px dashed var(--line);border-radius:14px;padding:14px;}
  .nobirth b{display:block;font-size:13px;font-weight:700;color:var(--ink-2);margin-bottom:5px;}
  .nobirth p{margin:0 0 11px;font-size:12.5px;line-height:1.5;color:var(--ink-3);}
  .nobirth button{border:1px solid var(--line);background:#fff;color:var(--wa-deep);border-radius:9px;
    padding:8px 13px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;}
  .shared{background:var(--wa-soft);border:1px solid #EBD9E6;border-radius:16px;
    padding:14px;margin:0 0 20px;}
  .shared-h{font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
    color:var(--wa-deep);margin-bottom:10px;}
  .shared-i{display:flex;gap:11px;padding:9px 0;border-bottom:1px solid rgba(199,125,168,.20);}
  .shared-i:last-child{border-bottom:none;}
  .shared-i span{flex:0 0 64px;font-size:11px;color:var(--ink-3);padding-top:2px;}
  .shared-i b{font-weight:600;font-size:13.5px;line-height:1.4;}
  .shared-sub{font-weight:400;font-size:11px;color:var(--ink-3);margin-top:2px;}
  .kl-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 28px;}
  .kl-act{display:flex;align-items:center;justify-content:center;gap:7px;
    border:1px solid var(--line);background:#fff;color:var(--ink-2);border-radius:12px;
    height:44px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .kl-act span{font-size:13px;opacity:.7;}
  .kl-act.main{grid-column:1 / -1;background:var(--wa);border-color:var(--wa);color:#fff;}
  .kl-act.main span{opacity:1;}
  .kl-act.on{background:var(--wa-soft);border-color:var(--wa);color:var(--wa-deep);}
  .kl-act:active{opacity:.85;}
  .dv-json{font-size:10px;line-height:1.45;max-height:180px;}
  .ctad{display:flex;align-items:flex-start;gap:11px;padding:12px 13px;cursor:pointer;}
  .ctad + .ctad{border-top:1px solid var(--line);}
  .ctad:active{background:var(--wa-soft);}
  .ctad-e{font-size:20px;flex:0 0 auto;line-height:1.2;}
  .ctad-i{flex:1;min-width:0;}
  .ctad-i b{display:block;font-size:14px;font-weight:700;color:var(--ink-1);line-height:1.3;}
  .ctad-i span{display:block;font-size:12px;color:var(--ink-2);margin-top:2px;line-height:1.4;}
  .ctad-m{font-size:11px !important;color:var(--ink-3) !important;margin-top:3px !important;}
  .ctad-r{flex:0 0 auto;text-align:right;}
  .ctad-r b{display:block;font-size:14px;font-weight:800;color:var(--ink-1);white-space:nowrap;}
  .ctad-r span{display:block;font-size:10.5px;color:var(--ink-3);}
  .ctpsect.ctps-comm{border-color:#F0A63C;background:#FFF8EE;}
  .ctps-h{display:flex;align-items:baseline;justify-content:space-between;padding:13px 14px 8px;border-bottom:1px solid var(--line);background:var(--panel);}
  .ctps-h b{font-size:15px;font-weight:800;}
  .ctps-h span{font-size:12px;color:var(--ink-3);}
  .ctpa{display:flex;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);}
  .ctpa-t{font-size:12px;font-weight:700;color:var(--ink-3);flex:0 0 46px;}
  .ctpa-x{font-size:13.5px;line-height:1.45;flex:1;}
  .ctpa-more{display:block;width:100%;background:none;border:none;padding:10px 14px;font-size:13px;color:var(--wa-deep);font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;text-align:left;}
  .ctpa-hidden{}
  .ctps-btn{display:block;width:calc(100% - 28px);margin:12px 14px;background:var(--panel);border:1.5px solid var(--line);color:var(--ink);border-radius:12px;height:44px;font-size:13.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .ctps-btn.green{background:var(--wa);border-color:var(--wa);color:#fff;}
  .ctps-note{font-size:11.5px;color:var(--ink-3);text-align:center;padding:0 14px 12px;margin:0;}
  .ctps-desc{font-size:13px;color:var(--ink-2);padding:10px 14px;margin:0;line-height:1.5;}
  .ctmi{display:flex;align-items:baseline;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);}
  .ctmi-h{font-size:11.5px;font-weight:700;color:var(--ink-3);flex:0 0 46px;}
  .ctmi-t{font-size:13.5px;flex:1;line-height:1.4;}
  .ctmi-k{font-size:11.5px;color:var(--ink-3);flex:0 0 auto;}
  .tseller{display:flex;align-items:center;gap:11px;margin:0 16px 8px;border:1px solid var(--line);border-radius:13px;padding:12px;}
  .tsel-av{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex:0 0 auto;}
  .tsel-i{flex:1;min-width:0;}
  .tsel-i b{font-size:14px;display:block;line-height:1.25;}
  .tsel-i span{font-size:12px;color:var(--ink-3);}
  .tsel-r{flex:0 0 auto;text-align:right;}
  .tl-av{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;margin-bottom:6px;flex:0 0 auto;}

  /* ЭКРАН ВЫБОРА НАМЕРЕНИЯ */
  .cam-intent{position:absolute;inset:0;background:#fff;display:none;flex-direction:column;z-index:2;}
  .ci-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--wa-dark);}
  .ci-hdr span{color:#fff;font-size:16px;font-weight:800;}
  .ci-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:24px 16px;}
  .ci-choice{display:flex;align-items:center;gap:14px;border:1.5px solid var(--line);border-radius:18px;padding:20px 16px;cursor:pointer;transition:border-color .15s var(--мяг),background .15s var(--мяг);}
  .ci-choice:active{border-color:var(--wa);background:var(--wa-soft);}
  .ci-buy{border-color:#B8722A;background:#FFF8EE;}
  .ci-buy:active{background:#FDEBD0;}
  .ci-icon{font-size:32px;flex:0 0 auto;line-height:1;}
  .ci-text{flex:1;}
  .ci-text b{font-size:17px;font-weight:800;display:block;line-height:1.25;}
  .ci-text span{font-size:13px;color:var(--ink-2);display:block;margin-top:4px;line-height:1.4;}
  .ci-arr{font-size:22px;color:var(--ink-3);flex:0 0 auto;}
  /* ЭКРАН ПОКУПКИ */
  .buy-body{flex:1;overflow-y:auto;padding:16px;}
  .buy-intro{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin:0 0 16px;}
  .buy-field textarea{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:13px;font-size:15px;font-family:'Inter',sans-serif;color:var(--ink);resize:none;box-sizing:border-box;line-height:1.55;}
  .buy-field textarea:focus{outline:none;border-color:var(--wa);}
  .buy-price-block{margin-top:16px;background:var(--panel);border-radius:14px;padding:14px;}
  .buy-price-label{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;}
  .buy-price-label b{font-size:14px;font-weight:800;}
  .buy-ai-hint{font-size:11.5px;color:var(--wa-deep);font-weight:600;}
  .buy-price-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
  .buy-minus,.buy-plus{width:40px;height:40px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-size:20px;cursor:pointer;font-family:'Inter',sans-serif;display:flex;align-items:center;justify-content:center;}
  .buy-price-val{font-size:24px;font-weight:800;color:var(--ink);}
  .buy-slider{width:100%;accent-color:var(--wa);margin-bottom:10px;}
  .buy-note{font-size:12px;color:var(--ink-3);line-height:1.5;margin:0;}
  .buy-when{margin-top:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .buy-when-label{font-size:13px;font-weight:700;color:var(--ink-2);flex:0 0 auto;}
  .buy-send{width:100%;margin-top:20px;background:var(--wa);border:none;color:#fff;border-radius:14px;height:52px;font-size:15px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .buy-send:disabled{opacity:.4;cursor:default;}
  .cam-overlay{position:absolute;inset:0;background:#000;z-index:100;display:none;flex-direction:column;}
  .cam-overlay.on{display:flex;}
  .cam-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;position:absolute;top:0;left:0;right:0;z-index:2;background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent);}
  .cam-close,.cam-flip{background:none;border:none;color:#fff;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;}
  .cam-close{font-size:20px;}
  .cam-hdr span{color:#fff;font-size:16px;font-weight:800;}
  .cam-view{flex:1;position:relative;overflow:hidden;}
  #cam-video{width:100%;height:100%;object-fit:cover;}
  .cam-hints{position:absolute;top:80px;left:0;right:0;display:flex;justify-content:center;z-index:3;pointer-events:none;}
  .cam-hint-bubble{background:rgba(0,0,0,.75);color:#fff;border-radius:20px;padding:10px 18px;font-size:14px;font-weight:600;max-width:80%;text-align:center;line-height:1.4;backdrop-filter:blur(8px);}
  .cam-scan{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3;pointer-events:none;}
  .cam-scan-line{width:70%;height:2px;background:var(--wa);border-radius:2px;animation:scanMove 1.5s ease-in-out infinite alternate;box-shadow:0 0 12px var(--wa);}
  @keyframes scanMove{from{transform:translateY(-60px)}to{transform:translateY(60px)}}
  .cam-scan span{color:#fff;font-size:13px;font-weight:700;margin-top:16px;background:rgba(0,0,0,.5);padding:6px 14px;border-radius:999px;}
  .cam-found{position:absolute;bottom:0;left:0;right:0;z-index:4;background:linear-gradient(to top,rgba(0,0,0,.92) 55%,transparent);padding:20px 16px 16px;max-height:76%;overflow-y:auto;}
  .cf-prod{background:rgba(255,255,255,.12);border-radius:16px;padding:14px;margin-bottom:12px;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);}
  .cf-btns{display:flex;gap:10px;}
  .cf-sell{flex:1;background:var(--wa);border:none;color:#fff;border-radius:12px;height:48px;font-size:15px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .cf-skip{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:12px;height:48px;padding:0 18px;font-size:14px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;}
  .cf-ai{color:rgba(255,255,255,.85);font-size:13px;line-height:1.5;margin-bottom:12px;}
  .cf-item{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
  .cf-e{font-size:34px;line-height:1;flex:0 0 auto;}
  .cf-ii b{color:#fff;font-size:17px;font-weight:800;display:block;}
  .cf-ii span{color:rgba(255,255,255,.6);font-size:12.5px;}
  .cf-found-label{color:rgba(255,255,255,.55);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px;}
  .cf-sellers{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
  .cf-seller{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:11px;background:rgba(255,255,255,.08);border:1.5px solid transparent;cursor:pointer;}
  .cf-seller.on{border-color:var(--wa);background:rgba(37,211,102,.16);}
  .cf-sn b{color:#fff;font-size:13.5px;font-weight:700;display:block;line-height:1.2;}
  .cf-sn span{color:rgba(255,255,255,.55);font-size:11.5px;}
  .cf-sp{color:#fff;font-size:15px;font-weight:800;}
  .cf-markup{background:rgba(255,255,255,.08);border-radius:13px;padding:12px;margin-bottom:12px;}
  .cf-mk-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;}
  .cf-mk-head span{color:rgba(255,255,255,.7);font-size:12.5px;font-weight:600;}
  .cf-mk-head b{color:var(--wa);font-size:18px;font-weight:800;}
  .cf-mk-slider{width:100%;accent-color:var(--wa);margin-bottom:10px;}
  .cf-mk-rows{display:flex;flex-direction:column;gap:5px;}
  .cf-mk-row{display:flex;align-items:baseline;justify-content:space-between;}
  .cf-mk-row span{color:rgba(255,255,255,.6);font-size:12px;}
  .cf-mk-row b{color:#fff;font-size:14px;font-weight:800;}
  .cf-mk-row.green b{color:var(--wa);}
  .cf-story{color:rgba(255,255,255,.65);font-size:12.5px;font-style:italic;line-height:1.5;}
  .cs-earn{background:var(--wa-soft);color:var(--wa-deep);border-radius:11px;padding:10px 12px;margin-bottom:12px;font-size:13px;}
  .cs-earn b{font-size:15px;}
  .cam-or{color:rgba(255,255,255,.5);font-size:12px;font-weight:600;}
  .cam-shoot{width:72px;height:72px;border-radius:50%;background:transparent;border:3px solid #fff;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
  .cam-shoot-inner{width:100%;height:100%;background:#fff;border-radius:50%;}
  .cam-manual-links{display:flex;gap:16px;}
  .cam-manual-links button{background:none;border:none;color:rgba(255,255,255,.75);font-size:13px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;padding:4px;}
  .cam-success{position:absolute;inset:0;background:rgba(0,0,0,.92);z-index:5;display:flex;align-items:center;justify-content:center;}
  .cs-inner{background:#fff;border-radius:24px;padding:28px 22px;margin:20px;text-align:center;}
  .cs-ok{width:60px;height:60px;background:var(--wa);border-radius:50%;color:#fff;font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
  .cs-inner b{font-size:20px;display:block;margin-bottom:8px;}
  .cs-inner p{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin:0 0 16px;}
  .cs-link{background:var(--panel);border-radius:11px;padding:11px 13px;margin-bottom:14px;font-size:13px;color:var(--ink-2);}
  .cs-share{display:flex;gap:10px;margin-bottom:14px;}
  .cs-share button{flex:1;border:1.5px solid var(--line);background:#fff;border-radius:12px;height:44px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .cs-done{width:100%;background:var(--wa);border:none;color:#fff;border-radius:12px;height:48px;font-size:14.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .mf-choices{padding:4px 16px 20px;display:flex;flex-direction:column;gap:10px;}
  .mf-choice{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:16px;padding:14px;cursor:pointer;transition:border-color .15s var(--мяг);}
  .mf-choice:active{border-color:var(--wa);}
  .mf-choice.accent{border-color:#F0A63C;background:#FFF8EE;}
  .mfc-e{font-size:26px;flex:0 0 auto;line-height:1;}
  .mfc-t{flex:1;min-width:0;}
  .mfc-t b{font-size:15px;font-weight:800;display:block;line-height:1.25;}
  .mfc-t span{font-size:12.5px;color:var(--ink-2);display:block;margin-top:3px;line-height:1.4;}
  .mfc-arr{color:var(--ink-3);font-size:20px;flex:0 0 auto;}
  .mf-back-h{display:flex;align-items:center;gap:10px;padding:8px 16px 12px;}
  .mf-back{background:none;border:none;font-size:22px;color:var(--ink-2);cursor:pointer;flex:0 0 auto;padding:0;font-family:'Inter',sans-serif;}
  .mf-back-h>div{min-width:0;}
  .mf-back-h b{font-size:17px;display:block;line-height:1.2;}
  .mf-back-h span{font-size:12.5px;color:var(--ink-2);}
  .mf-field{padding:0 16px 10px;}
  .mf-field textarea,.mf-field input{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:13px;font-size:15px;font-family:'Inter',sans-serif;color:var(--ink);resize:none;box-sizing:border-box;line-height:1.55;transition:border-color .15s var(--мяг);}
  .mf-field textarea:focus,.mf-field input:focus{outline:none;border-color:var(--wa);}
  .mf-chars{text-align:right;font-size:11px;color:var(--ink-3);margin-top:5px;}
  .mf-match-label{font-size:12px;font-weight:700;color:var(--wa-deep);padding:0 16px 7px;}
  .mfp-card{display:flex;align-items:center;gap:11px;margin:0 16px 10px;background:var(--wa-soft);border:1.5px solid #C9EED8;border-radius:14px;padding:13px;}
  .mfp-e{font-size:24px;flex:0 0 auto;line-height:1;}
  .mfp-i{flex:1;min-width:0;}
  .mfp-i b{font-size:14.5px;display:block;line-height:1.25;}
  .mfp-i span{font-size:12px;color:var(--wa-deep);font-weight:600;display:block;margin-top:2px;}
  .mfp-p{font-size:17px;font-weight:800;flex:0 0 auto;color:var(--ink);}
  .mf-skip{background:none;border:none;color:var(--ink-3);font-size:12.5px;font-family:'Inter',sans-serif;padding:0 16px 12px;cursor:pointer;display:block;}
  .mf-actions{padding:4px 16px 20px;}
  .mf-btn{width:100%;background:var(--wa);border:none;color:#fff;border-radius:14px;height:52px;font-size:15px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;transition:opacity .15s var(--в);}
  .mf-btn:disabled{opacity:.4;cursor:default;}
  .mf-hint{font-size:12px;color:var(--ink-3);text-align:center;margin:10px 0 0;line-height:1.4;}
  /* запрос к продавцам */
  .mfr-opts{padding:0 16px 14px;}
  .mfr-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
  .mfr-row>span{font-size:13px;font-weight:700;color:var(--ink-2);flex:0 0 70px;}
  .mfr-btns{display:flex;gap:7px;flex-wrap:wrap;}
  .mfr-btns button{background:var(--panel);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .mfr-btns button.on{background:var(--wa);border-color:var(--wa);color:#fff;}
  /* успех запроса */
  .mf-success{padding:20px 16px 28px;text-align:center;}
  .mf-ok{width:60px;height:60px;background:var(--wa);border-radius:50%;color:#fff;font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
  .mf-success b{font-size:20px;display:block;margin-bottom:8px;}
  .mf-success p{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin:0 0 18px;}
  .mf-link{display:flex;align-items:center;gap:8px;background:var(--panel);border-radius:11px;padding:11px 13px;margin-bottom:16px;}
  .mf-link span{flex:1;font-size:13px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;}
  .mf-link button{background:none;border:none;color:var(--wa-deep);font-size:13px;font-weight:700;font-family:'Inter',sans-serif;flex:0 0 auto;cursor:pointer;}
  .mf-share-row{display:flex;gap:10px;margin-bottom:16px;}
  .mf-ws,.mf-ig{flex:1;border:1.5px solid var(--line);background:#fff;border-radius:12px;height:46px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;color:var(--ink);}
  .mf-done{width:100%;background:var(--wa);border:none;color:#fff;border-radius:12px;height:48px;font-size:14.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .mfr-live{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:18px;font-size:13px;color:#B8722A;font-weight:700;}
  .mfrl-dot{width:8px;height:8px;border-radius:50%;background:#F0A63C;animation:pulse 1.5s infinite;}
  .fsc{width:60px;height:60px;border-radius:50%;overflow:hidden;padding:2.5px;background:linear-gradient(135deg,var(--c),#fff);box-sizing:border-box;}
  .fsc>svg{border-radius:50%;background:#fff;}
  .fstory span{font-size:10.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62px;font-weight:600;}
  .fhead{padding:16px 16px 10px;display:flex;align-items:center;gap:12px;}
  .fhead .fhtxt{flex:1;min-width:0;}
  .fhead b{font-size:19px;font-weight:800;display:block;letter-spacing:-.02em;}
  .fhead span{font-size:13px;color:var(--ink-2);}
  .fplus{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--wa);border:none;color:#fff;font-size:20px;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1;font-family:'Inter',sans-serif;cursor:pointer;}
  .meal2{margin:0 16px 8px;border:1px solid var(--line);border-radius:13px;padding:12px 13px;}
  .m2h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:5px;}
  .m2t{font-size:12.5px;font-weight:800;color:var(--ink-2);}
  .m2s{font-size:11px;color:var(--ink-3);}
  .m2b{margin:0;font-size:14px;line-height:1.45;}
  .sect2{padding:22px 16px 6px;font-size:12px;font-weight:800;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;}
  .fcap{padding:0 16px;font-size:13px;color:var(--ink-2);margin:0 0 12px;line-height:1.5;}
  .lfood{margin:0 16px 10px;border:1px solid var(--line);border-radius:15px;padding:14px;}
  .lfh{display:flex;align-items:center;gap:11px;margin-bottom:9px;}
  .lfe{font-size:24px;flex:0 0 auto;line-height:1;}
  .lfi{flex:1;min-width:0;}
  .lfi b{font-size:15px;display:block;line-height:1.3;}
  .lfi span{font-size:12px;color:var(--ink-3);}
  .lfp{font-size:15px;font-weight:800;flex:0 0 auto;}
  .lfd{margin:0 0 10px;font-size:13px;line-height:1.55;color:var(--ink-2);}
  .lfw{background:#FDECEC;border-radius:9px;padding:8px 10px;font-size:11.5px;color:#8C2F2F;line-height:1.45;margin-bottom:10px;}
  .lfb{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .lfs{font-size:11.5px;color:var(--ink-3);}
  .lfbtn{background:#fff;border:1.5px solid var(--wa);color:var(--wa-deep);border-radius:10px;padding:9px 14px;font-size:12.5px;font-weight:700;font-family:'Inter',sans-serif;flex:0 0 auto;}
  .lfbtn.on{background:var(--wa);color:#fff;}
  .cartbox{margin:14px 16px 0;background:var(--wa-dark);border-radius:16px;padding:14px;color:#fff;}
  .cbh{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:11px;}
  .cbh b{font-size:15px;}
  .cbh span{font-size:12px;opacity:.65;}
  .cbi{display:flex;align-items:center;gap:9px;padding:8px 0;border-top:1px solid rgba(255,255,255,.12);}
  .cbe{font-size:16px;flex:0 0 auto;}
  .cbn{flex:1;font-size:13px;min-width:0;}
  .cbn i{display:block;font-style:normal;font-size:10.5px;opacity:.55;margin-top:1px;}
  .cbp{font-size:13px;font-weight:700;flex:0 0 auto;}
  .cbx{background:none;border:none;color:rgba(255,255,255,.5);font-size:16px;flex:0 0 auto;line-height:1;padding:0 0 0 4px;}
  .cbt{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-top:1px solid rgba(255,255,255,.2);margin-top:4px;}
  .cbt span{font-size:13px;opacity:.7;}
  .cbt b{font-size:19px;font-weight:800;}
  .cbbtn{width:100%;background:var(--wa);border:none;color:#fff;border-radius:11px;height:46px;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;}
  .cbn2{font-size:11px;opacity:.6;text-align:center;margin:8px 0 0;}
  .shop{display:flex;align-items:center;gap:11px;margin:0 16px 8px;border:1px solid var(--line);border-radius:13px;padding:12px;cursor:pointer;transition:border-color .15s var(--мяг);}
  .shop:active{border-color:var(--wa);}
  .lfood{cursor:pointer;}

  /* ---- ЭКРАН НАСТРОЕНИЙ ---- */
  .fq{padding:18px 16px 4px;}
  .fq b{font-size:20px;font-weight:800;display:block;letter-spacing:-.02em;line-height:1.25;}
  .fq span{font-size:13.5px;color:var(--ink-2);display:block;margin-top:5px;line-height:1.45;}
  .moodgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px 6px;}
  .moodc{border:1px solid var(--line);border-radius:16px;padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:border-color .15s var(--мяг),transform .1s var(--в);}
  .moodc:active{border-color:var(--wa);transform:scale(.98);}
  .moode{font-size:28px;line-height:1;margin-bottom:5px;}
  .moodc b{font-size:15px;font-weight:800;line-height:1.25;}
  .moodd{font-size:12px;color:var(--ink-2);line-height:1.4;flex:1;}
  .moodsh{font-size:11px;font-weight:700;margin-top:6px;}
  .fqcap{text-align:center;font-size:12.5px;color:var(--ink-3);margin:10px 16px 4px;}

  /* ---- КОНСТРУКТОР ---- */
  .bldhead{padding:16px 16px 4px;}
  .bldback{background:none;border:none;color:var(--ink-2);font-size:13.5px;font-weight:700;font-family:'Inter',sans-serif;padding:0 0 10px;cursor:pointer;}
  .bldsh{display:flex;align-items:center;gap:11px;}
  .bldsh .shav{width:44px;height:44px;border-radius:12px;}
  .bldsh .shi b{font-size:16px;}
  .bldsh .shi span{font-size:12px;color:var(--wa-deep);font-weight:700;}
  .bldq{display:flex;align-items:baseline;justify-content:space-between;padding:14px 16px 8px;}
  .bldq b{font-size:16px;font-weight:800;}
  .bldq span{font-size:12px;color:var(--ink-3);}
  .bldi{display:flex;align-items:center;gap:10px;margin:0 16px 7px;background:var(--wa-soft);border-radius:12px;padding:11px 13px;}
  .bldi-e{font-size:19px;flex:0 0 auto;line-height:1;}
  .bldi-n{flex:1;font-size:14px;font-weight:600;min-width:0;}
  .bldi-p{font-size:13.5px;font-weight:700;flex:0 0 auto;}
  .bldi-x{background:none;border:none;color:var(--ink-3);font-size:19px;line-height:1;flex:0 0 auto;padding:0 0 0 3px;cursor:pointer;}
  .bldmenu-t{padding:16px 16px 8px;font-size:12px;font-weight:800;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;}
  .mni{display:flex;align-items:center;gap:11px;margin:0 16px 7px;border:1px solid var(--line);border-radius:12px;padding:11px 13px;cursor:pointer;transition:border-color .15s var(--мяг);}
  .mni.on{border-color:var(--wa);background:var(--wa-soft);}
  .mni:active{border-color:var(--wa);}
  .mni-e{font-size:20px;flex:0 0 auto;line-height:1;}
  .mni-t{flex:1;min-width:0;}
  .mni-t b{font-size:14px;font-weight:600;display:block;line-height:1.3;}
  .mni-t span{font-size:11.5px;color:var(--ink-3);display:block;}
  .mni-p{font-size:13.5px;font-weight:700;flex:0 0 auto;}
  .mni-b{width:26px;height:26px;border-radius:50%;background:var(--wa);color:#fff;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:1;}
  .bldbar{margin:16px 16px 24px;background:var(--wa-dark);border-radius:16px;padding:14px;color:#fff;}
  .bldbar-l{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;}
  .bldbar-l span{font-size:13px;opacity:.7;}
  .bldbar-l b{font-size:22px;font-weight:800;}
  .bldbar-btn{width:100%;background:var(--wa);border:none;color:#fff;border-radius:11px;height:48px;font-size:14.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .bldbar-save{width:100%;margin-top:9px;background:transparent;border:1.5px solid rgba(255,255,255,.4);color:#fff;border-radius:11px;height:44px;font-size:12.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}

  /* set banner on Life */
  .setbanner{display:flex;align-items:center;gap:12px;margin:14px 16px 0;padding:14px;border-radius:16px;background:linear-gradient(120deg,#6E4A6B,#8A4E7E);color:#fff;cursor:pointer;}
  .setb-l{display:flex;align-items:center;gap:12px;flex:1;min-width:0;}
  .setb-e{font-size:26px;flex:0 0 auto;line-height:1;}
  .setb-t{min-width:0;}
  .setb-t b{font-size:15px;font-weight:800;display:block;line-height:1.25;}
  .setb-t span{font-size:12px;opacity:.85;display:block;margin-top:2px;line-height:1.35;}
  .setb-arr{font-size:22px;opacity:.9;flex:0 0 auto;}

  /* saveset gain + mysets + my-set cards */
  .ssgain{display:flex;gap:10px;align-items:flex-start;background:var(--wa-soft);border-radius:12px;padding:12px;margin-bottom:14px;font-size:12.5px;line-height:1.5;color:var(--wa-dark);}
  .ssgain-e{font-size:18px;flex:0 0 auto;}
  .mysets-intro{margin:14px 16px;padding:12px 14px;background:var(--wa-soft);border-radius:12px;font-size:12.5px;color:var(--wa-dark);line-height:1.5;}
  .mset{margin:0 16px 12px;border:1px solid var(--line);border-radius:16px;padding:14px;}
  .mset-h{display:flex;align-items:center;gap:10px;margin-bottom:7px;}
  .mset-hi{flex:1;min-width:0;}
  .mset-hi b{font-size:15px;display:block;line-height:1.25;}
  .mset-hi span{font-size:12px;color:var(--ink-3);}
  .mset-p{font-size:16px;font-weight:800;flex:0 0 auto;}
  .mset-d{margin:0 0 12px;font-size:13px;color:var(--ink-2);line-height:1.5;}
  .mset-stats{display:flex;gap:8px;margin-bottom:12px;}
  .mset-st{flex:1;background:var(--panel);border-radius:11px;padding:9px;text-align:center;}
  .mset-st b{font-size:16px;font-weight:800;display:block;}
  .mset-st span{font-size:10.5px;color:var(--ink-3);}
  .mset-link{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--panel);border-radius:10px;padding:10px 12px;margin-bottom:10px;cursor:pointer;}
  .mset-link span{font-size:12px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .mset-link em{font-size:11px;font-style:normal;font-weight:700;color:var(--wa-deep);flex:0 0 auto;}
  .mset-btns{display:flex;gap:9px;}
  .mset-b1{flex:1;background:#fff;border:1.5px solid var(--line);color:var(--ink);border-radius:11px;height:42px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .mset-b2{flex:1.3;background:var(--wa);border:none;color:#fff;border-radius:11px;height:42px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .msempty{margin:20px 16px;padding:32px 22px;text-align:center;border:1.5px dashed var(--line);border-radius:16px;}
  .mse-e{font-size:34px;display:block;margin-bottom:10px;}
  .msempty b{font-size:16px;display:block;margin-bottom:6px;}
  .msempty p{font-size:13px;color:var(--ink-2);line-height:1.5;margin:0 0 16px;}
  .msempty button{background:var(--wa);border:none;color:#fff;border-radius:11px;padding:12px 22px;font-size:13.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}

  /* partner pitch split */
  .ptsplit{margin:0 0 18px;border:1px solid var(--line);border-radius:14px;padding:14px;}
  .pts-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}
  .pts-row span{font-size:13px;color:var(--ink-2);}
  .pts-row b{font-size:22px;font-weight:800;color:var(--wa-dark);}
  .pts-bar{height:8px;background:var(--panel);border-radius:99px;overflow:hidden;margin-bottom:9px;}
  .pts-bar i{display:block;height:100%;background:var(--wa);border-radius:99px;}
  .pts-note{font-size:11.5px;color:var(--ink-3);line-height:1.5;}

  /* PARTNER MODE (inDrive-style) */
  #partnermode{background:#EDF1F3;}
  .pmh{background:var(--wa-dark);color:#fff;padding:14px 14px 12px;flex:0 0 auto;}
  .pmh-top{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
  .pmh-top .chback{color:#fff;}
  .pmh-i{flex:1;min-width:0;}
  .pmh-i b{font-size:16px;display:block;line-height:1.2;}
  .pmh-i span{font-size:12px;opacity:.7;}
  .pmh-live{font-size:11px;font-weight:700;color:#7CF0A8;flex:0 0 auto;}
  .pm-cats{display:flex;gap:7px;padding:8px 12px 4px;overflow-x:auto;}
  .pm-cats::-webkit-scrollbar{display:none;}
  .pm-cats button{flex:0 0 auto;background:rgba(255,255,255,.12);border:none;color:rgba(255,255,255,.75);border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .pm-cats button.on{background:#fff;color:var(--wa-dark);}
  .ordcard-realty{border-color:#B8722A!important;background:#FFF8EE;}
  .ord-take-realty{background:#B8722A!important;}
  .pmgeo{display:flex;gap:7px;overflow-x:auto;margin-bottom:12px;}
  .pmgeo::-webkit-scrollbar{display:none;}
  .pmgeo button{flex:0 0 auto;background:rgba(255,255,255,.12);border:none;color:#fff;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;}
  .pmgeo button.on{background:var(--wa);}
  .pmstat{display:flex;gap:8px;}
  .pm-st{flex:1;background:rgba(255,255,255,.1);border-radius:11px;padding:9px 8px;text-align:center;}
  .pm-st b{font-size:16px;font-weight:800;display:block;line-height:1.1;}
  .pm-st span{font-size:9.5px;opacity:.7;display:block;margin-top:2px;line-height:1.2;}
  .pmbody{flex:1;overflow-y:auto;padding:12px 14px 24px;}
  .pmbody::-webkit-scrollbar{display:none;}
  .ordcard{background:#fff;border-radius:15px;padding:13px;margin-bottom:10px;box-shadow:0 1px 4px rgba(0,0,0,.05);}
  .ord-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px;}
  .ord-who b{font-size:14.5px;display:block;line-height:1.25;}
  .ord-who span{font-size:11.5px;color:var(--ink-3);}
  .ord-pay{text-align:right;flex:0 0 auto;}
  .ord-pay b{font-size:17px;font-weight:800;color:var(--wa-deep);display:block;line-height:1;}
  .ord-pay span{font-size:10px;color:var(--ink-3);}
  .ord-items{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px;}
  .ord-chip{font-size:11.5px;background:var(--panel);border-radius:999px;padding:5px 10px;color:var(--ink-2);font-weight:600;}
  .ord-f{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .ord-total{font-size:11.5px;color:var(--ink-3);}
  .ord-take{background:var(--wa);border:none;color:#fff;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;flex:0 0 auto;cursor:pointer;}
  .pm-empty{text-align:center;color:var(--ink-3);font-size:13px;padding:40px 20px;line-height:1.5;}
  .pm-takenh{font-size:11px;font-weight:800;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;margin:2px 0 8px;}
  .takencard{display:flex;align-items:center;gap:10px;background:var(--wa-soft);border-radius:12px;padding:11px 13px;margin-bottom:8px;}
  .tk-i{flex:1;min-width:0;}
  .tk-i b{font-size:13.5px;display:block;line-height:1.2;}
  .tk-i span{font-size:11px;color:var(--ink-3);}
  .tk-p{font-size:14px;font-weight:800;color:var(--wa-deep);flex:0 0 auto;}
  .tk-done{background:#fff;border:1.5px solid var(--wa);color:var(--wa-deep);border-radius:9px;padding:7px 12px;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;flex:0 0 auto;cursor:pointer;}

  .shop2placeholder{display:flex;align-items:center;gap:11px;margin:0 16px 8px;border:1px solid var(--line);border-radius:13px;padding:12px;}
  .shav{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex:0 0 auto;}
  .shi{flex:1;min-width:0;}
  .shi b{font-size:14px;display:block;line-height:1.3;}
  .shi span{font-size:12px;color:var(--ink-3);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .shd{font-size:11px;color:var(--wa-deep);font-weight:700;flex:0 0 auto;}
  .fdisc{margin:20px 16px 30px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:11.5px;color:var(--ink-3);line-height:1.55;}
  .ptcta{margin:16px 16px 4px;padding:16px;border-radius:16px;background:var(--wa-soft);border:1px solid #C9EED8;cursor:pointer;}
  .ptcta-top{display:flex;align-items:center;gap:11px;margin-bottom:10px;}
  .ptcta-e{font-size:24px;flex:0 0 auto;}
  .ptcta-t{min-width:0;}
  .ptcta-t b{font-size:15.5px;font-weight:800;display:block;line-height:1.25;color:var(--ink);}
  .ptcta-t span{font-size:12.5px;color:var(--wa-dark);display:block;margin-top:2px;font-weight:600;}
  .ptcta-p{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--ink-2);}
  .ptcta-b{display:inline-block;background:var(--wa);color:#fff;font-size:13.5px;font-weight:700;padding:10px 18px;border-radius:11px;}
  .ptpain{margin:2px 0 12px;border-radius:14px;border:1px solid var(--line);padding:14px;}
  .ptpain-h{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin-bottom:11px;}
  .ptpain-h b{color:var(--ink);}
  .ptpain-list{display:flex;flex-direction:column;gap:7px;margin-bottom:11px;}
  .ptpain-i{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink);font-weight:600;}
  .ptpain-i span{font-size:16px;flex:0 0 auto;width:20px;text-align:center;}
  .ptpain-sum{font-size:12.5px;color:#9C3A34;font-weight:700;line-height:1.4;padding-top:10px;border-top:1px solid var(--line);}
  .ptwin{margin:0 0 18px;border-radius:14px;background:var(--wa-dark);color:#fff;padding:16px;display:flex;align-items:center;gap:14px;}
  .ptwin-big{flex:0 0 auto;text-align:center;line-height:1;}
  .ptwin-big b{font-size:38px;font-weight:800;display:block;letter-spacing:-.03em;}
  .ptwin-big span{font-size:11px;opacity:.75;display:block;margin-top:2px;}
  .ptwin-txt{font-size:12.5px;line-height:1.5;opacity:.92;}
  .ptwin-txt b{color:#B8F5D0;opacity:1;}
  .tab{font-size:11.5px!important;}

  /* SPINE — вертикальный день */
  .spine{padding:6px 16px 4px;}
  .hrow{display:flex;gap:0;min-height:34px;position:relative;}
  .hrow.sleep .hlab{color:#A9B0D8;}
  .hrow.sleep .hline:before{background:#E3E6F5;}
  .hlab{flex:0 0 34px;font-size:11px;font-weight:800;color:var(--ink-3);padding-top:2px;letter-spacing:-.02em;}
  .hrow.now .hlab{color:var(--amber);}
  .hline{flex:0 0 20px;position:relative;display:flex;justify-content:center;}
  .hline:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--line);}
  .hrow:first-child .hline:before{top:8px;}
  .hrow:last-child .hline:before{bottom:calc(100% - 8px);}
  .hdot{width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid var(--line);margin-top:4px;position:relative;z-index:2;}
  .hdot.has{width:11px;height:11px;background:var(--wa);border-color:var(--wa);margin-top:3px;}
  .hrow.now .hdot{border-color:var(--amber);box-shadow:0 0 0 3px #FDF2E2;}
  .hbody{flex:1;min-width:0;padding:0 0 8px 8px;}
  .hempty{font-size:11.5px;color:#C9CFD6;padding:3px 0;cursor:pointer;}
  .hempty:active{color:var(--wa);}
  .hact{border:1px solid var(--line);border-left:3px solid;border-radius:10px;padding:9px 11px;margin-bottom:6px;background:#fff;}
  .hact.done{background:#FBFDFC;}
  .ha-t{cursor:pointer;}
  .ha-t b{font-size:12px;font-weight:800;color:var(--ink-2);display:block;margin-bottom:2px;}
  .ha-t span{font-size:13.5px;line-height:1.4;display:block;}
  .hact.done .ha-t span{color:var(--ink-3);text-decoration:line-through;}
  .ha-b{display:flex;align-items:center;justify-content:space-between;margin-top:7px;}
  .ha-s{font-size:11px;color:var(--ink-3);display:flex;align-items:center;gap:5px;}
  .ha-s i{width:6px;height:6px;border-radius:50%;display:inline-block;}
  .ha-x{display:flex;gap:6px;}
  .ck2{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:transparent;font-size:12px;font-weight:800;line-height:1;padding:0;}
  .ck2.on{background:var(--wa);border-color:var(--wa);color:#fff;}
  .rm2{width:24px;height:24px;border-radius:7px;border:none;background:var(--panel);color:var(--ink-3);font-size:15px;line-height:1;padding:0 0 2px 0;}

  /* publish day */
  .pubday{display:flex;align-items:center;gap:12px;margin:14px 16px 12px;background:var(--wa-dark);border-radius:15px;padding:14px;cursor:pointer;}
  .pubday .pdi{flex:1;min-width:0;}
  .pubday .pdi b{font-size:14.5px;display:block;color:#fff;line-height:1.3;}
  .pubday .pdi span{font-size:12.5px;color:rgba(255,255,255,.7);display:block;margin-top:2px;line-height:1.4;}
  .pdb{background:var(--wa);border:none;color:#fff;border-radius:11px;padding:11px 16px;font-size:13.5px;font-weight:700;flex:0 0 auto;font-family:'Inter',sans-serif;}
  .pblist{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 16px;}
  .pblist::-webkit-scrollbar{display:none;}
  .pbfld{margin-bottom:14px;}
  .pbfld label{font-size:12.5px;color:var(--ink-2);font-weight:600;display:block;margin-bottom:6px;}
  .pbfld input, .pbfld textarea{width:100%;background:var(--panel);border:1.5px solid transparent;border-radius:11px;padding:12px 13px;font-size:15px;font-family:'Inter',sans-serif;outline:none;resize:none;line-height:1.5;}
  .pbfld input:focus, .pbfld textarea:focus{border-color:var(--wa);background:#fff;}
  .pblab{font-size:12.5px;color:var(--ink-2);font-weight:600;display:block;margin-bottom:8px;}
  .pbacc{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
  .pbopt{border:1.5px solid var(--line);border-radius:13px;padding:12px 13px;cursor:pointer;}
  .pbopt.on{border-color:var(--wa);background:var(--wa-soft);}
  .pbo-h{display:flex;align-items:center;gap:8px;margin-bottom:4px;}
  .pbo-e{font-size:16px;}
  .pbo-h b{font-size:14px;flex:1;}
  .pbo-c{color:transparent;font-weight:800;font-size:14px;}
  .pbopt.on .pbo-c{color:var(--wa);}
  .pbo-d{font-size:12.5px;color:var(--ink-2);line-height:1.45;display:block;}
  .pbnote{font-size:12px;color:var(--ink-3);line-height:1.5;margin:0 0 6px;}
  .pbbtns{display:flex;gap:9px;padding:14px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);flex:0 0 auto;background:#fff;}
  .pb1{flex:1;background:#fff;border:1.5px solid var(--line);border-radius:12px;height:48px;font-size:13.5px;font-weight:700;color:var(--ink);font-family:'Inter',sans-serif;}
  .pb2{flex:1.4;background:var(--wa);border:none;border-radius:12px;height:48px;font-size:13.5px;font-weight:700;color:#fff;font-family:'Inter',sans-serif;}
  .bvid{display:flex;align-items:center;gap:9px;margin-top:10px;background:var(--panel);border-radius:10px;padding:9px 11px;text-decoration:none;color:var(--ink);}
  .bvi{width:22px;height:22px;border-radius:6px;background:#DC2626;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
  .bvt{flex:1;font-size:12.5px;font-weight:600;}
  .bvc{color:var(--ink-3);font-size:15px;}
  #pscrim2{z-index:81;}

  /* meal tier */
  .sleeprow{display:flex;align-items:center;gap:8px;background:#EEF0FB;border-radius:10px;padding:9px 11px;margin-bottom:12px;font-size:12.5px;color:#3A3F6B;}
  .slp-e{font-size:15px;}
  .sleeprow b{font-weight:800;}
  .mealitems{margin-bottom:14px;}
  .mi{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--line);}
  .mi:first-child{border-top:none;}
  .mi-h{flex:0 0 58px;font-size:12px;font-weight:800;color:var(--ink-2);padding-top:1px;}
  .mi-b{flex:1;min-width:0;}
  .mi-t{font-size:13px;line-height:1.4;display:block;}
  .mi-k{font-size:11px;color:var(--ink-3);display:block;margin-top:2px;}

  /* night ritual */
  .ritual{display:none;}
  .ritual.on{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:12.5px;}
  .ritual.night{background:linear-gradient(90deg,#1A1F4A,#2D3468);color:#fff;}
  .ritual.morn{background:linear-gradient(90deg,#FDF2E2,#FBE9C8);color:#7A5A20;}
  .ritual span{flex:1;line-height:1.4;}
  .ritual button{flex:0 0 auto;border:none;border-radius:9px;padding:8px 12px;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .ritual.night button{background:rgba(255,255,255,.9);color:#1A1F4A;}
  .ritual.morn button{background:#7A5A20;color:#fff;}

  /* base + editor */
  .bfilters{display:flex;gap:7px;overflow-x:auto;padding:12px 16px 8px;}
  .bfilters::-webkit-scrollbar{display:none;}
  .bfilters .chip{width:auto!important;height:auto!important;font-size:12.5px!important;padding:8px 12px!important;border-radius:999px!important;border:1.5px solid var(--line)!important;background:#fff!important;color:var(--ink-2)!important;white-space:nowrap;flex:0 0 auto;font-weight:600!important;font-family:'Inter',sans-serif;}
  .bfilters .chip.on{background:var(--wa-dark)!important;color:#fff!important;border-color:var(--wa-dark)!important;}
  .bcard{margin:0 16px 10px;border:1px solid var(--line);border-radius:14px;padding:14px;}
  .bch{display:flex;align-items:center;gap:9px;margin-bottom:7px;}
  .bce{font-size:16px;flex:0 0 auto;line-height:1;}
  .bch b{font-size:14.5px;flex:1;line-height:1.3;}
  .bcx{background:none;border:none;color:var(--ink-3);font-size:18px;flex:0 0 auto;line-height:1;padding:0;}
  .bcard p{margin:0;font-size:13.5px;line-height:1.6;color:var(--ink-2);}
  .bfoot{margin:16px;padding:12px 14px;background:var(--wa-soft);border-radius:12px;font-size:12.5px;color:#0F5132;line-height:1.5;}
  .edhead{padding:16px 16px 10px;}
  .edhead b{font-size:17px;display:block;margin-bottom:3px;}
  .edhead span{font-size:13px;color:var(--ink-2);}
  .edtypes{display:flex;gap:8px;overflow-x:auto;padding:0 16px 14px;}
  .edtypes::-webkit-scrollbar{display:none;}
  .edt{flex:0 0 auto;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;align-items:center;gap:5px;font-family:'Inter',sans-serif;min-width:74px;}
  .edt:active{background:var(--panel);}
  .edte{font-size:20px;line-height:1;}
  .edtl{font-size:11.5px;font-weight:700;color:var(--ink-2);}
  .ednone{margin:0 16px;padding:30px 20px;text-align:center;color:var(--ink-3);font-size:13.5px;border:1.5px dashed var(--line);border-radius:14px;line-height:1.5;}
  .edprice{margin:18px 16px 0;padding:14px;background:var(--panel);border-radius:14px;}
  .edprice label{font-size:12.5px;color:var(--ink-2);font-weight:600;display:block;margin-bottom:8px;}
  .eprow{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
  .eprow input{flex:1;background:#fff;border:1.5px solid transparent;border-radius:11px;padding:12px;font-size:16px;font-weight:700;font-family:'Inter',sans-serif;outline:none;}
  .eprow span{font-size:16px;font-weight:700;color:var(--ink-2);}
  .edfree{background:#fff;border:1.5px solid var(--line);border-radius:11px;padding:12px 14px;font-size:13px;font-weight:700;color:var(--ink-2);font-family:'Inter',sans-serif;flex:0 0 auto;}
  .edfree.on{background:var(--wa);color:#fff;border-color:var(--wa);}
  .edprice p{margin:0;font-size:12px;color:var(--ink-3);line-height:1.5;}
  .edpub{margin:14px 16px 30px;width:calc(100% - 32px);background:var(--wa);border:none;color:#fff;border-radius:12px;height:50px;font-size:15px;font-weight:700;font-family:'Inter',sans-serif;}
  .nch{display:flex;align-items:center;gap:9px;margin-bottom:16px;}
  .nch span{font-size:22px;}
  .nch b{font-size:18px;font-weight:800;}
  .cbox textarea{width:100%;background:var(--panel);border:1.5px solid transparent;border-radius:11px;padding:12px 13px;font-size:15px;font-family:'Inter',sans-serif;outline:none;margin-bottom:14px;resize:none;line-height:1.5;}
  .cbox textarea:focus{border-color:var(--wa);background:#fff;}

  /* tiers */
  .tiers{display:flex;flex-direction:column;gap:12px;}
  .tier{display:flex;gap:11px;}
  .tnum{width:26px;height:26px;border-radius:50%;background:var(--panel);color:var(--ink-3);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin-top:14px;}
  .tier.main .tnum{background:var(--wa);color:#fff;}
  .tbody{flex:1;min-width:0;border:1px solid var(--line);border-radius:16px;padding:14px;}
  .tier.main .tbody{border:1.5px solid var(--wa);background:linear-gradient(180deg,#F3FDF7,#fff);}
  .thead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;}
  .thead b{font-size:15px;display:block;line-height:1.3;}
  .thead span{font-size:12.5px;color:var(--ink-2);display:block;margin-top:3px;line-height:1.45;}
  .tprice{font-size:15px;font-weight:800;color:var(--ink);flex:0 0 auto;white-space:nowrap;}
  .tprice.big{font-size:17px;color:var(--wa-deep);}
  .tacts{margin-bottom:12px;}
  .tmore{font-size:12.5px;color:var(--wa-deep);font-weight:700;padding:8px 0 2px;cursor:pointer;}
  .thidden{display:none;}
  .thidden.on{display:block;}
  .gitems{display:flex;flex-direction:column;gap:11px;margin-bottom:14px;}
  .gi{display:flex;gap:10px;align-items:flex-start;}
  .gie{font-size:16px;flex:0 0 auto;line-height:1.3;}
  .gi b{font-size:13.5px;display:block;margin-bottom:2px;}
  .gi span{font-size:12.5px;color:var(--ink-2);line-height:1.5;display:block;}
  .tbtn{width:100%;background:var(--wa);border:none;color:#fff;border-radius:11px;height:44px;font-size:13.5px;font-weight:700;font-family:'Inter',sans-serif;}
  .tbtn.light{background:#fff;border:1.5px solid var(--line);color:var(--ink);}
  .tnote{font-size:11.5px;color:var(--ink-3);margin:8px 0 0;text-align:center;}

  /* сет блогера — на странице креатора */
  .tier.setmain .tnum{background:#F0A63C;color:#fff;font-size:15px;}
  .tier.setmain .tbody{border:1.5px solid #F0A63C;background:linear-gradient(180deg,#FFF8EE,#fff);}
  .tier.setinvite .tnum{background:var(--wa-soft);color:var(--wa-deep);font-size:18px;}
  .setdishes{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px;}
  .setchip{font-size:11.5px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--ink-2);font-weight:600;}
  .setstat{display:flex;align-items:center;gap:10px;font-size:12px;margin-bottom:11px;}
  .setstat>span:first-child{font-weight:700;color:#B8722A;}
  .setok{color:var(--wa-deep);font-weight:700;}
  .setfree{color:#B8722A;font-weight:700;background:#FDF0DC;border-radius:999px;padding:3px 9px;}

  /* витрина сетов блогеров в ЕДЕ */
  .blogset{margin:0 16px 12px;border:1px solid var(--line);border-radius:16px;padding:14px;cursor:pointer;transition:border-color .15s var(--мяг);}
  .blogset:active{border-color:#F0A63C;}
  .bs-h{display:flex;align-items:center;gap:11px;margin-bottom:9px;}
  .bs-av{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex:0 0 auto;}
  .bs-hi{flex:1;min-width:0;}
  .bs-hi b{font-size:15px;display:block;line-height:1.25;}
  .bs-hi span{font-size:12px;color:var(--ink-3);}
  .bs-p{font-size:16px;font-weight:800;flex:0 0 auto;}
  .bs-d{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--ink-2);}
  .bs-f{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
  .bs-ord{font-size:12px;font-weight:700;color:#B8722A;}
  .bs-taken{font-size:11.5px;color:var(--wa-deep);font-weight:700;}
  .bs-free{font-size:11.5px;color:#B8722A;font-weight:700;background:#FDF0DC;border-radius:999px;padding:3px 9px;}
  .bs-btn{margin-left:auto;background:#fff;border:1.5px solid var(--wa);color:var(--wa-deep);border-radius:10px;padding:8px 14px;font-size:12.5px;font-weight:700;font-family:'Inter',sans-serif;flex:0 0 auto;cursor:pointer;}

  /* claim + platform chips */
  .pchips{display:flex;gap:7px;overflow-x:auto;padding:12px 16px 4px;}
  .pchips::-webkit-scrollbar{display:none;}
  .pchips .chip{width:auto!important;height:auto!important;font-size:12.5px!important;padding:8px 13px!important;border-radius:999px!important;border:1.5px solid var(--line)!important;background:#fff!important;color:var(--ink-2)!important;white-space:nowrap;flex:0 0 auto;font-weight:600!important;font-family:'Inter',sans-serif;}
  .pchips .chip.on{background:var(--wa-dark)!important;color:#fff!important;border-color:var(--wa-dark)!important;}
  .claim{background:var(--wa-soft);border:1.5px solid #BFE9D2;border-radius:16px;padding:16px;}
  .cl-h{display:flex;gap:11px;align-items:flex-start;margin-bottom:12px;}
  .cl-e{font-size:22px;flex:0 0 auto;line-height:1;}
  .cl-h b{font-size:16px;display:block;margin-bottom:3px;}
  .cl-h span{font-size:13px;color:var(--ink-2);line-height:1.5;display:block;}
  .cl-list{margin:0 0 14px;padding-left:18px;}
  .cl-list li{font-size:13px;color:var(--ink);line-height:1.6;margin-bottom:4px;}
  .cl-list b{color:var(--wa-deep);font-weight:800;}
  .cl-btn{width:100%;background:var(--wa);border:none;color:#fff;border-radius:12px;height:46px;font-size:14.5px;font-weight:700;font-family:'Inter',sans-serif;}
  .cl-note{font-size:11.5px;color:var(--ink-3);line-height:1.5;margin:10px 0 0;text-align:center;}

  /* my line */
  .prsn.myline{background:linear-gradient(90deg,var(--wa-soft),#fff);}
  .mlwrap{padding:16px;}
  .ct-chat{flex:0 0 auto;width:34px;height:34px;border:none;border-radius:50%;
    background:var(--wa-soft);font-size:15px;cursor:pointer;align-self:center;
    display:flex;align-items:center;justify-content:center;margin-left:6px;}
  .ct-chat:active{opacity:.65;}
  .llsave{margin:0 0 6px;}
  .llsv-row{display:flex;gap:8px;}
  .llsv-b{flex:1;border:1.5px solid var(--line);background:var(--panel);color:var(--ink-1);
    border-radius:12px;padding:12px 8px;font-size:13px;font-weight:700;
    font-family:'Inter',sans-serif;cursor:pointer;}
  .llsv-b.prim{background:var(--wa-soft);border-color:transparent;color:var(--wa-dark);}
  .llsv-b:active{opacity:.7;}
  .llsv-h{font-size:11px;color:var(--ink-3);margin:7px 2px 0;line-height:1.4;}
  .lifeline{margin:0 0 18px;min-height:120px;touch-action:pan-y;user-select:none;-webkit-user-select:none;}
  .lifeline svg{cursor:grab;}
  .lifeline svg:active{cursor:grabbing;}
  .llbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 2px 6px;}
  .llz{display:flex;align-items:center;gap:2px;background:#F2F5F7;border-radius:9px;padding:2px;}
  .llz button{width:26px;height:24px;border:none;background:#fff;border-radius:7px;
    font-size:15px;font-weight:800;color:var(--ink-1);cursor:pointer;line-height:1;
    box-shadow:0 1px 2px rgba(0,0,0,.06);}
  .llz button:disabled{opacity:.35;box-shadow:none;background:transparent;cursor:default;}
  .llz span{font-size:10.5px;font-weight:700;color:var(--ink-3);padding:0 7px;min-width:56px;text-align:center;}
  .llrst{border:none;background:var(--wa-soft);color:var(--wa-dark);border-radius:8px;
    padding:5px 10px;font-size:10.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .llhint{font-size:10.5px;color:var(--ink-3);text-align:center;margin-top:4px;}
  .llpop{background:#fff;border:1px solid var(--line);border-radius:14px;
    margin-top:10px;padding:6px 10px 10px;box-shadow:0 6px 22px rgba(110,74,107,.10);
    animation:llPopIn .26s cubic-bezier(.22,1,.36,1) both;}
  @keyframes llPopIn{from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:none}}
  .llpop-h{display:flex;align-items:center;justify-content:space-between;padding:6px 2px 8px;}
  .llpop-h b{font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--wa-deep);}
  .llpop-x{border:none;background:none;color:var(--ink-3);font-size:15px;cursor:pointer;padding:0 2px;line-height:1;}
  .llpi{display:flex;align-items:flex-start;gap:11px;padding:10px 2px;}
  .llpi + .llpi{border-top:1px solid var(--line);}
  .llpi-e{font-size:15px;flex:0 0 auto;width:32px;height:32px;border-radius:9px;
    display:flex;align-items:center;justify-content:center;}
  .llpi-i{min-width:0;flex:1;}
  .llpi-i b{display:block;font-size:13.5px;font-weight:700;color:var(--ink-1);line-height:1.35;}
  .llpi-i span{display:block;font-size:11.5px;color:var(--ink-3);margin-top:3px;}
  .llpi-act{display:flex;gap:7px;margin-top:9px;}
  .llpi-act button{border:1px solid var(--line);background:#fff;color:var(--ink-2);border-radius:8px;
    padding:6px 11px;font-size:11.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .llpi-act button.post{background:var(--wa-soft);border-color:#EBD9E6;color:var(--wa-deep);}
  .llpi-act button.del{color:#B4404A;border-color:#F0D5D8;}
  .llpi-act button.del.armed{background:#B4404A;border-color:#B4404A;color:#fff;}
  .llpi-act button:active{opacity:.8;}
  .ll-node.sel circle{filter:drop-shadow(0 2px 8px rgba(154,92,140,.4));}
  .ll-birth{animation:llPop .4s var(--в) .2s both;}
  .ll-now{animation:llPop .5s var(--в) 1s both;}
  @keyframes llPop{from{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}
  .ll-birth,.ll-now{transform-box:fill-box;transform-origin:center;}
  .ll-node{animation:llNode .5s cubic-bezier(.3,1.4,.5,1) both;transform-box:fill-box;transform-origin:${'center bottom'};}
  @keyframes llNode{from{opacity:0;transform:translateY(8px) scale(.4)}to{opacity:1;transform:translateY(0) scale(1)}}
  .mlnow{background:linear-gradient(155deg,#4A3248,#6E4A6B);border-radius:18px;padding:20px;color:#fff;margin-bottom:20px;}
  .mln-k{font-size:11px;opacity:.6;font-weight:800;letter-spacing:.08em;display:block;margin-bottom:6px;}
  .mln-v{font-size:38px;font-weight:800;letter-spacing:-.03em;display:block;line-height:1;margin-bottom:8px;}
  .mln-d{font-size:13px;opacity:.8;}
  .mln-bar{margin-top:13px;cursor:pointer;}
  .mln-bar-t{height:4px;border-radius:99px;background:rgba(255,255,255,.22);overflow:hidden;}
  .mln-bar-f{height:100%;background:rgba(255,255,255,.75);border-radius:99px;}
  .mln-bar-c{display:block;font-size:11.5px;opacity:.72;margin-top:7px;font-weight:600;}
  /* РИТМ РАЗДЕЛОВ.

     15 августа, вечер. Экран был свален в кучу: заголовки, карточки и ряды
     шли подряд с разными отступами, без единой черты. Глазу не за что
     зацепиться, и непонятно, где кончается одно и начинается другое.

     Правило одно на все разделы: перед заголовком тонкая черта и воздух,
     после заголовка — содержимое вплотную. Тогда заголовок читается как
     начало своего куска, а не как подпись к предыдущему.

     Первый заголовок черты не получает: над ним и так строка со счётом,
     а линия под самой шапкой выглядела бы обрывком. */
  .mlcap{font-size:11.5px;font-weight:800;color:var(--ink-3);letter-spacing:.06em;
    text-transform:uppercase;margin:0 0 12px;padding-top:22px;
    border-top:1px solid var(--line);}
  /* Пояснение под заголовком раздела. Заголовки набраны прописными и
     коротки — в них не объяснишь, что раздел хранит вещи, а не принимает
     их по одному разу. Отбивку сверху снимаем: подпись идёт вплотную
     к заголовку, иначе она читается как отдельный раздел. */
  .mlsub{margin:-8px 0 12px;font-size:12px;line-height:1.4;color:var(--ink-3);}
  /* Само правило .mlcap-row (раскладка в строку) объявлено ниже, рядом с
     кнопкой «Добавить». Здесь только отбивка, и её нельзя писать там же:
     два объявления одного класса в разных местах — верный способ потом
     полдня искать, почему правка не применяется. Проверено на себе. */
  .mlcap-row .mlcap{padding-top:0;border-top:none;margin-bottom:0;}
  .ml-sum + .mlcap{padding-top:0;border-top:none;}
  /* Пояснение под заголовком: черту берёт на себя заголовок, у пояснения
     её быть не должно — иначе линия рисуется дважды. */
  .mlcap + .mlcap-s{margin-top:-8px;}
  .mlcap-s + div{margin-top:0;}
  .mlcap + div{margin-bottom:4px;}
  #ml-self, #ov-self{margin-bottom:26px;}
  /* ЧТО СОБРАЛОСЬ — строка со счётом под шапкой раздела. Приподнята
     цветом: это не подпись к чему-то, а сам смысл экрана. */
  .ml-sum{margin:0 0 24px;}
  .ml-sum-b{background:var(--wa-soft);border-radius:14px;padding:13px 15px;
    font-size:13px;line-height:1.5;color:var(--wa-deep);font-weight:600;}
  .ml-sum-b span{display:block;margin-top:3px;font-weight:400;color:var(--ink-3);font-size:12px;}

  /* ДНИ РОЖДЕНИЯ БЛИЗКИХ. Карточка узкая: имя, кто это и когда. Лица тут
     нет намеренно — у своих людей снимка чаще всего нет, а буква в кружке
     честнее пустого серого прямоугольника. */
  /* pan-x pan-y, а не просто pan-x. 31 августа, слово хозяина: «в твои
     даты мышь перестала скроллиться, люди подумают что это баг».
     Запрет pan-x гасит вертикальное движение НАД лентой: и палец на
     телефоне, и колесо мыши на мониторе. Лента широкая, промахнуться
     мимо неё легко — человек просто упирается в мёртвую полосу. Ось
     браузер выбирает сам по первому движению: вбок листает даты, вниз
     листает раздел. Ту же болезнь чинили в карусели 30 августа. */
  .mlb-rail{display:flex;gap:9px;overflow-x:auto;padding-bottom:4px;margin-bottom:22px;
    touch-action:pan-x pan-y;overscroll-behavior-x:contain;}
  .mlb-c{flex:0 0 140px;width:140px;background:#fff;border:1px solid var(--line);
    border-radius:13px;padding:12px;cursor:pointer;}
  .mlb-c:active{border-color:var(--wa);}
  .mlb-c.soon{border-color:var(--wa);background:var(--wa-soft);}

  /* Род даты подписан прямо на карточке. Без этого «Ушёл брат Николай»
     стоял рядом с чьим-то днём рождения и читался как повод праздновать. */
  .mlb-k{display:block;font-size:9.5px;font-weight:800;letter-spacing:.06em;
    text-transform:uppercase;color:var(--ink-3);margin-bottom:5px;}
  .mlb-c.праздник .mlb-k{color:var(--wa-deep);}
  .mlb-c.память .mlb-k{color:#8A929B;}
  /* Память — приглушённо и без заливки: этой карточке нельзя выглядеть
     праздничной, даже когда дата завтра. */
  .mlb-c.память{background:#FAFAFB;}
  .mlb-c.память.soon{background:#FAFAFB;border-color:var(--line);}
  .mlb-c.память .mlb-av{background:#EFEFF2;color:#8A929B;}
  .mlb-c.память u{color:#8A929B;}
  .mlb-av{display:flex;align-items:center;justify-content:center;width:34px;height:34px;
    border-radius:50%;background:var(--wa-soft);color:var(--wa-deep);
    font-size:15px;font-weight:800;margin-bottom:9px;}
  .mlb-c.soon .mlb-av{background:var(--wa);color:#fff;}
  .mlb-c b{display:block;font-size:13px;font-weight:700;line-height:1.3;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .mlb-c i{display:block;font-style:normal;font-size:11.5px;color:var(--ink-3);
    margin-top:3px;line-height:1.35;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .mlb-c u{display:block;text-decoration:none;font-size:11px;font-weight:800;
    color:var(--wa-deep);margin-top:8px;text-transform:uppercase;letter-spacing:.04em;}

  /* СВОДКА ПО ДАТЕ. Открывается нажатием на карточку: что за дата, когда
     была, каким днём твоей жизни, что случилось рядом. Дальше — в разговор
     или назад. Разбор устроен как у новости, чтобы человек не учил
     второй порядок действий. */
  .mld-sheet{position:absolute;inset:0;z-index:140;background:rgba(30,16,28,.42);
    display:none;align-items:flex-end;}
  .mld-sheet.on{display:flex;}
  .mld-b{width:100%;max-height:86%;overflow-y:auto;background:#fff;
    border-radius:20px 20px 0 0;padding:14px 18px 22px;
    animation:mldIn .24s cubic-bezier(.32,.72,0,1) both;}
  @keyframes mldIn{from{transform:translateY(16px);opacity:.6}to{transform:none;opacity:1}}
  .mld-h{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
  .mld-h span{font-size:11px;font-weight:800;letter-spacing:.06em;
    text-transform:uppercase;color:var(--ink-3);}
  .mld-back{border:none;background:var(--panel);width:30px;height:30px;border-radius:50%;
    color:var(--ink-2);font-size:17px;line-height:1;cursor:pointer;}
  .mld-b h3{font-size:19px;font-weight:800;line-height:1.3;margin:0 0 6px;}
  .mld-when{font-size:13px;color:var(--wa-deep);font-weight:700;margin-bottom:14px;}
  .mld-facts{display:flex;flex-direction:column;gap:9px;margin-bottom:14px;}
  .mld-facts div{display:flex;justify-content:space-between;gap:12px;font-size:13px;}
  .mld-facts b{font-weight:600;color:var(--ink-3);flex:0 0 auto;}
  .mld-facts span{color:var(--ink);text-align:right;}
  .mld-near{background:var(--wa-soft);border-radius:12px;padding:12px 13px;margin-bottom:16px;}
  .mld-near b{display:block;font-size:11px;font-weight:800;letter-spacing:.05em;
    text-transform:uppercase;color:var(--wa-deep);margin-bottom:7px;}
  .mld-near div{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;
    color:var(--ink-2);padding:3px 0;}
  .mld-near div span{color:var(--ink-3);flex:0 0 auto;}
  .mld-go{width:100%;border:none;background:var(--wa);color:#fff;border-radius:12px;
    height:46px;font-size:14.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .mld-x{width:100%;border:none;background:none;color:var(--ink-3);
    height:40px;font-size:13px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;}

  .mlb-empty{background:var(--panel);border-radius:13px;padding:14px 15px;
    font-size:12.5px;color:var(--ink-2);line-height:1.5;}
  .mlb-empty button{display:block;margin-top:10px;border:none;background:var(--wa);color:#fff;
    border-radius:10px;padding:9px 16px;font-size:12.5px;font-weight:700;
    font-family:'Inter',sans-serif;cursor:pointer;}

  /* Пояснение под заголовком раздела: у дней рождения оно объясняет метку
     «память», и без него она читается как чья-то ошибка. */
  .mlcap-s{font-size:12px;color:var(--ink-3);margin:-8px 0 10px;line-height:1.45;}
  .mlcap-row{display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding-top:22px;border-top:1px solid var(--line);margin-bottom:12px;}
  .mladd-s{border:none;background:var(--wa);color:#fff;border-radius:9px;
    padding:8px 14px;font-size:12.5px;font-weight:700;font-family:'Inter',sans-serif;
    cursor:pointer;letter-spacing:0;text-transform:none;flex:0 0 auto;}
  .mladd-s:active{opacity:.8;}
  .mlev{border:1px solid var(--line);border-left:3px solid;border-radius:12px;padding:13px;margin-bottom:10px;}
  .mlev-h{display:flex;align-items:flex-start;gap:10px;}
  .mlev-e{font-size:19px;flex:0 0 auto;line-height:1.2;}
  .mlev-i{flex:1;min-width:0;}
  .mlev-i b{font-size:15px;display:block;line-height:1.3;}
  .mlev-i span{font-size:12px;color:var(--ink-3);display:block;margin-top:2px;}
  .mlev-h{cursor:pointer;}
  .mlev-ed{background:none;border:1px solid var(--line);color:var(--ink-3);border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;flex:0 0 auto;margin-right:4px;}
  .mlev-x{background:none;border:none;color:var(--ink-3);font-size:18px;flex:0 0 auto;line-height:1;padding:0;}
  .mlev-m{margin-top:11px;padding:10px 12px;background:var(--panel);border-radius:10px;cursor:pointer;}
  .mlev-m span{font-size:10.5px;color:var(--ink-3);font-weight:700;letter-spacing:.03em;text-transform:uppercase;display:block;margin-bottom:3px;}
  .mlev-m b{font-size:13px;line-height:1.4;color:var(--ink);font-weight:600;}
  .mlempty{padding:24px;text-align:center;color:var(--ink-3);font-size:13.5px;line-height:1.55;border:1.5px dashed var(--line);border-radius:14px;}
  .mladd{width:100%;background:var(--wa);border:none;color:#fff;border-radius:12px;height:48px;font-size:14.5px;font-weight:700;font-family:'Inter',sans-serif;margin-top:14px;}
  .ml-divider{height:1px;margin:26px 4px 20px;background:linear-gradient(90deg,transparent,var(--wa) 20%,var(--wa) 80%,transparent);opacity:.5;position:relative;}
  .ml-divider::after{content:'✦';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg);color:var(--wa);font-size:12px;padding:0 10px;}
  .mlhint{font-size:12.5px;color:var(--ink-3);line-height:1.55;margin:12px 0 0;text-align:center;}
  .ekinds{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px;}
  .ek{background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:9px 12px;font-size:12.5px;font-weight:600;color:var(--ink-2);font-family:'Inter',sans-serif;}
  .ek.on{background:var(--wa-soft);border-color:var(--wa);color:var(--wa-deep);}

  /* life: person bar */
  .pbar{display:flex;align-items:center;gap:8px;padding:12px 12px 10px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:9;}
  .pback{width:34px;height:34px;border-radius:10px;border:none;background:var(--panel);color:var(--ink);font-size:21px;font-weight:600;flex:0 0 auto;line-height:1;padding-bottom:3px;}
  .pbi{flex:1;min-width:0;}
  /* Полоса «‹ Свои люди» / «‹ О тебе» и дерево в шапке линии живут
     только на мониторе (см. блок широких экранов). На телефоне их
     работу делает фиолетовая шапка. */
  .zone-bar{display:none;}
  .zone-tree{display:none;}
  .pbi b{font-size:15.5px;display:block;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .pbi span{font-size:11.5px;color:var(--ink-3);}
  .pnav{width:32px;height:32px;border-radius:9px;border:1.5px solid var(--line);background:#fff;color:var(--ink-2);font-size:18px;font-weight:600;flex:0 0 auto;line-height:1;padding-bottom:2px;}

  /* geo filter */
  .geo{display:flex;gap:6px;margin-top:14px;background:var(--panel);padding:4px;border-radius:13px;}
  .geo button{flex:1;padding:9px 4px;border-radius:10px;border:none;background:transparent;font-size:12.5px;font-weight:700;color:var(--ink-2);font-family:'Inter',sans-serif;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.2;}
  .geo button.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.08);}
  .geo button small{font-size:10px;font-weight:600;color:var(--ink-3);}
  .geo button.on small{color:var(--wa-deep);}

  /* idol switcher with arrows */
  .switcher{display:flex;align-items:center;gap:8px;margin-top:14px;}
  .arrow{width:36px;height:36px;border-radius:11px;border:1.5px solid var(--line);background:#fff;color:var(--ink);flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;line-height:1;padding-bottom:3px;}
  .arrow:active{background:var(--panel);}
  .chipwrap{flex:1;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;}
  .chipwrap::-webkit-scrollbar{display:none;}
  .chips{display:flex;gap:8px;width:max-content;}
  .chip{font-size:13px;padding:9px 15px;border-radius:999px;border:1.5px solid var(--line);color:var(--ink-2);background:#fff;white-space:nowrap;flex:0 0 auto;font-weight:600;}
  .chip.on{background:var(--wa-dark);color:#fff;border-color:var(--wa-dark);}
  .ev{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);align-items:flex-start;}
  .ev .mk{width:10px;height:10px;border-radius:50%;flex:0 0 auto;margin-top:5px;}
  /* товар между событиями */
  .ev-prod{margin:0 0 1px;border:1px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer;background:#fff;}
  .evp-ctx{display:block;padding:10px 13px 6px;font-size:12.5px;color:var(--ink-2);font-style:italic;line-height:1.45;}
  .evp-row{display:flex;align-items:center;gap:10px;padding:9px 13px 11px;border-top:1px solid var(--line);background:var(--panel);}
  .evp-e{font-size:20px;flex:0 0 auto;line-height:1;}
  .evp-i{flex:1;min-width:0;}
  .evp-i b{font-size:13.5px;display:block;line-height:1.25;}
  .evp-i span{font-size:11px;color:var(--ink-3);}
  .evp-r{flex:0 0 auto;text-align:right;}
  .evp-p{font-size:14px;font-weight:800;display:block;line-height:1.2;}
  .evp-mem{display:block;font-size:10px;color:var(--wa-deep);font-style:italic;margin-top:1px;opacity:.8;}
  .evp-btn{margin-top:5px;background:var(--wa);border:none;color:#fff;border-radius:8px;padding:6px 10px;font-size:11.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;white-space:nowrap;}
  .ev .tx{flex:1;font-size:14.5px;line-height:1.45;}
  .ev .wh{font-size:12px;color:var(--ink-3);margin-top:3px;}
  .nowline{display:flex;align-items:center;gap:9px;padding:8px 0;}
  .nowline .l{flex:1;height:1.5px;background:var(--amber);border-radius:2px;}
  .nowline span{font-size:11px;font-weight:800;color:var(--amber);letter-spacing:.06em;}

  /* total days on earth */
  .total{background:#111B21;color:#fff;border-radius:18px;padding:18px 16px;margin-top:12px;}
  .total .row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px;}
  .total .col .k{font-size:11px;color:rgba(255,255,255,.5);font-weight:600;letter-spacing:.04em;margin-bottom:3px;}
  .total .col .v{font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1;}
  .total .col.me .v{color:var(--amber);}
  .total .bar{height:8px;background:rgba(255,255,255,.12);border-radius:99px;overflow:hidden;position:relative;}
  .total .bar .fill{height:100%;background:var(--amber);border-radius:99px;}
  .total .note{font-size:12.5px;color:rgba(255,255,255,.62);line-height:1.5;margin:11px 0 0;}
  .total .note b{color:#fff;font-weight:700;}

  /* diet */
  .meal{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);align-items:flex-start;}
  .meal .t{flex:0 0 62px;font-size:12px;font-weight:800;color:var(--food);padding-top:2px;}
  .meal .w{flex:1;font-size:14px;line-height:1.5;}
  .dnote{background:#FFF8E8;border-left:3px solid var(--amber);border-radius:0 10px 10px 0;padding:11px 13px;margin-top:12px;font-size:13px;line-height:1.55;color:#7A5510;}
  .dnote.warn{background:#FDECEC;border-left-color:#E85D5D;color:#8C2F2F;}

  /* fab + sheet */
  .fab-wrap{position:absolute;right:18px;bottom:24px;display:flex;align-items:center;gap:10px;z-index:30;}
  .fab{width:58px;height:58px;border-radius:19px;background:var(--wa);color:#fff;border:none;font-size:32px;font-weight:300;line-height:1;padding-bottom:4px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(37,211,102,.42);flex:0 0 auto;cursor:pointer;}
  .fab-hint{background:var(--wa-dark);color:#fff;font-size:13px;font-weight:700;padding:9px 14px;border-radius:12px;white-space:nowrap;transition:opacity .3s var(--в);box-shadow:0 4px 12px rgba(0,0,0,.18);}
  .fab-hint::after{content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:var(--wa-dark);}

  /* корзина: покупают сегодня */
  .cart-trending{margin:20px 0 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-align:left;}
  .ctr-h{padding:11px 14px;font-size:12px;font-weight:800;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;background:var(--panel);border-bottom:1px solid var(--line);}
  .ctr-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s var(--мяг);}
  .ctr-item:last-child{border-bottom:none;}
  .ctr-item:active{background:var(--wa-soft);}
  .ctr-e{font-size:22px;flex:0 0 auto;line-height:1;}
  .ctr-i{flex:1;min-width:0;}
  .ctr-i b{font-size:13.5px;display:block;line-height:1.25;}
  .ctr-i span{font-size:11.5px;color:var(--ink-3);display:block;margin-top:2px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .ctr-r{flex:0 0 auto;text-align:right;}
  .ctr-p{font-size:14px;font-weight:800;display:block;}
  .ctr-add{display:block;margin-top:4px;width:28px;height:28px;background:var(--wa);color:#fff;border-radius:8px;font-size:18px;line-height:28px;text-align:center;font-weight:300;}
  .scrim{position:absolute;inset:0;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .22s var(--в);z-index:40;}
  .scrim.on{opacity:1;pointer-events:auto;}
  .sheet{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:22px 22px 0 0;z-index:41;transform:translateY(102%);transition:transform .22s var(--из);max-height:82%;display:flex;flex-direction:column;overflow:hidden;}
  .sheet.on{transform:none;transition:transform .32s var(--в);}
  #publish{z-index:82;}
  #orderdone{z-index:86;}
  #partner{z-index:88;}
  #saveset{z-index:88;}
  #ssscrim{z-index:87;}
  #mfscrim{z-index:89;}
  #memflow{z-index:90;}
  .grab{width:38px;height:4px;border-radius:99px;background:#D8DEE3;margin:10px auto 4px;flex:0 0 auto;}
  .sheet .sh{padding:8px 16px 12px;flex:0 0 auto;}
  .sheet .sh b{font-size:17px;display:block;}
  .sheet .sh span{font-size:13px;color:var(--ink-2);}
  .sheet .list{overflow-y:auto;padding-bottom:20px;}
  .sheet .list::-webkit-scrollbar{display:none;}
  .cap{margin:0 16px 10px;background:var(--amber-soft);color:#9A6212;border-radius:12px;padding:10px 13px;font-size:12.5px;line-height:1.45;}

  .prow{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);}
  .prow .ava{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex:0 0 auto;}
  .prow .mid{flex:1;min-width:0;}
  .prow b{font-size:15px;display:block;}
  .prow span{font-size:12.5px;color:var(--ink-2);display:block;line-height:1.4;}
  .sq{width:42px;height:42px;border-radius:12px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:400;line-height:1;border:none;font-family:'Inter',sans-serif;padding:0 0 3px 0;}
  .sq.plus{background:var(--wa);color:#fff;}
  .sq.minus{background:#E85D5D;color:#fff;}
  .sq.off{background:var(--panel);color:#C9CFD6;}

  .toast{position:absolute;bottom:96px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 17px;border-radius:12px;font-size:13px;font-weight:500;opacity:0;pointer-events:none;transition:opacity .22s var(--в);z-index:60;white-space:nowrap;max-width:88%;text-align:center;}
  .toast.show{opacity:1;}

  /* hamburger + settings */
  .burger{display:flex;flex-direction:column;gap:3.5px;padding:4px;cursor:pointer;}
  .burger i{display:block;width:18px;height:2px;background:#fff;border-radius:2px;}
  .hleft{display:flex;align-items:center;gap:12px;}
  /* z-index поднят выше ящика разговоров (130): профиль открывается ИЗ него
     и должен лечь поверх, иначе панель уезжает под список и выглядит
     не открывшейся. */
  .panel{position:absolute;top:0;bottom:0;left:0;width:84%;max-width:330px;background:#fff;z-index:150;transform:translateX(-102%);transition:transform .22s var(--из);display:flex;flex-direction:column;box-shadow:6px 0 30px rgba(0,0,0,.18);}
  .panel.on{transform:none;transition:transform .32s var(--в);}
  .panel .ph{background:var(--wa-dark);color:#fff;padding:22px 18px 18px;flex:0 0 auto;}
  .panel .ph b{font-size:18px;display:block;}
  .panel .ph span{font-size:12.5px;opacity:.65;}
  .panel .pb{flex:1;overflow-y:auto;padding:4px 0 30px;}
  .panel .pb::-webkit-scrollbar{display:none;}
  .grp{padding:16px 18px 6px;font-size:11px;font-weight:800;color:var(--ink-3);letter-spacing:.07em;text-transform:uppercase;}
  .fld{padding:0 18px 14px;}
  .fld label{font-size:12.5px;color:var(--ink-2);display:block;margin-bottom:6px;font-weight:600;}
  .fld input, .fld select{width:100%;background:var(--panel);border:1.5px solid transparent;border-radius:11px;padding:12px 13px;font-size:15px;font-family:'Inter',sans-serif;outline:none;color:var(--ink);}
  .fld input:focus, .fld select:focus{border-color:var(--wa);background:#fff;}
  .two{display:flex;gap:10px;padding:0 18px 14px;}
  .two > div{flex:1;}
  .two label{font-size:12.5px;color:var(--ink-2);display:block;margin-bottom:6px;font-weight:600;}
  .two input, .two select{width:100%;background:var(--panel);border:1.5px solid transparent;border-radius:11px;padding:12px 10px;font-size:15px;font-family:'Inter',sans-serif;outline:none;}
  .trow{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--line);gap:14px;}
  .sw{width:50px;height:29px;border-radius:99px;background:#D4DAE0;flex:0 0 auto;position:relative;transition:background .18s var(--мяг);cursor:pointer;}
  .sw.on{background:var(--wa);}
  .sw:after{content:"";position:absolute;top:3px;left:3px;width:23px;height:23px;border-radius:50%;background:#fff;transition:transform .18s var(--в);box-shadow:0 1px 3px rgba(0,0,0,.25);}
  .sw.on:after{transform:translateX(21px);}
  .trow b{font-size:14.5px;display:block;font-weight:600;}
  .trow span{font-size:12px;color:var(--ink-3);}
  .seg{display:flex;gap:6px;padding:0 18px 14px;}
  .seg button{flex:1;padding:11px 0;border-radius:11px;border:1.5px solid var(--line);background:#fff;font-size:14px;font-weight:700;color:var(--ink-2);}
  .seg button.on{background:var(--wa-dark);color:#fff;border-color:var(--wa-dark);}
  .save{margin:16px 18px 0;width:calc(100% - 36px);background:var(--wa);color:#fff;border:none;border-radius:12px;height:48px;font-size:15px;font-weight:700;}
  .agecap{margin:0 18px;background:var(--wa-soft);border-radius:11px;padding:11px 13px;font-size:13px;color:#0F5132;line-height:1.5;}

  /* profile extras */
  .menupt{display:flex;align-items:center;gap:12px;margin:14px 16px 4px;padding:14px;border-radius:14px;background:var(--wa-soft);border:1px solid #C9EED8;cursor:pointer;}
  .menupt-e{font-size:24px;flex:0 0 auto;line-height:1;}
  .menupt-t{flex:1;min-width:0;}
  .menupt-t b{font-size:15px;font-weight:800;display:block;line-height:1.25;color:var(--ink);}
  .menupt-t span{font-size:12px;color:var(--wa-dark);display:block;margin-top:2px;font-weight:600;line-height:1.35;}
  .menupt-arr{color:var(--wa-deep);font-size:20px;flex:0 0 auto;font-weight:700;}
  .menupt.alt{background:#FFF6E8;border-color:#F5E2C0;}
  .menupt.alt .menupt-t span{color:#B8722A;}
  .menupt.alt .menupt-arr{color:#B8722A;}
  .menupt.dark{background:var(--wa-dark);border-color:var(--wa-dark);}
  .menupt.dark .menupt-t b{color:#fff;}
  .menupt.dark .menupt-t span{color:rgba(255,255,255,.7);}
  .menupt.dark .menupt-arr{color:rgba(255,255,255,.8);}
  /* Раньше здесь стоял просто text-align:center, а обе подписи — строчные
     span. Из-за этого «загрузить фото · убрать» и объяснение слипались в
     одну строку и обтекали аватар сбоку. Ставим колонку: каждая подпись
     на своей строке, объяснение — узкой колонкой под ссылками. */
  .avwrap{display:flex;flex-direction:column;align-items:center;gap:7px;
    text-align:center;padding:20px 0 10px;}
  .avwrap .avhint{display:block;max-width:260px;line-height:1.45;}
  .avwrap .bigav{margin:0;}
  .bigav{width:76px;height:76px;border-radius:50%;background:var(--wa-soft);color:var(--wa-deep);font-size:28px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;cursor:pointer;border:2px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.08);}
  .avhint{font-size:11.5px;color:var(--ink-3);}
  .tzhint{padding:8px 18px 0;font-size:12px;color:var(--ink-3);line-height:1.5;margin:0;}
  .seg3{display:flex;gap:6px;padding:0 18px 4px;}
  .seg3 button{flex:1;padding:11px 0;border-radius:11px;border:1.5px solid var(--line);background:#fff;font-size:13px;font-weight:700;color:var(--ink-2);font-family:'Inter',sans-serif;}
  .seg3 button.on{background:var(--wa-dark);color:#fff;border-color:var(--wa-dark);}
  .bought{display:flex;align-items:center;gap:11px;padding:12px 18px;border-bottom:1px solid var(--line);}
  .bought .bav{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:0 0 auto;}
  .bought .bin{flex:1;min-width:0;}
  .bought .bin b{font-size:14px;display:block;}
  .bought .bin span{font-size:12px;color:var(--ink-3);}
  /* --red нигде не объявлена: кнопка выходила бесцветной. У двух соседних
     правил на этот случай стоит запасной цвет вторым доводом, здесь его
     забыли. Ставим тот же. */
  .bought .bx{background:none;border:none;color:var(--red,#C0392B);font-size:12px;font-weight:700;flex:0 0 auto;}
  .nobought{padding:14px 18px;font-size:13px;color:var(--ink-3);line-height:1.5;}
  .authbox{display:flex;align-items:center;gap:11px;padding:14px 18px;cursor:pointer;}
  .authbox:first-child{padding-top:16px;}
  .authbox+.authbox{border-top:1px solid var(--line);}
  .authbox+.avwrap{border-top:1px solid var(--line);margin-top:4px;}
  .authbox .ai{width:38px;height:38px;border-radius:12px;background:var(--wa-soft);color:var(--wa-deep);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;flex:0 0 auto;}
  .authbox b{font-size:14.5px;display:block;}
  .authbox span{font-size:12.5px;color:var(--ink-2);}
  .authbox .ac{color:var(--ink-3);font-size:18px;}

  /* market soon */
  .soon{padding:40px 24px;text-align:center;}
  .soon .ic{width:70px;height:70px;border-radius:22px;background:var(--wa-soft);color:var(--wa);display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 18px;}
  .soon h3{font-size:20px;font-weight:800;margin:0 0 8px;letter-spacing:-.02em;}
  .soon p{font-size:14px;color:var(--ink-2);line-height:1.6;margin:0 0 22px;}
  .soon input{width:100%;background:var(--panel);border:1.5px solid transparent;border-radius:12px;padding:13px 14px;font-size:15px;font-family:'Inter',sans-serif;outline:none;margin-bottom:10px;text-align:center;}
  .soon input:focus{border-color:var(--wa);background:#fff;}
  .soon > button, .money button, .guard button{width:100%;background:var(--ink);color:#fff;border:none;border-radius:12px;height:48px;font-size:15px;font-weight:700;font-family:'Inter',sans-serif;}
  .preview{text-align:left;margin-top:28px;}
  .preview .pt{font-size:11px;font-weight:800;color:var(--ink-3);letter-spacing:.07em;margin-bottom:10px;}
  .blur{filter:blur(2.5px);opacity:.5;pointer-events:none;}

  /* monetization */
  .money{text-align:left;margin-top:30px;border-top:1px solid var(--line);padding-top:22px;}
  .money .mt{font-size:11px;font-weight:800;color:var(--ink-3);letter-spacing:.08em;margin-bottom:16px;}
  .mrow{display:flex;gap:12px;margin-bottom:18px;align-items:flex-start;}
  .mn{width:26px;height:26px;border-radius:8px;background:var(--wa-soft);color:var(--wa-deep);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
  .mc b{font-size:14.5px;display:block;margin-bottom:3px;}
  .mc span{font-size:13.5px;color:var(--ink-2);line-height:1.55;display:block;}
  .mc span b{display:inline;color:var(--wa-deep);font-weight:800;}
  .mnote{background:var(--panel);border-radius:12px;padding:12px 14px;font-size:12.5px;color:var(--ink-2);line-height:1.5;}

  /* add to day from life */
  .adaybox{display:flex;align-items:center;gap:12px;background:var(--wa-soft);border-radius:15px;padding:13px 14px;margin-top:14px;}
  .adaybox.off{background:var(--panel);}
  .adaybox .adi{flex:1;min-width:0;}
  .adaybox .adi b{font-size:14.5px;display:block;line-height:1.3;}
  .adaybox .adi span{font-size:12.5px;color:var(--ink-2);display:block;margin-top:2px;}
  .adaybox.off .adi b{color:var(--ink-2);}
  .adbtn{background:var(--wa);color:#fff;border:none;border-radius:11px;padding:11px 16px;font-size:13.5px;font-weight:700;flex:0 0 auto;font-family:'Inter',sans-serif;}
  .adaybox.food{background:#FDF2E2;margin-top:8px;}
  .adaybox.food .adi b:before{content:"🍽 ";}
  .adbtn.food{background:#B45309;}
  .tfwarn{margin:0 16px 12px;background:#FDECEC;border-radius:13px;padding:12px 14px;font-size:13px;color:#8C2F2F;line-height:1.5;}
  .tok{color:var(--wa);font-weight:800;flex:0 0 auto;}

  /* market sections */
  .msect{font-size:12px;font-weight:800;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;margin:20px 0 10px;text-align:left;}
  .mnone{background:var(--panel);border-radius:14px;padding:14px;font-size:13.5px;color:var(--ink-2);line-height:1.55;text-align:left;margin-bottom:12px;}
  .mnone b{color:var(--wa-deep);font-weight:800;}

  /* community chat */
  .chat{position:absolute;inset:0;background:#EDE7DF;z-index:85;display:none;flex-direction:column;}
  .chat.on{display:flex;}
  .chh{background:var(--wa-dark);color:#fff;padding:12px 12px;display:flex;align-items:center;gap:10px;flex:0 0 auto;}
  .chback{width:32px;height:32px;border:none;background:transparent;color:#fff;font-size:24px;flex:0 0 auto;line-height:1;padding-bottom:4px;}
  .chav{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex:0 0 auto;}
  .chi{flex:1;min-width:0;}
  .chi b{font-size:15px;display:block;line-height:1.25;}
  .chi span{font-size:11.5px;opacity:.7;}
  .chbanner{background:var(--wa-soft);color:#0F5132;font-size:12px;padding:8px 14px;text-align:center;flex:0 0 auto;font-weight:600;}
  .chbanner span{text-decoration:underline;cursor:pointer;}
  .chlog{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:10px;}
  .chlog::-webkit-scrollbar{display:none;}
  .msg{max-width:82%;align-self:flex-start;}
  .msg.me{align-self:flex-end;}
  .msg .mw{font-size:11.5px;font-weight:700;color:var(--wa-deep);margin:0 0 3px 4px;display:block;}
  .msg .mw .badge{font-style:normal;font-size:9.5px;background:var(--wa);color:#fff;padding:1px 5px;border-radius:4px;margin-left:5px;font-weight:800;vertical-align:1px;}
  .msg .mb{background:#fff;border-radius:12px;padding:9px 12px 7px;font-size:14px;line-height:1.5;color:var(--ink);position:relative;box-shadow:0 1px 1px rgba(0,0,0,.06);}
  .msg.me .mb{background:#D9FDD3;}
  .msg .mt{display:block;font-size:10px;color:var(--ink-3);text-align:right;margin-top:2px;}
  .chin{display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#F0F2F5;flex:0 0 auto;}
  .chin input{flex:1;border:none;border-radius:22px;padding:12px 16px;font-size:15px;font-family:'Inter',sans-serif;outline:none;background:#fff;}
  .chin button{width:44px;height:44px;border-radius:50%;border:none;background:var(--wa);color:#fff;font-size:20px;flex:0 0 auto;font-weight:700;}

  /* share */
  .pshare{width:32px;height:32px;border-radius:9px;border:1.5px solid var(--line);background:#fff;color:var(--ink-2);font-size:16px;flex:0 0 auto;line-height:1;}
  .storywrap{padding:0 16px 12px;display:flex;justify-content:center;}
  .story{width:200px;aspect-ratio:9/16;border-radius:16px;padding:20px 16px;display:flex;flex-direction:column;justify-content:center;color:#fff;position:relative;overflow:hidden;background:linear-gradient(160deg,#4A3248,#6E4A6B);}
  .story .sbrand{position:absolute;top:14px;left:16px;font-size:11px;font-weight:800;opacity:.75;letter-spacing:.02em;}
  .story .sk{font-size:10px;opacity:.6;font-weight:700;letter-spacing:.08em;margin-bottom:5px;}
  .story .sv{font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1;margin-bottom:14px;}
  .story .sv.small{font-size:22px;}
  .story .sline{height:1px;background:rgba(255,255,255,.22);margin:0 0 14px;}
  .story .sp{font-size:12.5px;line-height:1.5;opacity:.85;}
  .story .sp b{font-weight:800;opacity:1;}
  .story .sfoot{position:absolute;bottom:14px;left:16px;right:16px;font-size:9.5px;opacity:.5;font-weight:600;}
  .shlink{margin:0 16px 12px;background:var(--panel);border-radius:11px;padding:11px 13px;font-size:12.5px;color:var(--ink-2);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .shbtns{display:flex;gap:9px;padding:0 16px calc(16px + env(safe-area-inset-bottom));}
  .sb1{flex:1;background:#fff;border:1.5px solid var(--line);border-radius:12px;height:48px;font-size:13.5px;font-weight:700;color:var(--ink);}
  .sb2{flex:1.3;background:var(--wa);border:none;border-radius:12px;height:48px;font-size:13.5px;font-weight:700;color:#fff;}

  /* day header + push */
  /* FULLSCREEN STORY */
  .story-overlay{position:absolute;inset:0;z-index:95;display:none;flex-direction:column;background:#000;}
  .story-overlay.on{display:flex;}
  .story-progress{display:flex;gap:3px;padding:10px 12px 0;position:absolute;top:0;left:0;right:0;z-index:2;}
  .story-seg{flex:1;height:2.5px;background:rgba(255,255,255,.35);border-radius:2px;overflow:hidden;}
  .story-seg-fill{height:100%;background:#fff;width:0%;transition:none;}
  .story-seg-fill.run{transition:width linear;}
  .story-hdr{display:flex;align-items:center;gap:10px;padding:22px 14px 10px;position:absolute;top:0;left:0;right:0;z-index:2;background:linear-gradient(to bottom,rgba(0,0,0,.5),transparent);}
  .story-av{width:36px;height:36px;border-radius:50%;overflow:hidden;border:2px solid #fff;flex:0 0 auto;}
  .story-av svg{display:block;width:36px;height:36px;}
  .story-meta{flex:1;}
  .story-meta b{font-size:14px;font-weight:700;color:#fff;display:block;line-height:1.2;}
  .story-meta span{font-size:11px;color:rgba(255,255,255,.7);}
  .story-close{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:4px;}
  .story-pause{background:rgba(255,255,255,.15);border:none;color:#fff;font-size:14px;cursor:pointer;padding:6px 10px;border-radius:8px;margin-right:4px;backdrop-filter:blur(4px);}
  .story-body{flex:1;display:flex;align-items:center;justify-content:center;padding:80px 24px 140px;}
  .story-text{color:#fff;font-size:17px;line-height:1.7;font-weight:500;white-space:pre-line;text-align:left;text-shadow:0 1px 8px rgba(0,0,0,.4);}
  .story-tap-l{position:absolute;left:0;top:0;bottom:170px;width:35%;z-index:3;}
  .story-tap-r{position:absolute;right:0;top:0;bottom:170px;width:65%;z-index:3;}
  .story-prod{position:absolute;bottom:0;left:0;right:0;padding:12px 14px 20px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);z-index:4;}
  .story-prod-inner{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.12);border-radius:14px;padding:12px;margin-bottom:10px;backdrop-filter:blur(10px);}
  .story-prod-e{font-size:26px;flex:0 0 auto;line-height:1;}
  .story-prod-i{flex:1;}
  .story-prod-i b{color:#fff;font-size:15px;display:block;}
  .story-prod-i span{color:rgba(255,255,255,.7);font-size:12px;}
  .story-prod-p{color:#fff;font-size:16px;font-weight:800;flex:0 0 auto;}
  .story-buy{width:100%;background:var(--wa);border:none;color:#fff;border-radius:14px;height:50px;font-size:15px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .myline-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 16px 0;padding:13px 14px;background:var(--wa-soft);border-radius:14px;cursor:pointer;border:1px solid #C9EED8;}
  .kin-banner{display:flex;align-items:center;gap:12px;margin:8px 16px 0;padding:13px 14px;
    background:#F6F1E8;border:1px solid #E4D5BE;border-radius:14px;cursor:pointer;}
  .kin-banner:active{background:#F0E8DA;}
  .kin-banner-e{font-size:22px;flex:0 0 auto;}
  .kin-banner-i{flex:1;min-width:0;}
  .kin-banner-i b{display:block;font-size:14px;font-weight:700;color:var(--ink-1);}
  .kin-banner-i span{display:block;font-size:12px;color:var(--ink-3);margin-top:1px;line-height:1.4;}
  .kin-banner-a{font-size:20px;color:#B08D57;flex:0 0 auto;}
  .mlb-i{flex:1;min-width:0;}
  .mlb-i b{font-size:15px;font-weight:800;display:block;color:var(--wa-dark);}
  .mlb-i span{font-size:12.5px;color:var(--wa-deep);display:block;margin-top:2px;}
  .mlb-btn{background:var(--wa);border:none;color:#fff;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;flex:0 0 auto;}
  /* СЕЛЛЕР — короткие аргументы */
  .ptwhy{display:flex;gap:8px;margin:10px 0 16px;}
  .ptwhy-r{flex:1;background:var(--wa-soft);border-radius:13px;padding:12px 8px;text-align:center;}
  .ptwhy-r b{font-size:19px;font-weight:800;color:var(--wa-dark);display:block;}
  .ptwhy-r span{font-size:11px;color:var(--wa-deep);display:block;margin-top:2px;line-height:1.3;}
  /* ПУСТОЙ КОНСТРУКТОР */
  .dayempty{margin:14px 16px;padding:18px 16px;border:1.5px dashed var(--line);border-radius:18px;text-align:center;}
  .dayempty b{font-size:15.5px;font-weight:800;display:block;margin-bottom:6px;}
  .dayempty p{font-size:13px;color:var(--ink-3);line-height:1.55;margin:0 0 14px;}
  .de-btn{width:100%;background:var(--wa);border:none;color:#fff;border-radius:12px;height:46px;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;margin-bottom:8px;}
  .de-alt{width:100%;background:none;border:1.5px solid var(--line);color:var(--ink-2);border-radius:12px;height:42px;font-size:13.5px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;}
  /* ВЫБОР ЧЕЛОВЕКА */
  .pick-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px 0 18px;}
  .pick-row{display:flex;align-items:center;gap:11px;padding:11px 16px;cursor:pointer;}
  .pick-row:active{background:var(--panel);}
  .pick-av{width:42px;height:42px;border-radius:50%;overflow:hidden;flex:0 0 auto;}
  .pick-av svg{display:block;width:100%;height:100%;}
  .pick-i{flex:1;min-width:0;}
  .pick-i b{font-size:14.5px;font-weight:700;display:block;line-height:1.25;}
  .pick-i span{font-size:12.5px;color:var(--ink-3);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .pick-n{font-size:11.5px;color:var(--wa-deep);font-weight:700;flex:0 0 auto;}
  /* ПУБЛИКАЦИЯ — ПРОСТО */
  .pb-simple{padding:4px 16px 20px;overflow-y:auto;min-height:0;}
  .pb-way{display:flex;align-items:center;gap:13px;width:100%;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:16px 14px;margin-bottom:10px;cursor:pointer;font-family:'Inter',sans-serif;text-align:left;}
  .pb-way:active{border-color:var(--wa);background:var(--wa-soft);}
  .pbw-e{font-size:26px;line-height:1;flex:0 0 auto;}
  .pbw-t{flex:1;min-width:0;}
  .pbw-t b{font-size:16px;font-weight:800;display:block;line-height:1.25;}
  .pbw-t span{font-size:12.5px;color:var(--ink-3);display:block;margin-top:2px;}
  .pbw-a{font-size:20px;color:var(--ink-3);flex:0 0 auto;}
  /* КАРТОЧКА ДНЯ */
  #daycard{max-height:92vh;overflow-y:auto;}
  .dc-wrap{padding:4px 16px 12px;}
  #dc-canvas{width:100%;border-radius:16px;display:block;box-shadow:0 6px 24px rgba(0,0,0,.18);}
  .dc-link{text-align:center;font-size:13px;color:var(--ink-3);padding-bottom:12px;}
  .dc-btns{display:flex;gap:9px;padding:0 16px 9px;}
  .dc-btns button{flex:1;border:1.5px solid var(--line);background:#fff;border-radius:12px;height:46px;font-size:13.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .dc-save{width:calc(100% - 32px);margin:0 16px 8px;background:var(--wa);border:none;color:#fff;border-radius:13px;height:50px;font-size:14.5px;font-weight:800;font-family:'Inter',sans-serif;cursor:pointer;}
  .dc-close{width:calc(100% - 32px);margin:0 16px 18px;background:none;border:none;color:var(--ink-3);font-size:13.5px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;padding:8px;}
  .of-course{display:flex;align-items:center;gap:11px;margin:4px 16px 14px;padding:13px 14px;border:1.5px solid var(--wa);border-radius:14px;cursor:pointer;background:#fff;}
  .ofc-t{flex:1;min-width:0;}
  .ofc-l{font-size:10.5px;font-weight:800;color:var(--wa-deep);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:2px;}
  .ofc-t b{font-size:14.5px;font-weight:700;display:block;line-height:1.25;}
  .ofc-t span{font-size:12px;color:var(--ink-3);}
  .crs-av{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto;}
  /* ОБСУЖДЕНИЕ ПОД ШАГОМ */
  .qa{margin:6px 16px 16px;padding:14px;background:var(--panel);border-radius:16px;}
  .qa-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:11px;}
  .qa-h b{font-size:14px;font-weight:800;}
  .qa-h span{font-size:11.5px;color:var(--ink-3);}
  .qa-m{background:#fff;border-radius:12px;padding:11px 12px;margin-bottom:8px;}
  .qa-m.auth{background:var(--wa-soft);}
  .qa-mh{display:flex;align-items:baseline;gap:7px;margin-bottom:3px;}
  .qa-mh b{font-size:13px;font-weight:800;}
  .qa-ago{font-size:11px;color:var(--ink-3);margin-left:auto;}
  .qa-m p{font-size:13.5px;line-height:1.5;margin:0;}
  .qa-empty{font-size:13px;color:var(--ink-3);line-height:1.55;margin:0 0 10px;}
  .qa-in{display:flex;gap:7px;}
  .qa-in input{flex:1;border:1.5px solid var(--line);border-radius:999px;padding:10px 14px;font-size:13.5px;font-family:'Inter',sans-serif;outline:none;background:#fff;min-width:0;}
  .qa-in input:focus{border-color:var(--wa);}
  .qa-in button{width:40px;height:40px;border-radius:50%;background:var(--wa);border:none;color:#fff;font-size:17px;cursor:pointer;flex:0 0 auto;}
  .co-q{background:var(--wa-soft);color:var(--wa-deep);font-size:11px;font-weight:800;border-radius:999px;padding:2px 8px;flex:0 0 auto;}
  /* ЭКРАН ШАГА */
  .st-prog{height:4px;background:var(--panel);}
  .st-prog div{height:100%;background:var(--wa);transition:width .3s;}
  .st-main{padding:20px 18px 8px;}
  .st-n{font-size:11.5px;font-weight:800;color:var(--wa-deep);text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px;}
  .st-h{font-size:24px;font-weight:800;line-height:1.25;margin:0 0 9px;letter-spacing:-.01em;}
  .st-d{font-size:15px;color:var(--ink-2);line-height:1.55;margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line);}
  .st-body-txt p{font-size:15px;line-height:1.7;color:var(--ink);margin:0 0 14px;}
  .st-ask{display:flex;align-items:center;gap:10px;margin:8px 16px 16px;padding:13px;background:var(--panel);border-radius:14px;cursor:pointer;}
  .st-nav{display:flex;gap:8px;padding:0 16px 26px;}
  .st-prev,.st-next{background:#fff;border:1.5px solid var(--line);color:var(--ink-2);border-radius:12px;height:48px;padding:0 14px;font-size:13.5px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;flex:0 0 auto;}
  .st-done{flex:1;background:var(--wa);border:none;color:#fff;border-radius:12px;height:48px;font-size:14.5px;font-weight:800;font-family:'Inter',sans-serif;cursor:pointer;}
  .st-done.on{background:var(--wa-soft);color:var(--wa-dark);}
  .co-done{color:var(--wa);font-size:16px;font-weight:800;flex:0 0 auto;}
  .co-s.passed .co-sn{background:var(--wa);color:#fff;}
  .co-s.passed .co-si b{color:var(--ink-3);}
  .co-ap{height:5px;background:#D6F0E0;border-radius:3px;overflow:hidden;margin-bottom:7px;}
  .co-ap div{height:100%;background:var(--wa);border-radius:3px;transition:width .3s;}
  .mk-why{margin:14px 16px 4px;padding:16px;background:var(--wa-soft);border-radius:18px;}
  .mk-why b{font-size:19px;font-weight:800;color:var(--wa-dark);display:block;margin-bottom:6px;line-height:1.3;}
  .mk-why > p{font-size:13.5px;color:var(--wa-deep);line-height:1.55;margin:0 0 14px;}
  .mk-why-r{display:flex;align-items:flex-end;gap:8px;padding:12px;background:#fff;border-radius:13px;margin-bottom:11px;}
  .mk-why-r > div{text-align:center;}
  .mk-why-r b{font-size:16px;font-weight:800;color:var(--ink);display:block;margin:0;}
  .mk-why-r span{font-size:9.5px;color:var(--ink-3);display:block;line-height:1.2;}
  .mk-why-sum b{color:var(--wa-dark)!important;font-size:18px!important;}
  .mk-why-sum span{color:var(--wa-deep)!important;font-weight:600;}
  .mk-why-n{font-size:12px;color:var(--wa-deep);line-height:1.5;margin:0;opacity:.85;}
  /* ВЫБОР ИСТОЧНИКА */
  .mk-way{display:flex;align-items:center;gap:13px;width:100%;margin:0 0 10px;padding:16px 14px;border:1.5px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;font-family:'Inter',sans-serif;text-align:left;box-sizing:border-box;}
  .mk-way:active{border-color:var(--wa);background:var(--wa-soft);}
  .mk-way.ig{border-color:#C13584;background:#FFF0F8;}
  .mk-way.web{border-color:#1565C0;background:#EFF6FF;}
  .mkw-e{font-size:26px;line-height:1;flex:0 0 auto;}
  .mkw-t{flex:1;min-width:0;}
  .mkw-t b{font-size:15.5px;font-weight:800;display:block;line-height:1.25;}
  .mkw-t span{font-size:12.5px;color:var(--ink-3);display:block;margin-top:2px;}
  .mkw-a{font-size:20px;color:var(--ink-3);flex:0 0 auto;}
  #pg-mkcourse .mk-way{margin-left:16px;margin-right:16px;width:calc(100% - 32px);}
  .mk-ta{width:calc(100% - 32px);margin:0 16px;border:1.5px solid var(--line);border-radius:14px;padding:14px;font-size:15px;font-family:'Inter',sans-serif;box-sizing:border-box;resize:none;line-height:1.5;}
  .mk-ta:focus{outline:none;border-color:var(--wa);}
  .mk-in2{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px;font-size:15px;font-family:'Inter',sans-serif;box-sizing:border-box;margin-bottom:9px;}
  .mk-in2:focus{outline:none;border-color:var(--wa);}
  .mk-h.on{background:var(--wa);color:#fff;}
  /* ПОИСК */
  .mk-scan{padding:60px 32px;text-align:center;}
  .mk-spin{width:38px;height:38px;margin:0 auto 18px;border:3px solid var(--panel);border-top-color:var(--wa);border-radius:50%;animation:mkspin .8s linear infinite;}
  @keyframes mkspin{to{transform:rotate(360deg);}}
  .mk-scan b{font-size:15.5px;font-weight:700;display:block;margin-bottom:5px;}
  .mk-scan span{font-size:12.5px;color:var(--ink-3);}
  /* НАЙДЕННЫЕ СКИЛЛЫ */
  .mk-found-h{padding:16px 16px 8px;}
  .mk-found-h b{font-size:18px;font-weight:800;display:block;margin-bottom:4px;}
  .mk-found-h p{font-size:13px;color:var(--ink-3);line-height:1.5;margin:0;}
  .mk-found{margin:0 16px 10px;padding:14px;border:1.5px solid var(--line);border-radius:16px;cursor:pointer;}
  .mk-found:active{border-color:var(--wa);background:var(--wa-soft);}
  .mkf-top{display:flex;gap:11px;margin-bottom:9px;}
  .mkf-e{font-size:26px;line-height:1;flex:0 0 auto;}
  .mkf-i{flex:1;min-width:0;}
  .mkf-i b{font-size:15.5px;font-weight:800;display:block;line-height:1.3;}
  .mkf-i span{font-size:12.5px;color:var(--ink-3);display:block;margin-top:3px;line-height:1.45;}
  .mkf-meta{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-3);padding-top:9px;border-top:1px solid var(--line);}
  .mkf-go{margin-left:auto;color:var(--wa-deep);font-weight:800;}
  /* БУДНИ / ВЫХОДНЫЕ */
  .daytabs{display:flex;gap:4px;background:var(--panel);border-radius:9px;padding:3px;}
  .dt{background:none;border:none;border-radius:7px;padding:5px 11px;font-size:11.5px;font-weight:700;color:var(--ink-3);font-family:'Inter',sans-serif;cursor:pointer;}
  .dt.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08);}
  .ctps-h-n{font-size:12px;color:var(--ink-3);}
  .dnote-l{display:block;font-size:12.5px;color:var(--wa-deep);font-weight:700;}
  .dnote-s{display:block;font-size:11.5px;color:var(--ink-3);margin-top:3px;}
  .dm-btn{background:var(--wa-soft);border:none;color:var(--wa-dark);border-radius:10px;padding:8px 13px;font-size:12.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;flex:0 0 auto;margin-left:auto;}
  .dm-last{color:var(--ink-2);}
  .dm-you{color:var(--ink-3);}
  /* ЛИЧНЫЙ ЧАТ */
  #pg-dm{padding-bottom:70px;}
  .dmitem{display:flex;align-items:center;gap:11px;margin:10px 16px;padding:12px;background:var(--panel);border-radius:14px;}
  .dmi-e{font-size:24px;line-height:1;flex:0 0 auto;}
  .dmi-i{flex:1;min-width:0;}
  .dmi-i b{font-size:14px;font-weight:700;display:block;line-height:1.25;}
  .dmi-i span{font-size:11.5px;color:var(--ink-3);}
  .dmi-p{font-size:15px;font-weight:800;flex:0 0 auto;white-space:nowrap;}
  .dm-empty{text-align:center;font-size:13px;color:var(--ink-3);padding:40px 24px;}
  .dmsg{max-width:78%;margin:6px 16px;padding:10px 13px;border-radius:14px;background:#fff;border:1px solid var(--line);}
  .dmsg.me{margin-left:auto;background:var(--wa-soft);border-color:transparent;}
  .dmsg p{font-size:14px;line-height:1.45;margin:0;}
  .dmsg span{font-size:10.5px;color:var(--ink-3);display:block;text-align:right;margin-top:3px;}
  .dm-quick{display:flex;flex-wrap:wrap;gap:7px;padding:8px 16px 4px;}
  .dmq{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;color:var(--ink-2);font-family:'Inter',sans-serif;cursor:pointer;}
  /* РЕЗУЛЬТАТЫ ПОИСКА */
  .searchres{position:absolute;top:104px;left:0;right:0;bottom:64px;background:#fff;color:var(--ink);z-index:95;overflow-y:auto;display:none;}
  .searchres.on{display:block;}
  .sr-cap{font-size:11.5px;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;padding:14px 16px 7px;background:var(--panel);}
  .sr-row{display:flex;align-items:center;gap:11px;padding:11px 16px;border-bottom:1px solid var(--line);cursor:pointer;}
  .sr-row:active{background:var(--panel);}
  .sr-e{font-size:23px;line-height:1;flex:0 0 auto;}
  .sr-av{width:38px;height:38px;border-radius:50%;overflow:hidden;flex:0 0 auto;}
  .sr-av svg{display:block;width:100%;height:100%;}
  .sr-i{flex:1;min-width:0;}
  .sr-i b{font-size:14px;font-weight:700;color:var(--ink);display:block;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sr-i span{font-size:12px;color:var(--ink-3);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sr-p{font-size:14.5px;font-weight:800;color:var(--ink);flex:0 0 auto;white-space:nowrap;}
  .sr-empty{padding:40px 24px;text-align:center;}
  .sr-empty b{font-size:16px;color:var(--ink);display:block;margin-bottom:7px;}
  .sr-empty p{font-size:13px;color:var(--ink-3);line-height:1.55;margin:0;}
  .sr-chips{display:flex;flex-wrap:wrap;gap:7px;padding:4px 16px 18px;}
  .sr-chip{border:1px solid var(--line);background:var(--panel);color:var(--ink-1);
    border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;
    font-family:'Inter',sans-serif;cursor:pointer;}
  .sr-chip:active{background:var(--wa-soft);border-color:transparent;color:var(--wa-dark);}
  .sr-fast{color:var(--wa-dark);font-weight:700;}
  .sr-per{background:linear-gradient(90deg, var(--wa-soft) 0%, transparent 60%);}
  .sr-who{color:var(--wa-dark);font-weight:700;}
  .sr-when{display:block;font-size:11px;color:var(--ink-3);margin-top:2px;}
  .sr-p small{font-size:10px;font-weight:600;color:var(--ink-3);}
  .sr-all{display:flex;align-items:center;gap:11px;margin:12px 16px 4px;padding:13px;
    background:var(--wa);border-radius:14px;cursor:pointer;color:#fff;}
  .sr-all .sr-i b{color:#fff;}
  .sr-all .sr-i span{color:rgba(255,255,255,.8);}
  .sr-all .do-a{color:rgba(255,255,255,.9);margin-left:auto;}
  .sr-ask{display:flex;align-items:center;gap:11px;margin:14px 16px 24px;padding:13px;background:var(--wa-soft);border-radius:14px;cursor:pointer;}
  /* ВЕЩИ ОТ ЛЮДЕЙ */
  .thing{margin:0 16px 10px;border:1px solid var(--line);border-radius:16px;padding:13px;}
  .th-top{display:flex;align-items:flex-start;gap:11px;cursor:pointer;}
  .th-e{font-size:26px;line-height:1;flex:0 0 auto;}
  .th-i{flex:1;min-width:0;}
  .th-i b{font-size:14.5px;font-weight:700;display:block;line-height:1.3;}
  .th-i span{font-size:11.5px;color:var(--ink-3);display:block;margin-top:2px;}
  .th-p{font-size:15px;font-weight:800;flex:0 0 auto;white-space:nowrap;}
  .th-s{font-size:12.5px;color:var(--ink-2);line-height:1.5;font-style:italic;margin:9px 0 11px;}
  .th-b{width:100%;background:var(--wa-soft);border:none;color:var(--wa-dark);border-radius:11px;height:42px;font-size:13.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  /* БЫСТРО ОТ СЕЛЛЕРОВ */
  .fastrow{display:flex;align-items:center;gap:11px;padding:11px 16px;border-bottom:1px solid var(--line);cursor:pointer;}
  .fastrow:active{background:var(--panel);}
  .fr-e{font-size:22px;line-height:1;flex:0 0 auto;}
  .fr-i{flex:1;min-width:0;}
  .fr-i b{font-size:14px;font-weight:700;display:block;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .fr-i span{font-size:11.5px;color:var(--ink-3);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .fr-r{text-align:right;flex:0 0 auto;display:flex;align-items:center;gap:9px;}
  .fr-r b{font-size:14.5px;font-weight:800;}
  .fr-add{width:28px;height:28px;border-radius:50%;background:var(--wa);color:#fff;font-size:17px;display:flex;align-items:center;justify-content:center;}
  .fr-sub{font-size:10.5px;color:var(--ink-3);}
  /* ПОДПИСКИ */
  .sb-total{margin:14px 16px;padding:16px;background:var(--wa-soft);border-radius:16px;text-align:center;}
  .sb-total span{font-size:12px;color:var(--wa-deep);font-weight:600;display:block;}
  .sb-total b{font-size:30px;font-weight:800;color:var(--wa-dark);display:block;letter-spacing:-.02em;margin-top:3px;}
  .sb-cap{font-size:11.5px;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;padding:12px 16px 6px;}
  .sb-row{display:flex;align-items:center;gap:11px;padding:12px 16px;border-bottom:1px solid var(--line);}
  .sb-row.off{opacity:.55;}
  .sb-e{font-size:22px;line-height:1;flex:0 0 auto;}
  .sb-i{flex:1;min-width:0;}
  .sb-i b{font-size:14.5px;font-weight:700;display:block;line-height:1.25;}
  .sb-i span{font-size:12px;color:var(--ink-3);display:block;}
  .sb-i small{font-size:11px;color:var(--wa-deep);display:block;margin-top:3px;font-weight:600;}
  .sb-row.off small{color:var(--ink-3);}
  .sb-x{background:none;border:1px solid var(--line);color:var(--ink-3);border-radius:9px;padding:7px 12px;font-size:12px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;flex:0 0 auto;}
  .sb-on{background:var(--wa);border:none;color:#fff;border-radius:9px;padding:8px 13px;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;flex:0 0 auto;}
  .sb-empty{margin:16px;padding:24px 18px;text-align:center;border:1.5px dashed var(--line);border-radius:16px;}
  .sb-empty b{font-size:15px;font-weight:800;display:block;margin-bottom:6px;}
  .sb-empty p{font-size:13px;color:var(--ink-3);line-height:1.55;margin:0;}
  .sb-note{font-size:12px;color:var(--ink-3);line-height:1.55;padding:16px 16px 26px;margin:0;}
  .co-sub{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:9px;padding-top:9px;border-top:1px solid #C9EED8;}
  .co-sub span{font-size:11.5px;color:var(--wa-deep);}
  .co-sub button{background:none;border:1px solid #C9EED8;color:var(--wa-deep);border-radius:8px;padding:6px 11px;font-size:11.5px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;flex:0 0 auto;}
  /* ЗАРАБОТОК СТРОКОЙ */
  .earnline{display:flex;align-items:center;gap:12px;margin:10px 16px 0;padding:12px 14px;background:var(--wa-dark);border-radius:14px;cursor:pointer;}
  .el-l{flex:0 0 auto;}
  .el-l b{font-size:18px;font-weight:800;color:#fff;line-height:1;}
  .el-l span{font-size:11px;color:rgba(255,255,255,.55);display:block;margin-top:2px;}
  .el-bar{flex:1;height:6px;background:#F0A63C;border-radius:3px;overflow:hidden;min-width:40px;}
  .el-bar div{height:100%;background:#C77DA8;border-radius:3px;}
  .el-a{font-size:12px;color:rgba(255,255,255,.75);font-weight:700;flex:0 0 auto;}
  /* БЛОК ДЕЙСТВИЙ */
  .doblock{margin:14px 16px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
  .do-cap{font-size:11px;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;padding:11px 14px 8px;}
  .do-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--line);cursor:pointer;}
  .do-row:active{background:var(--panel);}
  .do-e{font-size:21px;line-height:1;flex:0 0 auto;}
  .do-t{flex:1;min-width:0;}
  .do-t b{font-size:14.5px;font-weight:700;display:block;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .do-t span{font-size:12px;color:var(--ink-3);display:block;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .do-a{font-size:19px;color:var(--ink-3);flex:0 0 auto;}
  /* КУРСЫ: карточка входа */
  .skcard{margin:12px 16px 0;padding:16px;border:1.5px dashed var(--wa);border-radius:18px;background:var(--wa-soft);cursor:pointer;}
  .skcard b{font-size:16px;font-weight:800;color:var(--wa-dark);display:block;margin-bottom:6px;}
  .skcard p{font-size:13px;color:var(--wa-deep);line-height:1.55;margin:0 0 14px;}
  .sk-btn{width:100%;background:var(--wa);border:none;color:#fff;border-radius:12px;height:46px;font-size:14.5px;font-weight:800;font-family:'Inter',sans-serif;cursor:pointer;}
  .skcard.done{display:flex;align-items:center;gap:12px;border-style:solid;background:#fff;}
  .sk-i{flex:1;min-width:0;}
  .sk-i b{margin-bottom:2px;color:var(--ink);}
  .sk-i span{font-size:12px;color:var(--wa-deep);}
  /* КОНСТРУКТОР КУРСА */
  .mk-intro{padding:18px 16px 12px;}
  .mk-intro b{font-size:20px;font-weight:800;display:block;margin-bottom:6px;line-height:1.3;}
  .mk-intro p{font-size:13.5px;color:var(--ink-3);line-height:1.55;margin:0;}
  .mk-in{width:calc(100% - 32px);margin:0 16px;border:1.5px solid var(--line);border-radius:14px;padding:14px;font-size:16px;font-family:'Inter',sans-serif;box-sizing:border-box;}
  .mk-in:focus{outline:none;border-color:var(--wa);}
  .mk-hints{display:flex;flex-wrap:wrap;gap:7px;padding:12px 16px 4px;}
  .mk-h{background:var(--panel);border:none;border-radius:999px;padding:7px 13px;font-size:12.5px;color:var(--ink-2);font-family:'Inter',sans-serif;cursor:pointer;}
  .mk-note{font-size:12.5px;color:var(--ink-3);line-height:1.55;padding:10px 16px 0;margin:0;}
  .mk-go{width:calc(100% - 32px);margin:18px 16px 8px;background:var(--wa);border:none;color:#fff;border-radius:14px;height:52px;font-size:15px;font-weight:800;font-family:'Inter',sans-serif;cursor:pointer;}
  .mk-back{width:calc(100% - 32px);margin:0 16px 20px;background:none;border:none;color:var(--ink-3);font-size:13.5px;font-family:'Inter',sans-serif;cursor:pointer;padding:8px;}
  .mk-prog{padding:16px 16px 10px;}
  .mk-pbar{height:6px;background:var(--panel);border-radius:3px;overflow:hidden;margin-bottom:7px;}
  .mk-pbar div{height:100%;background:var(--wa);border-radius:3px;transition:width .25s;}
  .mk-prog span{font-size:12.5px;color:var(--ink-3);}
  .mk-block{margin-bottom:6px;}
  .mk-bh{font-size:11.5px;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;padding:10px 16px 6px;}
  .mk-s{display:flex;align-items:center;gap:11px;padding:10px 16px;border-bottom:1px solid var(--line);}
  .mk-sn{width:24px;height:24px;border-radius:50%;background:var(--wa-soft);color:var(--wa-deep);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
  .mk-si{flex:1;min-width:0;}
  .mk-si b{font-size:14px;font-weight:700;display:block;line-height:1.25;}
  .mk-si span{font-size:12px;color:var(--ink-3);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .mk-sx{background:none;border:none;color:var(--ink-3);font-size:18px;cursor:pointer;flex:0 0 auto;padding:0 4px;}
  .mk-add{width:calc(100% - 32px);margin:14px 16px 0;background:#fff;border:1.5px dashed var(--line);color:var(--ink-2);border-radius:13px;height:46px;font-size:14px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;}
  .mk-price{text-align:center;padding:20px 16px 8px;}
  .mk-price b{font-size:40px;font-weight:800;display:block;letter-spacing:-.02em;}
  .mk-price span{font-size:13px;color:var(--ink-3);}
  .mk-slider{width:calc(100% - 32px);margin:0 16px 16px;accent-color:var(--wa);}
  .mk-calc{padding:0 16px;}
  .mk-cr{display:flex;justify-content:space-between;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);}
  .mk-cr span{font-size:13px;color:var(--ink-2);}
  .mk-cr b{font-size:15px;font-weight:800;color:var(--wa-deep);}
  /* ПРОСМОТР КУРСА */
  .co-hero{margin:12px 16px;padding:18px 16px;border-radius:18px;}
  .co-hero b{font-size:20px;font-weight:800;display:block;line-height:1.3;margin-bottom:6px;}
  .co-hero span{font-size:13.5px;color:var(--ink-2);line-height:1.55;display:block;}
  .co-price{display:flex;align-items:baseline;gap:9px;padding:0 16px 12px;}
  .co-price b{font-size:26px;font-weight:800;}
  .co-price span{font-size:12.5px;color:var(--ink-3);}
  .co-buy{width:calc(100% - 32px);margin:0 16px 14px;background:var(--wa);border:none;color:#fff;border-radius:14px;height:52px;font-size:15px;font-weight:800;font-family:'Inter',sans-serif;cursor:pointer;}
  .co-active{margin:0 16px 14px;padding:12px;background:var(--wa-soft);color:var(--wa-dark);border-radius:12px;font-size:13.5px;font-weight:700;text-align:center;}
  .co-mine{display:flex;gap:9px;padding:0 16px 14px;}
  .co-mr{flex:1;background:var(--panel);border-radius:13px;padding:12px;text-align:center;}
  .co-mr span{font-size:11px;color:var(--ink-3);display:block;}
  .co-mr b{font-size:19px;font-weight:800;display:block;margin-top:2px;}
  .co-block{margin-bottom:4px;}
  .co-bh{font-size:11.5px;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;padding:12px 16px 6px;}
  .co-s{display:flex;align-items:center;gap:11px;padding:11px 16px;border-bottom:1px solid var(--line);}
  .co-s.open{cursor:pointer;}
  .co-sn{width:26px;height:26px;border-radius:50%;background:var(--panel);color:var(--ink-3);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
  .co-s.open .co-sn{background:var(--wa-soft);color:var(--wa-deep);}
  .co-si{flex:1;min-width:0;}
  .co-si b{font-size:14.5px;font-weight:700;display:block;line-height:1.3;}
  .co-si span{font-size:12.5px;color:var(--ink-3);line-height:1.4;display:block;margin-top:2px;}
  .co-lock{opacity:.35;font-size:14px;flex:0 0 auto;}
  .co-ok{color:var(--ink-3);font-size:18px;flex:0 0 auto;}
  #coscrim{z-index:83;}
  #checkout{z-index:84;}
  .co-note{font-size:12.5px;color:var(--ink-3);text-align:center;padding:14px 16px 24px;margin:0;}
  .co-chat{display:flex;align-items:center;gap:10px;margin:14px 16px 24px;padding:13px;background:var(--wa-soft);border-radius:14px;cursor:pointer;}
  /* ЗАРАБОТОК В МОЙ ПУТЬ */
  .earn{margin:12px 16px 0;padding:15px 14px;border-radius:18px;background:var(--wa-dark);cursor:pointer;}
  .earn-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:11px;}
  .earn-h span{font-size:12px;color:rgba(255,255,255,.6);font-weight:600;}
  .earn-h b{font-size:26px;font-weight:800;color:#fff;letter-spacing:-.02em;}
  .earn-bar{height:7px;border-radius:4px;background:#F0A63C;overflow:hidden;margin-bottom:12px;}
  .earn-in{height:100%;background:#C77DA8;border-radius:4px;}
  .earn-two{display:flex;gap:12px;margin-bottom:11px;}
  .earn-c{flex:1;display:flex;align-items:flex-start;gap:7px;}
  .earn-c b{font-size:15px;font-weight:800;color:#fff;display:block;line-height:1.2;}
  .earn-c span{font-size:10.5px;color:rgba(255,255,255,.55);display:block;margin-top:2px;line-height:1.35;}
  .earn-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;margin-top:5px;}
  .earn-dot.in{background:#C77DA8;}
  .earn-dot.out{background:#F0A63C;}
  .earn-f{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);}
  .earn-f span{font-size:11.5px;color:rgba(255,255,255,.5);}
  .earn-arr{color:rgba(255,255,255,.8)!important;font-weight:700;}
  /* КАБИНЕТ: источники */
  .au-total{margin:14px 16px 12px;padding:16px;background:var(--wa-soft);border-radius:16px;text-align:center;}
  .au-total span{font-size:12px;color:var(--wa-deep);font-weight:600;display:block;}
  .au-total b{font-size:32px;font-weight:800;color:var(--wa-dark);display:block;letter-spacing:-.02em;margin:2px 0 4px;}
  .au-total small{font-size:12px;color:var(--wa-deep);}
  .au-src{display:flex;gap:9px;padding:0 16px 4px;}
  .au-srcard{flex:1;border:1px solid var(--line);border-radius:14px;padding:12px;}
  .au-sh{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--ink-3);margin-bottom:6px;}
  .au-srcard > b{font-size:20px;font-weight:800;display:block;margin-bottom:8px;}
  .au-sr{display:flex;justify-content:space-between;gap:6px;font-size:11px;color:var(--ink-3);padding:3px 0;line-height:1.35;}
  .au-goods{padding:0 16px;}
  .au-g{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--line);}
  .au-ge{font-size:22px;line-height:1;flex:0 0 auto;}
  .au-gi{flex:1;min-width:0;}
  .au-gi b{font-size:13.5px;font-weight:700;display:block;line-height:1.25;}
  .au-gi span{font-size:11.5px;color:var(--ink-3);}
  .au-gs{font-size:14px;font-weight:800;color:var(--wa-deep);flex:0 0 auto;}
  /* КАБИНЕТ АВТОРА */
  .aucard{display:flex;align-items:center;gap:12px;margin:12px 16px 0;padding:14px;border-radius:16px;background:var(--wa-dark);cursor:pointer;}
  .au-i{flex:1;min-width:0;}
  .au-i b{font-size:15px;font-weight:800;color:#fff;display:block;line-height:1.25;}
  .au-i span{font-size:12px;color:rgba(255,255,255,.65);display:block;margin-top:2px;}
  .au-arr{color:rgba(255,255,255,.5);font-size:20px;flex:0 0 auto;}
  .au-stats{display:flex;gap:9px;padding:14px 16px 10px;}
  .au-st{flex:1;background:var(--panel);border-radius:14px;padding:13px 8px;text-align:center;}
  .au-st b{font-size:19px;font-weight:800;display:block;}
  .au-st span{font-size:10.5px;color:var(--ink-3);line-height:1.3;display:block;margin-top:2px;}
  .au-money{background:var(--wa-soft);}
  .au-money b{color:var(--wa-dark);}
  .au-pay{margin:0 16px 6px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;}
  .au-pay-r{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;}
  .au-pay-r span{font-size:13px;color:var(--ink-2);}
  .au-pay-r b{font-size:14px;font-weight:800;}
  .au-pay-n{font-size:11.5px;color:var(--ink-3);margin-top:7px;padding-top:8px;border-top:1px solid var(--line);}
  .au-cap{font-size:11.5px;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;padding:16px 16px 8px;}
  .au-row{display:flex;align-items:center;gap:11px;padding:11px 16px;border-bottom:1px solid var(--line);}
  .au-dot{width:8px;height:8px;border-radius:50%;background:var(--wa);flex:0 0 auto;}
  .au-dot.off{background:#C9CFD6;}
  .au-ri{flex:1;min-width:0;}
  .au-ri b{font-size:14px;font-weight:700;display:block;line-height:1.25;}
  .au-ri span{font-size:12.5px;color:var(--ink-3);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .au-rt{text-align:right;flex:0 0 auto;}
  .au-rt span{font-size:11.5px;color:var(--ink-3);display:block;}
  .au-rt small{font-size:10.5px;color:var(--wa-deep);font-weight:700;}
  .au-ping{background:none;border:1px solid var(--line);color:var(--ink-2);border-radius:9px;padding:7px 12px;font-size:12px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;flex:0 0 auto;}
  .au-hint{margin:16px;padding:14px;background:#FFF3E0;border-radius:14px;}
  .au-hint b{font-size:14px;font-weight:800;color:#B8722A;display:block;margin-bottom:4px;}
  .au-hint p{font-size:12.5px;color:#8A5A1A;line-height:1.5;margin:0;}
  /* ЧАТ ЛИНИИ */
  .al-chat{display:flex;align-items:center;gap:10px;margin-top:9px;padding:11px 12px;background:#fff;border-radius:13px;cursor:pointer;}
  .al-ch-i{font-size:18px;flex:0 0 auto;}
  .al-ch-t{flex:1;min-width:0;}
  .al-ch-t b{font-size:13.5px;font-weight:800;display:block;line-height:1.2;}
  .al-ch-t span{font-size:11.5px;color:var(--ink-3);}
  .al-ch-arr{font-size:19px;color:var(--ink-3);flex:0 0 auto;}
  #pg-linechat{padding-bottom:70px;}
  .lcmsg{margin:10px 16px;padding:12px;border-radius:14px;background:var(--panel);}
  .lcmsg-step{background:var(--wa-soft);}
  .lcm-h{display:flex;align-items:baseline;gap:7px;margin-bottom:4px;}
  .lcm-h b{font-size:13.5px;font-weight:800;}
  .lcm-badge{font-size:10px;background:var(--wa);color:#fff;padding:2px 7px;border-radius:999px;font-weight:700;}
  .lcm-ago{font-size:11px;color:var(--ink-3);margin-left:auto;}
  .lcm-t{font-size:13.5px;line-height:1.5;color:var(--ink);margin:0;}
  .lcm-good{display:flex;align-items:center;gap:9px;margin-top:9px;padding:9px;background:#fff;border-radius:11px;}
  .lcm-ge{font-size:21px;flex:0 0 auto;line-height:1;}
  .lcm-gi{flex:1;min-width:0;}
  .lcm-gi b{font-size:12.5px;font-weight:700;display:block;line-height:1.2;}
  .lcm-gi span{font-size:11px;color:var(--ink-3);}
  .lcm-gb{background:var(--wa);border:none;color:#fff;border-radius:9px;padding:7px 12px;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;flex:0 0 auto;}
  .lc-input{position:absolute;bottom:64px;left:0;right:0;display:flex;gap:8px;padding:10px 16px;background:#fff;border-top:1px solid var(--line);}
  .lc-input input{flex:1;border:1.5px solid var(--line);border-radius:999px;padding:11px 15px;font-size:14px;font-family:'Inter',sans-serif;outline:none;}
  .lc-input input:focus{border-color:var(--wa);}
  .lc-input button{width:44px;height:44px;border-radius:50%;background:var(--wa);border:none;color:#fff;font-size:19px;cursor:pointer;flex:0 0 auto;}
  /* СТРАНИЦА ПУТИ */
  .of-pathcap{font-size:12px;font-weight:800;color:var(--ink-3);letter-spacing:.05em;
    text-transform:uppercase;padding:18px 16px 0;margin-top:6px;border-top:1px solid var(--line);}
  .of-title{font-size:19px;font-weight:800;padding:14px 16px 6px;line-height:1.3;}
  .of-prev{font-size:14px;color:var(--ink-2);line-height:1.6;font-style:italic;margin:0 16px 14px;}
  .of-care{margin:0 16px 14px;padding:12px;background:#FFF3E0;border-radius:12px;font-size:12.5px;color:#B8722A;line-height:1.5;}
  .of-stats{display:flex;gap:9px;padding:4px 16px 24px;}
  .of-st{flex:1;background:var(--panel);border-radius:13px;padding:12px 8px;text-align:center;}
  .of-st b{font-size:17px;font-weight:800;display:block;}
  .of-st span{font-size:11px;color:var(--ink-3);}
  .prsn-me{background:var(--wa-soft);}
  .me-tag{font-size:10px;font-weight:700;color:var(--wa-deep);background:#fff;border-radius:999px;padding:2px 8px;margin-left:6px;white-space:nowrap;}
  .lt-me{display:block;color:#B45309;font-weight:700;font-size:12.5px;margin-bottom:5px;padding-bottom:5px;border-bottom:1px solid rgba(240,166,60,.3);}
  .ml-pub{width:100%;background:var(--wa);border:none;color:#fff;border-radius:14px;height:50px;font-size:15px;font-weight:800;font-family:'Inter',sans-serif;cursor:pointer;margin:6px 0 4px;}
  .mlev-gl{font-size:10.5px;color:var(--wa-deep);font-weight:700;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:1px;}
  /* ТОВАРЫ В СОБЫТИЯХ ЛИНИИ */
  .mlev-g{display:flex;align-items:center;gap:10px;margin-top:9px;padding:10px;background:var(--wa-soft);border-radius:12px;}
  .mlev-ge{font-size:24px;line-height:1;flex:0 0 auto;}
  .mlev-gi{flex:1;min-width:0;}
  .mlev-gi b{font-size:13.5px;font-weight:700;display:block;line-height:1.25;}
  .mlev-gi span{font-size:11.5px;color:var(--wa-deep);}
  .mlev-gb{background:var(--wa);border:none;color:#fff;border-radius:10px;padding:8px 14px;font-size:12.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;flex:0 0 auto;}
  /* ВИДИМОСТЬ ЛИНИИ */
  .mlsh{margin-bottom:20px;}
  .mlsh-cur{display:flex;align-items:center;gap:11px;padding:13px;background:var(--panel);border-radius:14px;margin-bottom:9px;}
  .mlsh-e{font-size:22px;line-height:1;flex:0 0 auto;}
  .mlsh-i b{font-size:14px;font-weight:800;display:block;line-height:1.2;}
  .mlsh-i span{font-size:12px;color:var(--ink-3);}
  .mlsh-opts{display:flex;gap:7px;flex-wrap:wrap;}
  .mlsh-o{flex:1;min-width:98px;background:#fff;border:1.5px solid var(--line);color:var(--ink-2);border-radius:11px;padding:9px 6px;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .mlsh-o.on{background:var(--wa);border-color:var(--wa);color:#fff;}
  /* ШТОРКА ПОДПИСКИ */
  .sub-in{padding:8px 20px 22px;text-align:center;overflow-y:auto;min-height:0;}
  .sub-av{width:64px;height:64px;border-radius:50%;overflow:hidden;margin:0 auto 12px;border:3px solid var(--wa);}
  .sub-av svg{display:block;width:100%;height:100%;}
  .sub-t{font-size:21px;font-weight:800;display:block;margin-bottom:7px;}
  .sub-d{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin:0 0 16px;}
  .sub-feats{text-align:left;display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
  .sub-feat{font-size:13.5px;color:var(--ink-2);}
  .sub-price{background:var(--wa-soft);border-radius:14px;padding:13px;margin-bottom:14px;}
  .sub-price b{font-size:17px;font-weight:800;color:var(--wa-dark);display:block;}
  .sub-price span{font-size:12px;color:var(--wa-deep);display:block;margin-top:3px;}
  .sub-go{width:100%;background:var(--wa);border:none;color:#fff;border-radius:14px;height:52px;font-size:15.5px;font-weight:800;font-family:'Inter',sans-serif;cursor:pointer;margin-bottom:8px;}
  .sub-no{width:100%;background:none;border:none;color:var(--ink-3);font-size:13.5px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;padding:8px;}
  .wantlike-btn small{display:block;font-size:11px;font-weight:600;opacity:.75;margin-top:2px;}
  .wantlike-btn{line-height:1.25;height:auto;padding:11px 0;}
  /* АКТИВНАЯ ЛИНИЯ */
  .alcard{margin:12px 16px 4px;padding:14px;border-radius:18px;background:var(--wa-soft);border:1.5px solid var(--wa);}
  .al-top{display:flex;align-items:center;gap:11px;margin-bottom:11px;}
  .al-av{width:40px;height:40px;border-radius:50%;overflow:hidden;flex:0 0 auto;border:2px solid #fff;}
  .al-av svg{display:block;width:100%;height:100%;}
  .al-i{flex:1;min-width:0;}
  .al-i b{font-size:15px;font-weight:800;display:block;color:var(--wa-dark);line-height:1.2;}
  .al-i span{font-size:12px;color:var(--wa-deep);}
  .al-stop{background:none;border:1px solid #C9EED8;color:var(--wa-deep);border-radius:9px;padding:6px 12px;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;flex:0 0 auto;}
  .al-bar{height:5px;background:#D6F0E0;border-radius:3px;overflow:hidden;margin-bottom:12px;}
  .al-fill{height:100%;background:var(--wa);border-radius:3px;transition:width .3s;}
  .al-next{display:flex;align-items:center;gap:10px;background:#fff;border-radius:13px;padding:11px 12px;}
  .al-nt{flex:1;min-width:0;}
  .al-nt span{font-size:11px;color:var(--ink-3);font-weight:600;display:block;}
  .al-nt b{font-size:14px;font-weight:700;display:block;line-height:1.3;margin-top:1px;}
  .al-done{background:var(--wa);border:none;color:#fff;border-radius:10px;padding:9px 14px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;flex:0 0 auto;}
  .al-fin{background:#fff;border-radius:13px;padding:13px;text-align:center;font-size:14px;font-weight:700;color:var(--wa-deep);}
  .al-note{font-size:11px;color:var(--wa-deep);text-align:center;margin-top:9px;opacity:.75;}
  /* ПУШ */
  .push-toast{position:absolute;top:-140px;left:12px;right:12px;z-index:98;display:flex;align-items:center;gap:10px;background:rgba(28,30,32,.96);backdrop-filter:blur(12px);border-radius:16px;padding:12px;transition:top .35s cubic-bezier(.2,.9,.3,1.2);box-shadow:0 8px 28px rgba(0,0,0,.3);}
  .push-toast.on{top:12px;}
  .pt-ce{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:19px;flex:0 0 auto;}
  .pt-av{width:38px;height:38px;border-radius:50%;overflow:hidden;flex:0 0 auto;}
  .pt-av svg{display:block;width:100%;height:100%;}
  .pt-i{flex:1;min-width:0;}
  .pt-i b{color:#fff;font-size:12.5px;font-weight:800;display:block;line-height:1.2;}
  .pt-i span{color:rgba(255,255,255,.7);font-size:12.5px;display:block;margin-top:2px;line-height:1.35;}
  .pt-ok{background:var(--wa);border:none;color:#fff;border-radius:9px;padding:8px 12px;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;flex:0 0 auto;}
  .pt-x{background:none;border:none;color:rgba(255,255,255,.45);font-size:14px;cursor:pointer;padding:4px;flex:0 0 auto;}
  /* ТАРИФЫ */
  .plans-intro{font-size:13.5px;color:var(--ink-2);line-height:1.6;margin:14px 16px 4px;}
  .plan{position:relative;margin:12px 16px;border:1.5px solid var(--line);border-radius:18px;padding:16px;}
  .plan-best{border-color:var(--wa);background:var(--wa-soft);}
  .plan-badge{position:absolute;top:-9px;left:16px;background:var(--wa);color:#fff;font-size:10.5px;font-weight:800;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.4px;}
  .plan-head{display:flex;align-items:center;gap:11px;margin-bottom:12px;}
  .plan-e{font-size:28px;line-height:1;flex:0 0 auto;}
  .plan-hi b{font-size:17px;font-weight:800;display:block;line-height:1.2;}
  .plan-hi span{font-size:12.5px;color:var(--ink-3);display:block;margin-top:2px;}
  .plan-price{display:flex;align-items:baseline;gap:6px;}
  .plan-price b{font-size:26px;font-weight:800;}
  .plan-price span{font-size:13px;color:var(--ink-3);}
  .plan-year{font-size:12px;color:var(--ink-3);margin-bottom:12px;}
  .plan-hot{background:#FFF3E0;color:#B8722A;border-radius:10px;padding:8px 11px;font-size:12.5px;font-weight:700;margin-bottom:12px;}
  .plan-feats{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;}
  .plan-feat{font-size:13px;color:var(--ink-2);line-height:1.4;}
  .plan-btn{width:100%;background:#fff;border:1.5px solid var(--line);color:var(--ink);border-radius:12px;height:44px;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .plan-btn.on{background:var(--wa);border-color:var(--wa);color:#fff;}
  .plans-note{margin:18px 16px 24px;padding:14px;background:var(--panel);border-radius:14px;}
  .gift-card{position:relative;margin:20px 16px 8px;padding:18px;border-radius:18px;overflow:hidden;
    background:linear-gradient(135deg,var(--wa-soft),#fff);border:1.5px solid var(--wa);
    display:flex;align-items:flex-start;gap:13px;cursor:pointer;}
  .gift-card:active{opacity:.9;}
  .gift-glow{position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;
    background:radial-gradient(circle,var(--wa) 0%,transparent 70%);opacity:.25;}
  .gift-e{font-size:28px;flex:0 0 auto;z-index:1;}
  .gift-i{flex:1;min-width:0;z-index:1;}
  .gift-i b{display:block;font-size:16px;font-weight:800;color:var(--ink-1);font-family:'Inter',sans-serif;}
  .gift-i>span{display:block;font-size:13px;font-weight:700;color:var(--wa-deep);margin:2px 0 6px;}
  .gift-i p{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.5;}
  .gift-arr{font-size:22px;color:var(--wa);flex:0 0 auto;z-index:1;}
  .plans-foot{font-size:11.5px;color:var(--ink-3);text-align:center;margin:14px 16px 28px;line-height:1.5;}
  .plans-note b{font-size:14px;font-weight:800;display:block;margin-bottom:5px;}
  .plans-note p{font-size:12.5px;color:var(--ink-2);line-height:1.55;margin:0;}
  /* НЕДВИЖИМОСТЬ */
  .realty-head{display:flex;align-items:baseline;justify-content:space-between;padding:16px 16px 8px;}
  .realty-head b{font-size:17px;font-weight:800;}
  .realty-head span{font-size:12px;color:var(--wa-deep);font-weight:600;}
  .rcard{margin:0 16px 12px;border:1px solid var(--line);border-radius:16px;padding:14px;cursor:pointer;transition:border-color .15s var(--мяг);}
  .rcard:active{border-color:var(--wa);}
  .rc-top{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
  .rc-e{font-size:28px;flex:0 0 auto;line-height:1;}
  .rc-i{flex:1;min-width:0;}
  .rc-i b{font-size:14px;font-weight:800;display:block;}
  .rc-i span{font-size:12px;color:var(--ink-3);}
  .rc-price{font-size:16px;font-weight:800;flex:0 0 auto;color:var(--ink);}
  .rc-story{font-size:13px;color:var(--ink-2);line-height:1.5;margin:0 0 10px;font-style:italic;}
  .rc-foot{display:flex;gap:12px;font-size:11.5px;color:var(--ink-3);}
  .rc-seller{margin-left:auto;font-weight:700;color:var(--ink-2);}
  /* страница объекта */
  .rl-story{margin:12px 16px;padding:14px;background:var(--wa-soft);border-radius:14px;font-size:14px;line-height:1.65;color:var(--ink-2);font-style:italic;border-left:3px solid var(--wa);}
  .rl-stats{display:flex;gap:10px;padding:12px 16px;}
  .rl-stat{flex:1;background:var(--panel);border-radius:12px;padding:12px;text-align:center;}
  .rl-stat b{font-size:20px;font-weight:800;display:block;}
  .rl-stat span{font-size:11px;color:var(--ink-3);}
  .rl-facts{display:flex;flex-wrap:wrap;gap:7px;padding:4px 16px 12px;}
  .rl-fact{font-size:12.5px;background:var(--panel);border-radius:999px;padding:5px 11px;color:var(--ink-2);font-weight:600;}
  .rl-seller{display:flex;align-items:center;gap:11px;margin:0 16px 14px;padding:13px;border:1px solid var(--line);border-radius:14px;}
  .rl-sav{width:42px;height:42px;border-radius:12px;background:var(--wa-soft);color:var(--wa-deep);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex:0 0 auto;}
  .rl-si b{font-size:14px;display:block;}
  .rl-si span{font-size:12px;color:var(--ink-3);}
  .rl-price-bar{display:flex;align-items:center;justify-content:space-between;margin:0 16px 10px;padding:14px;background:#fff;border:1.5px solid var(--line);border-radius:14px;}
  .rl-price{font-size:20px;font-weight:800;display:block;}
  .rl-hint{font-size:11.5px;color:var(--wa-deep);font-weight:600;}
  .rl-call{background:var(--wa);border:none;color:#fff;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .rl-views{text-align:center;font-size:12px;color:var(--ink-3);padding:0 16px 20px;}
  .verify-block{margin:20px 16px 8px;padding:16px;background:var(--panel);border-radius:16px;border:1px solid var(--line);}
  .verify-text{font-size:12.5px;color:var(--ink-3);line-height:1.55;margin:0 0 12px;}
  .verify-btns{display:flex;flex-direction:column;gap:8px;}
  .verify-btn-main{width:100%;background:var(--wa);border:none;color:#fff;border-radius:11px;height:42px;font-size:13.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .verify-btn-del{width:100%;background:none;border:1px solid var(--line);color:var(--ink-3);border-radius:11px;height:38px;font-size:12.5px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;}
  .paths-head b{font-size:22px;font-weight:800;display:block;line-height:1.2;}
  .paths-head span{font-size:13px;color:var(--ink-2);display:block;margin-top:4px;}
  /* ===== ЗАБРАТЬ СВОЮ СТРАНИЦУ (верификация) ===== */
  .clm{padding:18px 16px 40px;overflow-y:auto;}
  .clm-step{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--wa);margin-bottom:8px;}
  .clm-h{font-family:'Inter',sans-serif;font-size:24px;font-weight:800;line-height:1.2;margin:0 0 8px;letter-spacing:-.01em;}
  .clm-p{font-size:14px;line-height:1.6;color:var(--ink-2);margin:0 0 18px;}
  .clm-card{background:var(--wa-soft);border:1px solid #EBD9E6;border-radius:16px;padding:15px;margin-bottom:14px;}
  .clm-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(199,125,168,.18);font-size:13.5px;}
  .clm-row:last-child{border-bottom:none;}
  .clm-row span{color:var(--ink-2);flex:0 0 auto;}
  .clm-row b{font-weight:700;text-align:right;}
  .clm-ev{display:flex;align-items:flex-start;gap:11px;padding:12px 13px;border:1px solid var(--line);
    border-radius:12px;margin-bottom:8px;background:#fff;cursor:pointer;}
  .clm-ev.off{opacity:.42;}
  .clm-box{width:21px;height:21px;border-radius:6px;border:2px solid var(--wa);flex:0 0 auto;margin-top:1px;
    display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:800;}
  .clm-ev.on .clm-box{background:var(--wa);}
  .clm-ev.off .clm-box{border-color:var(--ink-3);}
  .clm-ev-t{font-size:13.5px;line-height:1.45;}
  .clm-ev-d{font-size:11.5px;color:var(--ink-3);margin-top:3px;}
  .clm-note{font-size:12.5px;line-height:1.55;color:var(--ink-3);background:var(--panel);
    border-radius:12px;padding:12px 13px;margin:14px 0;}
  .clm-in{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 13px;font-size:14px;
    font-family:'Inter',sans-serif;margin-bottom:10px;background:#fff;}
  .clm-in:focus{outline:none;border-color:var(--wa);}
  .clm-btn{width:100%;background:var(--wa);border:none;color:#fff;border-radius:12px;height:48px;
    font-size:14.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;margin-top:6px;}
  .clm-btn:active{opacity:.85;}
  .clm-btn.ghost{background:none;border:1px solid var(--line);color:var(--ink-2);height:42px;font-size:13px;font-weight:600;}
  .clm-ok{text-align:center;padding:30px 0 10px;}
  .clm-ok-i{font-size:46px;line-height:1;margin-bottom:14px;}
  .vbadge{display:inline-flex;align-items:center;gap:4px;background:var(--wa-soft);color:var(--wa-deep);
    font-size:11px;font-weight:700;padding:3px 9px;border-radius:99px;margin-left:7px;vertical-align:middle;}
  .paths-tabs{display:flex;gap:7px;overflow-x:auto;padding:4px 16px 12px;}
  .paths-tabs::-webkit-scrollbar{display:none;}
  /* ===== РЯДЫ ПЕРСОН (как в кинопоиске) ===== */
  .rail-h{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 11px;gap:12px;}
  .rail-nav{display:flex;gap:6px;flex:0 0 auto;}
  .rail-arrow{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;
    color:var(--wa-deep);font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;
    cursor:pointer;padding:0;font-weight:700;}
  .rail-arrow:active{background:var(--wa-soft);}
  /* Заголовки разделов — тот же Montserrat, что и в шапке меню. Стенгазета
     убрана отсюда 16 августа вместе с заголовком в фиолетовой шапке. */
  .rail-h b{font-family:'Inter',sans-serif;font-size:20px;font-weight:800;
    letter-spacing:-.01em;}
  .rail-h small{font-size:12px;color:var(--ink-3);display:block;margin-top:3px;font-weight:400;}
  /* То же правило, что и для ленты слайдов: ряды ездят только вбок.
     Их на экранах много — люди по теме, дни рождения, «в твой день», —
     и на каждом косой смах уводил бы страницу вместо ряда. */
  .rail{display:flex;gap:11px;overflow-x:auto;padding:0 16px 6px;scrollbar-width:none;
    touch-action:pan-x pan-y;overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;scroll-behavior:smooth;cursor:grab;}
  .rail.drag{cursor:grabbing;scroll-behavior:auto;}
  .rail::-webkit-scrollbar{display:none;}
  .pcard{flex:0 0 auto;width:118px;cursor:pointer;}
  .pcard-i{width:118px;height:158px;border-radius:13px;overflow:hidden;background:var(--panel);
    border:1px solid var(--line);position:relative;display:flex;align-items:center;justify-content:center;}
  .pcard-i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
  .pcard-i svg{width:78px;height:78px;}
  .mono{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
  .mono span{font-family:'Inter',sans-serif;font-size:40px;font-weight:800;letter-spacing:.01em;opacity:.62;}
  .pcard-n{font-size:13px;font-weight:700;line-height:1.28;margin-top:8px;}
  .pcard-s{font-size:11.5px;color:var(--ink-3);line-height:1.35;margin-top:3px;}
  .pcard-d{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(52,28,48,.88),rgba(52,28,48,0));
    color:#fff;font-size:10.5px;font-weight:700;padding:16px 8px 6px;font-family:'Inter',sans-serif;letter-spacing:.02em;}
  .pcard-v{position:absolute;top:6px;right:6px;background:var(--wa);color:#fff;width:19px;height:19px;
    border-radius:50%;font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:800;}
  .pbav{position:relative;overflow:hidden;}
  .pbav img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;}
  .pbav-ph{position:absolute;bottom:-1px;right:-1px;width:19px;height:19px;border-radius:50%;
    background:var(--wa);border:2px solid #fff;color:#fff;font-size:9px;line-height:1;cursor:pointer;
    display:flex;align-items:center;justify-content:center;padding:0;z-index:2;}
  .paths-tabs button{flex:0 0 auto;background:var(--panel);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .paths-tabs button.on{background:var(--wa);border-color:var(--wa);color:#fff;}
  .pathcard{margin:0 16px 12px;border:1px solid var(--line);border-radius:16px;padding:14px;cursor:pointer;transition:border-color .15s var(--мяг);}
  .pathcard:active{border-color:var(--wa);}
  .pc-top{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
  .pc-av{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex:0 0 auto;}
  .pc-i{flex:1;min-width:0;}
  .pc-i b{font-size:15px;font-weight:800;display:block;line-height:1.25;}
  .pc-i span{font-size:12px;color:var(--ink-3);}
  .pc-r{flex:0 0 auto;text-align:right;}
  .pc-star{display:block;font-size:13px;font-weight:700;color:#F0A63C;}
  .pc-rev{display:block;font-size:11px;color:var(--ink-3);}
  .pc-prev{margin:0 0 12px;font-size:13px;color:var(--ink-2);line-height:1.5;font-style:italic;}
  .pc-foot{display:flex;align-items:center;justify-content:space-between;}
  .pc-price{font-size:17px;font-weight:800;}
  .pc-buy{background:var(--wa);border:none;color:#fff;border-radius:11px;padding:10px 20px;font-size:13.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
  .paths-empty{padding:20px 16px;color:var(--ink-3);font-size:13px;}
  .dhead{padding:18px 16px 14px;}
  .dhead b{font-size:19px;font-weight:800;letter-spacing:-.02em;display:block;margin-bottom:5px;}
  .dhead span{font-size:13.5px;color:var(--ink-2);line-height:1.55;display:block;}
  .dhead .from{margin-top:10px;background:var(--wa-soft);color:#0F5132;border-radius:10px;padding:9px 11px;font-size:12.5px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .fshare{background:var(--wa);border:none;color:#fff;border-radius:8px;padding:6px 10px;font-size:11.5px;font-weight:700;flex:0 0 auto;font-family:'Inter',sans-serif;}
  .authshare{margin-top:16px;background:var(--wa-soft);border-radius:14px;padding:14px;text-align:left;}
  .authshare .asi b{font-size:14px;display:block;margin-bottom:4px;color:#0F5132;}
  .authshare .asi span{font-size:12.5px;color:var(--ink-2);line-height:1.5;display:block;margin-bottom:11px;}
  .asb{width:100%;background:#fff;border:1.5px solid var(--wa);color:var(--wa-deep);border-radius:11px;height:44px;font-size:13.5px;font-weight:700;font-family:'Inter',sans-serif;}
  .pushbox{margin:0 16px 6px;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
  .prow2{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);gap:12px;}
  .prow2 b{font-size:14px;display:block;font-weight:600;}
  .prow2 span{font-size:11.5px;color:var(--ink-3);}
  .dempty{text-align:center;padding:36px 24px 20px;}
  .dempty .de-ic{font-size:34px;margin-bottom:10px;}
  .dempty b{font-size:16px;display:block;margin-bottom:5px;}
  .dempty p{font-size:13.5px;color:var(--ink-2);margin:0;line-height:1.5;}

  /* custom form */
  .cform{position:absolute;inset:0;background:rgba(0,0,0,.4);z-index:80;display:none;align-items:center;justify-content:center;padding:24px;}
  .cform.on{display:flex;}
  .cbox{background:#fff;border-radius:20px;padding:22px;width:100%;max-width:330px;}
  .cbox b{font-size:18px;font-weight:800;display:block;margin-bottom:16px;}
  .cbox label{font-size:12.5px;color:var(--ink-2);display:block;margin-bottom:6px;font-weight:600;}
  .cbox input{width:100%;background:var(--panel);border:1.5px solid transparent;border-radius:11px;padding:12px 13px;font-size:15px;font-family:'Inter',sans-serif;outline:none;margin-bottom:14px;}
  .cbox input:focus{border-color:var(--wa);background:#fff;}
  .cfoodrow{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
  .cfoodrow span{font-size:14px;font-weight:600;}
  .cbtns{display:flex;gap:9px;}
  .cb1{flex:1;background:var(--panel);border:none;border-radius:11px;height:46px;font-size:14px;font-weight:700;color:var(--ink-2);}
  .cb2{flex:1.3;background:var(--wa);border:none;border-radius:11px;height:46px;font-size:14px;font-weight:700;color:#fff;}

  /* transfer dialog */
  .transfer{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:22px 22px 0 0;z-index:81;transform:translateY(102%);transition:transform .28s cubic-bezier(.32,.72,0,1);max-height:84%;display:flex;flex-direction:column;}
  .transfer.on{transform:none;}
  .tfh{padding:6px 18px 14px;}
  .tfh b{font-size:18px;font-weight:800;display:block;letter-spacing:-.02em;}
  .tfh span{font-size:13px;color:var(--ink-3);}
  .tfrec{display:flex;gap:11px;align-items:flex-start;margin:0 16px 12px;background:var(--wa-soft);border-radius:13px;padding:12px 14px;}
  .tfrec .ti2{color:var(--wa-deep);font-size:16px;flex:0 0 auto;}
  .tfrec b{font-size:13.5px;display:block;margin-bottom:2px;color:var(--wa-deep);}
  .tfrec span{font-size:12.5px;color:var(--ink-2);line-height:1.5;display:block;}
  .tflist{flex:1;overflow-y:auto;padding:0 16px;}
  .tflist::-webkit-scrollbar{display:none;}
  .tfa{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);align-items:flex-start;}
  .tfa .tft{flex:0 0 46px;font-size:12.5px;font-weight:800;color:var(--ink-2);}
  .tfa .tfx{flex:1;font-size:13.5px;line-height:1.45;}
  .tfbtns{display:flex;gap:9px;padding:14px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);}
  .tb1{flex:1;background:#fff;border:1.5px solid var(--line);border-radius:12px;height:48px;font-size:13.5px;font-weight:700;color:var(--ink);}
  .tb2{flex:1.4;background:var(--wa);border:none;border-radius:12px;height:48px;font-size:13.5px;font-weight:700;color:#fff;}

  /* constructor */
  .warn{margin:0 16px 12px;background:#FDECEC;border-left:3px solid #E85D5D;border-radius:0 10px 10px 0;padding:11px 13px;font-size:13px;color:#8C2F2F;line-height:1.5;}
  .hour-row{position:relative;}
  .hour-row .rm{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:6px;background:transparent;border:none;color:#C9CFD6;font-size:16px;line-height:1;padding:0 0 2px 0;}
  .hour-row .rm:active{background:var(--panel);}
  .hour-row .chk{margin-right:20px;}
  .addrow{display:flex;align-items:center;gap:12px;padding:16px;border-top:1px dashed var(--line);cursor:pointer;}
  .addrow .ap{width:38px;height:38px;border-radius:12px;background:var(--wa-soft);color:var(--wa-deep);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:300;flex:0 0 auto;line-height:1;padding-bottom:3px;}
  .addrow b{font-size:15px;display:block;}
  .addrow span{font-size:12.5px;color:var(--ink-3);}

  /* sheet: action picker */
  .own{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--wa-soft);}
  .own .oi{width:38px;height:38px;border-radius:12px;background:#fff;color:var(--wa);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:300;flex:0 0 auto;line-height:1;padding-bottom:3px;}
  .own b{font-size:15px;display:block;}
  .own span{font-size:12.5px;color:var(--ink-2);}
  .pgrp{border-bottom:1px solid var(--line);}
  .pgh{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;}
  .pgh .took{background:var(--wa);color:#fff;font-size:11px;font-weight:800;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
  .pgh .chev{color:var(--ink-3);font-size:13px;flex:0 0 auto;}
  .pact{display:flex;align-items:center;gap:11px;padding:10px 16px 10px 60px;background:var(--panel);border-top:1px solid var(--line);}
  .pact .ph3{flex:0 0 44px;font-size:12.5px;font-weight:800;color:var(--ink-2);}
  .pact .pa{flex:1;font-size:13.5px;line-height:1.4;}
  .pact .sq{width:34px;height:34px;border-radius:10px;font-size:20px;}

  /* market full */
  .mcard2{border:1px solid var(--line);border-radius:16px;margin-bottom:12px;overflow:hidden;text-align:left;}
  .mcard2 .top2{display:flex;align-items:center;gap:11px;padding:13px 14px;}
  .mcard2 .av2{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex:0 0 auto;}
  .mcard2 .in2{flex:1;min-width:0;}
  .mcard2 .in2 b{font-size:14.5px;display:block;line-height:1.3;}
  .mcard2 .in2 span{font-size:12px;color:var(--ink-3);}
  .mcard2 .stars{font-size:12px;color:var(--amber);font-weight:700;white-space:nowrap;}
  .mcard2 .stats{display:flex;gap:14px;padding:0 14px 11px;font-size:11.5px;color:var(--ink-3);}
  .mcard2 .stats b{color:var(--ink-2);font-weight:700;}
  .mcard2 .prev{background:var(--panel);padding:10px 14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-2);line-height:1.5;}
  .mcard2 .prev .free{color:var(--wa-deep);font-weight:800;font-size:11px;display:block;margin-bottom:3px;}
  .mcard2 .buy2{display:flex;gap:8px;padding:11px 14px;border-top:1px solid var(--line);}
  .mcard2 .b1{flex:1;background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:11px;font-size:13px;font-weight:700;color:var(--ink);}
  .mcard2 .b2{flex:1.3;background:var(--wa);border:none;border-radius:10px;padding:11px;font-size:13px;font-weight:700;color:#fff;}
  .guard{display:flex;gap:10px;align-items:flex-start;background:var(--wa-soft);border-radius:12px;padding:12px 14px;margin-bottom:12px;text-align:left;}
  .guard .gi{font-size:17px;flex:0 0 auto;}
  .guard b{font-size:13px;display:block;margin-bottom:2px;}
  .guard span{font-size:12.5px;color:var(--ink-2);line-height:1.5;}
  .rules{text-align:left;background:var(--panel);border-radius:12px;padding:14px;margin-top:12px;}
  .rules b{font-size:12.5px;display:block;margin-bottom:8px;}
  .rules li{font-size:12.5px;color:var(--ink-2);line-height:1.6;margin-bottom:4px;}
  .rules ul{margin:0;padding-left:18px;}
  .disc{font-size:11.5px;color:var(--ink-3);line-height:1.5;text-align:left;margin-top:14px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;}

/* ===== ШРИФТЫ ДЛЯ ЗАГОЛОВКОВ КАРУСЕЛИ ===== */
/* Stengazeta лежит рядом: в нём есть якутские ҕ ҥ ө һ ү. */
/* 20 августа, вечер. Был сырой ttf на 114 КБ. Тот же шрифт в woff2 —
   24 КБ: минус 78%. Очертания те же, меняется только упаковка. Noto Sans
   я сжал сразу, а эти три оставил как лежали — недосмотр ценой в 250 КБ
   на каждом первом заходе. */
@font-face{
  font-family:'Stengazeta';
  src:url('../fonts/Stengazeta.woff2') format('woff2');
  font-weight:400 900;
  font-display:swap;
}

/* ТРИ ШРИФТА С ПОЛНОЙ ЯКУТСКОЙ АЗБУКОЙ. 15 сентября, слово хозяина:
   «добавь похожие». Брат прислал тринадцать файлов — почти все либо
   помечены DEMO, либо платные, либо чужие (Arial Black принадлежит
   Microsoft). Вшивать такое в платный продукт нельзя, и я их не брал.
   Единственный свободный из того списка, LexendDeca, оказался без
   кириллицы вовсе.

   Эти три взяты с Google Fonts, лицензия SIL Open Font License 1.1 —
   разрешает коммерческое использование. У всех трёх проверены по таблице
   глифов ВСЕ шесть якутских: ҕ ҥ ө һ ү и прописные. До сегодня таких в
   приложении было два — Stengazeta и Noto Sans.

   Файлы обрезаны до латиницы с кириллицей и сжаты в woff2: 16, 15 и
   19 КБ вместо сотен.

   Golos Text — Copyright 2023 The Golos Text Project Authors.
   Oswald — Copyright 2016 The Oswald Project Authors.
   Forum — Copyright 2011 Denis Masharov, with Reserved Font Name «Forum».
   (Заменил Rubik Mono One 15 сентября, слово хозяина: «убери Rubik Mono
   One и добавь Forum, это мой любимый шрифт был».)
   Все три под SIL OFL 1.1: https://scripts.sil.org/OFL */
@font-face{
  font-family:'Golos Text';
  src:url('../fonts/GolosText.woff2') format('woff2');
  font-weight:400 900;
  font-display:swap;
}
@font-face{
  font-family:'Oswald';
  src:url('../fonts/Oswald.woff2') format('woff2');
  font-weight:400 900;
  font-display:swap;
}
@font-face{
  font-family:'Forum';
  src:url('../fonts/Forum.woff2') format('woff2');
  font-weight:400 900;
  font-display:swap;
}

/* выбор шрифта под лентой слайдов */
.car-font{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:2px 0 10px}
.car-font-l{font-size:11.5px;color:#9c8f98;margin-right:2px}
.car-f{padding:6px 12px;border-radius:8px;border:1px solid #e6dbe3;background:#fff;
  color:#5b4a56;font-size:13px;cursor:pointer;line-height:1.2}
.car-f.on{background:#f6ecf3;border-color:#c894b0;color:#8d5b76;font-weight:600}
/* 9 октября, слово хозяина: цифры 4:5 / 9:16 / 16:9 в светлой теме шли тёмно-красным жирным — «должны быть розовые». */
.car-f i{font-style:normal;color:var(--wa);margin-left:5px;font-weight:600}
/* РЯД ШРИФТОВ НЕ МЕНЯЕТ ВЫСОТУ. 5 сентября.
   Выбранная кнопка становилась жирной, а жирная надпись шире — семь
   кнопок стоят ровно на переломе строки, и ряд прыгал с двух строк
   на три и обратно при каждом выборе шрифта. Здесь все кнопки жирные
   всегда, выбор виден заливкой и рамкой; ширина от нажатия не зависит. */
/* 5 сентября, вторая правка того же ряда. Вчера я сделал все кнопки
   жирными — высота перестала прыгать, но ряд стал шире и разъехался
   на три строки. У Bolyar, Stengazeta и PT Serif жирного начертания
   в файле нет, и Safari рисует его синтетически, растягивая буквы.
   Ширина важнее: делаем ВСЕ кнопки обычными, включая выбранную.
   Высота от этого так же постоянна — она и была нужна, — а выбор
   по-прежнему виден заливкой и рамкой. */
.car-font-f .car-f, .car-font-f .car-f.on{font-weight:400}
/* Пометка «!» держит своё место постоянно: она появляется, когда
   дочитываются файлы шрифтов, и без этого ряд дёргался бы второй раз. */
.car-font-f .car-f i.off{visibility:hidden}

/* РЯДЫ НАСТРОЕК — ОДНОЙ СТРОКОЙ. 16 сентября, слово хозяина: «не нравится
   пустота между Көстүүтэ, Шрифт, Тыл, Көрүҥ».

   Пустота шла от подписи слева: она съедала ширину, последняя кнопка не
   влезала и одна уезжала на новую строку. Подпись теперь мелко НАД рядом,
   кнопки берут всю ширину и не переносятся. Не влезли на узком телефоне —
   ряд листается пальцем вбок, а не ломается на две строки.

   Красные «!» в ряду шрифтов скрыты: они остались в окне «өссө…». */
.car-font{position:relative;flex-wrap:nowrap;gap:4px;margin:0 0 10px;padding-top:17px;
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.car-font::-webkit-scrollbar{display:none}
/* Подпись над рядом стоит на месте, когда ряд листают вбок: она — первый
   элемент ряда нулевой ширины, прилипший к левому краю и поднятый над
   кнопками. Иначе «Көстүүтэ» уезжала бы за край вместе с кнопками. */
.car-font-l{position:sticky;left:2px;z-index:2;flex:0 0 0;width:0;margin:0 -4px 0 0;
  align-self:flex-start;transform:translateY(-17px);
  font-size:11px;line-height:14px;white-space:nowrap;overflow:visible}
/* Выбранная кнопка не жирнеет: жирное шире, и «Жемчужный · Фотокарточка ·
   Инста · Ещё…» переставало влезать. Выбор виден заливкой и рамкой —
   как в ряду шрифтов с 5 сентября. */
.car-font .car-f{flex:0 0 auto;white-space:nowrap;padding:6px 8px;font-size:12.5px}
.car-font .car-f.on{font-weight:500}
.car-font-f .car-f i{display:none}
/* ЛИСТАЕМЫЕ РЯДЫ (Көстүүтэ, Шрифт, Тыл) — 16 сентября: все варианты в
   одной строке, «Ещё…» убрана. Правый край ряда мягко гаснет — видно, что
   дальше есть ещё. Хвостовой отступ (::after) даёт последней кнопке выйти
   из тени, когда ряд докручен до конца: padding справа у листаемого
   flex-ряда браузеры в прокрутку не считают. У ряда языка после перевода
   справа прибита «↩» со своей подложкой — ему тень не нужна. */
.car-font-s:not(:has(.car-f-end)){
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);
          mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.car-font-s::after{content:'';flex:0 0 22px}
/* «Ещё…» (и «↩» у языка) прибиты к правому краю ряда. Ряд уже не влезает
   на телефоне — он листается, а эта кнопка видна всегда. Слева у неё
   мягкий переход в цвет фона: видно, что под ней есть ещё кнопки. Пока
   ряд влезает, группа стоит сразу за кнопками, как обычно. */
.car-f-end{position:sticky;right:0;z-index:1;display:flex;gap:4px;flex:0 0 auto;
  padding-left:14px;margin-left:-10px;
  background:linear-gradient(90deg, transparent, var(--bg) 12px)}

/* Одна кнопка на двоих: «Публикация / Сторис».
   Строго в одну строку — flex-basis:0 и nowrap, иначе старое правило
   .makecar button{width:100%} на узких экранах ломает их в столбик. */
/* Видимость блока задаётся инлайновым стилем из JS (updateMakeBtn), и там
   обязан быть flex, а не block: инлайн сильнее этого правила и роняет
   половины в столбик. Направление и запрет переноса дублируем !important. */
.makecar{display:flex;flex-direction:row !important;flex-wrap:nowrap !important;align-items:stretch;
  margin:0 2px 8px;border-radius:12px;overflow:hidden;background:var(--wa);
  box-shadow:0 3px 12px rgba(199,125,168,.28)}
.makecar button{flex:1 1 0;min-width:0;width:auto;border:none;border-radius:0;
  box-shadow:none;margin:0;background:transparent;color:#fff;height:44px;
  font-size:14px;font-weight:800;font-family:'Inter',sans-serif;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}
/* Кнопок стало три («Карточка» добавлена 18 августа), и на узком телефоне
   слова упирались друг в друга. Шрифт мельче ровно там, где тесно. */
@media (max-width:400px){
  .makecar button{font-size:12.5px;letter-spacing:0;}
  .makecar-sep{padding:0 1px;}
}
.makecar button:active{background:rgba(255,255,255,.16)}
.makecar-sep{flex:0 0 auto;display:flex;align-items:center;color:rgba(255,255,255,.55);
  font-size:15px;font-weight:600;font-family:'Inter',sans-serif;user-select:none;padding:0 2px}

/* Лента предпросмотра: у истории тот же вид, что у публикации, только кадр 9:16.
   Класс НЕ .story — он занят маркетплейсом (ширина 200px и тёмный фон). */

/* Ширину задаёт ячейка, а слайд и кнопка тянутся под неё. Раньше у .car-edit
   было жёстко width:152px под кадр 4:5, и на вертикальном слайде кнопка торчала. */
.car-cell{width:152px}
.car-cell .car-slide,
.car-cell .car-edit{width:100%;box-sizing:border-box}
.car-track.car-9x16 .car-cell{width:107px}
.car-track.car-9x16 .car-edit{font-size:11px;padding:6px 4px}
.car-f .car-r{font-style:normal;opacity:.55;font-size:10.5px;margin-left:6px;color:inherit;font-weight:600}

/* «Изменить» в просмотрщике — главное действие, отдельной строкой под фото:
   люди тыкают в само фото, ища правку, и должны сразу видеть кнопку. */
.car-view-edit{display:flex;justify-content:center;margin-top:16px}
.car-view-edit button{border:none;background:#fff;color:#4E3049;border-radius:11px;
  padding:11px 22px;font-size:13.5px;font-weight:700;font-family:'Inter',sans-serif;
  cursor:pointer;width:auto;height:auto;box-shadow:0 4px 16px rgba(0,0,0,.28)}
.car-view-edit button:active{opacity:.85}

/* Появилась строка «Изменить», и на невысоких экранах кнопки скачивания вылезали.
   Фото делаем гибким: занимает остаток места и ужимается само, не обрезаясь. */
.car-view img{max-height:none;min-height:0;flex:1 1 auto;object-fit:contain;width:auto}

/* 19 августа. Видео сюда попало заодно с фотографией — и получило
   object-fit:contain, который перебивал заданный выше cover. Оттого ролик
   вписывался в рамку с чёрными полями сверху и снизу, хотя превью того же
   слайда заполняло кадр целиком: превью рисуется на холсте и подгоняется,
   а видео показывал браузер.

   Правило про «не обрезаться» писалось про снимок и для него верно:
   у фотографии важен весь кадр. У ролика кадр уже нужного отношения,
   и заполнять рамку — как раз то, что нужно. */
#car-view-vid{max-height:none;min-height:0;flex:1 1 auto;object-fit:cover;width:100%}
.car-view-bar,
.car-view-edit,
.car-view-dl{flex:0 0 auto}

/* перенос разговора файлом */
.cl-load{width:100%;margin-top:8px;border:1px solid var(--line);background:#fff;color:var(--ink-2);
  border-radius:12px;padding:11px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer}
.cl-load:active{background:var(--wa-soft);color:var(--wa-deep)}

/* подсветка, когда файл тащат в окно чата */
.drop-hint{position:absolute;inset:0;z-index:130;display:none;align-items:center;justify-content:center;
  background:rgba(176,111,149,.14);border:2px dashed var(--wa);border-radius:16px;pointer-events:none}
.drop-hint.on{display:flex}
.drop-hint span{background:#fff;color:var(--wa-deep);padding:10px 18px;border-radius:12px;
  font-size:13.5px;font-weight:700;font-family:'Inter',sans-serif;box-shadow:0 6px 20px rgba(0,0,0,.16)}

/* документ в пузыре чата — плашкой, а не текстом */
.cmsg-file{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:11px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);margin-bottom:2px}
.cmsg.ai .cmsg-file{background:var(--wa-soft);border-color:#EBDCE6}
.cmsg-file .cf-ico{font-size:20px;line-height:1}
.cmsg-file .cf-t{display:flex;flex-direction:column;min-width:0}
.cmsg-file .cf-t b{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmsg-file .cf-t i{font-style:normal;font-size:11.5px;opacity:.72;margin-top:1px}

/* Подпись про кадр-образец в окне «Кого рисуем». Отдельной плашкой сверху:
   это не настройка, а сообщение о том, что приложение уже поняло само. */
/* Крестик в шапке окна. Держим в правом верхнем углу — там его ищут,
   и там он не путается с кнопками действия внизу. */
.fb-h{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.cfa-x{border:none;background:var(--panel);color:var(--ink-3);width:30px;height:30px;
  border-radius:50%;font-size:15px;line-height:1;cursor:pointer;flex:0 0 auto;}
.cfa-x:active{background:var(--line);color:var(--ink);}

/* Отмена — третьей кнопкой, без заливки и без рамки: она не должна
   соперничать взглядом с «Рисовать». */
.fb-send.plain{background:none;border:none;color:var(--ink-3);font-weight:600;height:42px;}
.fb-send.plain:active{color:var(--ink);}

.cfa-ref{background:var(--wa-soft);border-radius:12px;padding:11px 13px;
  font-size:12px;line-height:1.45;color:var(--wa-deep);margin:0 0 12px;}

/* «АЙЫЫ ищет в интернете…» — вместо трёх точек, когда идёт поиск.

   Кружок крутится, а не пульсирует: пульсация читается как «сейчас будет»,
   вращение — как «идёт работа», и на двадцати секундах это разница между
   терпением и вторым нажатием. */
.cmsg-web{display:flex;align-items:center;gap:9px;}
.cw-ring{flex:0 0 auto;width:15px;height:15px;border-radius:50%;
  border:2px solid var(--wa-soft);border-top-color:var(--wa);
  animation:cwspin .8s linear infinite;}
@keyframes cwspin{to{transform:rotate(360deg)}}
.cw-t{font-size:13.5px;color:var(--ink-2);}

/* Плашка «похоже, это про тебя» — под ответом, в том же виде, что
   и «записано в линию». Одинаковые вещи должны выглядеть одинаково:
   человек уже знает, что такие плашки в разговоре что-то предлагают. */
.bio-offer button{margin-top:9px;}

/* Лицо со страницы источника — над строкой «ляжет в линию». Небольшое:
   это подтверждение, что нашли того человека, а не украшение. */
.bio-face{display:flex;align-items:center;gap:11px;margin:0 0 12px;}
.bio-face img{width:64px;height:64px;border-radius:14px;object-fit:cover;
  background:var(--wa-soft);flex:0 0 auto;}
.bio-face span{font-size:11.5px;color:var(--ink-3);line-height:1.4;}

/* СБОРКА БИОГРАФИИ. Вехи появляются по одной — человек успевает прочесть
   каждую и заметить чужую. Список прокручивается, окно не растёт. */
.bio-who{margin:12px 0 10px;}
.bio-who label{display:block;font-size:11.5px;color:var(--ink-3);margin-bottom:5px;}
.bio-who input{width:100%;}
/* Чья линия — крупно и до нажатия: телефон бывает один на семью. */
.bio-line{background:var(--wa-soft);border-radius:11px;padding:11px 13px;
  font-size:12.5px;color:var(--ink-2);margin-bottom:14px;}
.bio-line b{color:var(--wa-deep);}
.bio-line span{display:block;margin-top:4px;font-size:11.5px;color:var(--wa-deep);
  font-weight:700;cursor:pointer;}
.bio-run{max-height:46vh;overflow-y:auto;margin:4px 0 12px;}
.bio-step{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-2);
  padding:9px 0;}
.bio-step.done{color:var(--wa-deep);font-weight:700;}
.bio-step.bad{color:#B4404A;line-height:1.5;}
/* Веха въезжает снизу — видно, что она только что добавилась. */
.bio-in{animation:bioIn .28s var(--в) both;}
@keyframes bioIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* «ЭТО ПРО МЕНЯ» — перенос найденной справки в свою линию.

   Кнопка внизу карточки человека, под ссылкой на Википедию: сперва человек
   читает, что нашлось, и только потом решает, его ли это. */
.pv-mine{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);}
.pv-mine-b{width:100%;border:none;background:var(--wa);color:#fff;border-radius:12px;
  height:46px;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
.pv-mine-b:active{opacity:.9;}
.pv-mine-n{display:block;margin-top:9px;font-size:11.5px;color:var(--ink-3);line-height:1.45;}

/* Список того, что переносим: галочка на строку. Уже имеющееся в линии
   показано, но заблокировано — так видно, почему его нельзя взять. */
/* СТРОКА ВЫБОРА — СЕТКОЙ, А НЕ ГИБКИМ РЯДОМ.

   17 августа. В окне сборки биографии строки разъехались: галочки слева
   столбиком, текст прижат к правому краю и переносится по одному слову.
   Гибкий ряд слишком отзывчив на чужие правила — где-то выше по дереву
   на него влияло выравнивание, и колонка с текстом схлопывалась.

   Сетка с явными колонками так не ломается: двадцать точек под галочку,
   остальное тексту, и никакие внешние правила этого не сдвинут.

   Общее правило на будущее: там, где ширина колонок важна, ставим сетку.
   Гибкий ряд — для того, что и должно подстраиваться. */
.pvm-row{display:grid;grid-template-columns:20px 1fr;align-items:start;
  gap:11px;padding:10px 0;
  border-top:1px solid var(--line);cursor:pointer;text-align:left;}
.pvm-row.off{opacity:.5;cursor:default;}
.pvm-row input{margin:3px 0 0;width:18px;height:18px;accent-color:var(--wa);}
.pvm-row span{min-width:0;}
.pvm-row b{display:block;font-size:13.5px;font-weight:600;line-height:1.4;}
.pvm-row i{display:block;font-style:normal;font-size:11.5px;color:var(--ink-3);margin-top:2px;}

/* Проверка извещений в админке: кнопка и ответ рядом. Ответ цветной —
   зелёный «дошло», красный с причиной. */
.adm-check{display:flex;align-items:center;gap:11px;flex-wrap:wrap;
  margin:2px 0 14px;padding:0 2px;}
.adm-check button{border:1px solid var(--line);background:#fff;color:var(--ink-2);
  border-radius:10px;padding:9px 13px;font-size:12.5px;font-weight:700;
  font-family:'Inter',sans-serif;cursor:pointer;}
.adm-note{font-size:12px;line-height:1.4;color:var(--ink-3);flex:1;min-width:120px;}
.adm-note.ok{color:#2E7D5B;}
.adm-note.bad{color:#B4404A;}

/* «НА КОГО ТЫ ПОХОЖ» — ряд с лицами.

   Карточка выше и уже, чем у дат: тут главное лицо, а под ним строка
   сходства. Её и читают, ради неё ряд и существует. */
.lk-rail{margin-bottom:6px;}
.lk-c{flex:0 0 146px;width:146px;background:#fff;border:1px solid var(--line);
  border-radius:15px;padding:12px;cursor:pointer;}
.lk-c:active{border-color:var(--wa);}
.lk-av{display:block;width:100%;height:118px;border-radius:11px;object-fit:cover;
  background:var(--wa-soft);margin-bottom:10px;}
.lk-no{display:flex;align-items:center;justify-content:center;
  font-size:34px;font-weight:800;color:var(--wa);}
.lk-c b{display:block;font-size:13px;font-weight:700;line-height:1.3;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lk-c i{display:block;font-style:normal;font-size:11px;color:var(--ink-3);
  margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* Строка сходства — то, ради чего всё: даём ей три строки и цвет,
   чтобы её прочли раньше имени. */
.lk-c u{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;text-decoration:none;font-size:12px;line-height:1.4;
  color:var(--wa-deep);margin-top:8px;}

/* ЧТО ВИДНО ПО РАЗГОВОРАМ.

   Полоса долей, наблюдения, «чего давно не было». Оформлено спокойно,
   без ярких плашек: человек читает про себя, и украшательство тут мешает
   так же, как в письме от близкого. */
.ab-h{font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ink-3);margin:18px 0 9px;}
.ab-h:first-child{margin-top:0;}

/* Доли одной полосой: читается слева направо за взгляд, и сразу видно,
   что перевешивает. Кружки и столбики требуют сравнивать глазом. */
.ab-bar{display:flex;height:13px;border-radius:7px;overflow:hidden;background:var(--panel);}
.ab-seg{display:block;height:100%;}
.ab-c0{background:#9A5C8C}.ab-c1{background:#C79BEE}.ab-c2{background:#7BCF9A}
.ab-c3{background:#F3B463}.ab-c4{background:#5BC8F5}.ab-c5{background:#F4795B}
.ab-legend{display:flex;flex-wrap:wrap;gap:9px 14px;margin-top:11px;}
.ab-l{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2);}
.ab-l i{width:9px;height:9px;border-radius:3px;flex:0 0 auto;}
.ab-l b{font-weight:700;color:var(--ink);}

.ab-note{background:#fff;border:1px solid var(--line);border-radius:13px;
  padding:12px 14px;font-size:13.5px;line-height:1.5;color:var(--ink-1);margin-bottom:8px;}
/* «Чего давно не было» — приглушённо: это не упрёк, а напоминание. */
.ab-gone{background:var(--panel);border-color:transparent;color:var(--ink-2);}

.ab-ahead{margin-top:14px;background:var(--wa-soft);border-radius:14px;
  padding:14px 15px;font-size:13.5px;line-height:1.5;color:var(--wa-deep);font-weight:600;}


/* «Это стоит рассказать» — не наблюдение, а приглашение.

   Оттого выделено сильнее «Что повторяется»: те карточки читают, эту —
   нажимают. Левая полоса и «рассказать →» говорят, что тут есть куда
   пойти; без них карточка неотличима от текста и её просто прочтут. */
.ab-tell{position:relative;background:#fff;border:1px solid var(--line);
  border-left:3px solid var(--wa-deep);border-radius:13px;
  padding:12px 14px 11px;margin-bottom:9px;cursor:pointer;
  transition:background .15s var(--мяг),transform .1s var(--в);}
.ab-tell:active{background:var(--wa-soft);transform:scale(.995);}
.ab-tell-w{font-size:14px;line-height:1.4;color:var(--ink-1);font-weight:600;}
.ab-tell-y{margin-top:5px;font-size:12.5px;line-height:1.45;color:var(--ink-2);}
.ab-tell-go{display:inline-block;margin-top:8px;font-size:11.5px;
  color:var(--wa-deep);font-weight:600;}


/* ТОВАРЫ ДЛЯ РИСОВАНИЯ.

   Снимки в ряд, а не сеткой: сторон у товара немного, а горизонтальная
   лента сразу говорит, что их можно добавить ещё. Подпись под каждым
   («основная», «сторона 2») нужна селлеру, чтобы не загрузить дважды
   один и тот же ракурс. */
.gd-card{background:#fff;border:1px solid var(--line);border-radius:15px;
  padding:12px;margin-bottom:10px;}
.gd-shots{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;
  -webkit-overflow-scrolling:touch;}
.gd-shot{position:relative;flex:0 0 auto;width:88px;}
.gd-shot img{width:88px;height:88px;object-fit:cover;border-radius:11px;
  background:var(--panel);display:block;}
.gd-shot i{display:block;margin-top:4px;font-size:10.5px;color:var(--ink-3);
  font-style:normal;text-align:center;}
.gd-sx{position:absolute;top:4px;right:4px;width:20px;height:20px;padding:0;
  border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;
  font-size:11px;line-height:20px;cursor:pointer;}
.gd-more{flex:0 0 auto;width:88px;height:88px;border:1px dashed var(--line);
  border-radius:11px;background:transparent;color:var(--ink-3);font-size:18px;
  cursor:pointer;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:2px;}
.gd-more span{font-size:10.5px;}
.gd-name{width:100%;margin-top:10px;padding:9px 11px;border:1px solid var(--line);
  border-radius:10px;font-size:13.5px;color:var(--ink-1);background:transparent;
  font-family:inherit;}
.gd-marks{margin-top:7px;font-size:12px;line-height:1.45;color:var(--ink-2);}
.gd-busy{margin-top:10px;font-size:12.5px;color:var(--ink-3);}
.gd-x{margin-top:9px;padding:0;border:0;background:transparent;
  font-size:12px;color:var(--ink-3);cursor:pointer;}

.gd-add{background:var(--panel);border:1px dashed var(--line);border-radius:15px;
  padding:14px 15px;cursor:pointer;}
.gd-add b{display:block;font-size:13.5px;color:var(--ink-1);}
.gd-add span{display:block;margin-top:5px;font-size:12.5px;line-height:1.45;
  color:var(--ink-2);}
.gd-add button{margin-top:9px;padding:7px 13px;border:0;border-radius:9px;
  background:var(--wa-deep);color:#fff;font-size:12.5px;cursor:pointer;}
.gd-off{cursor:default;}


/* Окно «Оживить кадр». Три длительности, а не ползунок: модель принимает
   только 4, 6 или 8 секунд, и предлагать промежуточные значения значило бы
   обещать то, чего не будет. */
.car-anim-ask{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.55);
  display:flex;align-items:center;justify-content:center;padding:22px;}
.car-anim-b{background:#fff;border-radius:18px;padding:20px;max-width:330px;width:100%;}
.car-anim-b b{display:block;font-size:16px;color:var(--ink-1);}
.car-anim-b p{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--ink-2);}
.car-anim-note{display:block;margin-top:10px;font-size:11.5px;line-height:1.45;
  color:var(--ink-3);}
.car-anim-x{margin-top:14px;width:100%;padding:9px 0;border:0;border-radius:10px;
  background:var(--panel);font-size:13px;color:var(--ink-2);cursor:pointer;
  font-family:inherit;}



/* Подпись копируется нажатием — подсказка появляется только там, где
   курсор есть, а на телефоне видна всегда: угадать нажимаемость текста
   иначе невозможно. */
.car-cap{cursor:pointer;}
.car-cap-hint{display:block;margin-top:8px;font-size:11px;color:var(--ink-3);}

/* Намёк на тарифы в подписи. 25 августа: окно после первой карусели убрано,
   осталась строка. Она подчёркнута точками — так видно, что на неё можно
   нажать, но она не кричит кнопкой посреди чужого текста. */
.car-cap-plan{display:block;margin-top:5px;font-size:11px;color:var(--wa);
  font-weight:600;cursor:pointer;text-decoration:underline dotted;
  text-underline-offset:3px;}


/* «Показать товар в руках?» — две кнопки в столбик, а не в ряд: у них
   разный вес, и «только товар» не должна выглядеть равным выбором. */
.car-who-b{display:flex;flex-direction:column;gap:8px;margin-top:14px;}
.car-who-go{padding:12px 0;border:0;border-radius:11px;background:var(--wa-deep);
  color:#fff;font-size:13.5px;font-family:inherit;cursor:pointer;}
.car-who-no{padding:11px 0;border:1px solid var(--line);border-radius:11px;
  background:transparent;color:var(--ink-1);font-size:13.5px;font-family:inherit;cursor:pointer;}


/* ПЕЛЕНА, ПОКА КАДР ОЖИВАЕТ.

   Как в переписке, где присланное открывается не сразу: снимок виден
   сквозь дымку, по ней идёт отсвет. Кадр не закрыт наглухо — человек
   должен видеть, что оживает именно он, а не что-то отвлечённое. */
.car-veil{position:absolute;inset:0;z-index:6;overflow:hidden;border-radius:inherit;
  background:rgba(20,14,20,.55);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  animation:veilIn .25s var(--в);}
@keyframes veilIn{from{opacity:0}to{opacity:1}}

/* Отсвет идёт по диагонали и не спеша: быстрый блик читается как
   «сейчас закончится» и обманывает — работа занимает минуты. */
.car-veil-shine{position:absolute;top:-60%;left:-60%;width:220%;height:220%;
  background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.16) 50%,transparent 60%);
  animation:veilShine 2.8s linear infinite;}
@keyframes veilShine{from{transform:translate3d(-30%,-30%,0)}
  to{transform:translate3d(30%,30%,0)}}

.car-veil-t{position:relative;color:#fff;font-size:15px;font-weight:600;
  display:flex;align-items:center;gap:3px;}
.car-veil-d{display:inline-flex;gap:3px;margin-left:2px;}
.car-veil-d i{width:4px;height:4px;border-radius:50%;background:#fff;opacity:.35;
  animation:veilDot 1.2s infinite;}
.car-veil-d i:nth-child(2){animation-delay:.2s}
.car-veil-d i:nth-child(3){animation-delay:.4s}
@keyframes veilDot{0%,60%,100%{opacity:.35}30%{opacity:1}}
.car-veil-n{position:relative;color:rgba(255,255,255,.7);font-size:11.5px;
  text-align:center;padding:0 24px;line-height:1.4;}
/* «Свернуть» — стеклянная, под цвет пелены: обычная кнопка на дымке
   выглядит заплаткой, а эта из неё же и сделана. */
.car-veil-min{position:relative;margin-top:14px;padding:9px 22px;border:0;
  border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-size:13px;
  font-family:inherit;cursor:pointer;backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);transition:background .15s var(--мяг);}
.car-veil-min:active{background:rgba(255,255,255,.26);}

/* Сбой остаётся на кадре и ждёт, пока прочтут: подсказка внизу экрана
   уходит через три секунды, а причина — единственное, что сейчас нужно. */
.car-fail{position:absolute;left:16px;right:16px;bottom:16px;z-index:7;
  background:#fff;border-radius:14px;padding:14px 15px;}
.car-fail b{display:block;font-size:14px;color:var(--ink-1);}
.car-fail p{margin:6px 0 0;font-size:12.5px;line-height:1.45;color:var(--ink-2);
  word-break:break-word;}
.car-fail button{margin-top:11px;width:100%;padding:9px 0;border:0;border-radius:10px;
  background:var(--panel);font-size:13px;color:var(--ink-1);cursor:pointer;font-family:inherit;}

/* «оживает…» на слайде, пока считается ролик. Тот же угол, что и у
   значка видео: человек ищет состояние там, где привык. Мигает, чтобы
   отличаться от готового. */
/* СЕМЬ МЁРТВЫХ АНИМАЦИЙ. 15 сентября, слово хозяина: «после нажатия
   „ищу фотографии“ в карусели не показывает, что ищет, нету анимации».

   Метка «Көрдүүбүн» на экране рисовалась, а не мигала. В правиле стояло
   `animation: … var(--в)-in-out …`, где --в это cubic-bezier(.16,1,.3,1).
   Вместе выходит «cubic-bezier(…)-in-out» — такого способа движения не
   существует, браузер молча выбрасывает ВСЁ правило целиком, и анимации
   нет вовсе. Писавший имел в виду ease-in-out.

   Тем же были убиты ещё шесть: полоска сканера в камере, пульс карточки
   лица, волна точек «АЙЫЫ думает», подсказка-плюс, полоска процентов,
   звёздочка в пароле. Все семь чинятся одной заменой. Сам --в остался
   на месте — в переходах он записан правильно и работает. */
.car-vid-wait{animation:vidWait 1.4s ease-in-out infinite;}
@keyframes vidWait{0%,100%{opacity:1}50%{opacity:.45}}

.ab-from{margin:12px 0 4px;font-size:11.5px;color:var(--ink-3);}
.ab-from button{border:none;background:none;color:var(--wa-deep);font-weight:700;
  font-size:11.5px;font-family:'Inter',sans-serif;cursor:pointer;padding:0;}
.ab-wait{background:var(--panel);border-radius:13px;padding:14px 15px;
  font-size:12.5px;line-height:1.5;color:var(--ink-3);}

/* ПЛАШКА «ВДОХНОВЕНИЕ — PRO».

   Не запрет, а витрина: человек пришёл на экран и должен понять, что за
   ним, прежде чем услышит цену. Поэтому сперва рассказ, потом тариф,
   и только в конце кнопка. */
.insp-pro{margin:18px 16px;background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:20px 18px 18px;}
.insp-pro-k{display:inline-block;background:var(--wa);color:#fff;font-size:10.5px;
  font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  border-radius:7px;padding:4px 9px;margin-bottom:12px;}
.insp-pro h3{font-family:'Inter',sans-serif;font-size:22px;font-weight:800;
  letter-spacing:-.01em;margin:0 0 10px;color:var(--ink);}
.insp-pro p{font-size:13.5px;line-height:1.55;color:var(--ink-2);margin:0 0 14px;}
.insp-pro ul{margin:0 0 14px;padding-left:0;list-style:none;}
.insp-pro li{position:relative;padding-left:18px;font-size:13px;line-height:1.5;
  color:var(--ink-2);margin-bottom:7px;}
.insp-pro li::before{content:'✦';position:absolute;left:0;top:0;color:var(--wa);}
.insp-pro-w{font-size:12.5px;color:var(--ink-3);}
.insp-pro button{width:100%;border:none;background:var(--wa);color:#fff;
  border-radius:12px;height:46px;font-size:14.5px;font-weight:700;
  font-family:'Inter',sans-serif;cursor:pointer;}
.insp-pro button:active{opacity:.9;}

/* «Для кого» — под ценой, до перечня: человек сперва решает, он ли это,
   и только потом читает, что внутри. */
.plan-who{font-size:12.5px;color:var(--wa-deep);font-weight:700;margin:2px 0 10px;}
/* Числа — мелко и одной строкой. Они нужны тем, кто сверяется, и не должны
   спорить с главным. */
.plan-num{font-size:11px;color:var(--ink-3);line-height:1.5;margin-top:10px;}

/* «Выгоднее всего» — пометка на среднем тарифе. Считается по сборкам
   на рубль, а не назначается: если завтра числа поменяются, метка
   переедет сама. Рамка тонкая, без заливки — тариф выделен, но не кричит. */
.plan-i.best{border-color:var(--wa);box-shadow:0 0 0 1px var(--wa) inset;}
.plan-n u{display:inline-block;text-decoration:none;margin-left:8px;
  background:var(--wa);color:#fff;font-size:10.5px;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;border-radius:7px;padding:3px 7px;
  vertical-align:middle;}

/* КРУЖКИ ВЫБОРА ЦВЕТА. Сам цвет и есть подпись — название рядом было бы
   лишним словом. Выбранный обведён кольцом с отступом, а не рамкой впритык:
   рамка того же цвета на светлом кружке не видна вовсе. */
.car-c{width:26px;height:26px;border-radius:50%;border:1px solid rgba(0,0,0,.12);
  padding:0;cursor:pointer;flex:0 0 auto;}
.car-c.on{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--wa);}
.car-c:active{transform:scale(.92);}

/* ОКНО «КОГО РИСУЕМ». Список людей из рассказа: лицо, имя, кем приходится
   и сколько ему было тогда. Строка на человека, чтобы двое-трое читались
   одним взглядом. */
.cfa-row{display:flex;align-items:center;gap:11px;padding:9px 0;
  border-top:1px solid var(--line);}
.cfa-av{width:44px;height:44px;border-radius:11px;object-fit:cover;flex:0 0 auto;
  background:var(--wa-soft);}
.cfa-no{display:flex;align-items:center;justify-content:center;
  color:var(--wa-deep);font-size:17px;font-weight:800;}
.cfa-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.cfa-t b{font-size:13.5px;font-weight:700;}
.cfa-t i{font-style:normal;font-size:11.5px;color:var(--ink-3);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cfa-b{flex:0 0 auto;border:1px solid var(--line);background:#fff;color:var(--ink-2);
  border-radius:9px;padding:8px 12px;font-size:12px;font-weight:700;
  font-family:'Inter',sans-serif;cursor:pointer;}
.cfa-b:active{background:var(--wa-soft);}
/* Приложить лицо — дело необязательное, и кнопка не должна выглядеть
   требованием: без лица человек всё равно будет нарисован, по описанию. */
.cfa-b.ghost{border-color:transparent;background:var(--panel);color:var(--ink-3);font-weight:600;}
/* Где и когда — два поля прямо в окне сбора лиц. Стоят под людьми, потому
   что читаются как продолжение вопроса «кого рисуем»: кого, где, когда. */
.cfa-when{display:flex;gap:9px;margin:12px 0 0;}
.cfa-when label{flex:1;display:flex;flex-direction:column;gap:5px;
  font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  color:var(--ink-3);min-width:0;}
.cfa-when label:last-child{flex:0 0 108px;}
.cfa-when input{width:100%;border:1px solid var(--line);border-radius:10px;
  padding:10px 11px;font-size:14px;font-family:'Inter',sans-serif;color:var(--ink);
  background:#fff;text-transform:none;letter-spacing:0;font-weight:500;}
.cfa-when input:focus{outline:none;border-color:var(--wa);}
.cfa-hint{font-size:11.5px;color:var(--ink-3);line-height:1.45;margin:8px 0 2px;}

.cfa-lim{font-size:11.5px;color:var(--ink-3);line-height:1.45;margin:10px 0 2px;
  padding:10px 12px;background:var(--panel);border-radius:10px;}
.cfa-lim a{color:var(--wa-deep);font-weight:700;}

/* ПОДПИСЬ АВТОРА В НАСТРОЙКАХ: квадрат под знак и поле под ник рядом. */
/* Отступы вокруг подписи. Было впритык к заголовку и к пояснению снизу:
   блок читался как продолжение предыдущего раздела, а знак прилипал
   к полю ввода. */
/* Поля панели идут с боковым отступом в 18 точек, а этот блок стоял
   вплотную к краю: знак прилипал к рамке экрана. Выравниваем по остальным. */
.brand-row{display:flex;align-items:center;gap:14px;margin:10px 0;padding:0 18px;}
.brand-row.off{opacity:.5;pointer-events:none;}
.brand-row.off .brand-av{pointer-events:auto;}
.brand-av{flex:0 0 auto;width:56px;height:56px;border-radius:14px;cursor:pointer;
  border:1px dashed #DCC9D6;background:var(--wa-soft);color:var(--wa-deep);
  display:flex;align-items:center;justify-content:center;font-size:22px;overflow:hidden;}
/* Знак заведён — пунктир убираем: он приглашение, а приглашать больше не к чему. */
.brand-av.has{border-style:solid;border-color:var(--line);background:#fff;}
/* Лицо из профиля кадрируем кружком внутри квадрата: так видно, что это
   аватар, а не загруженный знак. */
.brand-face{border-radius:50%;padding:3px;}
.brand-av img{width:100%;height:100%;object-fit:contain;background:#fff;}
.brand-av:active{background:#EFDFEC;}
.brand-f{flex:1;min-width:0;}
.brand-f label{display:block;font-size:11.5px;color:var(--ink-3);margin-bottom:5px;}
.brand-f input{width:100%;}

/* ЛИЦО ДЛЯ РИСОВАНИЯ — блок в карточке человека. Стоит сразу под тем,
   чем человек дорог, потому что это про него же: каким его нарисуют. */
.kl-face{margin:0 0 18px;}
.klf-row{display:flex;align-items:center;gap:12px;background:var(--wa-soft);
  border-radius:14px;padding:13px 14px;}
.klf-row.klf-off{background:var(--panel);}
.klf-av{width:52px;height:52px;border-radius:12px;object-fit:cover;flex:0 0 auto;}
.klf-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.klf-t b{font-size:13px;font-weight:800;color:var(--wa-deep);}
.klf-t span{font-size:11.5px;color:var(--ink-3);line-height:1.4;}
.klf-go{flex:0 0 auto;border:none;background:var(--wa);color:#fff;border-radius:10px;
  padding:9px 14px;font-size:12.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;}
.klf-x{flex:0 0 auto;border:1px solid var(--line);background:#fff;color:var(--ink-2);
  border-radius:10px;padding:8px 12px;font-size:12px;font-weight:600;
  font-family:'Inter',sans-serif;cursor:pointer;}

/* КАРТОЧКА ТАРИФА В ПРОФИЛЕ.

   Первое, что видно при открытии профиля, и единственное место, где человек
   узнаёт свой тариф. Выделена цветом нарочно: это самая денежная кнопка
   приложения, и прятать её среди полей формы — значит не продавать. */
.s-plan-card{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0 0 18px;padding:13px 15px;border-radius:14px;cursor:pointer;
  background:var(--wa-soft);border:1px solid #EBDCE6}
.s-plan-card:active{opacity:.88}
.s-plan-card.paid{background:var(--wa);border-color:var(--wa)}
.s-plan-l{display:flex;flex-direction:column;gap:3px;min-width:0}
.s-plan-l b{font-size:14.5px;font-weight:800;color:var(--wa-deep)}
.s-plan-l span{font-size:11.5px;color:var(--ink-3);line-height:1.35}
.s-plan-card.paid .s-plan-l b,
.s-plan-card.paid .s-plan-l span,
.s-plan-card.paid .s-plan-go{color:#fff}
.s-plan-card.paid .s-plan-l span{opacity:.9}
.s-plan-go{font-size:12.5px;font-weight:700;color:var(--wa-deep);white-space:nowrap}

/* ЛЮДИ ПО ТЕМЕ.

   Карточка узкая и высокая: лицо сверху, имя, строка объяснения. Ширина
   такая, чтобы в ряд попадало два с половиной — обрезанный третий и есть
   приглашение листать вбок. */
.fcard{flex:0 0 156px;width:156px;background:#fff;border:1px solid var(--line);
  border-radius:14px;overflow:hidden;cursor:pointer;user-select:none}
.fcard:active{border-color:var(--wa)}
.fcard-i{width:100%;height:128px;object-fit:cover;display:block;background:var(--wa-soft)}
.fcard-no{display:flex;align-items:center;justify-content:center;
  font-size:38px;font-weight:800;color:var(--wa);font-family:'Inter',sans-serif}
/* Имя в две строки: «Сергей Иванов (младший)» в одну не встаёт, а обрывать
   человека на фамилии нельзя. */
.fcard-n{font-size:13px;font-weight:700;color:var(--ink);padding:8px 9px 0;line-height:1.25;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:32px}

/* Регалия под именем. Сервер присылает её уже короткой — «Глава Якутии»,
   «Чешский геймдизайнер», — поэтому здесь хватает двух строк, и обрыв
   на полуслове больше не случается. Высота задана: без неё карточки в ряду
   разной длины, и низ ряда получается рваным. */
/* РЕГАЛИЯ ЦЕЛИКОМ. 23 августа: обрывалась на полуслове — «Основатель Apple,
   представил iPhon…». Человек читает обрывок и не понимает, чем этот
   человек связан с темой, а ради этого карточка и заведена.

   Три строки вместо двух и карточка чуть шире: при 132 точках в строку
   влезало три слова. Высота задана жёстко — иначе низ ряда рваный. */
/* РЕГАЛИЯ ЦЕЛИКОМ, БЕЗ ОБРЕЗКИ. 23 августа, вторая попытка.

   Трёх строк не хватило: «Основатель Infinity Ward, со-создатель
   оригинального Modern Warfare» — это 62 знака, а в три строки при
   156 точках влезало около 69 только на глаз, с учётом узких букв.
   На деле слова переносятся, и последняя строка обрывалась.

   Теперь четыре строки и высота под них. Ряд от этого не стал ниже:
   карточки и так одной высоты, просто в них появилось место. */
.fcard-s{font-size:11.5px;color:var(--ink-3);padding:4px 10px 12px;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
  min-height:64px}

/* Сводка над рядом: что это за тема вообще. Отвечает на первый вопрос
   человека, который ищет незнакомое дело или компанию. */
/* Кнопка под рядом людей: из найденного выходит карусель. Стоит внизу,
   а не сверху — сперва человек смотрит, кого нашли, потом решает. */
/* Кнопка правки фото в просмотрщике — как остальные, без выделения:
   она нужна не каждому кадру. */
#car-view-fix{white-space:nowrap;}

.faces-go{display:block;width:calc(100% - 32px);margin:14px 16px 0;padding:13px;border:none;
  border-radius:12px;background:var(--wa);color:#fff;font:inherit;font-size:14px;
  font-weight:600;cursor:pointer;}
.faces-go:active{opacity:.85;}

/* Снимок темы над сводкой. Широкий и низкий: это иллюстрация, а не
   главный кадр, и отнимать у людей место ей незачем. */
.faces-pic{width:100%;height:140px;object-fit:cover;border-radius:10px;
  display:block;margin-bottom:10px;background:var(--wa-soft);}

/* Пустой экран раздела: что вводить и что за это будет. */
/* ОТСТУПЫ ПО ОДНОЙ ЛИНИИ С КАРТОЧКАМИ. 23 августа.

   Ряд карточек отступает от края на 16 точек (.rail), а мой текст стоял
   на двух — и вываливался за край экрана, будто чужой. Всё, что лежит
   в этом ряду, теперь держит ту же линию: и текст, и кнопки, и сводка. */
/* Строка «откуда смотрим» над рядом «Сегодня». */
/* Поздравление внизу линии жизни. */
.pv-cong{margin:14px 0 4px;}
.pv-cong-b{width:100%;padding:13px;border:none;border-radius:12px;background:var(--wa);
  color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;}
.pv-cong-n{display:block;margin-top:8px;font-size:11.5px;line-height:1.5;color:var(--ink-3);}



/* Карточка события в ряду «Сегодня»: вместо лица — год. */
.pcard-ev .pcard-n{font-weight:600;}
.pcard-w{padding:2px 9px 9px;font-size:11px;color:var(--ink-3);}

.faces-empty{padding:2px 16px 4px;}
/* Строки .faces-empty-t/-s убраны 23 августа вместе с подписью под
   полем: она повторяла заголовок раздела «Зри в корень». */
.faces-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;}
.faces-chips button{padding:9px 14px;border:1px solid var(--line);background:var(--bg);
  color:var(--ink);border-radius:999px;font:inherit;font-size:13px;cursor:pointer;}
.faces-chips button:active{border-color:var(--wa);color:var(--wa-deep);}

.faces-about{margin:0 16px 12px;padding:12px 14px;border-radius:12px;
  background:var(--wa-soft);font-size:13px;line-height:1.55;color:var(--ink);}

/* Пустые карточки на время ожидания. Не крутилка: человек видит, что сейчас
   будет, и ряд не дёргается, когда придут настоящие. */
.fcard-wait{pointer-events:none}
.fcard-wait .fcard-i,
.fcard-wait .fcard-n,
.fcard-wait .fcard-s{background:var(--wa-soft);color:transparent;border-radius:8px}
.fcard-wait .fcard-n{height:13px;margin:8px 9px 0;padding:0}
.fcard-wait .fcard-s{height:30px;margin:6px 9px 10px;padding:0}
.fcard-wait .fcard-i{animation:fcpulse 1.2s ease-in-out infinite}
@keyframes fcpulse{0%,100%{opacity:1}50%{opacity:.55}}

/* строка действий в просмотрщике: кнопки в ряд с переносом.

   Кнопок стало три (фото, правка, надписи на видео) — на узком телефоне
   в строку они не встают, поэтому перенос и одинаковая ширина, иначе
   вторая строка выглядит обрубком первой. */
.car-view-edit{flex-wrap:wrap;gap:8px}
#car-view-photo{background:rgba(255,255,255,.92)}
/* КАДР ИЩЕТ. 14 сентября, слово хозяина: «после нажатия „Ситимҥэ бул“
   должна начаться анимация в изображении». До этого менялась только
   подпись на кнопке внизу, а человек смотрит на снимок — и двадцать
   секунд не понимает, идёт работа или нет. Тихая пульсация: ничего не
   закрывает, кадр виден, но видно и что он занят. */
@keyframes carЖдёт{0%,100%{opacity:1}50%{opacity:.42}}
#car-view-img.car-ждёт{animation:carЖдёт 1.1s ease-in-out infinite}
/* БЕЛАЯ КНОПКА БЕЗ НАДПИСИ. 14 сентября, снимок хозяина: в просмотрщике
   кадра стояла сплошная белая плашка.

   Это «Хаартысканы эбэтэр видеону эп». Фон у неё задан своим правилом и
   остаётся белым в любой теме, а цвет текста приходит из общего списка
   тёмной темы (.car-view-edit button → --ink), и там он светлый. Белым
   по белому. Возвращаем ей тёмные буквы — те же, что и на светлой теме. */
html[data-theme="dark"] #car-view-photo{color:#4E3049}
.car-view-edit button[disabled]{opacity:.7;cursor:default}
#car-view-burn{background:var(--wa);color:#fff}

/* Вложения переносим на несколько рядов вместо прокрутки вбок:
   при 11 снимках было видно 7, а домотать до остальных мышью неочевидно. */
.chat-att-row{flex-wrap:wrap !important;overflow-x:visible !important;
  max-height:184px;overflow-y:auto;row-gap:7px}
.chat-att-row::-webkit-scrollbar{width:0;height:0}

/* окно хода работы при вжигании надписей */
.cv-prog{position:absolute;inset:0;z-index:180;display:none;align-items:center;
  justify-content:center;background:rgba(30,16,28,.62);padding:22px}
.cv-prog.on{display:flex}
.cv-prog-b{background:#fff;border-radius:16px;padding:20px 18px;width:100%;max-width:320px;
  box-shadow:0 12px 40px rgba(0,0,0,.3);text-align:center;font-family:'Inter',sans-serif}
.cv-prog-b b{display:block;font-size:15px;color:var(--ink);margin-bottom:14px;font-weight:700}
.cv-prog-bar{height:8px;border-radius:5px;background:var(--wa-soft);overflow:hidden}
.cv-prog-bar i{display:block;height:100%;width:0;background:var(--wa);border-radius:5px;
  transition:width .25s var(--в)}
.cv-prog-b span{display:block;margin-top:10px;font-size:12.5px;color:var(--ink-2)}
.cv-prog-b em{display:block;margin-top:8px;font-size:12px;color:#B4404A;font-style:normal}

/* окно правки фото */
.pe{position:absolute;inset:0;z-index:150;display:none;align-items:center;justify-content:center;
  background:rgba(30,16,28,.66);padding:16px}
.pe.on{display:flex}
.pe-b{background:#fff;border-radius:16px;width:100%;max-width:360px;max-height:100%;overflow:auto;
  padding:16px;font-family:'Inter',sans-serif}
/* ЛИСТ НЕ ВЫШЕ ОКНА. 31 августа, слово хозяина: «Поправить» и «Оставить»
   в Сафари спрятались за системной панелью, оставить картинку не вышло.

   Стояло max-height:92vh. В Сафари vh считается по экрану с УБРАННОЙ
   нижней панелью, а окно центрирует лист. Когда панель видна (обычное
   состояние), лист выше видимого поля, вылезает за верх и низ поровну —
   и липкий низ с кнопками уходит под панель. С клавиатурой то же, только
   под клавиатуру. Теперь лист не выше своего окна (100% — от окна .pe,
   а его при открытом редакторе подгоняет под видимую область
   peFitViewport в 76-photo-edit.js). */
.pe-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.pe-h b{font-size:16px;color:var(--ink)}
.pe-x{border:none;background:var(--wa-soft);color:var(--wa-deep);width:30px;height:30px;
  border-radius:50%;font-size:14px;cursor:pointer}
/* ПРЕВЬЮ ПОКАЗЫВАЕТ КАДР ЦЕЛИКОМ. 29 августа, две беды хозяина:
   человек загрузил снимок 16:9, попросил убрать лишних людей — и не увидел
   их ни в «было», ни в «стало», потому что рамка была вертикальная 4:5, а
   object-fit:cover срезал края. Второй раз человек пытался приблизить
   снимок пальцами, а тык был ничем не занят.

   Теперь: contain вместо cover — видно весь кадр, ничего не срезается;
   высота фиксированная, чтобы горизонтальный и вертикальный снимки не
   прыгали; тык открывает во весь экран. */
.pe-pics{display:flex;gap:8px;margin-bottom:12px}
.pe-pics figure{flex:1;margin:0;min-width:0}
.pe-pics img{width:100%;height:var(--pe-h,190px);object-fit:contain;border-radius:10px;
  background:#2A1F2C;display:block;cursor:zoom-in}
.pe-pics figcaption{font-size:11px;color:var(--ink-2);text-align:center;margin-top:4px}

/* Во весь экран — по тыку на любой из двух. */
.pe-zoom{position:fixed;inset:0;background:rgba(12,7,14,.94);z-index:400;
  display:none;align-items:center;justify-content:center;padding:16px}
.pe-zoom.on{display:flex}
.pe-zoom img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:8px}
/* Крестик виден на любом снимке. 1 сентября: полупрозрачная белая заливка
   на светлом кадре сливалась, и кнопку было не различить — а это
   единственный выход из просмотра. Теперь белый кружок с тёмным знаком,
   с тенью, и крупнее пальца. Высоту окна держит peZoomFit. */
.pe-zoom-c{position:absolute;top:calc(14px + env(safe-area-inset-top,0));right:14px;
  width:44px;height:44px;border-radius:50%;border:none;background:#fff;
  color:#1A1420;font-size:19px;font-weight:700;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(0,0,0,.45);z-index:2}
.pe-zoom-l{position:absolute;left:0;right:0;bottom:calc(20px + env(safe-area-inset-bottom,0));
  text-align:center;color:#c9b8c2;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
/* Старые крупные кнопки-карточки убраны 30 августа: подсказки стали
   мелкими овалами в строку (ниже), а эти правила с ними спорили —
   овалы вставали столбиком во всю ширину. Осталось только «нельзя нажать». */
.pe-acts button:disabled,.pe-go:disabled{opacity:.55;cursor:default}
#pe-free{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line);
  border-radius:10px;font-size:13.5px;margin-bottom:8px}
.pe-go{width:100%;border:none;background:var(--wa);color:#fff;border-radius:10px;padding:11px;
  font-size:13.5px;font-weight:700;cursor:pointer}
.pe-note{min-height:18px;font-size:12px;color:var(--ink-2);margin:8px 0;text-align:center}
.pe-row{display:flex;gap:8px}
.pe-row button{flex:1;border-radius:10px;padding:11px;font-size:13px;font-weight:700;cursor:pointer;border:none}
.pe-s{background:var(--wa-soft);color:var(--wa-deep)}
.pe-p{background:var(--wa);color:#fff}

/* две кнопки в шапке линии — скачать и поделиться */
.pbar .pshare + .pshare{margin-left:6px}
/* «Убрать виджеты» — только на мониторе: на телефоне панели сбоку нет
   вовсе, и кнопка прятала бы то, чего не видно (5 сентября). */
.pshare.wfold{display:none;}

/* ЯЗЫЧОК ВОЗВРАТА — ТОЖЕ ТОЛЬКО НА МОНИТОРЕ. 5 сентября, слово хозяина:
   «видишь маленькую противную стрелку в интерфейсе?».

   Моя недоделка: все правила для #wshow я положил внутрь медиазапроса
   для широких экранов, а само правило «прятать» — туда же. На телефоне
   правил не оказалось вовсе, и браузер показал кнопку как обычную —
   маленькую стрелку у левого края, которая там ничего не делает.
   Прячем снаружи медиазапроса, чтобы правило действовало везде. */
#wshow{display:none;}


/* фото профиля в кружке настроек */
.bigav{background-size:cover;background-position:center}
.avhint a{color:var(--wa-deep);cursor:pointer;text-decoration:underline;margin:0 3px}

/* Шапка чата: только значки. Слева окружение, справа вдохновение.
   Место освободилось под подсказку «Карусель про сегодня» внизу. */
.aiyy-tab.ico{width:40px;height:40px;padding:0;display:flex;align-items:center;
  justify-content:center;border-radius:50%;flex:0 0 auto}
.aiyy-tab.ico span{display:none}

/* Повод дня на пустом экране: совпадение с чужой линией жизни. */
.chat-hook{margin:0 2px 8px;padding:11px 13px;border-radius:12px;background:var(--wa-soft);
  border:1px solid #EBDCE6;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.chat-hook span{flex:1;min-width:150px;font-size:13px;line-height:1.4;color:var(--ink)}
.chat-hook button{flex:0 0 auto;border:none;background:var(--wa);color:#fff;border-radius:9px;
  padding:8px 13px;font-size:12.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer}

/* крестик подсказки: убрать на сегодня */
.chat-hook .hk-x{background:transparent;color:var(--ink-2);padding:6px 8px;font-size:13px;
  font-weight:600;flex:0 0 auto}
.chat-hook .hk-x:active{opacity:.6}

/* свежие поводы: горизонтальная лента карточек */
.fresh-rail{margin:0 0 18px}
/* -webkit-overflow-scrolling нужен старым Safari, а touch-action —
   чтобы палец прокручивал ряд вбок, а не тянул весь экран вниз. */
.fresh-rail .fr-row{display:flex;gap:10px;overflow-x:auto;padding:2px 16px 6px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.fresh-rail .fr-row > *{scroll-snap-align:start}
.fresh-rail .fr-row::-webkit-scrollbar{display:none}
.fr-card{flex:0 0 auto;width:190px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:12px 13px;cursor:pointer}
.fr-card:active{background:var(--wa-soft)}
.fr-y{font-size:11px;font-weight:700;color:var(--wa-deep);letter-spacing:.04em}
.fr-w{font-size:14px;font-weight:700;color:var(--ink);margin-top:4px;line-height:1.25}
.fr-t{font-size:12.5px;color:var(--ink-2);margin-top:4px;line-height:1.35}
.fr-s{font-size:10.5px;color:#A79BA4;margin-top:7px}
.fr-note{font-size:12px;color:var(--ink-2);padding:4px 16px 0}

/* Общий значок загрузки. Буквы имени пробегают волной — видно, что живое,
   а не замерло. Всё на CSS: гифка весила бы сотни килобайт, мылила бы
   на плотных экранах и не умела бы менять цвет вместе с темой. */
.ai-load{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2)}
.ai-load .ai-load-n{display:inline-flex;gap:1px;font-weight:800;letter-spacing:.5px;
  font-size:11.5px;color:var(--wa-deep)}
.ai-load .ai-load-n i{font-style:normal;animation:aiwave 1.1s ease-in-out infinite}
.ai-load .ai-load-n i:nth-child(2){animation-delay:.13s}
.ai-load .ai-load-n i:nth-child(3){animation-delay:.26s}
.ai-load .ai-load-n i:nth-child(4){animation-delay:.39s}
@keyframes aiwave{0%,70%,100%{opacity:.28;transform:translateY(0)}
  35%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion: reduce){
  .ai-load .ai-load-n i{animation:none;opacity:.75}
}
.fr-note button{border:none;background:transparent;color:var(--wa-deep);font-size:12px;
  font-weight:700;text-decoration:underline;cursor:pointer;padding:0 2px}

/* карточка новости: даём прочитать, не обрезая на полуслове */
.fr-card{width:232px}
.fr-t{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

/* разбор новости перед сборкой */
.fr-sheet{position:absolute;inset:0;z-index:150;display:none;align-items:flex-end;
  justify-content:center;background:rgba(30,16,28,.6)}
.fr-sheet.on{display:flex}
.fr-sh-b{background:#fff;border-radius:18px 18px 0 0;width:100%;max-height:88vh;overflow:auto;
  padding:16px 16px 20px;font-family:'Inter',sans-serif}
.fr-sh-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.fr-sh-h b{font-size:11.5px;font-weight:700;color:var(--wa-deep);letter-spacing:.04em}
.fr-sh-x{border:none;background:var(--wa-soft);color:var(--wa-deep);width:30px;height:30px;
  border-radius:50%;font-size:14px;cursor:pointer}
.fr-sh-b h3{margin:0 0 8px;font-size:19px;line-height:1.25;color:var(--ink)}
.fr-sh-b p{margin:0 0 10px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.fr-sh-b a{display:inline-block;font-size:12.5px;color:var(--wa-deep);margin-bottom:14px}
.fr-sh-b label{display:block;font-size:12px;color:var(--ink-2);margin-bottom:5px}
.fr-sh-b textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line);
  border-radius:10px;font-size:14px;font-family:'Inter',sans-serif;resize:vertical}
.fr-sh-hint{font-size:11.5px;color:#A79BA4;margin:6px 0 14px}
.fr-sh-row{display:flex;gap:8px}
.fr-sh-row button{flex:1;border:none;border-radius:11px;padding:12px;font-size:13.5px;
  font-weight:700;cursor:pointer;font-family:'Inter',sans-serif}
.fr-sh-s{background:var(--wa-soft);color:var(--wa-deep)}
.fr-sh-p{background:var(--wa);color:#fff}

/* планета у поля ввода — переключатель поиска в сети */
.aiyy-web{width:36px;height:36px;border:none;background:transparent;color:var(--ink-2);
  border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;cursor:pointer}
.aiyy-web.on{background:var(--wa-soft);color:var(--wa-deep)}
/* Дерево вместо глобуса (8 сентября). У картинки цвет не меняется от
   color, как у нарисованного значка, — поэтому включённость показываем
   насыщенностью: выключено бледное, включено полное и в своей плашке.
   В тёмной теме дерево выворачиваем, иначе тёмное на тёмном пропадёт. */
/* КНОПКА ВЫЗОВА В СТРОКЕ ВВОДА. 8 сентября: раньше она висела кружком
   над строкой и появлялась по поводам — то есть то мешала кнопкам готовой
   карусели, то пропадала, когда была нужна. Слово хозяина: «это её место,
   рядом с микрофоном, просто так органично смотрится».

   Здесь она не кружок с тенью, а такой же значок, как микрофон, — иначе
   в ряду ровных значков цветной пузырь читался бы отдельной вещью.
   Дерево при этом чёткое и в полную силу («сделай более выразительным»):
   это главная кнопка строки, ей и быть заметной. */
.aiyy-make{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:none;
  background:none;padding:0;display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--wa-deep);font-size:21px;line-height:1;
  transition:background .15s var(--в);}
.aiyy-make img{width:26px;height:26px;object-fit:contain;display:block;}
.aiyy-make:active{background:var(--wa-soft);}
body.fab-open .aiyy-make{background:var(--wa-soft);}
html[data-theme="dark"] .aiyy-make img{filter:invert(1) brightness(1.6);}

/* подсказка дня переехала под приветствие — низ разгрузился */
.aiyy-hero .chat-hook{max-width:340px;margin:18px auto 0;text-align:left;
  display:grid;grid-template-columns:1fr auto;gap:6px 8px;align-items:start}
/* текст занимает всю ширину, кнопка идёт под ним — иначе текст жмётся
   в узкую колонку и растягивается на шесть строк */
.aiyy-hero .chat-hook span{grid-column:1;min-width:0}
.aiyy-hero .chat-hook .hk-x{grid-column:2;grid-row:1;padding:2px 0 0;font-size:12px;color:#B9AAB6}
.aiyy-hero .chat-hook button:not(.hk-x){grid-column:1 / -1;justify-self:start;margin-top:2px}

/* приглашение в зону вдохновения на пустом экране */
.aiyy-hero .chat-hook span b{display:block;font-size:13.5px;color:var(--ink);margin-bottom:3px}
.aiyy-hero .chat-hook span i{display:block;font-style:normal;font-size:11.5px;color:#A79BA4;
  margin-top:7px;padding-top:7px;border-top:1px solid #EBDCE6}

/* зона вдохновения: примеры, вопрос дня, свои даты */
.ic-rail{display:flex;gap:10px;overflow-x:auto;padding:2px 16px 6px;scrollbar-width:none}
.ic-rail::-webkit-scrollbar{display:none}
.ic-card{flex:0 0 auto;width:214px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:12px 13px;cursor:pointer;
  /* строки должны идти столбиком: где-то в легаси карточку разворачивало в ряд */
  display:block !important;box-sizing:border-box}
.ic-card > *{display:block;width:auto}
.ic-card:active{background:var(--wa-soft)}
.ic-top{display:flex;gap:10px;margin-bottom:8px}
.ic-l{font-size:12px;font-weight:700;color:var(--wa-deep)}
.ic-tag{font-size:10.5px;font-weight:700;color:#A79BA4;letter-spacing:.05em}
.ic-w{font-size:15px;font-weight:700;color:var(--ink);margin-top:4px;line-height:1.25}
.ic-s{font-size:12.5px;color:var(--ink-2);margin-top:4px;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ic-n{font-size:11px;color:var(--wa-deep);margin-top:8px;font-weight:600}
.ic-card.own .ic-tag{color:var(--wa-deep)}

.iq-box{margin:0 16px 18px;padding:16px;border-radius:14px;background:var(--wa-soft);
  border:1px solid #EBDCE6;cursor:pointer}
.iq-t{font-size:16px;font-weight:700;color:var(--ink);line-height:1.3}
.iq-box button{margin-top:12px;border:none;background:var(--wa);color:#fff;border-radius:10px;
  padding:9px 16px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer}

/* кнопки под вопросом дня */
.iq-row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.iq-row button{border:none;background:var(--wa);color:#fff;border-radius:10px;padding:9px 16px;
  font-size:13px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer}
.iq-row .iq-next{background:#fff;color:var(--wa-deep);border:1px solid var(--line)}

/* вопрос дня одной строкой в самом низу ленты */
.iq-line{margin:6px 16px 24px;padding:12px 14px;border-radius:12px;background:#fff;
  border:1px solid var(--line);cursor:pointer}
.iq-line .iq-l{font-size:11.5px;color:#A79BA4;margin-bottom:5px}
.iq-line .iq-t{font-size:14px;font-weight:600;color:var(--ink);line-height:1.35}
.iq-line .iq-next{margin-top:8px;border:none;background:none;color:var(--wa-deep);
  font-size:12px;font-family:'Inter',sans-serif;cursor:pointer;padding:0;text-decoration:underline}

/* переход в свою линию из «Твоих дат» */
.vcf-cta{margin:2px 16px 18px}
.vcf-cta button{width:100%;border:1px dashed var(--wa);background:var(--wa-soft);color:var(--wa-deep);
  border-radius:12px;padding:12px;font-size:13.5px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer}
.vcf-cta span{display:block;font-size:11.5px;color:#A79BA4;margin-top:6px;text-align:center}
.vcf-list{max-height:44vh;overflow:auto;margin-bottom:14px}
.vcf-i{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line)}
.vcf-i input{width:18px;height:18px;flex:0 0 auto}
.vcf-i span{display:flex;flex-direction:column;min-width:0}
.vcf-i b{font-size:14px;color:var(--ink)}
.vcf-i i{font-style:normal;font-size:12px;color:var(--ink-2)}

/* Низ раздела вдохновения: содержимое бывает короче экрана, и снизу
   проглядывал край контейнера светлой полосой. Тянем фон на всю высоту
   и добавляем отступ, чтобы последний ряд не упирался в край. */
/* ТОЛЬКО когда страница открыта: селектор по id сильнее, чем .pg{display:none},
   и без .on страница вдохновения переставала скрываться — висела поверх
   окружения, из-за чего обе иконки в шапке будто вели в одно место. */
#pg-life.on{display:flex;flex-direction:column}
#pg-life{background:#fff}
/* min-height:100% не сработал — у родителя нет заданной высоты.
   Растягиваем содержимое флексом, тогда белого хвоста внизу не остаётся. */
#people-rails{padding-bottom:28px;flex:1 0 auto}

/* дни рождения известных людей */
.ic-card.star .ic-tag{color:var(--wa-deep)}
.ic-card.star .ic-n{color:var(--wa-deep)}


/* подсказка про интерактивный экран сторис */
.car-ask{margin:2px 2px 8px;padding:10px 12px;border-radius:11px;background:var(--wa-soft);
  border:1px solid #EBDCE6;font-size:12.5px;color:var(--wa-deep);font-weight:600;line-height:1.4}

.car-styletip b{font-weight:800}
.car-sign-ask{position:relative}
.car-sign-ask>b{display:block;font-weight:800;margin-bottom:8px}
.car-sign-row{display:flex;gap:12px;align-items:center}
.car-sign-row input{width:100%;box-sizing:border-box;margin-bottom:6px;font-family:inherit}
.car-sign-x{position:absolute;right:8px;top:6px;border:0;background:none;color:var(--ink-3);font-size:18px;cursor:pointer;line-height:1}
/* Отступ меньше прежнего: описание из блока убрано 23 августа, осталась
   одна строка — при девяти точках кнопки повисали бы в пустоте. */
.car-styletip-b{display:flex;gap:8px;margin-top:7px;flex-wrap:wrap}
/* Фон переменной, а не белым намертво: в тёмной теме белая кнопка на
   тёмном блоке светилась пятном. --bg в светлой теме и есть белый. */
.car-styletip-b button{border:1px solid var(--wa);background:var(--bg);color:var(--wa-deep);
  border-radius:9px;padding:7px 14px;font-size:12.5px;font-weight:700;cursor:pointer;
  font-family:inherit}
.car-styletip-b button:active{background:var(--wa-soft)}

/* Размер текста — ползунок: компактнее кнопок и понятнее как шкала.
   (Первая версия была кнопками, и стили к ней не применились вовсе —
   команда с CSS шла после проверки синтаксиса, а та упала.) */
/* Три ступени размера текста вместо ползунка. Выбранная закрашена —
   видно с одного взгляда, что стоит сейчас. */
/* Строка «что включено и будут ли списания» — первое, что видно в окне
   тарифов. Не украшение: на этот вопрос человек и приходит. */
/* Кнопка продления внутри строки состояния. Отписка не должна быть
   яркой и не должна прятаться: обычная кнопка, читаемая с первого взгляда. */
.plan-auto{margin-top:9px;padding:8px 12px;border:1px solid var(--line);
  background:#fff;color:var(--ink);border-radius:9px;font:inherit;font-size:12.5px;
  cursor:pointer;}
.plan-auto.on{background:var(--wa);color:#fff;border-color:var(--wa);}
html[data-theme="dark"] .plan-auto{background:var(--panel);color:var(--ink);}

/* Окно сборки ролика. Держим его простым: полоса, время и одна кнопка.
   Человеку тут нечего решать — ему надо знать, что идёт работа и сколько
   ещё ждать. */
.reel-sheet{position:fixed;inset:0;z-index:60;display:none;align-items:center;
  justify-content:center;background:rgba(20,12,18,.72);backdrop-filter:blur(3px);}
.reel-sheet.on{display:flex;}
/* Цвет берём из --bg, а не из --card: такой переменной в наших стилях
   НЕТ ВОВСЕ, и окно выходило прозрачным — текст читался поверх страницы.
   Проверять надо не только вёрстку, но и то, что переменная существует. */
.reel-b{width:min(340px,86vw);background:var(--bg);border-radius:18px;padding:22px 20px;
  box-shadow:0 20px 60px rgba(20,10,18,.45);text-align:center;
  border:1px solid var(--line);}
.reel-t{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:14px;}
.reel-bar{height:8px;border-radius:6px;background:var(--wa-soft);overflow:hidden;}
.reel-bar i{display:block;height:100%;width:0;background:var(--wa);
  transition:width .25s linear;}
.reel-n{margin-top:12px;font-size:12px;line-height:1.5;color:var(--ink-3);}
.reel-x{margin-top:16px;padding:9px 16px;border:1px solid var(--line);background:transparent;
  color:var(--ink-2);border-radius:9px;font:inherit;font-size:13px;cursor:pointer;}
.reel-min{margin-top:16px;margin-right:8px;padding:9px 16px;border:1px solid var(--wa);
  background:var(--wa);color:#fff;border-radius:9px;font:inherit;font-size:13px;cursor:pointer;}

/* Свёрнутое окно: маленькая полоска внизу, чтобы не заслоняла работу,
   но было видно, что запись идёт и сколько осталось. */
.reel-chip{position:fixed;left:50%;bottom:86px;transform:translateX(-50%);z-index:59;
  display:none;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;
  background:var(--bg);border:1px solid var(--line);box-shadow:0 8px 24px rgba(20,10,18,.22);
  font-size:12.5px;color:var(--ink);cursor:pointer;}
.reel-chip.on{display:flex;}
.reel-chip i{width:8px;height:8px;border-radius:50%;background:#E5484D;
  animation:reelBlink 1.1s infinite;}
@keyframes reelBlink{0%,100%{opacity:1}50%{opacity:.25}}

/* Неактивная кнопка отвязки: видна, но не нажимается, когда привязывать
   нечего. Так на экране всегда виден сам орган управления. */
.s-key-btn.off{opacity:.45;cursor:default;}

/* ПОЧЕМУ ПАМЯТЬ И ЗНАКОМСТВО. Первый блок раздела «О тебе».
   Читается как письмо, а не как справка: строки просторные, ударные
   слова жирным, ничего лишнего вокруг. */
.ml-why{margin:10px 2px 0;font-size:13px;line-height:1.6;color:var(--ink-2);}
.ml-why b{color:var(--ink);}

/* Объяснение линии в карточке разговора — один раз, мелким. */
/* ЛИНИЯ ЖИЗНИ ЧУЖОГО ЧЕЛОВЕКА В КАРТОЧКЕ. Та же подача, что и у своей
   линии: слева номер дня, справа что случилось. Подробность раскрывается
   нажатием, поэтому по умолчанию она свёрнута. */
.td-life{margin-top:14px;max-height:46vh;overflow-y:auto;}
.td-life-h{font-size:12px;color:var(--ink-3);text-transform:uppercase;
  letter-spacing:.04em;margin-bottom:10px;}
.td-life-w{font-size:13px;color:var(--ink-3);padding:8px 0;}
.td-ev{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);}
.td-ev:last-child{border-bottom:none;}
.td-ev.can{cursor:pointer;}
.td-ev-d{flex:0 0 auto;min-width:56px;font-size:12px;color:var(--wa-deep);
  font-variant-numeric:tabular-nums;padding-top:2px;}
.td-ev-b b{display:block;font-size:13.5px;line-height:1.4;color:var(--ink);font-weight:600;}
.td-ev-b span{display:block;margin-top:3px;font-size:11.5px;color:var(--ink-3);}
.td-ev.near .td-ev-d{font-weight:700;}
.td-ev.near .td-ev-b span{color:var(--wa-deep);}
.td-ev-p{display:none;margin:7px 0 0;font-size:12.5px;line-height:1.55;color:var(--ink-2);}
.td-ev-p.on{display:block;}

.ev-what{margin:8px 0 4px;font-size:11.5px;line-height:1.55;color:var(--ink-2);}
.ev-what a{display:inline-block;margin-top:5px;color:var(--ink-3);
  text-decoration:underline;cursor:pointer;}

/* Шапка линии, когда даты рождения ещё нет: то же место, но вместо
   числа — просьба. */
.mlnow-ask .mln-v{opacity:.35;}

.ml-meet{margin:16px 0 4px;padding:16px;border-radius:14px;
  background:var(--wa-soft);border:1px solid var(--line);}
.ml-meet-h{font-size:14px;font-weight:700;color:var(--wa-deep);margin-bottom:12px;}
.ml-meet-r{margin-bottom:12px;}
.ml-meet-r label{display:block;font-size:12px;color:var(--ink-2);margin-bottom:6px;}
.ml-meet-in{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;
  background:var(--bg);color:var(--ink);font:inherit;font-size:14px;box-sizing:border-box;}
.ml-meet-n{margin-top:7px;font-size:11.5px;line-height:1.5;color:var(--ink-3);}
.ml-meet-b{width:100%;padding:12px;border:none;border-radius:10px;
  background:var(--wa);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;}

.plan-cur{margin:0 0 14px;padding:12px 14px;border-radius:12px;
  background:var(--wa-soft);color:var(--ink);font-size:13px;line-height:1.5;}
.plan-cur b{color:var(--wa-deep);}

.se-sizes{display:flex;gap:8px;margin:6px 0 16px;}
.se-sizes button{flex:1;padding:10px 6px;border:1px solid var(--line);
  background:#fff;color:var(--ink);border-radius:10px;font:inherit;font-size:13px;
  cursor:pointer;}
.se-sizes button.on{background:var(--wa);color:#fff;border-color:var(--wa);}
html[data-theme="dark"] .se-sizes button{background:var(--panel);color:var(--ink);}
html[data-theme="dark"] .se-sizes button.on{background:var(--wa);color:#fff;}

.se-lbl{font-size:12px;color:var(--ink-2);margin:14px 0 8px;display:flex;
  align-items:baseline;justify-content:space-between}
.se-lbl b{font-size:12.5px;color:var(--wa-deep);font-weight:700}
.se-scale{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.se-sc-a{font-size:13px;color:var(--ink-2);flex:0 0 auto}
.se-sc-b{font-size:22px;color:var(--ink-2);flex:0 0 auto;line-height:1}
#se-scale{flex:1;min-width:0;-webkit-appearance:none;appearance:none;height:4px;
  border-radius:2px;background:var(--line);outline:none;margin:0}
#se-scale::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;
  background:var(--wa);border:2px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.22);cursor:pointer}
#se-scale::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--wa);
  border:2px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.22);cursor:pointer}

/* PT Serif — антиква с ПОЛНОЙ поддержкой якутского: все ҕ ҥ ө һ ү на месте.
   Второй такой шрифт после Stengazeta. */
@font-face{font-family:'PTSerif';src:url('../fonts/PTSerif-Regular.woff2') format('woff2');
  font-weight:400;font-display:swap}
@font-face{font-family:'PTSerif';src:url('../fonts/PTSerif-Bold.woff2') format('woff2');
  font-weight:700 900;font-display:swap}

/* ===== ШТОРКА СОХРАНЕНИЯ ===== */
.save-sheet{position:absolute;inset:0;background:rgba(30,16,28,.55);
  /* 4 СЕНТЯБРЯ, снимок хозяина: «когда с редактора качаешь, окно
     появляется сзади». Так и было: шторка сохранения стояла на слое 140,
     а просмотр кадра и редактор — на 150, и она уезжала под них.
     Ставим её выше всего, что можно открыть до неё: скачивание — всегда
     последний шаг, и оно обязано быть сверху.

     8 сентября то же самое повторилось с готовым видео субтитров: оно
     стоит на 181, шторка была на 170 — и уезжала под него. Поднимаем
     выше всех окон, из которых вообще можно нажать «сохранить». */
  z-index:200;
  display:none;align-items:flex-end;justify-content:center;}
.save-sheet.on{display:flex;}
.save-sheet .ss-b{background:#fff;border-radius:18px 18px 0 0;padding:18px 16px
  calc(20px + env(safe-area-inset-bottom,0));width:100%;max-height:82%;overflow:auto;}
.save-sheet .ss-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;}
.save-sheet .ss-h b{font-size:17px;font-family:'Inter',sans-serif;color:var(--ink);}
.save-sheet .ss-x{border:none;background:transparent;font-size:17px;color:var(--ink-3);
  cursor:pointer;padding:4px 6px;}
.save-sheet .ss-note{font-size:12.5px;color:var(--ink-3);margin-bottom:14px;}
.save-sheet .ss-main{display:block;width:100%;border:none;background:var(--wa);color:#fff;
  border-radius:12px;padding:15px;font-size:15.5px;font-weight:700;font-family:'Inter',sans-serif;
  cursor:pointer;margin-bottom:9px;}
.save-sheet .ss-alt{display:block;width:100%;border:1px solid var(--line);background:#fff;
  color:var(--ink);border-radius:12px;padding:13px;font-size:14.5px;font-family:'Inter',sans-serif;
  cursor:pointer;}
.save-sheet .ss-thumbs{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px;}
.save-sheet .ss-thumbs img{width:70px;height:88px;object-fit:cover;border-radius:9px;
  border:1px solid var(--line);}
.save-sheet .ss-hint{font-size:12px;color:var(--ink-3);margin-top:10px;line-height:1.4;}

/* Кнопка входа в настройки ключа — в общем списке настроек, а не в углу
   поверх «отправить». */
.s-key-btn{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);
  background:#fff;color:var(--ink);font-size:14.5px;font-family:'Inter',sans-serif;}
.s-key-btn:active{background:var(--panel);}

/* ===== ОКНО ВХОДА ===== */
.acc-sheet{position:absolute;inset:0;background:rgba(30,16,28,.55);z-index:150;
  display:none;align-items:flex-end;justify-content:center;}
.acc-sheet.on{display:flex;}
.acc-sheet .acc-b{background:#fff;border-radius:18px 18px 0 0;width:100%;
  padding:18px 16px calc(22px + env(safe-area-inset-bottom,0));max-height:88%;overflow:auto;}
.acc-sheet .acc-h{display:flex;align-items:center;justify-content:space-between;}
.acc-sheet .acc-h b{font-size:17px;font-family:'Inter',sans-serif;color:var(--ink);}
.acc-sheet .acc-x{border:none;background:transparent;font-size:17px;color:var(--ink-3);padding:4px 6px;}
.acc-sheet .acc-note{font-size:12.5px;color:var(--ink-3);margin:2px 0 16px;line-height:1.4;}
.acc-sheet input{width:100%;padding:13px 14px;border-radius:11px;border:1px solid var(--line);
  background:var(--panel);font-size:16px;font-family:'Inter',sans-serif;margin-bottom:9px;}
.acc-sheet .acc-main{width:100%;padding:14px;border-radius:11px;border:none;background:var(--wa);
  color:#fff;font-size:15.5px;font-weight:700;font-family:'Inter',sans-serif;}
.acc-sheet .acc-alt{width:100%;padding:11px;border-radius:11px;border:none;background:transparent;
  color:var(--wa-deep);font-size:13.5px;font-family:'Inter',sans-serif;margin-top:6px;}
.acc-sheet .acc-or{text-align:center;font-size:12px;color:var(--ink-3);margin:12px 0;}
.acc-sheet .acc-mail-l{display:block;text-align:center;font-size:12.5px;color:var(--ink-3);margin:14px 0 2px;
  cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-family:'Inter',sans-serif;}
.acc-sheet .acc-mail-l:hover{color:var(--ink-2,var(--ink));}
.acc-sheet #acc-mail-w{margin-top:12px;}
.acc-sheet #acc-gbtn{display:flex;justify-content:center;}
.acc-sheet .acc-err{display:none;font-size:12.5px;color:#C0392B;margin-top:10px;line-height:1.4;}
.s-acc-row{display:flex;align-items:center;gap:10px;justify-content:space-between;}
.s-acc-row .s-key-btn{width:auto;padding:9px 16px;flex:0 0 auto;}

/* ===== СПРАВКА О ЧЕЛОВЕКЕ ===== */
.pv-sheet{position:absolute;inset:0;background:rgba(30,16,28,.6);z-index:145;
  display:none;align-items:flex-end;justify-content:center;}
.pv-sheet.on{display:flex;}
.pv-sheet .pv-b{background:#fff;border-radius:18px 18px 0 0;width:100%;max-height:88%;
  overflow:auto;padding:18px 16px calc(22px + env(safe-area-inset-bottom,0));}
.pv-sheet .pv-h{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.pv-sheet .pv-h b{font-size:19px;font-family:'Inter',sans-serif;color:var(--ink);line-height:1.2;}
.pv-sheet .pv-x{border:none;background:transparent;font-size:17px;color:var(--ink-3);padding:4px 6px;}
.pv-sheet .pv-sub{font-size:12.5px;color:var(--ink-3);margin-top:3px;}
.pv-sheet .pv-now{background:var(--wa-soft);border-radius:13px;padding:13px 14px;margin:14px 0 6px;}
.pv-sheet .pv-now-t{font-size:11px;letter-spacing:.6px;text-transform:uppercase;
  color:var(--wa-deep);font-weight:700;margin-bottom:5px;}
.pv-sheet .pv-now b{font-size:15px;line-height:1.35;color:var(--ink);}
.pv-sheet .pv-now-d{font-size:12px;color:var(--ink-3);margin-top:5px;}
.pv-sheet .pv-about{font-size:13px;color:var(--ink-2);line-height:1.45;margin-top:10px;
  border-top:1px solid rgba(0,0,0,.06);padding-top:10px;}
.pv-sheet .pv-list{margin-top:12px;}
.pv-sheet .pv-ev{display:flex;gap:11px;padding:9px 0;border-bottom:1px solid var(--line);}
.pv-sheet .pv-ev:last-child{border-bottom:0;}
.pv-sheet .pv-ev.near{background:var(--wa-soft);border-radius:9px;padding:9px 10px;border-bottom:0;}
.pv-sheet .pv-d{flex:0 0 58px;font-size:12px;font-weight:700;color:var(--wa-deep);
  font-variant-numeric:tabular-nums;padding-top:2px;}
.pv-sheet .pv-ev b{display:block;font-size:14px;line-height:1.35;font-weight:600;}
.pv-sheet .pv-ev span{display:block;font-size:11.5px;color:var(--ink-3);margin-top:2px;}
.pv-sheet .pv-src{display:block;margin-top:14px;font-size:13px;color:var(--wa-deep);}
.pv-sheet .pv-load,.pv-sheet .pv-err{font-size:13px;color:var(--ink-3);padding:14px 0;}
.td-more{width:100%;margin-top:10px;padding:12px;border-radius:11px;border:1px solid var(--line);
  background:#fff;color:var(--ink);font-size:14px;font-family:'Inter',sans-serif;}

/* ===== ВЫБОР КАДРА ДЛЯ КРУЖКА ===== */
.avc-sheet{position:absolute;inset:0;background:rgba(30,16,28,.6);z-index:160;
  display:none;align-items:center;justify-content:center;padding:16px;}
.avc-sheet.on{display:flex;}
.avc-sheet .avc-b{background:#fff;border-radius:18px;width:100%;max-width:340px;padding:18px 16px 20px;}
.avc-sheet .avc-h{display:flex;align-items:center;justify-content:space-between;}
.avc-sheet .avc-h b{font-size:17px;font-family:'Inter',sans-serif;}
.avc-sheet .avc-x{border:none;background:transparent;font-size:17px;color:var(--ink-3);padding:4px 6px;}
.avc-sheet .avc-note{font-size:12.5px;color:var(--ink-3);margin:2px 0 14px;}
.avc-sheet .avc-win{position:relative;width:100%;max-width:280px;margin:0 auto;
  aspect-ratio:1/1;border-radius:50%;overflow:hidden;background:var(--panel);
  touch-action:none;cursor:grab;}
.avc-sheet .avc-win:active{cursor:grabbing;}
.avc-sheet #avc-cv{display:block;width:100%;height:100%;}
.avc-sheet .avc-mask{position:absolute;inset:0;border-radius:50%;pointer-events:none;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.85);}
.avc-sheet #avc-zoom{width:100%;margin:16px 0 4px;accent-color:var(--wa);}
.avc-sheet .avc-main{width:100%;padding:14px;border-radius:11px;border:none;background:var(--wa);
  color:#fff;font-size:15.5px;font-weight:700;font-family:'Inter',sans-serif;margin-top:8px;}

/* Ряд «загрузить · скачать все» над списком разговоров убран 15 августа:
   вошедшему разговоры сохраняет сервер. Правила оставлены — на .cl-load
   ссылается кнопка загрузки внутри самого разговора. */
.cl-row{display:flex;gap:9px;}
.cl-row .cl-load{flex:1;}

/* ===== ВЫБОР ОБЛАСТИ НАД ЛЕНТОЙ ===== */
.fld-rail{padding:14px 16px 4px;}
.fld-t{font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--ink-3);
  font-weight:700;margin-bottom:8px;}
/* Кнопки переносятся по строкам, а не едут вбок.

   Боковая прокрутка внутри страницы, которая сама прибита к экрану,
   на телефоне не работала: палец двигал не ряд, а ничего. Половина
   областей оставалась за краем, и выбрать их было нельзя. Перенос
   по строкам работает всегда и показывает сразу все. */
.fld-btns{display:flex;flex-wrap:wrap;gap:7px;padding-bottom:4px;}
.fld-b{flex:0 0 auto;padding:8px 13px;border-radius:999px;border:1px solid var(--line);
  background:#fff;color:var(--ink-2);font-size:12.5px;font-family:'Inter',sans-serif;
  white-space:nowrap;}
.fld-b.on{background:var(--wa-soft);border-color:var(--wa);color:var(--wa-deep);font-weight:700;}

/* Выбор области на втором экране первого входа */
.ob-fld{margin:22px 0 6px;text-align:left;}
.ob-fld-t{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:4px;}
.ob-fld-h{font-size:12px;color:var(--ink-3);line-height:1.4;margin-bottom:10px;}
.ob-fld-btns{display:flex;flex-wrap:wrap;gap:7px;}
.ob-fld-b{padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;
  color:var(--ink-2);font-size:13px;font-family:'Inter',sans-serif;}
.ob-fld-b.on{background:var(--wa-soft);border-color:var(--wa);color:var(--wa-deep);font-weight:700;}

/* ===== ПРОСМОТР ВЛОЖЕНИЙ ИЗ РАЗГОВОРА ===== */
.cmsg-att{cursor:zoom-in;}
.cmsg-v{cursor:zoom-in;}
.catt-view{position:absolute;inset:0;background:rgba(18,10,16,.94);z-index:170;
  display:none;flex-direction:column;align-items:center;justify-content:center;}
.catt-view.on{display:flex;}
.catt-x{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;
  border:none;background:rgba(255,255,255,.16);color:#fff;font-size:17px;z-index:2;}
.catt-body{flex:1;display:flex;align-items:center;justify-content:center;
  width:100%;padding:56px 14px 8px;}
.catt-body img,.catt-body video{max-width:100%;max-height:100%;border-radius:12px;display:block;}
/* Зум пальцами (30 августа): жесты берём на себя, браузеру не отдаём. */
.catt-body{touch-action:none;overflow:hidden;}
.catt-body img{transform-origin:center center;will-change:transform;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;}
.pe-zoom{touch-action:none;overflow:hidden;}
.pe-zoom img{transform-origin:center center;will-change:transform;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;}
.catt-bar{display:flex;align-items:center;gap:18px;padding:12px 0 calc(20px + env(safe-area-inset-bottom,0));}
.catt-bar button{width:42px;height:42px;border-radius:50%;border:none;
  background:rgba(255,255,255,.14);color:#fff;font-size:20px;}
.catt-bar span{color:rgba(255,255,255,.75);font-size:13px;min-width:52px;text-align:center;}

/* Карточка тренда — отличается меткой, не цветом: ряд должен читаться ровно */
.fr-card.trend{border-color:var(--wa);}
.fr-y i{font-style:normal;color:var(--wa-deep);font-weight:700;}

/* Ник именинника: ссылка, а не украшение — по ней проверяют аккаунт */
.bd-ig{margin:8px 0 2px;}
.bd-ig a{font-size:14px;font-weight:700;color:var(--wa-deep);text-decoration:none;}
.bd-ig span{display:block;font-size:11.5px;color:var(--ink-3);margin-top:3px;line-height:1.35;}
.pcard-ig{font-size:11px;color:var(--wa-deep);margin-top:3px;font-weight:600;}

/* ===== ВЫБОР ЯЗЫКА ===== */
.lang-sheet{position:absolute;inset:0;background:rgba(30,16,28,.55);z-index:155;
  display:none;align-items:flex-end;justify-content:center;}
.lang-sheet.on{display:flex;}
.lang-sheet .lang-b{background:#fff;border-radius:18px 18px 0 0;width:100%;max-height:80%;
  overflow:auto;padding:18px 16px calc(20px + env(safe-area-inset-bottom,0));}
.lang-sheet .lang-h{display:flex;align-items:center;justify-content:space-between;}
.lang-sheet .lang-h b{font-size:17px;font-family:'Inter',sans-serif;}
.lang-sheet .lang-x{border:none;background:transparent;font-size:17px;color:var(--ink-3);padding:4px 6px;}
.lang-sheet .lang-note{font-size:12.5px;color:var(--ink-3);margin:2px 0 14px;}
.lang-sheet .lang-list{display:flex;flex-wrap:wrap;gap:8px;}
.lang-sheet .lang-i{padding:11px 15px;border-radius:11px;border:1px solid var(--line);
  background:#fff;color:var(--ink);font-size:14px;font-family:'Inter',sans-serif;}
.lang-sheet .lang-i.on{background:var(--wa-soft);border-color:var(--wa);color:var(--wa-deep);font-weight:700;}

/* ===== ТАРИФЫ ===== */
.plan-sheet{position:absolute;inset:0;background:rgba(30,16,28,.55);z-index:158;
  display:none;align-items:flex-end;justify-content:center;}
.plan-sheet.on{display:flex;}
.plan-sheet .plan-b{background:#fff;border-radius:18px 18px 0 0;width:100%;max-height:88%;
  overflow:auto;padding:18px 16px calc(22px + env(safe-area-inset-bottom,0));}
.plan-sheet .plan-h{display:flex;align-items:center;justify-content:space-between;}
.plan-sheet .plan-h b{font-size:17px;font-family:'Inter',sans-serif;}
.plan-sheet .plan-x{border:none;background:transparent;font-size:17px;color:var(--ink-3);padding:4px 6px;}
.plan-sheet .plan-why{display:none;background:var(--wa-soft);border-radius:12px;padding:12px 13px;
  font-size:13px;color:var(--ink-1);line-height:1.45;margin:12px 0 4px;}
.plan-sheet .plan-list{margin-top:14px;display:flex;flex-direction:column;gap:10px;}
.plan-sheet .plan-i{border:1px solid var(--line);border-radius:14px;padding:14px;}
.plan-sheet .plan-i.on{border-color:var(--wa);background:var(--wa-soft);}
.plan-sheet .plan-n{font-size:15.5px;font-weight:700;display:flex;align-items:center;gap:8px;}
.plan-sheet .plan-n i{font-style:normal;font-size:11px;font-weight:700;color:var(--wa-deep);
  background:#fff;border:1px solid var(--wa);border-radius:999px;padding:2px 8px;}
.plan-sheet .plan-p{font-size:13px;color:var(--ink-3);margin-top:2px;}
.plan-sheet .plan-i ul{margin:10px 0 0;padding-left:18px;}
.plan-sheet .plan-i li{font-size:13px;color:var(--ink-2);line-height:1.5;}
.plan-sheet .plan-buy{margin-top:12px;width:100%;padding:12px;border-radius:11px;border:none;
  background:var(--wa);color:#fff;font-size:14.5px;font-weight:700;font-family:'Inter',sans-serif;}
.plan-sheet .plan-note{font-size:12px;color:var(--ink-3);line-height:1.45;margin-top:14px;}

/* ===== ОБРЕЗКА ВИДЕО ===== */
.vt-sheet{position:absolute;inset:0;background:rgba(18,10,16,.92);z-index:175;
  display:none;align-items:center;justify-content:center;padding:14px;}
.vt-sheet.on{display:flex;}
.vt-sheet .vt-b{width:100%;max-width:360px;}
.vt-sheet .vt-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.vt-sheet .vt-h b{color:#fff;font-size:17px;font-family:'Inter',sans-serif;}
.vt-sheet .vt-x{border:none;background:rgba(255,255,255,.14);color:#fff;width:34px;height:34px;
  border-radius:50%;font-size:15px;}
.vt-sheet .vt-win{width:100%;aspect-ratio:9/16;max-height:52vh;border-radius:14px;overflow:hidden;
  background:#000;display:flex;align-items:center;justify-content:center;}
.vt-sheet #vt-v{width:100%;height:100%;object-fit:contain;display:block;}
.vt-sheet .vt-time{display:flex;align-items:center;justify-content:space-between;
  color:rgba(255,255,255,.7);font-size:12px;margin:12px 2px 6px;}
.vt-sheet .vt-time b{color:#fff;font-size:14px;}
.vt-sheet .vt-bar{position:relative;height:38px;border-radius:10px;background:rgba(255,255,255,.14);
  touch-action:none;}
.vt-sheet .vt-sel{position:absolute;top:0;bottom:0;background:rgba(199,125,168,.55);
  border-top:2px solid #fff;border-bottom:2px solid #fff;}
.vt-sheet .vt-h1,.vt-sheet .vt-h2{position:absolute;top:-4px;width:16px;height:46px;margin-left:-8px;
  border-radius:6px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.4);}
.vt-sheet .vt-hint{color:rgba(255,255,255,.6);font-size:12px;line-height:1.4;margin:10px 2px 0;}
.vt-sheet .vt-row{display:flex;gap:9px;margin-top:14px;}
.vt-sheet .vt-all{flex:0 0 auto;padding:13px 16px;border-radius:11px;border:1px solid rgba(255,255,255,.25);
  background:transparent;color:#fff;font-size:14px;font-family:'Inter',sans-serif;}
.vt-sheet .vt-ok{flex:1;padding:13px;border-radius:11px;border:none;background:var(--wa);
  color:#fff;font-size:15.5px;font-weight:700;font-family:'Inter',sans-serif;}

/* ---------- админка: люди и тарифы ---------- */
.adm-list{margin-top:12px;max-height:56vh;overflow:auto}
.adm-note{padding:14px 2px;color:#8b7b86;font-size:13px}
.adm-card{padding:11px 0;border-bottom:1px solid #f0e8ee}
.adm-card:last-child{border-bottom:0}
.adm-who{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.adm-who b{font-size:14px;word-break:break-word}
.adm-who span{font-size:12px;color:#8b7b86}
.adm-btns{display:flex;gap:6px;flex-wrap:wrap}
.adm-btns button{flex:1;min-width:74px;padding:8px 6px;border:0;border-radius:8px;
  background:#f3ecf1;color:#5b4a56;font-size:12.5px;font-weight:600;cursor:pointer}
.adm-btns button/* Кулубата — тариф без пределов. Отделён чертой слева, чтобы его не
   нажали вместо соседнего Про (5 сентября). */
.adm-own{background:#efe7f6;color:#5a3f72;margin-left:8px;
  border-left:3px solid #b79ad0 !important}
.adm-off{background:#fdeceb;color:#7d2f28}

/* ---------- ссылки на документы в настройках ---------- */
/* ДОКУМЕНТЫ — СПИСКОМ, А НЕ КУЧЕЙ.

   16 августа. Пять ссылок стояли подряд с мелким отступом, разной длины,
   без разделителей — снизу панели это выглядело как обрывок текста,
   а не как список, по которому ведут пальцем.

   Теперь строка на ссылку во всю ширину, тонкая черта между, стрелка
   справа. Заодно палец попадает: было девять точек высоты на ссылку,
   стало сорок четыре — ровно столько, сколько нужно для касания. */
.s-docs{display:flex;flex-direction:column;margin:8px 0 18px;
  border-top:1px solid var(--line);}
.s-docs a{display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:50px;padding:14px 4px;font-size:14px;color:var(--ink);
  text-decoration:none;border-bottom:1px solid var(--line);}
.s-docs a span{color:var(--ink-3);font-size:16px;line-height:1;}
.s-docs a:active{background:var(--wa-soft);}
.s-docs-org{font-size:12px;color:var(--ink-3);margin:0 0 16px;text-align:center;}

/* ВОЗДУХ МЕЖДУ РАЗДЕЛАМИ НАСТРОЕК.

   16 августа. Заголовки разделов шли впритык к предыдущему полю: «Откуда
   ты», «Язык приложения», «Оформление» слипались в сплошную ленту, и глазу
   не за что было зацепиться. Правило то же, что в «Памяти»: перед
   заголовком воздух и тонкая черта, после — содержимое вплотную. */
/* Свой отступ у .grp — 16px сверху и 18 по бокам; черта должна идти
   во всю ширину панели, поэтому боковые поля снимаем и возвращаем
   их самому тексту. */
.pb .grp{margin:24px 0 0;padding:18px 18px 6px;border-top:1px solid var(--line);}
.pb .grp:first-of-type{margin-top:4px;padding-top:6px;border-top:none;}

/* ---------- зачем этот экран ---------- */
/* Блок .insp-why («О ком рассказать сегодня») удалён 14 августа вместе
   с заголовком: он обещал людей, а экран стал про поводы. */

/* ---------- экран загрузки (4 сентября) ---------- */
/* Прячем ВСЁ, кроме самой заставки: на настольном боковые панели лежат
   вне рамки телефона, и правило только для #phone их не закрывало. */
html.boot body > *:not(.boot-splash){visibility:hidden}
.boot-splash{position:fixed;inset:0;z-index:400;display:none;align-items:center;justify-content:center;
  background:var(--bg);}
html.boot .boot-splash{display:flex;animation:bootIn .2s ease-out .25s both;}
.boot-splash img{width:72px;height:72px;animation:bootPulse 1.4s ease-in-out infinite;}
@keyframes bootIn{from{opacity:0}to{opacity:1}}
@keyframes bootPulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}
html[data-theme="dark"] .boot-splash img{filter:brightness(0) invert(1);opacity:.9}
/* Телефон в тёмной теме — заставка тёмная, даже если приложение светлое
   (22 сентября). Цвет тот же, что у фона тёмной темы. Красим и сам лист
   под заставкой: пока она проявляется (первые четверть секунды), видно
   именно его. */
html.boot.boot-dark, html.boot.boot-dark body{background:#1A1A18}
html.boot-dark .boot-splash{background:#1A1A18}
html.boot-dark .boot-splash img{filter:brightness(0) invert(1);opacity:.9}

/* ---------- сколько экранов: ползунок до сборки ---------- */
/* Поле «Что поправить?» в окне пересборки (3 сентября). Правила стоят
   ОТДЕЛЬНО, а не внутри .carask-r: в первый раз я вложил их прямо в
   правило ползунка, css вложенности здесь не понимает, и поле осталось
   без стилей — узкая рамка сбоку от подписи. */
.carask-fixl{display:block;margin:14px 0 6px;font-size:13px;color:var(--ink-2);font-weight:600;}
.carask-fix{display:block;width:100%;box-sizing:border-box;border:1px solid var(--line);
  border-radius:12px;padding:10px 12px;font:inherit;font-size:15px;color:var(--ink);
  background:var(--bg-2);resize:vertical;}
.carask-fix:focus{outline:none;border-color:var(--wa);}
.carask-n{text-align:center;margin:6px 0 2px;}
.carask-n span{font-family:'Inter',sans-serif;font-size:56px;font-weight:800;
  line-height:1;color:var(--wa-deep);}
.carask-r{-webkit-appearance:none;appearance:none;width:100%;height:34px;
  background:transparent;margin:2px 0 0;}
.carask-r::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:#EDE3EA;}
.carask-r::-moz-range-track{height:6px;border-radius:3px;background:#EDE3EA;}
/* Кружок крупный: его тянут пальцем, и мелкий не поймать */
.carask-r::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;
  width:30px;height:30px;border-radius:50%;background:var(--wa);
  border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.22);margin-top:-12px;}
.carask-r::-moz-range-thumb{width:30px;height:30px;border-radius:50%;
  background:var(--wa);border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.22);}
.carask-ends{display:flex;justify-content:space-between;
  font-size:12px;color:var(--ink-3);margin:-2px 2px 0;}
.carask-note{text-align:center;font-size:13px;color:var(--ink-2);
  min-height:34px;margin:10px 0 14px;line-height:1.4;}

/* ---------- «+» в конце ленты слайдов ---------- */
/* Плитка в конце ленты: теперь две кнопки одна над другой — дописать
   рассказ и добавить пустой экран. Столбиком, а не рядом: ширина плитки
   равна слайду, и вдвоём по горизонтали они стали бы нечитаемыми. */
.car-add-cell{display:flex;align-items:stretch;flex-direction:column;gap:8px;}
/* flex:1 вместо min-height:100%. Прежнее правило требовало полной высоты
   плитки от КАЖДОЙ кнопки: пока их было две, вторая уезжала за низ ленты
   и тянула за собой всю карусель. Кнопка теперь одна, но правило чинится
   всё равно — иначе грабли дождутся следующей. */
.car-add{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;width:100%;flex:1;min-height:0;padding:14px 10px;cursor:pointer;
  background:#FAF6F9;border:2px dashed #E0CFDA;border-radius:14px;color:var(--wa-deep);}
.car-add:active{background:#F3E9EF;}
.car-add-p{font-size:34px;line-height:1;font-weight:300;}

/* Дописать рассказ — главное из двух: залито, а не пунктиром. Пустой экран
   под своё фото нужен реже, и он остаётся наброском. */
.car-add-go{background:var(--wa-soft);border-style:solid;border-color:#E3D2DE;}
.car-add-go:active{background:#EFDFEC;}
.car-add-go .car-add-p{font-size:24px;}
.car-add-go .car-add-t{color:var(--wa-deep);font-weight:700;}
.car-add-t{font-size:12px;line-height:1.35;text-align:center;color:var(--ink-2);}

/* ---------- перетаскивание кадра в просмотрщике ---------- */
#car-view-img.movable{cursor:grab;touch-action:none;}
#car-view-img.movable:active{cursor:grabbing;}
/* Ползунок приближения убран 18 августа — кадр двигают пальцем.
   Осталась только подсказка сверху. */
.car-view-pos{display:flex;align-items:center;justify-content:center;gap:10px;
  flex-wrap:wrap;margin:8px 14px 0;font-size:12.5px;color:rgba(255,255,255,.82);
  text-align:center;}
.car-view-pos button{padding:6px 12px;border:0;border-radius:8px;
  background:rgba(255,255,255,.16);color:#fff;font-size:12.5px;cursor:pointer;}
.car-view-pos button:active{background:rgba(255,255,255,.28);}

/* ---------- приближение фото в просмотрщике ---------- */
/* Щипок не должен листать страницу, пока крутим кадр */
#car-view-img{touch-action:none;}


/* Полоска «скажи дату рождения» над строкой ввода. Живёт в потоке, а не
   поверх: всплывающее окно посреди разговора раздражает сильнее, чем
   помогает, а эту человек прочтёт между делом и закроет одним нажатием. */
.bday-ask{display:flex;align-items:center;gap:8px;margin:0 10px 8px;padding:9px 10px 9px 13px;
  background:var(--wa-soft);border:1px solid #EBD9E6;border-radius:13px;}
.bday-ask .ba-t{flex:1;font-size:12.5px;line-height:1.35;color:var(--wa-deep);font-weight:600;}
.bday-ask .ba-go{flex:0 0 auto;border:none;border-radius:9px;background:var(--wa);color:#fff;
  font-family:inherit;font-size:12.5px;font-weight:700;padding:7px 13px;cursor:pointer;}
.bday-ask .ba-go:active{background:var(--wa-deep);}
.bday-ask .ba-x{flex:0 0 auto;border:none;background:none;color:var(--ink-3);font-size:15px;
  padding:2px 4px;cursor:pointer;line-height:1;}

/* Снимок в плашке «запомнил о тебе»: человек должен увидеть, КАКОЙ кадр
   встал на карточку, — обрезка по центру не всегда попадает в лицо. */
.ev-added .ms-face{display:block;width:56px;height:56px;border-radius:50%;
  object-fit:cover;margin:2px 0 8px;border:2px solid #fff;
  box-shadow:0 1px 6px rgba(30,16,28,.18);}

/* Три шрифта заголовков, добавленные 14 августа.

   Onest и Unbounded — открытая лицензия SIL OFL, файлы лицензий лежат рядом
   в папке fonts. Bolyar прислан хозяином проекта.

   Формат woff2: он вдвое легче ttf, а поддерживают его все браузеры, до
   которых нам есть дело. Onest и Unbounded весят по 6–12 Кб, потому что
   это кириллический срез, а не всё семейство. */
@font-face{
  font-family:'Onest';
  src:url('../fonts/Onest-Regular.woff2') format('woff2');
  font-weight:400; font-display:swap;
}
/* Onest-Bold удалён 30 сентября: Onest убран из выбора 5 сентября, а место в сборке (100 файлов) нужно образцу одежды. */
/* Unbounded убран 14 августа: якутских букв в нём нет, а для заголовков
   карусели хватает Stengazeta и Montserrat. Файл шрифта тоже удалён. */
@font-face{
  font-family:'Bolyar';
  src:url('../fonts/FMBolyarPro-500.woff2') format('woff2');
  font-weight:500; font-display:swap;
}

/* ===== NOTO SANS =====

   20 августа. Имя «Noto Sans» стояло в запасной цепочке по всему
   приложению — в тридцати восьми местах вида «'Inter', "Noto Sans",
   sans-serif». Смысл цепочки простой: не нашлось якутской буквы в
   основном шрифте — возьми её отсюда.

   Только самого файла не было. Ни в fonts, ни в @font-face. Браузер
   спокойно пропускал незнакомое имя и брал системный шрифт, а в системном
   ҕ ҥ ө һ ү может не быть вовсе — тогда на их месте пустые прямоугольники
   либо буквы из третьего шрифта, разной толщины внутри одного слова.
   Запас, который был написан и не работал.

   Проверил файлы по таблице глифов: все шесть якутских букв на месте,
   в обоих начертаниях. Лицензия Apache 2.0, вшивать можно.

   Курсив объявлен, хотя сегодня им никто не пользуется: браузер качает
   только то начертание, которое понадобилось, — лежать оно ничего
   не стоит, а понадобится завтра. */
@font-face{
  font-family:'Noto Sans';
  src:url('../fonts/NotoSans-Regular.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Noto Sans';
  src:url('../fonts/NotoSans-Bold.woff2') format('woff2');
  font-weight:700 900; font-style:normal; font-display:swap;
}
/* Курсивов Noto больше нет. Интерфейс набран Inter, а холст курсивом
   не рисует ни в одном стиле — эти два файла (241 КБ) качались зря. */

/* Карточка «впиши дату рождения» на месте счётчика дней. Пунктир вместо
   сплошной рамки: видно, что место пустует и ждёт заполнения. */
.self-card.self-ask{border-style:dashed;border-color:var(--wa);background:#fff;}
.self-card.self-ask .kin-i b{color:var(--wa-deep);}

/* Полоска «поставь на экран». Живёт над строкой ввода, в потоке, а не
   поверх: всплывающее окно посреди разговора раздражает сильнее, чем
   помогает. Скрыта, пока не заслужена — класс on ставит insPaint. */
.ins-bar{display:none;margin:0 10px 8px;padding:9px 10px 9px 13px;
  background:var(--wa-soft);border:1px solid #EBD9E6;border-radius:13px;}
.ins-bar.on{display:block;}
.ins-bar .ins-row{display:flex;align-items:center;gap:8px;}
.ins-bar .ins-t{flex:1;font-size:12.5px;line-height:1.35;color:var(--wa-deep);font-weight:600;}
.ins-bar .ins-go{flex:0 0 auto;border:none;border-radius:9px;background:var(--wa);color:#fff;
  font-family:inherit;font-size:12.5px;font-weight:700;padding:7px 13px;cursor:pointer;}
.ins-bar .ins-go:active{background:var(--wa-deep);}
.ins-bar .ins-x{flex:0 0 auto;border:none;background:none;color:var(--ink-3);font-size:15px;
  padding:2px 4px;cursor:pointer;line-height:1;}
.ins-bar .ins-how{margin-top:8px;font-size:12px;line-height:1.45;color:var(--ink-2);}

/* Единственная кнопка пустого экрана. Крупнее и заметнее обычной подсказки:
   это не «одно из», а то самое, что человек должен сделать первым. */
.chat-chip.chip-go{background:var(--wa);color:#fff;font-size:14px;font-weight:700;
  padding:11px 20px;box-shadow:0 2px 10px rgba(199,125,168,.35);}
.chat-chip.chip-go:active{background:var(--wa-deep);opacity:1;}

/* Облачко-подсказка над «плюсом».

   Хвостик снизу слева — треугольник из повёрнутого квадрата, направлен
   ровно в кнопку. Лёгкое покачивание привлекает взгляд, но не мельтешит:
   две секунды на ход и пауза между ними.

   Скрыто по умолчанию, класс on ставит tipPlusPaint. */
/* Отсчёт от строки ввода: облачко и меню теперь внутри неё, и «bottom:100%»
   означает «сразу над строкой», а не «над всей нижней частью экрана». */
.aiyy-input{position:relative;}
/* На телефоне кнопки в углу не нужны: панели сбоку нет, тариф живёт
   в настройках. Прячем по умолчанию, монитор включает своим правилом. */
#h-widgets{display:none;}
.h-plan{border:1px solid var(--wa);background:transparent;color:var(--wa);
  font:600 12.5px/1 'Inter',sans-serif;padding:7px 11px;border-radius:9px;
  cursor:pointer;white-space:nowrap;}
.h-plan:hover{background:var(--wa-soft);}
/* Облачко «Начни с фото» — нашим розовым, а не чёрным.

   16 августа. Оно было почти чёрным, как системная подсказка телефона, —
   и на первом же экране рядом с розовой кнопкой «Войти» выглядело чужим,
   будто это не наша часть, а всплывшее сообщение браузера.

   Это первое, что видит новый человек. Цвет тут работает не украшением,
   а признаком: своё или чужое. */
.tip-plus{display:none;position:absolute;left:6px;bottom:100%;margin-bottom:9px;
  background:var(--wa);color:#fff;font-size:12.5px;font-weight:600;
  padding:8px 13px;border-radius:13px;cursor:pointer;white-space:nowrap;
  box-shadow:0 4px 14px rgba(199,125,168,.38);z-index:6;}
.tip-plus.on{display:block;animation:tipBob 2.4s ease-in-out infinite;}
/* Хвостик облачка смотрит ровно на плюс. Кнопка стоит у левого края
   строки, поэтому и хвостик слева. */
.tip-plus::after{content:'';position:absolute;left:14px;bottom:-4px;width:10px;height:10px;
  background:var(--wa);transform:rotate(45deg);border-radius:2px;}
@keyframes tipBob{
  0%,72%,100%{transform:translateY(0)}
  82%{transform:translateY(-5px)}
  92%{transform:translateY(0)}
}

/* Кнопка «Обрезать» на плитке длинного ролика. Раньше вместо неё на каждый
   ролик само открывалось окно обрезки — даже на пятисекундный, где резать
   нечего. Теперь предложение видно, но не мешает. */
.chat-att-i .chat-att-cut{position:absolute;left:4px;bottom:4px;width:20px;height:20px;
  border:none;border-radius:50%;background:rgba(30,16,28,.8);color:#fff;font-size:11px;
  line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;}
.chat-att-i .chat-att-cut:active{background:rgba(30,16,28,.95);}

/* ---------- обратная связь ---------- */
.fb-sheet{position:fixed;inset:0;z-index:400;display:none;align-items:flex-end;
  justify-content:center;background:rgba(30,16,28,.45);}
.fb-sheet.on{display:flex;}
.fb-box{width:100%;max-width:420px;background:#fff;border-radius:18px 18px 0 0;
  padding:16px 16px calc(18px + env(safe-area-inset-bottom,0));
  max-height:86vh;overflow-y:auto;}
.fb-box.wide{max-width:520px;}
.fb-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.fb-h b{font-family:'Inter',sans-serif;font-size:19px;font-weight:800;
  letter-spacing:-.01em;color:var(--ink);}
.fb-x{border:none;background:var(--wa-soft);color:var(--wa-deep);width:30px;height:30px;
  border-radius:50%;font-size:14px;cursor:pointer;}
.fb-note{font-size:13px;line-height:1.5;color:var(--ink-2);margin-bottom:12px;}
.fb-box textarea,.fb-box input{width:100%;border:1px solid var(--line);border-radius:12px;
  padding:11px 12px;font-family:inherit;font-size:14.5px;color:var(--ink);outline:none;
  margin-bottom:9px;resize:vertical;}
.fb-box textarea:focus,.fb-box input:focus{border-color:var(--wa);}
.fb-err{min-height:16px;font-size:12.5px;color:#B4453C;margin-bottom:4px;}
.fb-send{width:100%;border:none;border-radius:12px;background:var(--wa);color:#fff;
  font-family:inherit;font-size:15px;font-weight:700;padding:13px;cursor:pointer;}
.fb-send:active{background:var(--wa-deep);}
.fb-send:disabled{opacity:.6;}
.fba-list{font-size:13.5px;color:var(--ink);}
.fba-i{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:9px;}
.fba-i.seen{opacity:.5;}
.fba-m{font-size:11.5px;color:var(--ink-3);margin-bottom:5px;}
.fba-t{line-height:1.5;white-space:pre-wrap;}
.fba-i button{margin-top:8px;border:1px solid var(--wa);background:#fff;color:var(--wa-deep);
  border-radius:9px;padding:5px 11px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;}


/* Сводка в админской панели: плитки с числами. */
.adm-stat{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 12px;}
.adm-stat .adm-cell{flex:1 1 auto;min-width:82px;background:var(--wa-soft);
  border:1px solid #EBD9E6;border-radius:11px;padding:8px 10px;
  font-size:11px;color:var(--ink-2);line-height:1.25;}
.adm-stat .adm-cell b{display:block;font-family:'Inter',sans-serif;font-size:19px;
  font-weight:800;color:var(--wa-deep);letter-spacing:-.02em;}

/* Выбор качества видео перед записью. */
.cvq-i{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fff;
  border-radius:12px;padding:11px 13px;margin-bottom:9px;cursor:pointer;font-family:inherit;}
.cvq-i.on{border-color:var(--wa);background:var(--wa-soft);}
.cvq-i b{display:block;font-size:15px;font-weight:700;color:var(--ink);}
.cvq-i span{display:block;font-size:12.5px;color:var(--ink-2);margin-top:2px;}
.cvq-i i{display:block;font-size:12px;color:var(--wa-deep);font-style:normal;margin-top:4px;font-weight:700;}

/* Меню «плюса»: фото и видео, файл, пустая карусель.
   Всплывает над кнопкой, а не поверх экрана: путь от плюса до пункта
   короткий, и видно, откуда оно взялось. */
/* Цвет фона — переменной, а не белым намертво. 23 августа: в тёмной
   теме меню оставалось белым пятном посреди тёмного приложения, потому
   что здесь стояло #fff. --panel темнеет вместе со всем остальным. */
.plus-menu{display:none;position:absolute;left:4px;bottom:100%;margin-bottom:10px;z-index:8;
  background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:6px;
  box-shadow:0 10px 30px rgba(30,16,28,.16);min-width:212px;
  transform-origin:left bottom;}
/* Появляется с ростом от плюса, а не возникает из ниоткуда: так видно,
   что меню принадлежит именно этой кнопке. */
.plus-menu.on{display:block;animation:plusIn .16s cubic-bezier(.2,.9,.3,1.2);}
@keyframes plusIn{from{opacity:0;transform:scale(.92) translateY(6px)}
  to{opacity:1;transform:scale(1) translateY(0)}}
.plus-menu button{display:flex;align-items:center;gap:11px;width:100%;border:none;background:none;
  font-family:inherit;font-size:14.5px;color:var(--ink-1);padding:11px 12px;border-radius:11px;
  cursor:pointer;text-align:left;}
.plus-menu button:active{background:var(--wa-soft);}
/* Значки того же цвета, что и текст, но приглушённые: они помогают найти
   строку взглядом и не должны перетягивать внимание на себя. */
.plus-menu button svg{width:19px;height:19px;flex:0 0 19px;color:var(--wa-deep);opacity:.75;}

/* Пояснение под полем почты: про российские ящики и про то, что письмо
   на зарубежные часто не доходит. */
.acc-tip{font-size:12px;line-height:1.45;color:var(--ink-3);margin:-4px 0 10px;}

/* Поле «за чем следишь» под кнопками областей. */
.wch{margin:14px 16px 4px;}
.wch input{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;
  font-family:inherit;font-size:14px;color:var(--ink);outline:none;background:#fff;}
.wch input:focus{border-color:var(--wa);}
.wch-h{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.wch-h button{border:1px solid var(--line);background:#fff;color:var(--ink-2);border-radius:999px;
  padding:5px 11px;font-family:inherit;font-size:12px;cursor:pointer;}
.wch-h button:active{background:var(--wa-soft);border-color:var(--wa);color:var(--wa-deep);}
.wch-n{font-size:11.5px;color:var(--ink-3);margin-top:7px;}

/* ПРЕДУПРЕЖДЕНИЕ ОБ ОШИБКАХ.

   Стоит под строкой поиска — там, где человек уже смотрит, и до того, как
   он начнёт верить карточкам. Приглушено нарочно: пугать нечем, но и
   прятать нельзя. Всё, что ниже, придумано моделью, и часть этого будет
   неправдой — имена, даты, цифры. */
.wch-warn{font-size:11px;color:var(--ink-3);margin-top:8px;line-height:1.45;opacity:.85}

/* Строка поиска над новостями — на месте прежнего ряда из тринадцати кнопок. */
.wch{margin:6px 16px 2px;}
.wch-row{display:flex;gap:8px;}
.wch-row input{flex:1;min-width:0;border:1px solid var(--line);border-radius:12px;
  padding:11px 13px;font-family:inherit;font-size:14.5px;color:var(--ink);outline:none;background:#fff;}
.wch-row input:focus{border-color:var(--wa);}
.wch-go{flex:0 0 auto;border:none;border-radius:12px;background:var(--wa);color:#fff;
  font-family:inherit;font-size:14px;font-weight:700;padding:0 16px;cursor:pointer;}
.wch-go:active{background:var(--wa-deep);}

/* Вторая строка в пустом окружении — про детей. Тише основной: это
   не главное, а напоминание, что и такое можно. */
.kin-empty .kin-empty-2{display:inline-block;margin-top:6px;color:var(--ink-3);}
.kin-empty .kin-empty-2 a{color:var(--wa-deep);}

/* Главная кнопка в подсказке про отсутствие фото — «Найти картинки».
   Остальные рядом остаются запасным путём, поэтому светлые. */
.car-styletip-b button.prim{background:var(--wa);border-color:var(--wa);color:#fff;}
.car-styletip-b button.prim:active{background:var(--wa-deep);}

/* Снимок из профиля в вопросе «ты в кадре?» — человек должен видеть,
   какое именно лицо пойдёт в дело. */
.cf-face{display:block;width:96px;height:96px;border-radius:50%;object-fit:cover;
  margin:2px auto 14px;border:2px solid #fff;box-shadow:0 2px 10px rgba(30,16,28,.2);}
.fb-send.light{background:#fff;color:var(--wa-deep);border:1px solid var(--wa);margin-top:8px;}
.fb-send.light:active{background:var(--wa-soft);}

/* Кнопки в окне хода работы: свернуть и отменить. */
.cv-prog-row{display:flex;gap:8px;margin-top:14px;}
.cv-prog-row button{flex:1;border-radius:10px;padding:9px;font-family:inherit;
  font-size:13px;font-weight:700;cursor:pointer;}
.cv-prog-min{border:1px solid var(--wa);background:#fff;color:var(--wa-deep);}
.cv-prog-stop{border:1px solid var(--line);background:#fff;color:var(--ink-2);}
.cv-prog-min:active{background:var(--wa-soft);}
.cv-prog-stop:active{background:#F3F4F6;}

/* Свёрнутый вид: полоска над строкой ввода, работа идёт дальше. */
.cv-prog .cv-prog-mini{display:none;}
.cv-prog.mini{background:none;pointer-events:none;align-items:flex-end;}
.cv-prog.mini .cv-prog-b{display:none;}
.cv-prog.mini .cv-prog-mini{display:flex;align-items:center;gap:8px;pointer-events:auto;
  margin:0 12px calc(84px + env(safe-area-inset-bottom,0));padding:8px 12px;
  background:var(--ink-1);color:#fff;border-radius:999px;font-size:12.5px;font-weight:700;
  box-shadow:0 3px 14px rgba(30,16,28,.3);cursor:pointer;}
.cv-prog.mini .cv-prog-mini i{width:8px;height:8px;border-radius:50%;background:var(--wa);
  animation:tipBob 1.2s ease-in-out infinite;}
/* ПОЛОСКА С ПРОЦЕНТАМИ НА ТЁМНОЙ ТЕМЕ. 14 сентября, снимок хозяина:
   «33%» белым по белому, ничего не видно.

   Фон пилюли взят из --ink-1 — это цвет БУКВ. В светлой теме он тёмный,
   и выходит тёмная пилюля с белой надписью, как задумано. В тёмной теме
   буквы светлые, значит и фон становится светлым, а надпись на нём так и
   осталась белой.

   Берём цвет панели и обычный цвет букв — как у всех прочих окон, — и
   добавляем рамку, чтобы пилюля не сливалась с полотном. */
html[data-theme="dark"] .cv-prog.mini .cv-prog-mini{
  background:var(--panel);color:var(--ink);border:1px solid var(--line);}

/* Ссылки в пузырях переписки. В ответе АЙЫЫ — лиловые с подчёркиванием,
   в своём пузыре на лиловом фоне — белые: иначе не видно. */
.cmsg-b a{color:var(--wa-deep);text-decoration:underline;text-underline-offset:2px;}
.cmsg-b a:active{opacity:.7;}
.cmsg.me .cmsg-b a{color:#fff;text-decoration-color:rgba(255,255,255,.6);}

/* ЛИЦО ТОГО, О КОМ РЕЧЬ.

   Снимок под ответом, когда рассказ шёл о постороннем человеке. Крупнее,
   чем аватарка в биографии (там он справочный, здесь — ради него и спросили),
   но не во всю ширину пузыря: лицо во весь экран читается как фотография
   самого человека, а это чужой снимок из сети.

   Подпись обязательна и кликабельна: без неё непонятно, откуда лицо,
   а выдумывать источник нельзя. */
.cmsg-face{margin:10px 0 2px;}
.cmsg-face img{display:block;width:132px;height:132px;border-radius:16px;
  object-fit:cover;object-position:center 22%;background:var(--wa-soft);}
.cmsg-face a, .cmsg-face span{display:inline-block;margin-top:5px;font-size:11px;
  color:var(--ink-3);text-decoration:none;border-bottom:1px solid transparent;}
.cmsg-face a:active{border-bottom-color:var(--ink-3);}

/* Окно «Кого рисуем»: имя добавленного руками человека и кнопка добавления.
   Второй человек в кадре появляется только по этой кнопке — приложение
   само его не выдумывает. */
.cfa-name{width:100%;border:1px solid var(--line);border-radius:9px;
  padding:6px 9px;font:inherit;font-size:13.5px;font-weight:700;
  color:var(--ink);background:#fff;}
.cfa-name:focus{outline:none;border-color:var(--wa);}
.cfa-add{width:100%;margin:10px 0 2px;border:1px dashed var(--line);
  background:transparent;color:var(--ink-2);border-radius:12px;
  padding:11px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
.cfa-add:active{background:var(--wa-soft);}
html[data-theme="dark"] .cfa-name{background:var(--panel);}

/* Кнопка «Повторить» на сообщении о потере связи. Внутри пузыря, не рядом:
   она относится к этому сообщению, а не к разговору вообще. */
.cmsg-retry{display:block;margin:10px 0 2px;border:0;border-radius:12px;
  padding:10px 16px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;
  background:var(--wa);color:#fff;}
.cmsg-retry:active{opacity:.85;}

/* Свои именинники (21-kin-sync.js). Переменные только существующие:
   --wa, --line, --ink, --ink-2, --ink-3, --bg, --panel. */
.ks-in{display:block;width:100%;box-sizing:border-box;margin:8px 0;
  padding:12px 14px;border:1px solid var(--line);border-radius:12px;
  background:var(--bg);color:var(--ink);font:inherit;font-size:14px;}
.ks-in:focus{outline:none;border-color:var(--wa);}
.ks-file{display:block;margin:12px 0;padding:12px 14px;text-align:center;
  background:var(--wa);color:#fff;border:none;width:100%;box-sizing:border-box;
  border-radius:12px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;}
.ks-file:active{opacity:.85;}
.ks-file-2{background:var(--panel);color:var(--ink);border:1px solid var(--line);}
.ks-sep{margin:18px 0 2px;font-size:13px;font-weight:700;color:var(--ink-2);}
.ks-row{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;}
.ks-row:last-child{border-bottom:0;}
.ks-row span{color:var(--ink);}
.ks-row i{display:block;font-style:normal;font-size:12px;color:var(--ink-3);margin-top:2px;}
.ks-row button{border:none;background:none;color:var(--wa-deep);font:inherit;
  font-size:12.5px;cursor:pointer;flex:0 0 auto;}
.ks-names{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0;}
.ks-names button{padding:8px 12px;border:1px solid var(--line);background:var(--bg);
  color:var(--ink);border-radius:999px;font:inherit;font-size:13px;cursor:pointer;}
.ks-names button:active{border-color:var(--wa);color:var(--wa-deep);}

/* Вход в «О тебе» с экрана дерева (index.html, под карточкой «Ты»).
   Переменные только существующие: --wa-deep, --line. */
.ml-more{margin:2px 16px 18px;padding:11px 0;font-size:13.5px;font-weight:600;
  color:var(--wa-deep);cursor:pointer;border-bottom:1px solid var(--line);}
.ml-more:active{opacity:.7;}

/* Кнопки «+» для ручной правки половин викторины (81-quiz.js).
   Переменные только существующие. */


/* Половины викторины в полноэкранном просмотре (81-quiz.js).
   Обёртка кладётся ровно на картинку — её место считает quizPaintHalves. */
.quiz-halves{position:absolute;z-index:6;pointer-events:none;
  display:flex;flex-direction:column;}
.quiz-half{flex:1 1 50%;display:flex;align-items:center;justify-content:center;gap:12px;}
.quiz-halves .quiz-btn{pointer-events:auto;
  width:56px;height:56px;border-radius:50%;border:2px solid rgba(255,255,255,.9);
  background:rgba(0,0,0,.5);color:#fff;font:700 28px/1 Inter,sans-serif;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;}
.quiz-halves .quiz-btn:active{background:rgba(0,0,0,.75);}

/* Колесо ожидания на половине викторины: поиск в сети идёт до
   четырнадцати секунд, и без него кажется, что приложение зависло. */
.quiz-wait{width:56px;height:56px;border-radius:50%;
  border:3px solid rgba(255,255,255,.28);border-top-color:#fff;
  animation:quizspin .8s linear infinite;display:block;}
@keyframes quizspin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion: reduce){
  .quiz-wait{animation:none;border-top-color:rgba(255,255,255,.7);}
}

/* Подсказки «что спросить» под кадром викторины (81-quiz.js).
   Живут в приложении, на картинку не попадают никогда. */
.quiz-hints{padding:10px 14px 2px;text-align:center;}
.quiz-hints-t{font-size:11.5px;color:rgba(255,255,255,.6);margin-bottom:8px;}
.quiz-hint{display:inline-block;margin:0 5px 7px;padding:8px 14px;
  border:1px solid rgba(255,255,255,.32);border-radius:999px;
  background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:13px;
  cursor:pointer;}
.quiz-hint:active{background:rgba(255,255,255,.2);}

/* «Спроси у своих» в разборе (29-about-me.js). Переменные существующие. */
.ab-quiz{margin:16px 0 4px;padding:14px 16px;border:1px solid var(--line);
  border-radius:14px;background:var(--wa-soft);}
.ab-quiz-t{font-size:14px;font-weight:800;color:var(--ink);}
.ab-quiz-s{margin-top:5px;font-size:13px;line-height:1.5;color:var(--ink-2);}
.ab-quiz-b{margin-top:11px;width:100%;padding:11px 14px;border:none;
  border-radius:12px;background:var(--wa);color:#fff;font:inherit;
  font-weight:700;font-size:13.5px;cursor:pointer;}
.ab-quiz-b:active{opacity:.85;}

/* Подсказанная пара над вопросами (81-quiz.js). */
.quiz-pair{font-size:14px;font-weight:700;color:#fff;margin-bottom:9px;}
.quiz-both{background:rgba(255,255,255,.2);font-weight:700;}

/* Объявление (82-ad.js). Переменные только существующие. */
.ad-in{display:block;width:100%;box-sizing:border-box;margin:10px 0;
  padding:12px 14px;border:1px solid var(--line);border-radius:12px;
  background:var(--bg);color:var(--ink);font:inherit;font-size:14px;resize:vertical;}
.ad-in:focus{outline:none;border-color:var(--wa);}
.ad-btn{display:block;width:100%;box-sizing:border-box;margin:10px 0;
  padding:12px 14px;text-align:center;border:none;border-radius:12px;
  background:var(--wa);color:#fff;font:inherit;font-weight:700;font-size:14px;cursor:pointer;}
.ad-btn:active{opacity:.85;}
.ad-btn[disabled]{opacity:.6;cursor:default;}
.ad-btn-2{background:var(--panel);color:var(--ink);border:1px solid var(--line);}
.ad-shots{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0;}
.ad-shot{position:relative;width:72px;height:72px;}
.ad-shot img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block;}
.ad-shot button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;
  border-radius:50%;border:none;background:rgba(0,0,0,.7);color:#fff;
  font:12px/1 Inter,sans-serif;cursor:pointer;padding:0;}
.cl-new-2{background:var(--panel);color:var(--ink);border:1px solid var(--line);
  margin-top:8px;}

/* ===== FAB «Собрать» и лист выбора. 28 августа. ===== */
.makefab{position:relative;height:0;margin:0 2px;}
/* 28 августа, слово хозяина: вместо ✦ — знак АЙЫЫ, тот же, что на
   слайдах и в водяном знаке. Нажал знак — получил вещь со знаком.
   Чужая четырёхлучевая искра читалась как гугловская и здесь не к месту:
   FAB не про ИИ, а про «собрать из моего разговора».
   Кружок поднят на 18 пунктов — стоял слишком близко к строке ввода. */
.makefab .fab-make{position:absolute;right:10px;bottom:28px;width:52px;height:52px;
  border-radius:50%;border:none;background:var(--wa);color:#fff;font-size:21px;
  display:flex;align-items:center;justify-content:center;z-index:60;
  box-shadow:0 6px 18px rgba(0,0,0,.35);}
.makefab .fab-make:active{opacity:.85;}
.fab-sheet-bg{position:fixed;inset:0;background:rgba(10,6,12,.55);z-index:220;
  display:flex;align-items:flex-end;}
.fab-sheet{width:100%;background:#1d1420;border-radius:18px 18px 0 0;
  padding:14px 14px calc(16px + env(safe-area-inset-bottom));
  display:flex;flex-direction:column;gap:8px;}
.fab-sheet-t{color:#9d8f97;font-size:11.5px;letter-spacing:.4px;text-transform:uppercase;
  margin:0 4px 4px;}
.fab-sheet button{display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  border:none;border-radius:12px;background:rgba(255,255,255,.06);color:#fff;
  padding:14px 14px;font-size:15px;text-align:left;}
.fab-sheet button b{font-weight:700;}
.fab-sheet button span{color:#9d8f97;font-size:12.5px;flex:0 0 auto;}
.fab-sheet button:active{background:rgba(255,255,255,.12);}

/* Кнопки под рисунком из разговора. */
.cmsg-paint{display:flex;gap:8px;margin-top:8px;}
.cmsg-paint button{flex:1;border:none;border-radius:10px;padding:10px 12px;font-size:13px;
  font-weight:600;background:rgba(255,255,255,.08);color:#fff;}
.cmsg-paint button:first-child{background:var(--wa);}
.cmsg-paint button:disabled{opacity:.6;}

/* FAB-столбик: три кружка выскакивают кверху. 28 августа, образец хозяина. */
/* 28 августа, «не видно же»: столбик прыгал внутри контейнера ввода,
   а над ним обрезка — кружки срезало. Теперь поверх всего окна (fixed),
   место под кнопкой меряет fabMakeOpen по-настоящему. */
/* Экран притемняется, пока столбик открыт: кружки читаются, а нажатие
   мимо — закрывает. 28 августа, слово хозяина. */
.fab-dim{position:fixed;inset:0;background:rgba(12,7,14,.45);z-index:290;
  opacity:0;pointer-events:none;transition:opacity .18s var(--в);}
.makefab.open ~ .fab-dim, body.fab-open .fab-dim{opacity:1;pointer-events:auto;}
.fab-stack{position:fixed;right:16px;bottom:150px;display:flex;flex-direction:column;
  gap:12px;align-items:flex-end;z-index:300;pointer-events:none;}
.fab-item{display:flex;align-items:center;gap:10px;opacity:0;transform:translateY(14px);
  transition:opacity .18s var(--в),transform .18s var(--в);}
.makefab.open .fab-item{opacity:1;transform:none;pointer-events:auto;}
.makefab.open .fab-item:nth-child(1){transition-delay:.08s;}
.makefab.open .fab-item:nth-child(2){transition-delay:.04s;}
/* 28 августа, «где иконки»: кружки были белым по белому — на светлом
   чате полупрозрачная заливка сливалась с фоном, и линий не видно.
   Теперь кружок тёмный, линии белые, цвет задан явно. */
.fab-item button{width:50px;height:50px;border-radius:50%;border:none;
  background:#3a2434;color:#fff;display:flex;align-items:center;
  justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.35);}
.fab-item button svg{width:23px;height:23px;stroke:#fff;fill:none;display:block;}
.fab-item button svg [fill="currentColor"]{fill:#fff;}
.fab-item button:active{background:#4d3145;}
.fab-l{background:rgba(20,12,22,.85);color:#EADFE6;font-size:12px;font-weight:600;
  padding:6px 11px;border-radius:9px;}
.makefab .fab-make{transition:transform .18s var(--в);}
/* Поворот на 45° у четырёхлучевой звезды невидим — знак меняет JS: ✦ → ✕. */
.makefab.open .fab-make{transform:rotate(90deg);}

/* Рисунок из разговора: крупно, кнопки не ломаются. 28 августа. */
/* 28 августа: картинка была во всю ширину, а кнопки под ней — тонкой
   полоской. Уравновешено: снимок чуть уже, кнопки выше и заметнее. */
.cmsg-b:has(.cmsg-paint-img){max-width:78%;}
.cmsg-paint-img{display:block;width:100%;max-height:52vh;object-fit:contain;
  min-width:220px;border-radius:14px;margin:2px 0 0;background:rgba(0,0,0,.06);}
.cmsg-paint{flex-wrap:nowrap;gap:9px;margin-top:10px;}
.cmsg-paint button{white-space:nowrap;font-size:14.5px;font-weight:700;padding:14px 12px;
  border-radius:12px;}
/* 28 августа: вторая кнопка была светлой на светлом пузыре — не видна.
   Теперь у неё тёмный текст и рамка. */
.cmsg-paint button:not(:first-child){background:#fff;color:#4a3542;
  border:1.5px solid rgba(120,90,110,.35);}
.cmsg-paint button:not(:first-child):disabled{opacity:.55;}

/* Пузырь работы: звезда дышит, полоса переливается. */
.paint-wait{display:flex;align-items:center;gap:9px;position:relative;overflow:hidden;
  padding-bottom:14px !important;}
/* Значок ожидания — знак АЙЫЫ (4 сентября). Раньше здесь стоял ромб ✦
   текстом, поэтому правила были про шрифт; теперь это картинка, и размер
   задаётся шириной. Старые font-size ниже безвредны: у картинки они ни
   на что не влияют, но высоту всё же задаём явно. */
.pw-star{color:var(--wa);font-size:17px;width:17px;height:17px;object-fit:contain;
  display:inline-block;vertical-align:-3px;animation:pwStar 1.2s ease-in-out infinite;}
@keyframes pwStar{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.25);opacity:1}}
.pw-bar{position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;
  background:linear-gradient(90deg,transparent,var(--wa),#e7b7d0,var(--wa),transparent);
  background-size:220% 100%;animation:pwBar 1.4s linear infinite;}
@keyframes pwBar{0%{background-position:200% 0}100%{background-position:-20% 0}}

/* Кнопка после скачивания: зелёная галочка, пять секунд не нажимается. */
.cmsg-paint button.saved{background:#2f7d4f !important;opacity:1;color:#fff;}

/* Знак в кружке: белый, с воздухом по краям. Логотип чёрный на прозрачном,
   поэтому перекрашиваем его в белый фильтром, а не держим второй файл. */
.makefab .fab-make img{width:27px;height:27px;display:block;object-fit:contain;
  filter:brightness(0) invert(1);}
.makefab.open .fab-make img{display:none;}
.makefab.open .fab-make{font-size:23px;line-height:1;}

/* Развилка по объявлению: кнопки столбиком, читаются с одного взгляда. */
.cmsg-ask{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
/* 28 августа: кнопки были белым по светлому пузырю — почти не видны.
   Теперь у неглавных тёмный текст и рамка, у главной — заливка. */
.cmsg-ask button{border:1.5px solid rgba(120,90,110,.35);border-radius:11px;
  padding:13px 14px;font-size:14px;font-weight:600;background:#fff;
  color:#4a3542;text-align:left;}
.cmsg-ask button:first-child{background:var(--wa);color:#fff;border-color:transparent;}
.cmsg-ask button:active{opacity:.85;}

/* Лист правки объявления. 28 августа. */
/* Лист правки: поля прокручиваются, кнопки внизу стоят на месте.
   28 августа — иначе до «Готово» и «Другой фон» просто не долистать. */
.ad-edit-b{display:flex;flex-direction:column;gap:11px;max-height:86vh;overflow-y:auto;
  padding-bottom:0 !important;}
.ad-e-bottom{position:sticky;bottom:0;background:#fff;display:flex;flex-direction:column;
  gap:8px;padding:10px 0 calc(10px + env(safe-area-inset-bottom,0));margin-top:2px;
  box-shadow:0 -10px 16px -10px rgba(0,0,0,.18);}
.ad-e-l{display:flex;flex-direction:column;gap:5px;color:#7a6b74;font-size:11.5px;
  letter-spacing:.3px;text-transform:uppercase;}
/* 28 августа: поля были белым по белому — человек решил, что они пустые.
   Лист .acc-b светлый (#fff), значит и текст в полях тёмный. */
.ad-e-l input,.ad-e-l textarea{background:#F6F2F5;border:1.5px solid rgba(120,90,110,.22);
  border-radius:10px;color:#1F1620;font-size:15px;padding:12px 12px;font-family:inherit;
  text-transform:none;letter-spacing:0;resize:none;}
.ad-e-l input:focus,.ad-e-l textarea:focus{outline:none;border-color:var(--wa);background:#fff;}
.ad-e-l input::placeholder,.ad-e-l textarea::placeholder{color:#9d8f97;}
.ad-e-l textarea{line-height:1.4;}
.ad-e-where{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.ad-e-where span{color:#7a6b74;font-size:11.5px;text-transform:uppercase;letter-spacing:.3px;
  flex:0 0 100%;}
.ad-e-w{flex:1;border:1.5px solid rgba(120,90,110,.28);background:#fff;color:#4a3542;
  border-radius:10px;padding:11px 8px;font-size:13px;font-weight:600;}
.ad-e-w.on{background:var(--wa);color:#fff;border-color:transparent;}
.ad-e-again{background:#fff;border:1.5px solid rgba(120,90,110,.28);color:#4a3542;
  border-radius:11px;padding:13px;font-size:13.5px;font-weight:600;}

/* Просмотр в редакторе: правишь — видишь. 28 августа. */
.ad-e-prev{display:flex;justify-content:center;background:#EFE9EE;border-radius:12px;
  padding:8px;margin-bottom:2px;}
.ad-e-prev img{max-height:34vh;max-width:100%;border-radius:8px;display:block;
  object-fit:contain;}

/* Кнопки шрифтов в редакторе: своим начертанием, пометка «!» у тех,
   где нет якутских букв. 28 августа. */
.ad-e-f{flex:0 0 auto;padding:9px 13px;font-size:13.5px;}
.ad-e-f i{font-style:normal;color:#C2588C;font-weight:800;}
.ad-e-where{row-gap:7px;}

/* Смена фона прямо в окне: старая картинка гаснет, поверх — звёзды. */
.ad-e-prev{position:relative;}
.ad-e-prev.busy img{opacity:.25;filter:blur(2px);transition:opacity .3s var(--в),filter .3s var(--в);}
.ad-e-wait{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:6px;}
.ad-e-wait b{color:#3a2434;font-size:14px;}
.ad-e-wait i{color:#7a6b74;font-size:12px;font-style:normal;font-variant-numeric:tabular-nums;}
.ad-e-wait .pw-star{font-size:26px;width:26px;height:26px;color:var(--wa);}
.ad-e-bar{width:120px;height:3px;border-radius:3px;margin-top:4px;
  background:linear-gradient(90deg,transparent,var(--wa),#e7b7d0,var(--wa),transparent);
  background-size:220% 100%;animation:pwBar 1.4s linear infinite;}

/* Две кнопки в ряд под «Готово». */
.ad-e-two{display:flex;gap:8px;}
.ad-e-two .ad-e-again{flex:1;padding:13px 8px;font-size:13px;}

/* Кнопки формата: доля мелкой подписью. */
.ad-e-fmt i{font-style:normal;color:#9d8f97;font-size:11px;margin-left:4px;}
.ad-e-fmt.on i{color:rgba(255,255,255,.75);}

/* Подсказка про пальцы под просмотром. */
.ad-e-hint{display:flex;align-items:center;justify-content:space-between;gap:8px;
  color:#7a6b74;font-size:11.5px;margin:-4px 2px 0;}
.ad-e-hint button{background:none;border:none;color:var(--wa);font-size:11.5px;
  font-weight:700;padding:4px 2px;}
.ad-e-prev{touch-action:none;}

/* ===== ПРАВКА ФОТО: один редактор. 29 августа. ===== */
/* Поле «своими словами» — главное, потому что люди хотят просить словами,
   а не выбирать из меню (наблюдение хозяина за друзьями). */
.pe-free{width:100%;background:#F6F2F5;border:1.5px solid rgba(120,90,110,.24);
  border-radius:12px;color:#1F1620;font-size:16px;padding:14px 14px;margin:14px 0 10px;
  font-family:inherit;}
.pe-free:focus{outline:none;border-color:var(--wa);background:#fff;}
.pe-free::placeholder{color:#9d8f97;}
/* Подсказки — не меню, а примеры: мелкие, в строку. */
.pe-acts{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px;}
.pe-sm{border:1px solid rgba(120,90,110,.28);background:#fff;color:#4a3542;
  border-radius:20px;padding:8px 13px;font-size:13px;font-weight:600;}
.pe-sm:active{background:#F2E8EF;}
.pe-car{width:100%;margin-top:12px;background:#fff;border:1.5px solid rgba(120,90,110,.28);
  color:#4a3542;border-radius:12px;padding:14px;font-size:14px;font-weight:600;}

/* Кнопка под присланным снимком. 29 августа, второй заход: белая заливка
   поверх розового пузыря выглядела наклейкой, «будто урок по дизайну на
   первом курсе». Убрали заливку вовсе — тонкая рамка и разрядка, кнопка
   читается частью пузыря, а не заплаткой на нём. */
/* Кнопка «Скопировать» под ответом (5 сентября). Приглушена: она нужна
   часто, но не должна спорить с самим текстом. На телефоне не прячем по
   наведению — наведения там нет, а именно там она и нужнее всего. */
/* ===== ОБУЧЕНИЕ: ВИТРИНА И КАРТОЧКА КУРСА (5 сентября) ===== */
/* Витрина живёт в колонке виджетов — она узкая, поэтому две плитки в ряд
   и никаких внешних отступов: их даёт сама панель (5 сентября). */
.lrn-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;}
/* Фон был вписан белым числом — в тёмной теме светлый текст ложился на
   белое и пропадал (померено 7 сентября: контраст 1,16). */
.lrn-i{display:flex;flex-direction:column;align-items:flex-start;gap:5px;
  text-align:left;cursor:pointer;background:var(--panel,#fff);
  border:1px solid var(--line,#e6dbe3);
  border-radius:14px;padding:10px 10px 12px;}
.lrn-i:hover{border-color:#c894b0;}
.lrn-cover{display:flex;align-items:center;justify-content:center;
  width:100%;aspect-ratio:4/3;border-radius:10px;margin-bottom:4px;
  color:#fff;font:700 26px/1 'Inter',sans-serif;letter-spacing:.04em;}
.lrn-i b{font-size:13.5px;line-height:1.3;color:var(--ink,#42323d);}
.lrn-i i{font-style:normal;font-size:11.5px;line-height:1.35;color:var(--ink-3,#9c8f98);}
/* Цена: на светлой теме тёмно-розовая, на тёмной — светло-розовая.
   Числом её задавать нельзя, темы читают по-разному (7 сентября). */
.lrn-i u{text-decoration:none;font-weight:700;font-size:13px;color:#8d5b76;margin-top:2px;}
html[data-theme="dark"] .lrn-i u{color:var(--wa);}
html[data-theme="dark"] .lrn-price s{color:var(--ink-3);}
html[data-theme="dark"] .lrn-who{color:var(--wa);}
.lrn-i u.free{color:#5b8d6b;font-weight:600;}

/* Встроенный проигрыватель: 16:9, во всю ширину карточки. */
.lrn-play{margin:0 -18px 14px;aspect-ratio:16/9;background:#000;}
.lrn-play iframe{width:100%;height:100%;border:0;display:block;}
.lrn-top span{display:block;font:500 12px/1 'Inter',sans-serif;opacity:.8;margin-top:8px;}

.lrn-sheet{position:fixed;inset:0;z-index:80;display:none;
  background:rgba(40,20,35,.45);overflow-y:auto;padding:24px 12px;}
.lrn-sheet.on{display:block;}
.lrn-box{position:relative;max-width:520px;margin:0 auto;background:var(--bg,#fff);
  border-radius:18px;padding:0 18px 20px;overflow:hidden;}
.lrn-x{position:absolute;right:10px;top:10px;z-index:2;width:32px;height:32px;
  border:none;border-radius:50%;background:rgba(255,255,255,.85);
  font-size:20px;line-height:1;cursor:pointer;color:#5b4a56;}
.lrn-top{margin:0 -18px 14px;height:120px;display:flex;align-items:center;
  justify-content:center;flex-direction:column;color:#fff;font:700 42px/1 'Inter',sans-serif;}
.lrn-box h3{margin:0 0 6px;font-size:19px;line-height:1.25;color:var(--ink,#42323d);}
.lrn-who{margin:0 0 10px;font-size:12.5px;color:#8d5b76;}
.lrn-about{margin:0 0 12px;font-size:14px;line-height:1.55;color:var(--ink-2,#6b5a66);}
.lrn-meta{font-size:12px;color:var(--ink-3,#9c8f98);margin-bottom:14px;}
.lrn-cap2{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-3,#9c8f98);margin-bottom:6px;}
.lrn-parts{margin:0 0 16px;padding-left:18px;font-size:13.5px;line-height:1.6;
  color:var(--ink-2,#6b5a66);}
.lrn-pay{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  border-top:1px solid var(--line,#e6dbe3);padding-top:14px;}
.lrn-price{display:flex;align-items:baseline;gap:8px;}
.lrn-price b{font-size:22px;color:var(--ink,#42323d);}
.lrn-price s{font-size:13px;color:var(--ink-3,#9c8f98);}
.lrn-buy{flex:1;min-width:150px;border:none;border-radius:12px;cursor:pointer;
  background:#b0709a;color:#fff;font:600 15px/1 'Inter',sans-serif;padding:14px 16px;}
.lrn-buy:hover{background:#9c5f88;}
.lrn-note{margin-top:10px;font-size:13px;color:#8d5b76;min-height:18px;}


/* ===== СУБТИТРЫ: ПОЛНЫЙ ЭКРАН С НАДПИСЬЮ (7 сентября) =====
   Встроенную кнопку разворота прячем: она разворачивает сам ролик,
   а надпись лежит слоем поверх и остаётся снаружи. Рядом стоит наша,
   она разворачивает ролик вместе с надписью. */
#sub-play::-webkit-media-controls-fullscreen-button{display:none;}
/* Размер обёртки в полном экране считает 85-subtitles.js по пропорции
   ролика: у вертикального видео кадр — узкая полоса, и надпись со знаком
   должны стоять по её краям, а не по краям экрана (7 сентября). */
/* В полном экране внешний слой отдаём браузеру (он всё равно ставит
   width/height с !important), а размер кадра держит #sub-box — его
   считает 85-subtitles.js по пропорции ролика. */
#sub-wrap:fullscreen, #sub-wrap:-webkit-full-screen{border-radius:0;background:#000;}
#sub-wrap:fullscreen #sub-play, #sub-wrap:-webkit-full-screen #sub-play{
  max-height:none;border-radius:0;object-fit:contain;height:100%;}
#sub-wrap:fullscreen::backdrop{background:#000;}

/* ===== ПОЛОСЫ ПРОКРУТКИ =====

   7 сентября, слово хозяина: показал свою полосу и нашу — у нас
   браузерная по умолчанию: широкая, светлая, со стрелками на концах.
   На тёмном полотне она светится белой чертой по краю и выглядит
   чужой деталью.

   Делаем как у Клода: узкая, без стрелок, ползунок в цвет рамок,
   дорожка прозрачная. Стрелки убираются отдельным правилом — сами
   по себе они не исчезают.

   Список разговоров, окно правки и прочие места, где прокрутка своя,
   это правило подхватят: оно задано для всех. */
/* Цвет ползунка отдельной переменной: в тёмной теме он в тон рамкам,
   а в светлой рамки почти белые — ползунок из них был бы не виден
   (померено 7 сентября: #E9EDF0 на белом). */
:root{--scroll:#C9C2C6;}
html[data-theme="dark"]{--scroll:#2C223C;}
*{scrollbar-width:thin;scrollbar-color:var(--scroll) transparent;}
*::-webkit-scrollbar{width:10px;height:10px;}
*::-webkit-scrollbar-track{background:transparent;}
*::-webkit-scrollbar-thumb{background:var(--scroll);border-radius:8px;
  border:3px solid transparent;background-clip:content-box;}
*::-webkit-scrollbar-thumb:hover{background:var(--ink-3);
  border:3px solid transparent;background-clip:content-box;}
*::-webkit-scrollbar-button{display:none;height:0;width:0;}
*::-webkit-scrollbar-corner{background:transparent;}

/* Ряд действий под сообщением. Под своим — прижат вправо, к той же
   стороне, где пузырь; под ответом АЙЫЫ — влево (7 сентября). */
/* ===== РЯД ДЕЙСТВИЙ ПОЯВЛЯЕТСЯ ПРИ НАВЕДЕНИИ =====

   7 сентября, слово хозяина: «когда она стоит — ничего не видно, а
   когда мышкой тянешь к тексту, тогда показывается. Сделай так же».

   Верно: значки нужны в тот миг, когда человек к сообщению потянулся,
   а до того они шум. Прячем их прозрачностью, а не удалением: место
   под ряд остаётся занятым, и переписка не прыгает, когда мышь
   проходит мимо.

   ТОЛЬКО ТАМ, ГДЕ ЕСТЬ МЫШЬ. На телефоне наведения не бывает вовсе:
   спрятанный ряд там пропал бы навсегда. Правило заперто в проверку
   на «указатель точный и наведение работает» — планшет с пальцем и
   телефон её не проходят и видят значки как прежде. */
/* Правка вопроса прямо в пузыре (7 сентября). */
.cmsg-edit{width:100%;min-width:260px;box-sizing:border-box;resize:vertical;
  border:1px solid var(--line);border-radius:10px;background:var(--bg);
  color:var(--ink);font:inherit;font-size:15px;line-height:1.45;padding:9px 11px;}
.cmsg-edit:focus{outline:none;border-color:var(--wa);}
.cmsg-edit-row{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;}
.cmsg-edit-row button{border:none;border-radius:9px;cursor:pointer;
  font:600 13px/1 'Inter',system-ui,sans-serif;padding:9px 14px;}
.ce-x{background:transparent;color:var(--ink-3);border:1px solid var(--line)!important;}
.ce-ok{background:var(--wa);color:#fff;}
html[data-theme="dark"] .ce-ok{color:#181424;}

.cmsg-acts{display:flex;align-items:center;gap:4px;margin:3px 2px 0;opacity:.72;width:100%;}
@media (hover:hover) and (pointer:fine){
  .cmsg-acts{opacity:0;transition:opacity .14s ease;}
  .cmsg:hover .cmsg-acts,
  .cmsg-acts:focus-within{opacity:.85;}
  .cmsg:hover .cmsg-acts:hover{opacity:1;}
}
.cmsg-acts.me{justify-content:flex-end;}
.cmsg-acts.ai{justify-content:flex-start;}
.cmsg-acts:hover{opacity:1;}
.cmsg-acts .cmsg-time{font-size:11.5px;color:var(--ink-3);margin-right:4px;}
.cmsg-acts button{display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;padding:0;border:none;background:transparent;border-radius:7px;
  color:var(--ink-3);cursor:pointer;}
.cmsg-acts button:hover{background:rgba(0,0,0,.06);color:var(--ink-2);}
html[data-theme="dark"] .cmsg-acts button:hover{background:rgba(255,255,255,.08);}
.cmsg-acts button.ok{color:#2e7d5b;}

.cmsg-copy{margin:8px 0 0;}
/* Прежние правила .cmsg-copy оставлены пустыми: ряд под ответом теперь
   тот же .cmsg-acts, что и под своим сообщением (7 сентября). */

/* КНОПКА ПРАВКИ — ДЕЙСТВИЕ, А НЕ ВЫВЕСКА. 15 сентября, слово хозяина:
   «фото, под ним хаартысканы көннөр, и текст — всё вперемешку, некрасиво».

   Стояла она между снимком и подписью, во всю ширину, заглавными буквами —
   и разрывала сообщение надвое: человек писал одно целое, а читалось как
   снимок, вывеска, и зачем-то текст после неё.

   Теперь снимок и подпись идут подряд, как их и писали, а кнопка стоит
   последней, по своему тексту, обычными буквами — тихое действие под
   готовым сообщением. */
.cmsg-fix{margin-top:10px;}
.cmsg-fix button{width:auto;background:transparent;color:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.28);border-radius:11px;padding:7px 12px;
  font-size:12.5px;font-weight:500;
  transition:background .15s var(--мяг),border-color .15s var(--мяг);}
.cmsg-fix button:active{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.55);}

/* Остаток правок под кнопкой — тихо, пока не последняя. 29 августа. */
.pe-left{color:#8a7d88;font-size:12.5px;text-align:center;margin-top:8px;}
.pe-left.last{color:var(--wa);font-weight:700;}
.pe-note.wall{color:#4a3542;font-size:14px;line-height:1.45;white-space:pre-line;
  background:#F6F2F5;border-radius:11px;padding:13px 14px;margin-top:10px;text-align:left;}
.pe-car.main{background:var(--wa);color:#fff;border-color:transparent;}

/* ===== РЕДАКТОР ФОТО: ярусы и разделители. 30 августа. =====
   Разделы отбиты линиями и подписаны, чтобы с одного взгляда было понятно,
   где что: снимок — просьба — текст на снимке — решение. */
.pe .pe-b{padding-bottom:0 !important}
.pe-go{margin-top:2px}

/* Раскрывающийся ярус «Добавить текст». */
.pe-more{display:flex;align-items:center;justify-content:space-between;width:100%;
  margin-top:14px;padding:14px 2px 13px;background:none;border:none;
  border-top:1px solid rgba(120,90,110,.16);color:#4a3542;font-size:14px;font-weight:700;}
.pe-more i{font-style:normal;font-size:19px;color:var(--wa);line-height:1;
  width:26px;height:26px;border-radius:50%;background:rgba(199,125,168,.14);
  display:flex;align-items:center;justify-content:center;}
.pe-more.on{color:var(--wa)}
.pe-more.on i{background:var(--wa);color:#fff}

.pe-text{display:flex;flex-direction:column;gap:11px;padding:2px 0 4px}
.pe-text .pe-l{display:flex;flex-direction:column;gap:5px;color:#7a6b74;
  font-size:11px;letter-spacing:.4px;text-transform:uppercase;}
.pe-text input,.pe-text textarea{background:#F6F2F5;border:1.5px solid rgba(120,90,110,.22);
  border-radius:11px;color:#1F1620;font-size:15px;padding:12px;font-family:inherit;
  text-transform:none;letter-spacing:0;resize:none;line-height:1.4;}
.pe-text input:focus,.pe-text textarea:focus{outline:none;border-color:var(--wa);background:#fff}
.pe-text input::placeholder,.pe-text textarea::placeholder{color:#a2939f}

.pe-grp{display:flex;flex-direction:column;gap:7px}
.pe-gl{color:#7a6b74;font-size:11px;letter-spacing:.4px;text-transform:uppercase}
.pe-btns{display:flex;flex-wrap:wrap;gap:7px}
.pe-b2{border:1.5px solid rgba(120,90,110,.24);background:#fff;color:#4a3542;
  border-radius:10px;padding:9px 12px;font-size:13px;font-weight:600;}
.pe-b2 i{font-style:normal;color:#9d8f97;font-size:11px;margin-left:4px}
.pe-b2.on{background:var(--wa);color:#fff;border-color:transparent}
.pe-b2.on i{color:rgba(255,255,255,.78)}

/* Низ листа стоит на месте: до кнопок всегда можно дотянуться. */
.pe-row{position:sticky;bottom:0;background:#fff;padding:12px 0
  calc(12px + env(safe-area-inset-bottom,0));margin-top:6px;
  border-top:1px solid rgba(120,90,110,.16);
  box-shadow:0 -10px 16px -12px rgba(0,0,0,.2);}

/* Скрытые группы в правке фото и объявления (30 августа): «Бумага»
   показывается только с фотокарточкой. flex перебил бы hidden — гасим явно. */
.pe-grp[hidden],.ad-e-where[hidden],.pe-text[hidden]{display:none!important}
/* «Добавить текст» не сворачивался (30 августа): .pe-text стоит display:flex,
   и он перебивал hidden. Теперь hidden сильнее — ярус сворачивается. */

/* РАБОТА ИДЁТ. 30 августа, слово хозяина: как на остальных фото — кадр
   уходит под звёзды, поверх слово. Накрываем правую рамку «стало». */
.pe-pics figure{position:relative}
.pe-pics figure.busy img{opacity:.22;filter:blur(2px);transition:opacity .3s var(--в),filter .3s var(--в)}
.pe-wait{position:absolute;left:0;right:0;top:0;height:var(--pe-h,190px);display:none;
  flex-direction:column;align-items:center;justify-content:center;gap:6px;
  border-radius:10px;pointer-events:none}
.pe-pics figure.busy .pe-wait{display:flex}
/* ЗНАК АЙЫЫ ВО ВРЕМЯ ПРАВКИ. 4 сентября, слово хозяина: «лого дерева не
   видно». Знак тёмный по рисунку и лежит поверх снимка — на тёмном кадре
   пропадал совсем.

   Первая попытка была неверной: я перекрасил его в белый через инверсию,
   но у общего правила для снимков внутри .pe-pics задан светлый фон, и
   после инверсии он стал белым квадратом ПОВЕРХ белого же дерева — знак
   исчез окончательно. Видно только на увеличенном снимке, глазом на
   телефоне это читается как «пятно».

   Правильно так: дерево оставляем как есть и кладём в светлый кружок.
   Кружок читается на любом кадре — и на тёмном, и на светлом, — а знак
   остаётся нашим знаком, а не белым силуэтом.

   Селекторы длиннее нужного НАМЕРЕННО: у «.pe-pics figure.busy img»
   стоят размытие и свой фон, и короткое правило оно перебивает молча. */
.pe-pics figure.busy .pe-wait img.pw-star,
.ad-e-wait img.pw-star{
  width:34px; height:34px; padding:5px; box-sizing:border-box;
  background:rgba(255,255,255,.94); border-radius:50%;
  filter:none; box-shadow:0 2px 8px rgba(0,0,0,.28);
}
.pe-wait .pw-star{font-size:26px;width:26px;height:26px;color:var(--wa)}
.pe-wait b{color:#fff;font-size:13px;text-align:center;padding:0 8px}
.pe-wait i{width:96px;height:3px;border-radius:3px;font-style:normal;
  background:linear-gradient(90deg,transparent,var(--wa),#e7b7d0,var(--wa),transparent);
  background-size:220% 100%;animation:pwBar 1.4s linear infinite}

/* ВОЗДУХ. 30 августа, слово хозяина: «впритык, душно». Отступы шире
   между ярусами, овалы подсказок не липнут друг к другу. */
.pe-b{padding:18px 18px 0}
.pe-h{margin-bottom:16px}
.pe-pics{margin-bottom:18px;gap:10px}
.pe-pics figcaption{margin-top:6px}
#pe-free{margin-bottom:12px;padding:12px}
.pe-acts{gap:9px;margin-bottom:14px}
.pe-go{margin-top:4px}
.pe-more{margin-top:20px;padding:16px 2px 15px}
.pe-text{gap:14px;padding:4px 0 8px}
.pe-grp{gap:9px;margin-top:2px}
.pe-btns{gap:9px}
.pe-note{margin-top:10px}
.pe-row{margin-top:10px;gap:10px}

/* «✦ Стикер» в пузыре (30 августа): третья кнопка, розовая обводка. */
.cmsg-paint button.stk-go{background:#fff;color:var(--wa-deep);border:1.5px solid var(--wa);}
.cmsg-stk{margin-top:8px;}
.cmsg-paint{flex-wrap:wrap;}

/* Правка фото, 31 августа: главное действие — в липком низу. */
.pe-undo{margin:-6px 0 10px;text-align:right}
.pe-undo button{border:none;background:none;color:var(--wa-deep);font-size:12.5px;
  padding:4px 2px;cursor:pointer;opacity:.85}
.pe-row .pe-p{flex:1.6}

/* Кошелёк токенов в окне тарифов (31 августа). */
.tok-box{background:var(--wa-soft);border-radius:14px;padding:14px;margin:14px 0 4px}
.tok-box:empty{display:none}
.tok-h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.tok-h b{font-size:26px;color:var(--wa-deep);line-height:1}
.tok-h span{font-size:12.5px;color:#7a6b74}
.tok-d{font-size:12.5px;color:#7a6b74;margin-top:6px}
.tok-packs{display:flex;gap:9px;margin-top:11px}
.tok-p{flex:1;background:#fff;border:1.5px solid var(--wa);border-radius:12px;
  padding:10px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}
.tok-p b{font-size:19px;color:var(--wa-deep)}
.tok-p span{font-size:13px;color:#241a22;font-weight:600}
.tok-p s{color:#a89aa2;font-weight:400}
.tok-p i{font-size:11px;color:#8a7a85;font-style:normal}

/* ===== ЭКРАН МОНИТОРА. 31 августа =====

   Слово хозяина: «нужна полная вебка для мониторов». До сих пор всё
   приложение жило в колонке 420 точек посреди пустого экрана — на
   ноутбуке это читалось как «сделано для телефона, а вы тут случайно».
   Для делопроизводителя, у которого рядом открыт Word, это приговор.

   Сделано надстройкой, а не переписыванием: мобильные правила не
   тронуты, с 1024 точек включается другой расклад. На телефоне не
   изменился ни один байт.

   Разметка настоящая, а не выдуманная (проверял по index.html):
     #phone
       .hdr                — фиолетовая шапка
       #body               — всё остальное
         .cl-shade         — затемнение под ящиком
         .chatlist         — ящик разговоров
         #pg-chat          — экран чата
           .aiyy-top       — вкладки и подсказки
           #chat-scroll    — сама переписка
           .aiyy-input-wrap— поле ввода

   Главная разница между телефоном и монитором: ящик разговоров не
   выезжает поверх, а просто стоит слева и никуда не девается. */
@media (min-width:1024px){


  /* ВО ВЕСЬ ЭКРАН. 31 августа: до этого приложение стояло колонкой
     посреди белых полей — на мониторе это читалось как «мы тут в
     гостях». Теперь занимает окно целиком; читаемость держим не рамкой
     окна, а шириной колонки писем внутри. */
  #phone{max-width:none;width:100%;height:100dvh;max-height:none;
    border-radius:0;box-shadow:none;overflow:hidden;}
  /* ФИОЛЕТОВОЙ ШАПКИ НА МОНИТОРЕ НЕТ. 31 августа, слово хозяина:
     «может быть удалим тот хедер, который сверху — она зачем нужна?»

     Что она делала. На телефоне её в разговоре не видно вовсе:
     #pg-chat.on ложится поверх всего окна. Она показывается только на
     внутренних экранах — «Свои люди», «О тебе», «Человек» — и там она
     единственная полоса возврата: «‹ АЙЫЫ», название экрана, точки.
     Поэтому на телефоне она остаётся как была.

     На мониторе от неё не оставалось ничего: возврат скрыт (разговор
     и так на виду), название «АЙЫЫ» — вывеска, а в точках два пункта,
     у которых есть свои места: «Настройки» — шестерёнка в профиле
     внизу ящика, «Свои люди» — дерево и кнопка «‹» на линии. Полоса
     в 60 точек во всю ширину ради двух дублей — убираем, тело
     занимает окно целиком. */
  #phone > .hdr{display:none!important;}
  #phone > #body{flex:1;min-height:0;}
  /* Тело центрировало приложение и оставляло по бокам полосы фона.
     На мониторе центрировать нечего — приложение и есть окно
     (31 августа, по снимку хозяина: «чтобы по бокам не было розовых зон»). */
  body{display:block;justify-content:normal;background:var(--bg);}

  /* Тело — две колонки: ящик и работа.

     Осторожно с наследством: на телефоне #body прокручивается САМ и
     держит отступ снизу под нижнее меню. Если оставить как есть, на
     мониторе прокрутка окажется у всего тела разом, и шапка чата уедет
     вместе с перепиской. Поэтому здесь тело только делит место, а
     прокручивают уже колонки. */
  /* ЭКРАНЫ СМЕНЯЮТ ДРУГ ДРУГА, А НЕ СТОЯТ РЯДОМ.

     31 августа, вторая правка по снимку. Сперва я сделал тело строкой,
     и каждый экран (.pg) стал в ней отдельной колонкой: слева ящик, в
     середине разговор, справа — втиснутая «О тебе», которая никуда не
     прокручивалась. На телефоне экраны лежат друг на друге и меняются;
     тем же способом делаем и здесь, только со сдвигом вправо на ширину
     ящика. Никаких колонок — ящик прибит слева, экран занимает всё
     остальное и прокручивается сам. */
  /* Отступ снизу в 70 точек остался от нижнего меню, которого на
     мониторе нет: под приложением висела пустая белая полоса
     (31 августа, снимок хозяина). Убираем и её, и саму полосу. */
  #body{display:block;position:relative;overflow:hidden;
    margin-bottom:0!important;height:100%;}
  .bottom-nav{display:none!important;}

  .chatlist{position:absolute;left:0;top:0;bottom:0;
    width:320px;max-width:320px;overflow-y:auto;}

  .pg{position:absolute;left:320px;right:0;top:0;bottom:0;
    padding-bottom:0;overflow-y:auto;}
  /* РАЗГОВОР ЗАЛЕЗАЛ ПОД ЯЩИК. 31 августа, найдено при проверке №347
     рендером: поле ввода читалось как «…щение» — левая треть под ящиком.

     Конфликт с собственным старым правилом: у телефона #pg-chat.on
     стоит inset:0, а это id+класс, и он молча перебивает .pg{left:320px}
     выше — класс против id всегда проигрывает. Поэтому левый край
     разговора задаём тем же весом, что и у телефонного правила. */
  #pg-chat.on{left:320px;}
  .pg.on{display:flex;flex-direction:column;min-height:0;}
  #chat-scroll{flex:1;min-height:0;overflow-y:auto;}

  /* ===== НАСТРОЙКИ И ПРОФИЛЬ — ОТДЕЛЬНЫМ ОКНОМ =====

     31 августа, слово хозяина: «почему меню закрывает и разговор, и
     вообще открыто так, что я не могу его свернуть». Я сперва просто
     сдвинул выезжающую панель вправо — вышло хуже: она легла поверх
     работы, обрезалась по краю и не закрывалась.

     На телефоне панель выезжает сбоку — там иначе некуда. На мониторе
     так не делают: настройки открывают окном по центру, а фон гасят.
     Нажал мимо — закрылось, разговор на месте. */
  .panel{left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;
    width:min(560px,90vw);max-width:560px;height:auto;max-height:82vh;
    border-radius:20px;overflow:hidden;
    transform:translate(-50%,-50%) scale(.97)!important;opacity:0;pointer-events:none;
    transition:opacity .18s var(--в),transform .18s var(--в);
    box-shadow:0 30px 90px rgba(40,20,35,.34);z-index:160;}
  .panel.on{transform:translate(-50%,-50%) scale(1)!important;opacity:1;pointer-events:auto;}
  .panel .ph{border-radius:20px 20px 0 0;}
  /* Затемнение должно лежать НАД работой, но под самим окном — иначе
     нажатие мимо окна не доходит до закрытия. */
  .scrim{z-index:155;}

  /* ОКНА ИЗ МЕНЮ — НАД МЕНЮ. 31 августа, слово хозяина: «как люди будут
     оплачивать тариф, если после нажатия меню не исчезает и загораживает
     окно?»

     Утром окно настроек подняли на 160, чтобы оно легло над своим
     затемнением (155). Но окна, которые открываются ИЗ него, — тарифы
     (158), язык (155), вход (150), знак (160 — на равных, кто позже в
     разметке), «О тебе» (145) — остались ниже и легли под меню. На
     телефоне у панели 150, и там всё работало. Здесь поднимаем их над
     меню: крестик и нажатие мимо возвращают к меню, как на телефоне.
     Просмотр карусели (170) и обрезка видео (175) остаются выше всех. */
  .pv-sheet, .acc-sheet, .lang-sheet, .plan-sheet, .save-sheet,
  .mld-sheet, .fr-sheet, .avc-sheet{z-index:165;}

  /* ===== ТРЕТЬЯ ЗОНА: «О ТЕБЕ» И ЛИНИЯ ЖИЗНИ =====

     Слово хозяина: «слева разговоры, посередине зона работы, справа о
     тебе и твоя линия — класс». Сперва это вышло случайно и криво:
     экраны стали колонками, и «О тебе» оказалась зажата без прокрутки.
     Теперь то же самое, но нарочно и по-человечески.

     Эти экраны не заменяют разговор — они стоят рядом с ним. Разговор
     остаётся на виду, потому что человек смотрит на свою линию и тут же
     рассказывает дальше. Ширина 520 точек: линия жизни и карточки людей
     в неё влезают, а разговору остаётся достаточно.

     Остальные экраны (правка, тарифы, курсы) — по-прежнему во всю
     рабочую зону: они самостоятельные, разговор рядом им не нужен. */
  /* Главный экран не должен выглядеть пустым: когда справа ничего не
     открыто, разговор занимает всю зону, а дерево стоит по центру
     колонки писем, а не посреди всего монитора (31 августа). */
  /* Приветствие — в той же колонке, что и письмо (5 сентября). Раньше
     оно было шире: человек видел один разлёт строк на пустом экране и
     другой, как только начинал переписку. */
  #pg-chat .aiyy-hero{max-width:720px;margin:0 auto;}

  /* ===== ЛИНИЯ ЖИЗНИ СТОИТ РЯДОМ ВСЕГДА =====

     31 августа, слово хозяина. Зона держится классом «линия-рядом» на
     теле: он ставится при запуске на широком экране и снимается кнопкой,
     если человек хочет убрать. Показываем ДАЖЕ БЕЗ класса «on» — этот
     экран больше не «открывают», он просто есть. */
  body.линия-рядом #pg-selfline{
    display:flex!important;flex-direction:column;
    left:auto;right:0;width:520px;
    border-left:1px solid var(--line);background:var(--bg);
    box-shadow:-8px 0 28px rgba(60,30,50,.06);}
  body.линия-рядом #pg-chat{right:520px;}

  #pg-myline.on, #pg-selfline.on, #pg-life.on,
  #pg-kinline.on, #pg-person.on, #pg-contacts.on{
    left:auto;right:0;width:520px;
    border-left:1px solid var(--line);background:var(--bg);
    box-shadow:-8px 0 28px rgba(60,30,50,.06);}

  /* Пока справа открыта третья зона, разговор ужимается — иначе поле
     ввода уезжает под неё. */
  #body:has(#pg-myline.on) #pg-chat,
  #body:has(#pg-selfline.on) #pg-chat,
  #body:has(#pg-life.on) #pg-chat,
  #body:has(#pg-kinline.on) #pg-chat,
  #body:has(#pg-person.on) #pg-chat,
  #body:has(#pg-contacts.on) #pg-chat{right:520px;}

  /* ПРАВАЯ ЗОНА — ОДНО МЕСТО. 31 августа, слово хозяина: «по нажатию
     на дерево она должна открыться вместо „Твоей линии“».

     До этого дерево на мониторе не делало ничего видимого: «Свои люди»
     вставали в ту же правую зону, но линия стоит в разметке ниже и
     закрывала их собой. Проверено рендером — нажал, картинка не
     изменилась. Теперь пока справа открыт другой экран, линия
     прячется; закрыли его — линия на месте, как и была. */
  #body:has(#pg-life.on) #pg-selfline,
  #body:has(#pg-myline.on) #pg-selfline,
  #body:has(#pg-kinline.on) #pg-selfline,
  #body:has(#pg-person.on) #pg-selfline,
  #body:has(#pg-contacts.on) #pg-selfline{display:none!important;}

  /* «‹» С ЛИНИИ УБРАНА. Слово хозяина: «если линия не сворачивается,
     то и стрелку назад оттуда надо убрать». Стрелка вела не назад,
     а в «Своих людей» — на её месте стоит дерево: тот же вход, что и
     на пустом экране, иначе из разговора с сообщениями (дерева на
     нём уже нет) к людям было бы не попасть. На телефоне стрелка
     остаётся: там линия — отдельный экран, и назад с него нужно. */
  #pg-selfline .pback{display:none!important;}

  /* ШАПКА ПАНЕЛИ — ЭТО НАЗВАНИЕ РАЗДЕЛА, А НЕ КАРТОЧКА ЧЕЛОВЕКА.
     5 сентября, слово хозяина: «на ПК не видно слово Виджеты; вместо
     Власий / день 13 403 и вместо этих кнопок напиши Виджеты».

     Он прав по сути. Имя и счёт дней здесь повторялись дважды: они и
     так стоят в блоке «Дней на земле» прямо под шапкой. А три кнопки
     (скачать линию, загрузить, поделиться) — редкие действия, ради
     которых занимать всю строку незачем; они переехали под знак «⋯».

     На телефоне шапка остаётся прежней: там это отдельный экран, имя
     в нём к месту, и места хватает. */
  #pg-selfline #ml-meta{display:none;}

  /* Кнопка виджетов в углу — только на мониторе: на телефоне панели
     сбоку нет вовсе, и прятать нечего (5 сентября). */
  #h-widgets{display:flex;}
  body.виджеты-убраны #h-widgets{color:var(--wa);}
  /* Язычок у кромки остаётся как запасной путь, но больше не главный. */

  /* ===== ПАНЕЛЬ ВИДЖЕТОВ УБИРАЕТСЯ ЦЕЛИКОМ (5 сентября) =====
     Убрали — разговор занимает всю ширину, у правого края остаётся
     язычок в 22 точки, чтобы вернуть. Кнопка «›» видна всегда, а не
     по наведению: прятать то, чем пользуются каждый день, — та же
     ошибка, что была с «Настроить, что здесь» внизу панели. */
  #pg-selfline .pshare.wfold{display:inline-flex;font-size:19px;line-height:1;}
  body.виджеты-убраны #pg-selfline{display:none!important;}
  body.виджеты-убраны #pg-chat{right:0;}
  /* ЯЗЫЧОК У ПРАВОГО КРАЯ УБРАН. 9 сентября, слово хозяина: «мне кажется,
     вот эта стрелка не нужна».

     Не нужна. Заводили её, чтобы вернуть убранные виджеты, — но кнопка
     «Виджеты» в шапке никуда не девается и делает то же самое. Выходило
     два входа в одну дверь, причём второй — узкая полоска, прилипшая к
     краю экрана посреди пустоты.

     Сама кнопка в разметке осталась: она ничего не весит, а если язычок
     когда-нибудь понадобится, хватит вернуть эти правила. */
  #wshow{display:none;}
  body.виджеты-убраны #wshow{display:none;}
  #pg-selfline .pbi b{font-size:17px;font-weight:700;}
  /* В шапке панели остаются две кнопки: «⋯» и «›». Прежние три уехали
     под «⋯» ещё раньше; правило «показывать по наведению» больше не
     нужно — прятать то, чем пользуются, мы уже пробовали. */
  #pg-selfline .pshare{display:inline-flex;}
  #pg-selfline .pshare.wfold{display:inline-flex;}
  /* Дерева в шапке панели больше нет — место под него не держим. */
  #pg-selfline .zone-tree{display:none!important;}

  /* ЗНАК ПО ЦЕНТРУ КВАДРАТА. 5 сентября, слово хозяина: «почему
     неправильно знак стоит внутри квадрата, почему так криво».

     Кнопка — обычный <button> с текстом внутри: браузер ставит букву
     по базовой линии шрифта, а не по середине рамки. У «›» и «⋯»
     нижние вылеты разной высоты, оттого и косо. Выравниваем содержимое
     флексом — тогда любой знак встаёт ровно посередине. */
  #pg-selfline .pshare{align-items:center;justify-content:center;padding:0;}

  /* НАЗВАНИЕ ПО ЦЕНТРУ. Слева дерево, справа две кнопки — они разной
     ширины, и при обычном потоке «Виджеты» вставали бы левее середины.
     Кладём в центр жёстко, тем же приёмом, что и название разговора. */
  #pg-selfline .pbar{position:relative;}
  #pg-selfline .pbi{position:absolute;left:50%;top:50%;
    transform:translate(-50%,-50%);width:auto;max-width:52%;text-align:center;}
  .zone-tree{display:flex;align-items:center;justify-content:center;
    width:34px;height:34px;border-radius:10px;border:none;
    background:var(--wa-soft);flex:0 0 auto;cursor:pointer;padding:0;}
  .zone-tree img{width:26px;height:26px;display:block;}
  .zone-tree:active{opacity:.75;}

  /* Полоса с названием у «Своих людей» и «О тебе» — только здесь.
     На телефоне их называет фиолетовая шапка, на мониторе её нет,
     и экран справа стоял без имени и без выхода. «‹» ведёт обратно:
     у людей — к линии, у «О тебе» — к людям, откуда в него заходят. */
  .zone-bar{display:flex;}
  /* ---- ящик разговоров всегда открыт ---- */
  /* Ящик от самого верха до низа и всегда на месте. */
  .chatlist{transform:none!important;transition:none;
    box-shadow:none;border-right:1px solid var(--line);}
  .cl-shade{display:none!important;}
  /* Крестик «закрыть» на мониторе не нужен: ящик никуда не убирается.
     Кнопка его открытия во вкладках — тоже (31 августа, по снимку). */
  .cl-x{display:none!important;}
  .aiyy-tab.ico[onclick*="openChatList"]{display:none!important;}
  /* Ящик сворачивается (29 сентября): кнопка в шапке ящика убирает его,
     кнопка слева вверху возвращает — видна только когда ящик убран. */
  .aiyy-tab.ico.cl-open{display:none!important;}
  body.чаты-убраны .aiyy-tab.ico.cl-open{display:flex!important;}
  .cl-fold{display:flex;align-items:center;justify-content:center;border:none;
    background:transparent;color:var(--ink-3);width:34px;height:34px;
    border-radius:10px;cursor:pointer;padding:0;flex:0 0 auto;}
  .cl-fold:hover{background:var(--panel);color:inherit;}
  body.чаты-убраны .chatlist{display:none!important;}
  /* Боковые панели справа (виджеты, линия, люди) не трогаем — у них своя
     ширина от правого края; иначе растягивались и пропадали. */
  body.чаты-убраны .pg:not(#pg-selfline):not(#pg-myline):not(#pg-life):not(#pg-kinline):not(#pg-person):not(#pg-contacts),
  body.чаты-убраны #pg-chat.on{left:0!important;}
  .cl-head{padding:20px 18px 14px;}

  /* ---- правая часть ---- */
  #pg-chat{display:flex;flex-direction:column;min-width:0;}

  /* Правила про положение фиолетовой шапки на мониторе сняты 31 августа
     вместе с самой шапкой (см. #phone > .hdr выше). Ящик и работа
     начинаются от самого верха окна. */
  #phone{position:relative;}
  .chatlist{margin-top:0;}

  /* ---- переписка ---- */
  /* Строка во всю ширину монитора не читается: держим колонку письма
     по центру, как в книге. */
  /* КОЛОНКА ПИСЬМА — 720, А НЕ 860. 5 сентября.

     Померил на живом экране 1400 точек: с открытой панелью виджетов
     разговору достаётся 560 — это 65 знаков в строке, впритык к нижней
     границе читаемости. Убрал панель — стало 1080, и колонка растянулась
     до 860, а это уже под сто знаков: глаз не находит начало следующей
     строки и перечитывает её заново.

     Ширина колонки не должна зависеть от того, открыта панель или нет.
     720 при кегле 16 даёт около 75 знаков — верхняя граница того, что
     читается без усилия. Убрал панель, вернул — текст выглядит
     одинаково, меняются только поля вокруг. */
  .aiyy-scroll{padding:0 26px;}
  .aiyy-scroll > *{width:100%;max-width:720px;margin-left:auto;margin-right:auto;}
  /* ВЕРХНЯЯ СТРОКА: НАЗВАНИЕ ПО ЦЕНТРУ, КНОПКИ ПО КРАЯМ.

     31 августа, слово хозяина: «кнопка вызова „твоя линия“ висит
     посередине, а должна быть с краю; новый разговор и АЙЫЫ пусть стоят
     посередине». Прошлые попытки я делал вслепую, по догадке об именах.
     Теперь по разметке: название разговора — .aiyy-mark, правые кнопки —
     .aiyy-right, слева кнопка ящика (на мониторе скрыта).

     Название растягиваем на всё свободное место и центруем в нём, а
     правую группу прижимаем к краю. Тогда положение не зависит от того,
     сколько кнопок слева видно. */
  /* КНОПКА У КРАЯ — ЖЁСТКО, А НЕ ВЫРАВНИВАНИЕМ.

     Я трижды пытался прижать её к краю через flex, и трижды мимо: строка
     ведёт себя не так, как я предполагал, а проверить своими глазами я
     не могу. Поэтому кладу кнопку в угол прямо: строка — точка отсчёта,
     кнопка прибита к её правому краю, название занимает всю ширину и
     стоит по центру. Тут ошибиться уже негде. */
  /* НАЗВАНИЕ РАЗГОВОРА — РОВНО ПО ЦЕНТРУ, КАК «АЙЫЫ» НАД НИМ.

     31 августа, слово хозяина: «АЙЫЫ сверху, новый разговор снизу, оба
     посередине, ровно над деревом». Выравниванием я это уже пробовал —
     мимо. Поэтому и название кладу в центр жёстко: середина строки,
     сдвиг на половину своей ширины. Так оно встаёт под словом АЙЫЫ и
     над деревом, что бы ни творилось с соседями по строке.

     Строка держит высоту сама (min-height): все трое внутри стоят
     отдельно от потока, и без этого она бы схлопнулась. */
  /* СТРОКА РАЗГОВОРА — ВРОВЕНЬ С СОСЕДЯМИ. 31 августа, слово хозяина:
     «чат слишком высоко начинается, опустить до линии „Разговоры“ и
     „Твоя линия“, чтобы ровно было».

     Мерил рендером: «Разговоры» стоят по центру на 32-й точке, кнопка
     в шапке линии — на 31-й, а название разговора было на 23-й. Строке
     даём ту же высоту, что у шапки линии (60 + черта), название по
     центру — и все три колонки начинаются с одной линии. */
  .aiyy-top{position:relative;max-width:none!important;width:100%;
    box-sizing:border-box;margin:0;padding:0 26px;display:block;
    min-height:62px;}
  /* Название по центру, но не под правой группой. 52% хватало, пока
     справа было пусто; с кнопками «Виджеты» и «Перейти в Старт» группа
     занимает 234 точки, и на узком мониторе название налезало на неё
     (померено: 70 точек внахлёст при 1280). Оставляем ему середину
     между ящиком и группой — 260 точек по краям с запасом. */
  .aiyy-mark{position:absolute;left:50%;top:50%;
    transform:translate(-50%,-50%);
    width:auto;max-width:calc(100% - 520px);padding:0;text-align:center;}
  /* КНОПКИ В СТРОКЕ НЕТ ВОВСЕ. 31 августа, слово хозяина: «даже свернув
     твою линию мы видим такой ужасный интерфейс — убери кнопку с
     середины экрана».

     Кнопка открывала линию. Линия теперь стоит справа постоянно, и
     открывать нечего: кнопка осталась висеть посреди пустой строки и
     только портила вид. Убираем — в строке остаётся одно название
     разговора по центру, и промахнуться с её положением больше негде.

     31 августа я написал тут: «свернуть зону на мониторе нельзя, и это
     осознанно». 5 сентября хозяин попросил обратное — и он прав: панель
     из шести виджетов это уже не «линия рядом», а место, которое иногда
     мешает. Значит правой группе снова есть что показывать.

     Прячем в ней только старую кнопку линии (она и правда никуда не
     ведёт), а сама группа видима: в ней стоят «Виджеты» и «Перейти
     в Старт». */
  /* ПРАВАЯ ГРУППА — У ПРАВОГО КРАЯ, А НЕ В ПОТОКЕ. 5 сентября, слово
     хозяина: «почему эта кнопка стоит рядом с „Разговоры“?».

     Потому что верхняя строка на мониторе — блок (display:block), в нём
     название лежит абсолютом по центру, а всё прочее просто течёт слева
     направо. Я вернул группе видимость и не заметил, что ей негде было
     встать справа: она легла к левому краю, вплотную к ящику разговоров,
     — то есть к противоположной стороне от самих виджетов.

     Кладу её в правый угол так же жёстко, как название в центр: строка —
     точка отсчёта, группа прибита к её правому краю. Тем же способом,
     каким 31 августа чинилось положение названия, и по той же причине —
     выравниванием тут уже промахивались. */
  .aiyy-right{display:flex!important;position:absolute;right:26px;top:50%;
    transform:translateY(-50%);gap:8px;align-items:center;}
  .aiyy-right > .aiyy-tab.ico.right[onclick*="openMyLine"]{display:none!important;}
  /* Кнопка ящика слева на мониторе скрыта — место под неё не держим. */
  .aiyy-top > .aiyy-tab.ico:first-child{position:absolute;left:26px;
    top:50%;transform:translateY(-50%);}

  /* Здесь стояли правила для кнопки «‹ АЙЫЫ», отбивки шапки и её
     названия по центру. Все сняты 31 августа: шапки на мониторе нет,
     а мёртвые правила ниже по файлу уже однажды стоили часа
     (.aiyy-top{max-width:992px}). */
  .cmsg-b{max-width:70%;}
  .cmsg-b img{max-height:60vh;object-fit:contain;}
  .aiyy-input-wrap{padding:12px 26px 18px;}
  /* Строка ввода стоит в той же колонке, что и письмо: иначе поле
     съезжает относительно текста, к которому оно относится. */
  .aiyy-input{max-width:720px;margin:0 auto;}
  /* ПОД ОДНУ ШИРИНУ С ПОЛЕМ ВВОДА. 8 сентября, слово хозяина: «может фото
     над „напишите сообщение“ поставятся? А то стоят слишком широко,
     вообще не айс».

     Стояли они и правда над полем — но во всю ширину разговора, а поле
     сужено до 720 и стоит по центру. Полоска на полтора экрана над узким
     полем и есть та самая ширина. Всё, что живёт над вводом, теперь
     держится той же колонки: и снимки, и подсказки, и плашки. */
  .chat-attach, .chips-wrap, .chat-hook, .ins-bar, .bday-ask{
    max-width:720px;margin-left:auto;margin-right:auto;}

  /* ПОЛЕ ВВОДА ВЫШЕ. 5 сентября.

     Померил: 39 точек высоты — полоска на одну строку. Она говорит
     «напиши запрос», а нам нужно ровно обратное: человек должен
     рассказать про свой день, а из одной фразы карусель не собрать.
     Высота поля — это обещание, и наше обещание было неверным.

     78 точек — это две строки текста плюс поля. Не пустая трата места:
     до этой высоты поле и так дорастало, стоило начать вторую строку.
     Теперь оно с этого начинается, а дальше растёт как росло, до 168.

     Только на мониторе: на телефоне экран короткий, и лишние 39 точек
     там отняли бы строку переписки. */
  /* СТРОКА ВВОДА ВЫРОВНЕНА. 5 сентября, слово хозяина: «почему
     „напишите сообщение“ такое уродское».

     Виноват я, вчерашней правкой. Я поднял высоту у самого поля
     (min-height у textarea), а строка выравнивает содержимое по НИЖНЕМУ
     краю — align-items:flex-end. Поле выросло вверх, подпись уехала под
     потолок, а «+» и микрофон остались внизу: три вещи на трёх разных
     высотах.

     Правильно так: высоту держит САМА СТРОКА, а содержимое стоит по
     центру. Тогда подпись, «+» и микрофон на одной линии, а при длинном
     рассказе строка растёт вниз, как и росла. */
  .aiyy-input{padding:8px 10px 8px 16px;border-radius:22px;
    min-height:74px;align-items:center;}
  .aiyy-input textarea{font-size:16px;line-height:1.5;padding:4px 0;}

  /* ДЕРЕВО ДЕРЖИТСЯ СТРОКИ ВВОДА. 5 сентября.

     Кнопка сборки прижата к правому краю ВСЕГО разговора. Пока разговор
     был узким, она стояла у поля ввода и читалась как его часть. Стоило
     убрать панель виджетов — разговор стал 1080 точек, колонка письма
     осталась 720, и дерево уехало в пустое поле справа: висит само по
     себе, непонятно к чему относится.

     Лечится тем же, чем и колонка: обёртка кнопки получает ширину
     письма и встаёт по центру. Кнопка остаётся у правого края — но
     теперь у правого края СТРОКИ ВВОДА, а не окна.

     Заодно уменьшаю её с 52 до 44 и опускаю к строке: на мониторе
     кнопка не пальцем нажимается, ей не нужен размер под палец, а
     тяжёлый кружок в 52 точки спорил с самим полем. */
  /* ВСЁ ЭТО ОТМЕНЕНО 8 сентября вместе с переносом кнопки в строку ввода.

     Правила выше держали ПЛАВАЮЩИЙ кружок: обёртку в 720 точек, кружок
     поменьше, а список — прибитым к обёртке (position:absolute) и в
     семидесяти точках над ней. Кнопка переехала в строку, обёртка стала
     пустой полосой высотой в ноль — и список продолжал считать место от
     неё: выскакивал посреди разговора, поверх сообщений.

     Слово хозяина: «выскакивает в одном месте, возвращается в другом,
     ужасная анимация».

     Теперь место у списка одно на все экраны: он прибит к окну и встаёт
     ровно над своей кнопкой, а считает это fabMakeOpen по её настоящему
     месту. Ни телефону, ни монитору отдельных правил не нужно. */
  .makefab{max-width:720px;margin-left:auto;margin-right:auto;}
  .aiyy-input textarea{font-size:16px;}

  /* ---- карусель: на мониторе видно сразу несколько экранов ---- */
  .car-strip{gap:14px;}
  .car-slide,.car-add-cell{width:190px;}
  .car-view img{max-height:82vh;}

  /* ===== ВСЕ ОКНА — ПО ЦЕНТРУ, А НЕ ВО ВСЮ ШИРИНУ =====

     31 августа, слово хозяина про редактор стикера: «кто будет работать
     в таком редакторе?». Окно растянулось на весь монитор, кнопки
     настроения разъехались по метру друг от друга — работать в таком
     и правда нельзя.

     Причина моя: в приложении ДВЕНАДЦАТЬ семейств окон (.pv-sheet,
     .acc-sheet, .plan-sheet, .lang-sheet и другие), а я чинил одно —
     .sheet. Остальных просто не видел. Устроены все одинаково: тёмная
     подложка во весь экран, внутри белая коробка, прижатая к низу. На
     телефоне это правильно, на мониторе — нет.

     Поэтому правим не по одному, а разом: подложка ставит коробку по
     центру, коробка получает разумную ширину и скруглённые углы со всех
     сторон. Ширину даём с запасом на содержимое: в редакторе стикера
     три ряда кнопок, им нужно место. */
  .sheet{left:50%;right:auto;bottom:auto;top:50%;
    transform:translate(-50%,-50%) scale(.96);opacity:0;pointer-events:none;
    width:min(680px,88vw);max-height:86vh;border-radius:20px;
    box-shadow:0 24px 80px rgba(40,20,35,.28);transition:opacity .2s var(--в),transform .2s var(--в);}
  .sheet.on{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:auto;}

  .pv-sheet, .acc-sheet, .lang-sheet, .plan-sheet, .save-sheet,
  .mld-sheet, .fr-sheet, .fb-sheet, .vt-sheet{
    align-items:center!important;justify-content:center!important;}

  /* ОКНО ЧЕЛОВЕКА ВО ВСЮ ШИРИНУ. 31 августа, снимок хозяина: карточка
     Билла Гейтса из «В твой день» растянулась на весь монитор.

     Причина — правило ниже метило в класс, которого нет: .fr-b. Ящик
     у этой семьи окон зовётся .fr-sh-b (новость, человек из «В твой
     день», вдохновение — все три). Той же ошибкой был .fb-b: у окон
     обратной связи ящик — .fb-box. Проверено по разметке всех
     двенадцати семей: остальные имена верны. */
  .pv-sheet .pv-b, .acc-sheet .acc-b, .lang-sheet .lang-b,
  .plan-sheet .plan-b, .save-sheet .ss-b, .mld-sheet .mld-b,
  .fr-sheet .fr-sh-b{
    width:min(720px,86vw)!important;max-width:720px!important;
    max-height:84vh!important;border-radius:20px!important;
    box-shadow:0 24px 80px rgba(40,20,35,.30);}
  /* Окна обратной связи уже, чем остальные: форма на 720 точек —
     это поле ввода в полметра. Свою ширину они держат сами, здесь
     только углы и тень, как у окна, а не у выезжающего снизу листа. */
  .fb-sheet .fb-box{border-radius:20px!important;max-height:84vh!important;
    box-shadow:0 24px 80px rgba(40,20,35,.30);}
  /* Линия внутри окна человека: на телефоне ей дают 46% высоты экрана,
     чтобы шапка окна с крестиком не уезжала при прокрутке. В окне на
     84vh список может быть выше — шапка всё равно остаётся на месте. */
  .fr-sheet .fr-sh-b .td-life{max-height:calc(84vh - 230px);}

  /* Ряды кнопок внутри окон не растягиваем на всю ширину: кнопка
     «Приветствие» шириной в полметра выглядит нелепо и по ней трудно
     попасть глазом. */
  .pv-sheet .pv-b .stk-moods,
  .pv-sheet .pv-b .stk-row{max-width:640px;margin-left:auto;margin-right:auto;}

  /* ---- правка фото: было и стало крупно, рядом ---- */
  /* Тот же класс-призрак, что у окон (31 августа): .pe-wrap и .pe-box в
     разметке нет, лист редактора зовётся .pe-b — правило не работало, и
     редактор на мониторе стоял в 360 точек. */
  .pe .pe-b{width:min(920px,92vw)!important;max-width:920px!important;}
  .pe-pics{gap:16px;}
  .pe-pics img{max-height:46vh;}
  .pe-b{padding:22px 26px 0;}

  /* ---- тарифы в два столбца ---- */
  .plan-sheet .plan-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;}
  .plan-sheet .plan-why,.plan-sheet .tok-box{grid-column:1 / -1;}
  /* БЛОК КОНТОР — ВО ВСЮ ШИРИНУ. 13 сентября: на мониторе список тарифов
     это сетка в две колонки, а заголовок «Тэрилтэлэргэ» я поставил
     обычным блоком — он занял свободную ячейку справа и повис в пустоте
     отдельно от своей карточки. Заголовок и карточка — одно целое,
     значит оба тянутся на всю ширину и стоят друг под другом. */
  .plan-sheet .plan-org-h,.plan-sheet .plan-i.org{grid-column:1 / -1;}
  .plan-sheet .plan-org-h{margin-top:8px;}

  /* Плавающая кнопка не должна висеть посреди пустоты. */
  .fab-wrap{right:34px;bottom:34px;}
}

/* Очень широкий монитор: колонки шире. */
@media (min-width:1500px){
  .chatlist{width:360px;max-width:360px;}
  .pg{left:360px;}
  #pg-chat.on{left:360px;}
  .panel{width:min(620px,88vw);max-width:620px;}
  body.линия-рядом #pg-selfline{width:600px;}
  body.линия-рядом #pg-chat{right:600px;}
  #pg-myline.on, #pg-selfline.on, #pg-life.on,
  #pg-kinline.on, #pg-person.on, #pg-contacts.on{width:600px;}
  #body:has(#pg-myline.on) #pg-chat,
  #body:has(#pg-selfline.on) #pg-chat,
  #body:has(#pg-life.on) #pg-chat,
  #body:has(#pg-kinline.on) #pg-chat,
  #body:has(#pg-person.on) #pg-chat,
  #body:has(#pg-contacts.on) #pg-chat{right:600px;}
  /* На очень широком мониторе колонку не расширяем: 940 знаков в строке
     читаются ХУЖЕ, чем 720, а не лучше. Растут только поля (5 сентября). */
  .aiyy-scroll > *{max-width:720px;}
  .aiyy-input{max-width:720px;}
  /* .aiyy-top{max-width:992px} УБРАНО 31 августа.

     Это правило я сам положил сюда раньше, и оно молча перебивало всё,
     что я потом делал со строкой: она сжималась до 992 точек и вставала
     слева, а кнопка «у правого края» прижималась к краю этой обрезанной
     строки, а не экрана. Хозяин четыре раза говорил «не исправляешь» —
     и был прав: я правил одно место, а ломало другое, ниже по файлу.

     Строка должна идти во всю рабочую зону: колонкой держится только
     текст писем, а не шапка над ними. */
}

/* ВКЛАДКИ В ОКНЕ ТАРИФОВ. 1 сентября: подписка · токены · история. */
.plan-tabs{display:flex;gap:6px;margin:0 0 12px;}
.plan-tab{flex:1;padding:9px 6px;border:none;border-radius:10px;cursor:pointer;
  background:var(--wa-soft);color:var(--ink-2);font-size:13.5px;font-weight:700;
  font-family:inherit;}
.plan-tab.on{background:var(--wa);color:#fff;}
.plan-per{display:flex;gap:6px;margin:0 0 12px;}
.plan-pb{flex:1;padding:9px 6px;border:1.5px solid var(--line);border-radius:10px;
  background:#fff;color:var(--ink-2);font-size:13.5px;font-weight:700;cursor:pointer;
  font-family:inherit;}
.plan-pb.on{border-color:var(--wa);color:var(--wa-deep);background:var(--wa-soft);}
.plan-pb i{font-style:normal;color:var(--wa-deep);font-size:12px;}
.plan-p s{opacity:.5;font-weight:400;}
/* История трат: дата · за что · сколько. */
.hist{display:flex;flex-direction:column;}
.hist-r{display:flex;align-items:center;gap:10px;padding:9px 2px;
  border-bottom:1px solid var(--line);font-size:13.5px;}
.hist-d{flex:0 0 auto;color:var(--ink-3);font-size:12px;min-width:64px;}
.hist-d span{opacity:.7;}
.hist-w{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hist-n{flex:0 0 auto;font-weight:800;color:var(--ink-2);}
.hist-n.plus{color:#2E7D32;}

/* Выбор, когда стикеры кончились: токены · тариф · потом (1 сентября). */
.stk-more{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px;}
.stk-more-b{flex:1 1 44%;padding:11px 8px;border-radius:12px;border:1.5px solid var(--wa);
  background:#fff;color:var(--wa-deep);font-size:14px;font-weight:700;cursor:pointer;
  font-family:inherit;}
.stk-more-b.main{background:var(--wa);color:#fff;border-color:var(--wa);}
.stk-more-b.thin{flex:1 1 100%;border-color:var(--line);color:var(--ink-3);font-weight:600;}
.stk-more-d{flex:1 1 100%;font-size:12.5px;color:var(--ink-3);line-height:1.45;margin-top:2px;}

/* СТИКЕР НА МОНИТОРЕ — В КОЛОНКУ, А НЕ ВО ВСЮ ШИРИНУ. 1 сентября, снимок
   хозяина: наклейка вылезла на весь экран, в кадре остался один венок.

   Причина. Окна стикера (#stk-view — показ готовых, #stk-arch — «Мои
   стикеры») лежат на #phone во всю его ширину, а сама картинка внутри
   стоит width:100%. На телефоне #phone — 390 точек, и всё правильно;
   после переноса приложения на монитор он стал во всё окно, и та же
   сотня процентов превратилась в 1900 точек.

   Держим содержимое в колонке той же ширины, что и телефон: стикер
   квадратный, и больше 420 точек ему ни к чему — он всё равно уйдёт в
   переписку размером с ноготь. На телефоне правило ничего не меняет:
   там ширина окна и так меньше предела. */
#stk-view, #stk-arch{align-items:center;}
#stk-view > *, #stk-arch > *{width:100%;max-width:420px;box-sizing:border-box;}

/* ТЕНЬ ВМЕСТО СПЛОШНОЙ ЛИНИИ. 1 сентября, второе правило из того же набора.

   Сплошная рамка режет глаз и делает карточку плоской наклейкой: линия
   одинаково темна со всех сторон, а в жизни свет падает сверху. Мягкая
   тень отделяет не хуже, но даёт глубину и не спорит с содержимым.

   Меняем не везде — 265 рамок в файле, и большая часть держит разметку
   (полосы списков, разделители). Берём только карточки, на которые
   человек смотрит и выбирает: тарифы и пакеты токенов. Рамка не убрана
   совсем, а ослаблена до полупрозрачной — иначе на тёмной теме карточка
   растворится. */
.plan-sheet .plan-i{border-color:rgba(40,20,35,.06);box-shadow:var(--тень-1);
  transition:box-shadow .18s var(--мяг), border-color .18s var(--мяг);}
.plan-sheet .plan-i.cur{box-shadow:var(--тень-2);}
.tok-p{border-color:rgba(199,125,168,.35);box-shadow:var(--тень-1);
  transition:box-shadow .18s var(--мяг), border-color .18s var(--мяг), transform .14s var(--в);}
.tok-p:active{transform:scale(.985);box-shadow:var(--тень-2);}

/* Карточка для организаций в списке тарифов (1 сентября). Отличается от
   личных: без цены за месяц и без «Выбрать» — у контор счёт и договор. */
.plan-sheet .plan-i.org{background:var(--wa-soft);border-color:rgba(199,125,168,.28);}
/* Строка «кому» у контор шла крупной и чёрной — крупнее названия тарифа.
   Даём тот же вид, что у личных карточек (1 сентября). */
.plan-sheet .plan-i.org .plan-w{font-size:13px;font-weight:700;color:var(--wa-deep);}
/* ОКНО «КАК РИСУЕМ?» (13 сентября). Спрашиваем до траты токена: что
   рисовать, что должно быть в кадре, каким должен быть стиль. */
.cw-back{position:fixed;inset:0;z-index:1200;background:rgba(20,10,16,.55);
  display:flex;align-items:flex-end;justify-content:center;}
@media (min-width:720px){ .cw-back{align-items:center;} }
/* ОКНО «КАК РИСУЕМ?» НА ТЁМНОЙ ТЕМЕ. 14 сентября, снимок хозяина.

   Фон коробки брался из переменной --bg-1, а такой переменной в
   приложении нет вовсе — ни в светлой теме, ни в тёмной. Работала
   только запаска «#fff», и работала всегда: на тёмной теме выходила
   белая коробка, а буквы в ней — светлые, из общей темы. Белым по
   белому: заголовок «Как рисуем?» пропадал, а тёмное поле ввода
   висело на белом посреди тёмного экрана.

   Берём --bg: он задан в обеих темах, белый в светлой и тёмный в
   тёмной, и коробка встаёт как все прочие окна. */
.cw-box{background:var(--bg);width:min(520px,100%);max-height:88vh;overflow:auto;
  border-radius:18px 18px 0 0;padding:16px 16px 20px;box-shadow:var(--тень-2);}
@media (min-width:720px){ .cw-box{border-radius:18px;} }
.cw-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.cw-h b{font-size:17px;font-weight:800;color:var(--ink-1);}
.cw-close{background:none;border:none;font-size:19px;color:var(--ink-3);cursor:pointer;
  padding:4px 6px;line-height:1;}
/* ИМЯ РАЗВЕДЕНО. 15 сентября: «Айыы интернетынан көрдүүр» вылезала
   огромной плашкой на телефоне. Причина не в шрифте — класс cw-t был
   объявлен дважды. Выше, в полоске ожидания, он значит «мелкий серый
   текст». Здесь значил «поле ввода во всю ширину с рамкой». Это правило
   стоит в файле ниже и при равном весе побеждало — полоска получала
   рамку, скругление и отступы и раздувалась на всю строку.
   Полю карусели даём своё имя; полоска остаётся как была. */
.cw-area{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;
  padding:12px 13px;font:inherit;font-size:15px;color:var(--ink-1);background:transparent;
  resize:vertical;}
.cw-slots{display:flex;gap:12px;margin-top:14px;}
.cw-slot{flex:1;min-width:0;}
.cw-lab{font-size:12.5px;color:var(--ink-3);line-height:1.35;margin-bottom:6px;min-height:34px;}
.cw-add{width:100%;height:92px;border:1.5px dashed var(--line);border-radius:12px;
  background:transparent;color:var(--ink-3);font-size:26px;cursor:pointer;}
.cw-pic{position:relative;height:92px;border-radius:12px;overflow:hidden;}
.cw-pic img{width:100%;height:100%;object-fit:cover;display:block;}
.cw-x{position:absolute;top:5px;right:5px;width:24px;height:24px;border:none;
  border-radius:50%;background:rgba(20,10,16,.62);color:#fff;font-size:13px;
  cursor:pointer;line-height:1;}
/* Карандаш — заменить снимок, слева от крестика. Тот же вид и размер:
   это два действия одного ряда, и выделять одно из них незачем. */
.cw-e{position:absolute;top:5px;right:34px;width:24px;height:24px;border:none;
  border-radius:50%;background:rgba(20,10,16,.62);color:#fff;font-size:13px;
  cursor:pointer;line-height:1;}
.cw-go{width:100%;margin-top:16px;padding:15px 18px;border:none;border-radius:14px;
  background:var(--wa);color:#fff;font-size:16px;font-weight:800;cursor:pointer;}

/* Замок на пакетах токенов для бесплатного тарифа (13 сентября).
   Не серые кнопки и не пустота: объяснение и дорога на тариф. */
.tok-gate{background:var(--wa-soft);border:1px solid rgba(199,125,168,.28);
  border-radius:14px;padding:16px;text-align:center;margin-top:12px;}
.tok-gate b{display:block;font-size:15px;font-weight:800;color:var(--ink-1);}
.tok-gate span{display:block;font-size:13px;color:var(--ink-2);line-height:1.5;margin-top:6px;}
.tok-gate button{margin-top:12px;padding:12px 18px;border-radius:12px;background:#fff;
  color:var(--wa-deep);border:1.5px solid var(--wa);font-size:14.5px;font-weight:800;
  cursor:pointer;}

/* Заголовок и ряды пакетов у контор (13 сентября). Тэрилтэ вынесен из
   общего ряда тарифов: он не четвёртая ступень, а другой способ купить. */
.plan-org-h{font-size:13px;font-weight:800;color:var(--ink-3);
  text-transform:uppercase;letter-spacing:.04em;margin:18px 0 8px;}
.org-step{display:flex;align-items:center;justify-content:center;gap:14px;margin:4px 0 2px;}
.org-step button{width:40px;height:40px;border-radius:50%;border:2px solid var(--wa);background:transparent;
  color:var(--wa-deep);font:700 22px/1 Inter,system-ui,sans-serif;cursor:pointer;}
.org-step button:disabled{opacity:.3;cursor:default;}
.org-step span{min-width:96px;text-align:center;font-size:16px;font-weight:800;color:var(--ink-1);}
.org-st-c{text-align:center;font-size:24px;font-weight:800;color:var(--wa-deep);}
.org-st-c small{display:block;font-size:12.5px;font-weight:500;color:var(--ink-3);}
.org-st-s{text-align:center;font-size:13px;color:var(--ink-2);margin:2px 0 6px;}
.org-rows{margin-top:10px;border-top:1px solid rgba(199,125,168,.22);}
.org-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
  padding:9px 0;border-bottom:1px solid rgba(199,125,168,.22);}
.org-row b{font-size:14px;font-weight:800;color:var(--ink-1);min-width:74px;}
.org-row span{font-size:14px;font-weight:700;color:var(--wa-deep);}
.org-row i{font-size:12.5px;font-style:normal;color:var(--ink-3);
  margin-left:auto;white-space:nowrap;}
.plan-buy.org{display:block;width:100%;box-sizing:border-box;text-align:center;
  padding:13px 10px;border-radius:12px;background:#fff;color:var(--wa-deep);
  border:1.5px solid var(--wa);font-size:14.5px;font-weight:800;text-decoration:none;
  margin-top:12px;}

/* «Скачать память файлом» в окне «Поделиться линией» (2 сентября). */
.sh-app.sh-file{flex-basis:100%;background:var(--wa-soft);color:var(--wa-deep);font-weight:700;}

/* Погода под событием на линии (2 сентября): «🌡 −41° · метель». */
.llpi-w{display:block;font-size:12px;color:var(--ink-3);margin-top:2px;min-height:0;}
.llpi-w:empty{display:none;}

/* ЛИСТИКИ ДНЯ (2 сентября). Жёлтые, как бумажка на мониторе, — не кнопка. */
/* Воздух вокруг листиков и черта под ними: впритык к счётчику и к линии
   они читались как одна куча (снимок хозяина, 2 сентября). */
.mlnotes{margin:18px 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line);}
.mlnotes:empty{display:none;}
.notes-row{display:flex;flex-wrap:wrap;gap:8px;}
.note{position:relative;width:calc(33.333% - 6px);min-height:64px;background:#FFF3A8;
  border-radius:3px 3px 12px 3px;box-shadow:0 2px 6px rgba(120,90,0,.18), inset 0 -18px 0 rgba(0,0,0,.02);
  transform:rotate(-.6deg);padding:8px 22px 8px 9px;box-sizing:border-box;}
.note:nth-child(2n){transform:rotate(.7deg);background:#FFEE8C;}
.note:nth-child(3n){transform:rotate(-.3deg);background:#FFF6B8;}
.note-t{font:600 13px/1.3 "Caveat","Comic Sans MS",Inter,sans-serif;font-size:14px;color:#3A2E00;
  outline:none;min-height:34px;word-break:break-word;}
/* Подпись «что сегодня» на пустом листике убрана 2 сентября: пусто и есть пусто. */
.note-x{position:absolute;top:3px;right:4px;border:none;background:transparent;color:#C0392B;
  font-size:12px;font-weight:700;cursor:pointer;padding:3px 5px;line-height:1;opacity:.55;}
.note-x:hover{opacity:1;}
/* Зелёная галочка «сделал» — внизу справа, уходит в линию (2 сентября). */
.note-ok{position:absolute;right:6px;bottom:6px;width:24px;height:24px;border-radius:50%;
  border:none;background:#2E9E5B;color:#fff;font-size:14px;font-weight:800;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:0 1px 3px rgba(0,0,0,.2);opacity:.9;}
.note-ok:hover{opacity:1;transform:scale(1.06);}
.note{padding-bottom:34px;}
/* Плюс — строго по центру. Он наследовал отступы листика (справа под
   крестик, снизу под галочку) и уезжал влево-вверх. Снимок хозяина,
   2 сентября: «перфекционисты увидят и дропнут». */
.note-add{display:flex;align-items:center;justify-content:center;padding:0;font-size:26px;font-weight:300;
  line-height:1;color:#A08B2A;background:#FFF9D6;border:1.5px dashed #E0CF6A;box-shadow:none;transform:none;cursor:pointer;}
.notes-hint{font-size:12px;color:var(--ink-3);margin-top:8px;}
@media (max-width:480px){ .note{width:calc(50% - 4px);} }
/* Вечерний вопрос. */
.notes-ask{background:var(--wa-soft);border-radius:12px;padding:12px 12px 10px;margin-bottom:10px;}
.notes-ask b{display:block;font-size:14px;margin-bottom:8px;color:var(--wa-deep);}
.notes-ask-i{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid rgba(199,125,168,.18);font-size:13.5px;}
.notes-ask-i span{flex:1;min-width:0;}
.notes-ask-i button{border:none;background:var(--wa);color:#fff;border-radius:9px;padding:6px 10px;font-size:12.5px;font-weight:700;cursor:pointer;}
.notes-ask-i button.thin{background:transparent;color:var(--ink-3);border:1px solid var(--line);}
.notes-ask-done{margin-top:8px;border:none;background:transparent;color:var(--wa-deep);font-weight:700;font-size:13px;cursor:pointer;padding:4px 0;}
/* Порядок и состав блоков. */
/* ЗАГОЛОВОК БЛОКА С ПЕРЕКЛЮЧАТЕЛЕМ. 5 сентября, второй заход.

   Сперва я поставил в углу голый знак «−» — почти прозрачный, без
   названия. Хозяин: «их хрен сыщешь, они невидимые и криво стоят».
   Верно: знак без подписи не читается как кнопка, а прижатый к правому
   краю висел непонятно над чем.

   Теперь это полноценная строка-заголовок: название слева, знак справа,
   вся строка нажимается. Отступы одинаковые сверху и снизу, свёрнутый
   и развёрнутый вид одной высоты — панель не дёргается при сворачивании. */
.mlfold{display:block;margin:14px 0 6px;}
.mlfold:first-child{margin-top:2px;}
.mlfold-b{display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;box-sizing:border-box;cursor:pointer;text-align:left;
  border:1px solid var(--line,#e6dbe3);background:transparent;border-radius:9px;
  padding:7px 10px;color:var(--ink-2,#6b5a66);font-size:12.5px;line-height:1.2;}
.mlfold-b:hover{background:rgba(0,0,0,.035);}
.mlfold-t{font-weight:600;letter-spacing:.01em;}
.mlfold-z{font-size:15px;line-height:1;opacity:.75;flex:0 0 auto;}
.mlfold.off .mlfold-b{opacity:.72;border-style:dashed;}

/* Плитки поводов (5 сентября). Ближайший — заметнее остальных. */
.povod-i{display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  width:100%;box-sizing:border-box;text-align:left;cursor:pointer;
  border:1px solid var(--line,#e6dbe3);background:var(--panel,#fff);border-radius:10px;
  padding:9px 11px;margin:0 0 7px;}
.povod-i:hover{border-color:#c894b0;}
.povod-i b{font-size:13.5px;color:var(--ink,#42323d);font-weight:600;}
.povod-i i{font-style:normal;font-size:11.5px;color:var(--ink-3,#9c8f98);}
.povod-i.near{background:var(--wa-soft,#f8f0f5);border-color:var(--wa,#dcbcd0);}
/* Строка без названия: остался только «+ Добавить», и держать под неё
   полную высоту заголовка незачем (5 сентября). */
.mlcap-bare{min-height:0;margin-bottom:2px;}

/* Ряд под виджетами: два дела, которым больше негде стоять. Приглушён —
   это не то, за чем сюда приходят (5 сентября). */
.mllay-row{text-align:right;margin:10px 0 0;opacity:.65;}
.mllay-row:hover{opacity:1;}
.mllay-b{border:none;background:transparent;color:var(--ink-3);font-size:12.5px;cursor:pointer;padding:6px 0;}
.mllay{background:var(--panel);border-radius:12px;padding:8px 12px;margin:6px 0 10px;}
.mllay-i{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
.mllay-i:last-child{border-bottom:none;}
.mllay-i label{display:flex;align-items:center;gap:8px;cursor:pointer;}
.mllay-mv button{border:1px solid var(--line);background:#fff;border-radius:7px;width:28px;height:26px;cursor:pointer;color:var(--ink-2);margin-left:4px;}
.mllay-mv button:disabled{opacity:.3;cursor:default;}

/* Вход через Яндекс — кнопка в окне входа (2 сентября). */
.acc-ya{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;
  padding:13px 12px;border-radius:12px;background:#000;color:#fff;text-decoration:none;
  font-size:15px;font-weight:700;margin:4px 0 10px;}
.acc-ya-y{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;
  border-radius:50%;background:#FC3F1D;color:#fff;font-weight:900;font-size:14px;}
.acc-or{text-align:center;font-size:12.5px;color:var(--ink-3);margin:0 0 10px;}

/* Переключатель «Саха · Все» над рядом «В твой день» (2 сентября). */
.tday-geo{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px;}
.tday-mode{display:inline-flex;gap:6px;}
.tday-sep{flex:1;min-width:6px;}
.tday-g{border:1.5px solid var(--line);background:#fff;color:var(--ink-2);border-radius:999px;
  padding:5px 12px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;}
.tday-g.on{background:var(--wa-soft);border-color:var(--wa);color:var(--wa-deep);}

/* Имена под лицами афиши. 8 сентября: по одному полю на артиста,
   ноготок рядом — чтобы человек видел, кому пишет имя. */
.ad-e-names{margin:10px 0 4px;}
.ad-e-nh{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ink-2);margin-bottom:7px;}
.ad-e-nrow{display:flex;align-items:center;gap:9px;margin-bottom:7px;}
.ad-e-nrow img{width:38px;height:38px;border-radius:50%;object-fit:cover;
  flex:0 0 38px;border:2px solid var(--line);}
.ad-e-nrow input{flex:1;min-width:0;}

/* Пример под тычок в пузыре АЙЫЫ (8 сентября): виден только вопрос,
   пример разворачивается по нажатию и не закрывает экран. */
.cmsg-ex{margin-top:9px;}
.cmsg-ex-b{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;
  border-radius:11px;border:1.5px solid var(--line);background:none;
  font-family:'Inter',sans-serif;font-size:13px;font-weight:600;
  color:var(--wa-deep);cursor:pointer;line-height:1.2;}
.cmsg-ex-b i{font-style:normal;font-size:15px;opacity:.7;}
.cmsg-ex-b:active{background:var(--wa-soft);}
.cmsg-ex-t{margin-top:9px;font-size:14px;line-height:1.5;color:var(--ink-2);}
html[data-theme="dark"] .cmsg-ex-b{color:var(--wa);}

/* ===== ПЛАШКА ОШИБКИ И ПОЛОСА ЗАПИСИ В ТЁМНОЙ ТЕМЕ =====

   8 сентября, слово хозяина: «цвет ошибку сделай под стать тёмному цвету
   интерфейса, а то глаза режет» и «сделай вровень элемент записи, а то
   она растянута опять на весь экран».

   Плашка была кремовой с коричневыми буквами — из светлой темы, где ей и
   место. На чёрном экране это горящий прямоугольник: глаз цепляется за
   него раньше, чем за сам разговор. Берём тёмную подложку и мягкую
   янтарную рамку — читается как предупреждение, но не слепит.

   Ширина — та же беда, что была у полоски со снимками: поле ввода сужено
   до 720 и стоит по центру, а плашка и полоса записи тянулись во всю
   ширину разговора. Ставим их в ту же колонку. */
html[data-theme="dark"] .mic-note{
  background:rgba(120,84,28,.16);
  border-color:rgba(214,164,74,.34);
  color:#E4C88E;}
html[data-theme="dark"] .mic-note b{background:rgba(255,255,255,.07);}
html[data-theme="dark"] .mic-live{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.12);}
html[data-theme="dark"] .mic-live-t{color:var(--ink-2);}

@media (min-width:1024px){
  .mic-note, .mic-live{max-width:720px;margin-left:auto;margin-right:auto;}
}

/* ===== «ЗАПИСАНО В ЛИНИЮ» В ТЁМНОЙ ТЕМЕ =====

   9 сентября, снимок хозяина: «твоя линия обновлена реально так выглядит
   в тёмной теме?»

   Нет, так быть не должно. Плашка осталась из светлой темы: светло-сиреневый
   фон с жёстко прописанными цветами, а буквы на ней — тёмные из общей темы,
   которая в потёмках стала светлой. Получилась светлая карточка с почти
   невидимым текстом.

   Здесь цвета были вбиты числами (#F3EEF7, #EBD9E6, #B45309), а такие
   переключение темы не переживают. Переводим на прозрачные слои: они
   ложатся и на светлое, и на тёмное. */
html[data-theme="dark"] .ev-added{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.13);}
html[data-theme="dark"] .ev-added.kin{
  background:rgba(199,125,168,.10);
  border-color:rgba(199,125,168,.26);}
html[data-theme="dark"] .ev-added b{color:var(--wa);}
html[data-theme="dark"] .ev-added b.new{color:var(--wa);}
html[data-theme="dark"] .ev-added b.upd{color:#E8B473;}
html[data-theme="dark"] .ev-added b.nm{color:var(--ink);}
html[data-theme="dark"] .ev-added span{color:var(--ink-2);}
html[data-theme="dark"] .ev-added button{color:var(--wa);}

/* ===== ЧЁРНАЯ ПЛАШКА НА ШИРОКОМ ЭКРАНЕ =====

   9 сентября, слово хозяина: «мне не нравится, где они выходят».

   Он прав. На телефоне плашка стоит над полем ввода, и это верно: там
   узко, и глаз всё равно внизу. А на мониторе она всплывает посреди
   огромной пустоты — будто её обронили. Ни к чему не привязана, и оттого
   кажется случайной.

   Переносим её в правый нижний угол окна. Так делают везде, и на то есть
   причина: угол — место служебных вестей, он не спорит с содержимым и не
   лезет туда, куда человек смотрит. Плашка уходит сама, места не занимает,
   а глаз её замечает боковым зрением.

   Телефон не трогаем: там она на месте. */
@media (min-width:1024px){
  .toast{
    left:auto; right:24px; bottom:24px;
    transform:none;
    max-width:340px;
    white-space:normal;
    text-align:left;
    transition:opacity .22s var(--в), transform .22s var(--в);
  }
  /* Выезжает снизу — движение подсказывает, что это весть, а не часть
     страницы. */
  .toast:not(.show){ transform:translateY(8px); }
  .toast.show{ transform:translateY(0); }
}

/* ===== ТУМБЛЕР «ОБЫЧНЫЙ / ТЭРИЛТЭ» =====

   9 сентября, слово хозяина: «с эффектом стекла как у iOS, но сильно не
   выделяющийся в общем фоне дизайна».

   Стекло здесь настоящее, а не нарисованное: полупрозрачная подложка плюс
   размытие того, что под ней (backdrop-filter). Оттого он не спорит с
   фоном — он им и подкрашен, и в светлой теме, и в тёмной.

   Не выделяется нарочно: буквы мелкие, рамки почти нет, цветом отмечен
   только выбранный. Это переключатель для своих, а не призыв. */
.org-tumb{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:2px;
  margin:0 auto 12px;
  padding:3px;
  border-radius:999px;
  background:rgba(120,100,115,.10);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:saturate(150%) blur(14px);
  -webkit-backdrop-filter:saturate(150%) blur(14px);
  box-shadow:0 1px 2px rgba(0,0,0,.05);
}
.org-tumb button{
  position:relative; z-index:2;
  border:none; background:none; cursor:pointer;
  padding:6px 15px; border-radius:999px;
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600;
  color:var(--ink-3);
  transition:color .18s var(--в);
  white-space:nowrap;
}
.org-tumb button.on{ color:var(--ink); }
/* Бегунок — тоже стеклянный, ездит под буквами. */
.org-tumb-i{
  position:absolute; z-index:1; top:3px; bottom:3px;
  border-radius:999px;
  background:rgba(255,255,255,.55);
  box-shadow:0 1px 3px rgba(0,0,0,.10);
  transition:left .22s var(--в), width .22s var(--в);
}
html[data-theme="dark"] .org-tumb{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.10);
}
html[data-theme="dark"] .org-tumb-i{
  background:rgba(255,255,255,.10);
  box-shadow:none;
}
html[data-theme="dark"] .org-tumb button.on{ color:#fff; }

/* ТУМБЛЕР РОВНО ПОД КНОПКОЙ, ТЕХ ЖЕ РАЗМЕРОВ. 9 сентября, слово хозяина:
   «тумблер должен занимать место ровно как и саҥа кэпсэтии, столько же».

   У кнопки «Новый разговор» отступы по 16 точек с боков и 14 снизу —
   я же поставил тумблер во всю ширину панели, и он вылезал на 32 точки
   шире неё. Берём те же отступы и ту же высоту, чтобы они стояли одной
   колонкой, край в край. */
#org-tumb-side{
  display:flex;
  width:auto;
  margin:0 16px 14px;
  height:44px;
  box-sizing:border-box;
  align-items:stretch;
}
#org-tumb-side button{ flex:1; padding:0 12px; font-size:13px; }
#org-tumb-side .org-tumb-i{ top:3px; bottom:3px; }
/* Вопрос «Где ты работаешь?» над кнопками заведений. */
.org-где-п{ width:100%; text-align:center; font-size:12.5px; color:var(--ink-3); margin-bottom:2px; }
.aiyy-what.org-где-сменить{ opacity:.6; }

/* ПЕСНЯ В РАЗГОВОРЕ — 17 сентября («Ырыата оҥор»). */
.song-card{background:var(--wa-soft);border-radius:14px;padding:12px;max-width:420px;
  display:flex;flex-direction:column;gap:9px}
.song-h{font-weight:700;color:var(--wa-deep);font-size:15px}
.song-card audio{width:100%;height:40px}
.song-words{white-space:pre-wrap;font-size:13.5px;line-height:1.45;color:var(--ink,#3b2f37)}
.song-note,.song-err{font-size:13px;color:#8d5b76}
.song-btn{align-self:flex-start;padding:7px 12px;border-radius:9px;border:1px solid #e6dbe3;
  background:#fff;color:#5b4a56;font-size:13px;cursor:pointer}
html[data-theme="dark"] .song-btn{background:#1E1728;border-color:#2A213A;color:#E9E3E6}
/* 9 октября, хозяин: «Аат-суол на розовом при тёмной теме» — заголовки карточек в тёмной теме светлые, без розового. */
html[data-theme="dark"] .song-h{color:#EEEAF2}
html[data-theme="dark"] .song-note,html[data-theme="dark"] .song-err{color:#B5A5C6}
html[data-theme="dark"] .song-words{color:#E9E3E6}

/* ВОЗДУХ НАД ПЕРВЫМ СООБЩЕНИЕМ. 17 сентября, слово хозяина: «слишком
   впритык сверху выходит первый чат — может слегка спустим?». Пузырь
   начинался вплотную под шапкой: отступа сверху у переписки не было вовсе.
   Класс ставит renderChatMsgs, только когда в разговоре есть сообщения, —
   пустой экран с деревом стоит как стоял. Два класса в правиле — чтобы
   перебить общее «padding:0 26px» у широкого экрана. */
#chat-scroll.chat-has{padding-top:18px}
@media (min-width:1024px){
  #chat-scroll.chat-has{padding-top:28px}
}

/* СЛОВА НА ЛИСТИКАХ В ТЁМНОЙ ТЕМЕ. 22 сентября, снимок хозяина: «в тёмной
   теме слова в блокнотике не видны».
   Листик в обеих темах жёлтый — бумажка есть бумажка. А общее правило
   тёмной темы (список «color:var(--ink)» в начале файла) красило текст
   листика в светлый цвет тёмной темы: светлое по жёлтому, не прочесть.
   Возвращаем тёмные чернила — и каретку, иначе не видно, где печатаешь.
   Правило точнее общего (.note .note-t), поэтому перебивает его. */
html[data-theme="dark"] .note .note-t{color:#3A2E00;caret-color:#3A2E00}

/* Готовая презентация уже в разговоре, а человек просит PowerPoint —
   кнопка «↓ PowerPoint» мягко вспыхивает (22 сентября, chatDeckShow). */
@keyframes carBtnGlow{0%,100%{box-shadow:0 0 0 0 rgba(199,125,168,0)}30%,70%{box-shadow:0 0 0 4px rgba(199,125,168,.55)}}
.car-btn.car-btn-glow{animation:carBtnGlow 1.2s ease-in-out 2}

/* ЯКУТСКИЕ ИМЕНА ПО ФОТО — 22 сентября («Аат-суол»). Карточка та же, что у
   песни; список — нумерованный, имя жирным, значение из документа. */
.names-card{max-width:520px}
.names-list{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:5px;
  font-size:13.5px;line-height:1.4;color:var(--ink,#3b2f37)}
.names-list b{color:var(--wa-deep)}
html[data-theme="dark"] .names-list{color:#E9E3E6}
html[data-theme="dark"] .names-list b{color:#B09BF0}

/* Ряд тихих кнопок под своим снимком: «✎ Поправить фото» и «✦ Стикер»
   рядом, одного вида (22 сентября). Стикер отличается только тем, что
   звёздочка и буквы чуть ярче — это предложение, а не служебная правка. */
.cmsg-fix{display:flex;flex-wrap:wrap;gap:8px}
.cmsg-fix button.stk-go{color:#fff;border-color:rgba(255,255,255,.45)}
html[data-theme="dark"] .cmsg-fix button.stk-go{background:transparent;color:#B09BF0;border-color:rgba(176,155,240,.45)}

/* Имя в карточке «Аат-суол» — кнопка к карусели (22 сентября). */
.names-hint{font-size:12.5px;color:#8d5b76;margin-top:-4px}
.names-pick{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--wa-deep);
  cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
/* 9 октября, хозяин: «в тёмной теме имена на розовом — это стиль светлой; пиши по тёмной теме». */
html[data-theme="dark"] .names-pick{color:#B09BF0;text-decoration-color:rgba(136,106,224,.6)}
html[data-theme="dark"] .names-hint{color:#B5A5C6}

/* КАРТОЧКА «ЭН» В ТЁМНОЙ ТЕМЕ. 22 сентября, снимок хозяина: «в тёмной теме
   почему блестит?». Фон карточки был переливом от --wa-soft к БЕЛОМУ —
   в тёмной теме первый цвет темнеет, а белый остаётся белым, и карточка
   сияла серебром посреди тёмного экрана. Заодно строка под линией
   («15 түбэлтэ эн олоҕун суолугар…») была не видна: тёмные буквы
   (--wa-dark) на тёмной подложке. Теперь перелив — от тёплого оттенка к
   цвету панелей, буквы светлые. */
html[data-theme="dark"] .self-card{background:linear-gradient(135deg,rgba(120,87,217,.20),var(--panel));
  border-color:rgba(120,87,217,.35)}
html[data-theme="dark"] .kin-echo{color:#D7D0EA}

/* ВИДЖЕТ «БҮГҮН ТӨРӨӨБҮТТЭР» — 22 сентября. */
.born-card{display:flex;flex-direction:column}
.born-hi{margin-top:auto;align-self:flex-start;padding:6px 10px;border-radius:9px;border:1px solid #e6dbe3;
  background:#fff;color:#8d5b76;font-size:12.5px;font-weight:600;cursor:pointer}
.born-add{margin:6px 0 4px;padding:8px 12px;border-radius:10px;border:1px dashed #c894b0;background:none;
  color:#8d5b76;font-size:13px;cursor:pointer}
.born-form label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:#6b5a66;margin:8px 0}
.born-form input,.born-form select{padding:9px 10px;border:1px solid #e6dbe3;border-radius:9px;font-size:14px;background:#fff;color:#2b2127}
.born-form .bs-row{display:flex;gap:8px}
.born-form .bs-row label{flex:1}
.born-form .bs-ok{flex-direction:row;align-items:flex-start;gap:8px}
.born-form .born-send{width:100%;padding:11px;border-radius:11px;border:0;background:var(--wa);color:#fff;font-weight:700;font-size:14px;cursor:pointer}
.born-why{font-size:13px;color:#6b5a66;margin:4px 0 6px}
.bs-msg{margin-top:8px;font-size:13px;color:#8d5b76;min-height:18px}
html[data-theme="dark"] .born-hi{background:#1E1728;border-color:#2A213A;color:#B09BF0}
html[data-theme="dark"] .born-add{color:#B09BF0;border-color:rgba(176,155,240,.5)}
html[data-theme="dark"] .born-form input,html[data-theme="dark"] .born-form select{background:#1E1728;border-color:#2A213A;color:#E9E3E6}
html[data-theme="dark"] .born-form label,html[data-theme="dark"] .born-why{color:#C9BFC4}

/* «БҮГҮН ТӨРӨӨБҮТТЭР» СПИСКОМ — 22 сентября, «надо органично». */
.bw-list{display:flex;flex-direction:column;gap:2px;max-height:360px;overflow-y:auto;margin:4px 0 2px}
.bw-row{display:flex;align-items:flex-start;gap:12px;padding:9px 4px;border-radius:12px}
.bw-row + .bw-row{border-top:1px solid var(--line,#eee)}
.bw-ava{position:relative;flex:0 0 46px;width:46px;height:46px;border-radius:50%;overflow:hidden;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}
.bw-ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.bw-info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.bw-name{font-weight:650;font-size:14.5px;line-height:1.25;cursor:pointer}
.bw-role{font-size:12.5px;line-height:1.35;color:#8a7f86}
.bw-hi{margin-top:4px;padding:0;border:0;background:none;color:var(--wa-deep);font-size:13px;font-weight:650;cursor:pointer}
.bw-hi:hover{text-decoration:underline}
.bw-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;
  font-size:11.5px;color:#a0969c;margin:6px 4px 2px}
.bw-link{padding:0;border:0;background:none;color:var(--wa-deep);font-size:12.5px;font-weight:600;cursor:pointer}
.bw-empty{font-size:13px;color:#8a7f86;padding:10px 4px}
html[data-theme="dark"] .bw-row + .bw-row{border-top-color:rgba(255,255,255,.07)}
html[data-theme="dark"] .bw-role{color:#A69CA2}
html[data-theme="dark"] .bw-hi,html[data-theme="dark"] .bw-link{color:#B09BF0}
html[data-theme="dark"] .bw-foot{color:#857996}

/* Две кнопки под поздравлением — рядом, поровну (22 сентября). */
.cmsg-paint2{display:flex;gap:8px;flex-wrap:wrap}
.cmsg-paint2 button{flex:1 1 150px}

/* Окно пересборки: кнопка «Собрать» стояла вплотную к полю «Тугу
   көннөрөбүт?» — снимок хозяина 23 сентября. Отступ сверху. */
#carask-go{margin-top:14px}

/* «+» между слайдами — 23 сентября. Кружок на стыке ячеек, поверх края
   предыдущего слайда; на ощупь крупный, на вид — тихий. */
.car-cell{position:relative}
.car-ins{position:absolute;left:-18px;top:38%;z-index:4;width:27px;height:27px;border-radius:50%;
  border:1.5px solid #fff;background:var(--wa);color:#fff;font-size:18px;font-weight:700;line-height:1;
  display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.25);opacity:.85}
.car-ins:hover,.car-ins:focus{opacity:1;transform:scale(1.08)}
html[data-theme="dark"] .car-ins{border-color:#1E1728}

/* Перетаскивание файла на слайд — 23 сентября. Пунктирная рамка и подпись
   по центру: сюда встанет. */
.car-drop-on{position:relative;outline:3px dashed var(--wa)!important;outline-offset:-3px}
.car-drop-on::after{content:attr(data-drop);position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center;text-align:center;padding:10px;background:rgba(217,119,87,.28);color:#fff;
  font-weight:700;font-size:14px;text-shadow:0 1px 3px rgba(0,0,0,.55);z-index:6;pointer-events:none;border-radius:inherit}

/* Правка текста прямо на слайде — 23 сентября. Окошко внизу экрана,
   слайд над ним перерисовывается по мере набора. */
#car-txt-edit{display:none;position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9998;
  width:min(620px,92vw);background:#1f1d1c;border:1px solid #3d3a37;border-radius:14px;padding:10px;
  box-shadow:0 8px 30px rgba(0,0,0,.45)}
#car-txt-edit.on{display:block}
#car-txt-edit textarea{width:100%;box-sizing:border-box;min-height:70px;border-radius:10px;border:1px solid #4a4642;
  background:#2c2a28;color:#F2EEEA;font:15px/1.4 Inter,system-ui,sans-serif;padding:8px 10px;resize:vertical}
#car-txt-edit .car-txt-row{display:flex;gap:8px;margin-top:8px;justify-content:flex-end}
#car-txt-edit .car-txt-row button{min-width:44px;padding:8px 12px;border-radius:9px;border:1px solid #4a4642;
  background:#2c2a28;color:#F2EEEA;font-weight:700;cursor:pointer}
#car-txt-edit .car-txt-row button.ok{background:var(--wa);border-color:var(--wa);color:#fff}
#car-view-img{cursor:text}

/* «＋ Свой шрифт» в ряду шрифтов — 23 сентября. */
.car-f.car-f-my{border-style:dashed;font-family:inherit!important;opacity:.9}

#car-txt-edit .car-txt-row select{flex:1;min-width:0;border-radius:9px;border:1px solid #4a4642;background:#2c2a28;
  color:#F2EEEA;padding:8px;font-size:14px}

/* Рамка выбранного текста на слайде — её тянут мышкой или пальцем. */
#car-txt-sel{position:fixed;z-index:9997;border:2px dashed #D97757;border-radius:8px;background:rgba(217,119,87,.08);
  cursor:move;touch-action:none;box-shadow:0 0 0 1px rgba(255,255,255,.35) inset}
#car-txt-edit .car-txt-row button svg{display:block}

/* Направляющие «как в Канве»: линия середины слайда при перетаскивании. */
.car-guide{position:fixed;z-index:9998;pointer-events:none;background:#E23BD8;box-shadow:0 0 0 .5px rgba(255,255,255,.6)}

/* Нажатое выравнивание — видно сразу (23 сентября). */
#car-txt-edit .car-txt-row button.car-txt-al.on{background:var(--wa);border-color:var(--wa);color:#fff}

/* Форма «Завести Тэрилтэ» в «Люди» — 23 сентября. */
.adm-org{display:flex;flex-direction:column;gap:6px;margin:10px 0;padding:10px;border:1px solid var(--line,#e6dbe3);border-radius:12px}
.adm-org input,.adm-org select{padding:8px 10px;border-radius:9px;border:1px solid var(--line,#e6dbe3);font-size:14px}
.adm-org-row{display:flex;gap:6px;flex-wrap:wrap}
.adm-org-row button{padding:8px 12px;border-radius:9px;border:0;background:var(--wa);color:#fff;font-weight:700;cursor:pointer}

/* Окно «Тэрилтэ» — 23 сентября. */
.org-card{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:14px;background:rgba(217,119,87,.08);
  border:1px solid rgba(217,119,87,.25);margin:6px 0 12px}
.org-card b{font-size:17px}
.org-card span{font-size:13px;color:#8a7f86}
.org-card .org-seats{color:inherit;font-size:14px;margin-top:4px}
.org-inv{display:flex;gap:8px;align-items:stretch}
.org-inv input{flex:1;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid var(--line,#e6dbe3);font-size:15px}
.org-inv .acc-main{width:auto;padding:0 16px;margin:0}
.org-note{font-size:12.5px;color:#8a7f86;margin:6px 2px 12px}
.org-list{display:flex;flex-direction:column}
.org-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px;border-top:1px solid var(--line,#eee)}
.org-row div{display:flex;flex-direction:column;gap:2px;min-width:0}
.org-row span{font-size:12.5px;color:#8a7f86;overflow:hidden;text-overflow:ellipsis}
.org-kick{border:1px solid var(--line,#e6dbe3);background:none;border-radius:9px;padding:6px 10px;cursor:pointer;color:inherit}
.org-link{display:inline-block;margin-top:12px;font-size:13.5px;color:var(--wa-deep);font-weight:600}
html[data-theme="dark"] .org-card span,html[data-theme="dark"] .org-row span,html[data-theme="dark"] .org-note{color:#A69CA2}

.pe-anim-hint{font-size:12px;line-height:1.4;color:#8a7f86;margin:6px 2px 0;text-align:center}
html[data-theme="dark"] .pe-anim-hint{color:#A69CA2}

/* Три кнопки под снимком в один ряд и окошко «Оживить» — 23 сентября. */
.cmsg-fix3{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cmsg-fix3 button{margin:0!important}
.anim-ask-pic{display:flex;justify-content:center;margin:4px 0 12px}
.anim-ask-pic img{max-width:100%;max-height:260px;border-radius:12px;object-fit:contain}
#anim-ask textarea{width:100%;box-sizing:border-box;min-height:80px;border-radius:12px;border:1px solid var(--line,#e6dbe3);
  padding:10px 12px;font:15px/1.45 Inter,system-ui,sans-serif;resize:vertical;margin-bottom:10px;background:transparent;color:inherit}

/* Значки под снимком — 23 сентября. Ряд по центру под фото, пузырь
   ужимается по ширине снимка, фото не прилипает к краю. */
.cmsg.me .cmsg-imgs{display:flex;justify-content:center}
.cmsg-icons{display:flex;justify-content:center;gap:10px;margin-top:8px}
.cmsg-ico{width:38px;height:38px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;
  font-size:17px;line-height:1;cursor:pointer;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:rgba(255,255,255,.9)}
.cmsg-ico:hover{background:rgba(255,255,255,.14)}
.cmsg-ico.stk{border-color:rgba(217,119,87,.7);color:#F0B49B}
html:not([data-theme="dark"]) .cmsg-ico{border-color:rgba(0,0,0,.18);background:rgba(0,0,0,.04);color:#4a3f47}
html:not([data-theme="dark"]) .cmsg-ico.stk{border-color:rgba(217,119,87,.8);color:#C0603F}

/* Одно фото человека — крупно, во всю ширину пузыря (23 сентября). */
.cmsg-imgs.cmsg-one{display:block}
.cmsg-imgs.cmsg-one img.cmsg-att{width:100%;max-width:420px;height:auto;max-height:520px;object-fit:contain;border-radius:12px;display:block;margin:0 auto}
.cmsg-photo-row{max-width:420px}
.cmsg-photo-row button{white-space:nowrap}

/* «Тилиннэрэбин…» — живая: крутится кружок и бегут точки (23 сентября). */
.anim-wait{display:inline-flex;align-items:center;gap:8px}
.anim-spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(217,119,87,.3);border-top-color:#D97757;animation:animSpin .9s linear infinite}
.anim-dots i{font-style:normal;animation:animDot 1.2s infinite;opacity:.2}
.anim-dots i:nth-child(2){animation-delay:.2s}.anim-dots i:nth-child(3){animation-delay:.4s}
@keyframes animSpin{to{transform:rotate(360deg)}}
@keyframes animDot{0%,80%,100%{opacity:.2}40%{opacity:1}}

/* Готовый оживлённый ролик — крупно (23 сентября). */
.anim-done{max-width:440px}
.anim-cap{font-size:14px;margin-bottom:8px}
.anim-video{width:100%;max-height:560px;border-radius:12px;display:block;background:#000}
.anim-gone{font-size:13px;color:#8a7f86;padding:10px 0}

/* ===== FORUM — ТОЛЬКО В ПЕРЕПИСКЕ =====
   24 сентября, слово хозяина: «я изначально просил, чтобы Forum был в
   чате, а во всём остальном — старый шрифт». Моя ошибка: я поставил Forum
   на всё приложение, и виджеты, кнопки, подписи стали выглядеть плохо.
   Теперь Forum — только в пузырях разговора и в поле ввода; всё прочее
   снова Inter, как было до Forum.

   Внутри переписки: без жирного (слово хозяина — своей жирной толщины у
   Forum нет, браузер её не дорисовывает) и размер по настройке
   «Текст размера» — Кыра / Орто / Улахан (признак data-fs на документе,
   его ставит первый скрипт в index.html). Размер задаётся тем же файлом
   шрифта с увеличением (size-adjust): у Forum мелкие строчные буквы. */
@font-face{ font-family:'Forum UI';     src:url('../fonts/Forum.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'Forum UI 90';  src:url('../fonts/Forum.woff2') format('woff2');
  font-weight:400; font-display:swap; size-adjust:90%; }
@font-face{ font-family:'Forum UI 105'; src:url('../fonts/Forum.woff2') format('woff2');
  font-weight:400; font-display:swap; size-adjust:105%; }
@font-face{ font-family:'Forum UI 115'; src:url('../fonts/Forum.woff2') format('woff2');
  font-weight:400; font-display:swap; size-adjust:115%; }
@font-face{ font-family:'Forum UI 118'; src:url('../fonts/Forum.woff2') format('woff2');
  font-weight:400; font-display:swap; size-adjust:118%; }
@font-face{ font-family:'Forum UI 135'; src:url('../fonts/Forum.woff2') format('woff2');
  font-weight:400; font-display:swap; size-adjust:135%; }

#phone .cmsg-b, #phone .aiyy-input textarea{
  font-family:'Forum UI', 'Inter', Georgia, serif;
  font-synthesis:none; -webkit-font-synthesis:none;
}
#phone .cmsg-b{ font-size:16.5px; line-height:1.5; }
#phone .aiyy-input textarea{ font-size:17px; }

/* Телефон: Кыра 90 %, Орто — как есть, Улахан 115 %. */
html[data-fs="s"] #phone .cmsg-b, html[data-fs="s"] #phone .aiyy-input textarea{
  font-family:'Forum UI 90', 'Forum UI', 'Inter', Georgia, serif; }
html[data-fs="l"] #phone .cmsg-b, html[data-fs="l"] #phone .aiyy-input textarea{
  font-family:'Forum UI 115', 'Forum UI', 'Inter', Georgia, serif; }
html[data-fs="l"] #phone .cmsg-b{ line-height:1.65; }

/* Компьютер: Кыра 105 %, Орто 118 %, Улахан 135 %. */
@media (min-width:1024px){
  html[data-fs="s"] #phone .cmsg-b, html[data-fs="s"] #phone .aiyy-input textarea{
    font-family:'Forum UI 105', 'Forum UI', 'Inter', Georgia, serif; }
  html[data-fs="m"] #phone .cmsg-b, html[data-fs="m"] #phone .aiyy-input textarea{
    font-family:'Forum UI 118', 'Forum UI', 'Inter', Georgia, serif; }
  html[data-fs="l"] #phone .cmsg-b, html[data-fs="l"] #phone .aiyy-input textarea{
    font-family:'Forum UI 135', 'Forum UI', 'Inter', Georgia, serif; }
  html[data-fs="l"] #phone .cmsg-b{ line-height:1.75; }
}

/* 27 сентября, слово хозяина: «кнопки слишком огромные — увеличить картинку,
   уменьшить кнопки». Кнопки мельче и плотнее, отступы меньше — всё
   освободившееся место забирает кадр (он гибкий, flex:1). */
.car-view{padding:10px 10px 8px}
.car-view-bar{gap:12px;margin-top:8px}
.car-view-bar button{width:34px;height:34px;font-size:15px}
.car-view-n{font-size:13px;min-width:44px}
.car-view-edit{margin-top:6px;gap:5px}
.car-view-edit button{padding:6px 11px;font-size:11.5px;border-radius:9px;box-shadow:0 2px 8px rgba(0,0,0,.22)}
.car-view-dl{gap:5px;margin-top:6px}
.car-view-dl button{padding:6px 10px;font-size:11px;border-radius:9px;font-weight:600}
.car-view-pos{margin-top:4px}
.car-view-pos button{padding:4px 9px;font-size:11px}

/* Библиотека уроков (28 сентября) */
.lib-row{display:flex;align-items:center;gap:10px;margin:8px 0}
.lib-cov{width:48px;height:60px;object-fit:cover;border-radius:8px;background:rgba(0,0,0,.08);flex:0 0 auto}
.lib-i{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.lib-i b{font-size:14px;line-height:1.25}
.lib-i span{font-size:12px;opacity:.7}
.lib-row .song-btn{flex:0 0 auto;width:auto;margin:0}

/* Знак АЙЫЫ в пузыре «Айыы уруһуйдаан эрэр» (28 сентября, снимок хозяина:
   «дерева не видно»). Знак тёмный и на тёмной теме пропадал — светлим его
   тем же способом, что и дерево у поля ввода, и чуть крупнее. */
.paint-wait .pw-star{width:22px;height:22px;flex:0 0 auto}
html[data-theme="dark"] .paint-wait .pw-star{filter:invert(1) brightness(1.6)}

/* Загрузка на кнопке языка субтитров (28 сентября). */
.sub-ждёт{display:inline-flex !important;align-items:center;gap:7px;cursor:progress !important;
  border-color:var(--wa) !important;animation:subЖдёт 1.4s ease-in-out infinite}
.sub-spin{width:13px;height:13px;border-radius:50%;flex:0 0 auto;
  border:2px solid currentColor;border-right-color:transparent;animation:subSpin .8s linear infinite}
@keyframes subSpin{to{transform:rotate(360deg)}}
@keyframes subЖдёт{0%,100%{box-shadow:0 0 0 0 rgba(217,119,87,0)}50%{box-shadow:0 0 0 4px rgba(217,119,87,.28)}}
@media (prefers-reduced-motion:reduce){.sub-spin,.sub-ждёт{animation:none}}

/* ШРИФТ FORUM ДЛЯ НАЗВАНИЯ «АЙЫЫ СИРЭ 2.0». 28 сентября, слово хозяина.
   Вложен прямо сюда (сборка держится в 100 файлах): кириллица, якутские
   буквы ҕ ҥ ө һ ү и цифры. Лицензия шрифта — SIL Open Font License. */
@font-face{font-family:'AiyyForum';font-style:normal;font-weight:400;font-display:swap;
  src:url(data:font/woff2;base64,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) format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'AiyyForum';font-style:normal;font-weight:400;font-display:swap;
  src:url(data:font/woff2;base64,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) format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}
@font-face{font-family:'AiyyForum';font-style:normal;font-weight:400;font-display:swap;
  src:url(data:font/woff2;base64,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) format('woff2');
  unicode-range:U+0020-0040;}
.aiyy-tag-1.aiyy-forum{font-family:'AiyyForum','Times New Roman',serif;font-weight:400;
  font-size:26px;letter-spacing:.04em;line-height:1.2;}

/* ПОКАЗ НАСТОЯЩЕГО: лента фото и ссылки под ответом (28 сентября). */
.show-box{margin-top:10px;}
.show-strip{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  margin:0 -4px;padding:0 4px 6px;scrollbar-width:none;}
.show-strip::-webkit-scrollbar{display:none;}
.show-ph{flex:0 0 78%;max-width:300px;margin:0;scroll-snap-align:start;border-radius:14px;overflow:hidden;
  background:rgba(127,127,127,.12);position:relative;cursor:zoom-in;}
.show-ph img{display:block;width:100%;height:210px;object-fit:cover;}
.show-ph figcaption{position:absolute;left:8px;bottom:8px;font-size:11px;line-height:1;color:#fff;
  background:rgba(0,0,0,.45);padding:4px 7px;border-radius:8px;max-width:85%;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;}
.show-links{display:flex;flex-direction:column;gap:6px;margin-top:8px;}
.show-link{display:flex;align-items:flex-start;gap:9px;padding:9px 11px;border-radius:12px;
  background:rgba(127,127,127,.10);color:inherit;text-decoration:none;font-size:14px;line-height:1.35;}
.show-link b{flex:0 0 auto;font-size:13px;opacity:.75;margin-top:1px;}
.show-link span{min-width:0;}
.show-link i{display:block;font-style:normal;font-size:12px;opacity:.6;margin-top:2px;}
.show-wait{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;opacity:.7;}
.show-dots{display:inline-flex;gap:3px;}
.show-dots i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:showDot 1.2s infinite ease-in-out;}
.show-dots i:nth-child(2){animation-delay:.15s;}
.show-dots i:nth-child(3){animation-delay:.3s;}
@keyframes showDot{0%,80%,100%{opacity:.25;transform:translateY(0);}40%{opacity:1;transform:translateY(-3px);}}
.show-none{margin-top:8px;font-size:13px;opacity:.7;}
.cmsg-b a.show-link,.cmsg-b a.show-link span{text-decoration:none;color:inherit;}

/* Карусель фото без редактора (28 сентября): одно фото на всю ширину. */
.show-car{position:relative;border-radius:14px;overflow:hidden;}
.show-car .show-strip{gap:0;margin:0;padding:0;scroll-snap-type:x mandatory;}
.show-car .show-ph{flex:0 0 100%;max-width:none;border-radius:0;scroll-snap-align:center;}
.show-car .show-ph img{height:260px;}
.show-more{flex:0 0 100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;
  min-height:260px;background:rgba(127,127,127,.12);}
.show-more button{border:0;border-radius:22px;padding:11px 20px;font:600 15px/1 inherit;cursor:pointer;
  background:var(--wa,#c2588c);color:#fff;}
.show-more button:disabled{opacity:.55;cursor:default;}
.show-n{position:absolute;top:8px;right:8px;font-size:12px;line-height:1;color:#fff;background:rgba(0,0,0,.5);
  padding:5px 8px;border-radius:10px;pointer-events:none;}
.show-pts{position:absolute;left:0;right:0;bottom:9px;display:flex;justify-content:center;gap:5px;pointer-events:none;}
.show-pts i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);}
.show-pts i.on{background:#fff;}
.show-car figcaption{bottom:22px;}
.show-ar{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:0;
  background:rgba(0,0,0,.45);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:none;}
.show-ar-l{left:8px;} .show-ar-r{right:8px;}
@media (hover:hover) and (pointer:fine){ .show-ar{display:block;} }
.show-make{margin-top:8px;}

/* Лента фото 4:5 и слайд-шоу (28 сентября): лица видны целиком. */
.show-car .show-ph img{height:auto;aspect-ratio:4/5;max-height:72vh;object-fit:cover;object-position:50% 28%;
  transform-origin:50% 35%;}
.show-car .show-more{min-height:0;aspect-ratio:4/5;max-height:72vh;}
.show-car .show-ph.show-kb img{animation:showKb 6s ease-out forwards;}
.show-car.show-paused .show-ph.show-kb img{animation-play-state:paused;}
@keyframes showKb{from{transform:scale(1);}to{transform:scale(1.08);}}
.show-bars{position:absolute;top:8px;left:10px;right:10px;display:flex;gap:3px;pointer-events:none;z-index:2;}
.show-bars i{flex:1 1 0;height:3px;border-radius:2px;background:rgba(255,255,255,.35);overflow:hidden;}
.show-bars b{display:block;height:100%;width:0;background:#fff;}
.show-car .show-n{top:18px;}
.show-fs{position:absolute;right:8px;bottom:8px;width:32px;height:32px;border-radius:50%;border:0;padding:7px;
  background:rgba(0,0,0,.45);color:#fff;cursor:pointer;z-index:2;}
.show-fs svg{width:100%;height:100%;display:block;}
.show-flash{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;
  background:rgba(0,0,0,.45);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;z-index:2;}
.show-flash.on{animation:showFlash .7s ease-out;}
@keyframes showFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.8);}25%{opacity:1;}100%{opacity:0;transform:translate(-50%,-50%) scale(1.15);}}
@media (prefers-reduced-motion: reduce){ .show-car .show-ph.show-kb img{animation:none;} }

/* Фото целиком в рамке 4:5 (28 сентября): снимок не обрезается, пустые поля —
   тот же снимок, размытый и притемнённый, как в Инстаграме. */
.show-car .show-ph{position:relative;overflow:hidden;background:#111;}
.show-car .show-ph::before{content:"";position:absolute;inset:-24px;background-image:var(--bg);background-size:cover;
  background-position:center;filter:blur(22px) brightness(.55) saturate(1.1);transform:scale(1.1);}
.show-car .show-ph img{position:relative;object-fit:contain;object-position:center;}

/* Слой надписей над роликом — с запасом в точку по краям: иначе на дробных
   размерах по краю видна полоска ролика (28 сентября, «линии на видео»). */
#car-view-ov{inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);}

/* ===== ХОД РИСОВАНИЯ КАРТОЧЕК (29 сентября) ===== */
.zan-prog{margin:10px 0 2px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);}
.zp-top{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;font-weight:600;}
.zp-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.zp-n{color:var(--ink-3);flex:0 0 auto;}
.zp-bar{height:5px;border-radius:3px;background:var(--line);margin:8px 0 6px;overflow:hidden;}
.zp-bar i{display:block;height:100%;width:0;background:var(--wa);border-radius:3px;transition:width .6s ease;}
.zan-prog:not(.done) .zp-bar i{background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
  background-size:60px 100%;background-repeat:no-repeat;animation:zpRun 1.2s linear infinite;background-color:var(--wa);}
@keyframes zpRun{from{background-position:-60px 0}to{background-position:260px 0}}
.zp-sub{font-size:12px;color:var(--ink-3);margin-bottom:10px;}
.zp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.zp-c{display:flex;flex-direction:column;gap:4px;min-width:0;}
.zp-c b{font-size:11.5px;font-weight:600;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2);}
.zp-im{aspect-ratio:1;border-radius:10px;background:var(--line) center/cover no-repeat;position:relative;overflow:hidden;}
.zp-c.now .zp-im::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);
  background-size:200% 100%;animation:zpShine 1.1s linear infinite;}
.zp-c.now .zp-im{box-shadow:0 0 0 2px var(--wa) inset;}
.zp-c.now .zp-im::before{content:"✎";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:22px;color:var(--wa);animation:zpBob 1s ease-in-out infinite;}
@keyframes zpShine{from{background-position:150% 0}to{background-position:-50% 0}}
@keyframes zpBob{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(4px,-3px) rotate(-12deg)}}
.zp-c.ok .zp-im{animation:zpIn .5s ease both;}
@keyframes zpIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
.zp-c.bad .zp-im{opacity:.4;}
.zp-c:not(.ok):not(.now):not(.bad) .zp-im{opacity:.55;}
.zan-prog.pdf .zp-grid{animation:zpPulse 1s ease-in-out infinite;}
@keyframes zpPulse{50%{opacity:.6}}

/* ===== ТЁМНАЯ ТЕМА: ОТВЕТ БЕЗ ПУЗЫРЯ (29 сентября) =====
   Слово хозяина: «сделай тёмную тему как у тебя». Вопрос и ответ стояли
   в одинаковых серых пузырях — экран читался как стена карточек. Теперь
   как у Клода: свой вопрос — в пузыре, ответ Айыы лежит прямо на полотне
   во всю ширину колонки, без рамки и заливки. Светлой темы не касается. */
html[data-theme="dark"] .cmsg.ai .cmsg-b{background:transparent!important;border:none!important;
  box-shadow:none!important;max-width:100%;padding:4px 2px;border-radius:0;}
/* ОТВЕТ АЙЫЫ — НА ВСЮ ШИРИНУ КОЛОНКИ И В СВЕТЛОЙ ТЕМЕ. 29 сентября, слово
   хозяина: поле ввода тянется до диктофона, а ответ сжат до 82% — справа
   пустая полоса. Правый край ответа теперь совпадает с краем поля ввода.
   Свой вопрос остаётся узким пузырём справа. */
.cmsg.ai .cmsg-b{max-width:100%;flex:1 1 auto;}

/* ===== ОЖИДАНИЕ ОТВЕТА: «ТОЛКУЙДУУБУН · 4 сөк» (29 сентября) =====
   Без пузыря, прямо на полотне, как у Клода. Слово мягко переливается,
   секунды — приглушённые, цифры одной ширины, чтобы строка не дрожала. */
.cmsg.ai .cmsg-b.cmsg-wait{background:transparent!important;border:none!important;box-shadow:none!important;
  flex:0 0 auto;max-width:100%;padding:6px 2px;display:flex;align-items:baseline;gap:10px;}
/* 18 октября, снимок хозяина: на компьютере «Айыы думает…» было крупнее самого чата (16 против 14,5) — теперь мельче чата. */
.cmsg-wait .cw-t{font-size:13.5px;font-weight:400;color:var(--ink-2);
  background:linear-gradient(90deg,var(--ink-2) 0%,var(--ink-2) 35%,var(--wa) 50%,var(--ink-2) 65%,var(--ink-2) 100%);
  background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:cwShine 2.2s linear infinite;}
@keyframes cwShine{from{background-position:100% 0}to{background-position:-150% 0}}
.cw-s{font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;opacity:.8;}
.paint-wait .cw-s{margin-left:auto;padding-right:4px;}
@media (prefers-reduced-motion: reduce){ .cmsg-wait .cw-t{animation:none;-webkit-text-fill-color:currentColor;} }
/* 18 октября, слово хозяина: «уменьши системные сообщения в чате в телефоне — „Думаю, ищу в интернете“ больше, чем сам чат». */
@media (max-width:720px){ .cmsg-wait .cw-t{font-size:13px;font-weight:400;} .cmsg.ai .cmsg-b.cmsg-wait{padding:2px 2px;gap:8px;} .cmsg-wait .cw-s{font-size:11px;} }
/* Кнопки анкеты нумеролога — в ряд с переносом, а не столбиком (29 сентября). */
.cmsg-ask.num-chips{flex-direction:row;flex-wrap:wrap;}
.cmsg-ask.num-chips button{flex:0 0 auto;width:auto;padding:0 16px;}

/* ===== ЧИТАЕМЫЕ ДЛИННЫЕ ОТВЕТЫ (29 сентября) =====
   Главы крупнее текста, номера пунктов видны, воздух между абзацами,
   черта-разделитель. И кнопка «вниз» над полем ввода. */
.cmsg-b .md-h{font-size:1.14em;margin:18px 0 6px;line-height:1.3;}
.cmsg-b .md-h:first-child{margin-top:2px;}
.cmsg-b .md-num{padding-left:24px;}
.cmsg-b .md-num::before{content:attr(data-n)!important;left:0!important;font-weight:700;color:var(--wa);font-size:inherit!important;top:0!important;}
.cmsg-b .md-gap{display:block;height:10px;}
.cmsg-b .md-hr{border:none;border-top:1px solid var(--line);margin:14px 0;}
#chat-down{position:absolute;left:50%;top:-58px;transform:translateX(-50%) translateY(8px);width:40px;height:40px;
  border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--ink);display:flex;
  align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.18);cursor:pointer;opacity:0;
  pointer-events:none;transition:opacity .2s, transform .2s;z-index:5;padding:0;}
#chat-down.on{opacity:1;pointer-events:auto;transform:translateX(-50%);}
/* У Forum нет жирного начертания, а подделку жирного браузеру мы запретили —
   поэтому «**жирное**» и главы в ответе выглядели обычным текстом. Даём им
   лёгкую обводку буквы тем же цветом: читается как полужирный и не
   размазывает Forum, как грубая подделка браузера. */

.cmsg-b .md-hr + .md-h, .cmsg-b .md-gap + .md-h{margin-top:4px;}
.cmsg-b .md-gap + .md-hr{margin-top:4px;}

/* ===== ПОРЯДОК И ВОЗДУХ В ОТВЕТАХ (29 сентября) =====
   Слово хозяина: «смотри, как аккуратно пишет DeepSeek — порядок, больше
   воздуха; у нас хаос, теснота и неотёсанность». Три беды:
   · у Forum нет жирного — главы и выделения рисовались обводкой буквы,
     отсюда «неотёсанность». Теперь главы и **жирное** — настоящим
     полужирным Inter: у него есть и 600, и 700, и все якутские буквы;
   · строки и пункты стояли вплотную — межстрочный больше, между пунктами
     и абзацами воздух, у глав отступ сверху;
   · маркеры пунктов были яркими — стали мелкими и спокойными, номера —
     того же цвета, что текст, но полужирные. */
#phone .cmsg.ai .cmsg-b{line-height:1.72;}
/* ОДИН ШРИФТ НА ВЕСЬ ОТВЕТ. 29 сентября, слово хозяина: на «Улахан»
   главы Inter выходили мельче текста (размер растёт только у Forum),
   да и Inter рядом с Forum «не подходит». Теперь всё — Forum: главы
   выделены размером, **жирное** — цветом Айыы: розовым днём,
   терракотовым в тёмной теме. Размер наследуется, «Улахан» растит всё. */
#phone .cmsg-b b{font-family:inherit;font-weight:400;font-size:1em;
  letter-spacing:.005em;-webkit-text-stroke:0;color:var(--wa-deep);}
html[data-theme="dark"] #phone .cmsg-b b{color:#9F84F0;}
html[data-theme="dark"] #phone .cmsg-b .md-h{color:var(--ink);}
#phone .cmsg-b .md-h{font-family:inherit;font-weight:400;font-size:1.5em;
  line-height:1.2;letter-spacing:0;margin:28px 0 10px;-webkit-text-stroke:0;color:var(--ink);}
#phone .cmsg-b .md-h:first-child{margin-top:4px;}
#phone .cmsg-b .md-hr + .md-h, #phone .cmsg-b .md-gap + .md-h{margin-top:8px;}
/* ЛИНИЯ ПЕРЕД ГЛАВОЙ. 29 сентября, слово хозяина: «между нумерациями
   тонкие разделители — а то неаккуратно». Только перед главами, не между
   пунктами: иначе ответ станет таблицей. После «---» своей линии не надо. */
#phone .cmsg-b .md-h:not(:first-child){border-top:1px solid rgba(128,128,128,.28);padding-top:24px;margin-top:26px;}
#phone .cmsg-b .md-hr + .md-h{border-top:0;padding-top:0;}
#phone .cmsg-b .md-li{margin-top:10px;padding-left:22px;}
#phone .cmsg-b .md-li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--ink-3);
  top:.78em;left:6px;}
#phone .cmsg-b .md-num{padding-left:28px;}
#phone .cmsg-b .md-num::before{content:attr(data-n)!important;width:auto;height:auto;border-radius:0;background:none;
  font-family:inherit;font-weight:400;font-size:1em!important;color:var(--ink-2);top:0!important;left:0!important;}
#phone .cmsg-b .md-gap{height:14px;}
#phone .cmsg-b .md-hr{margin:22px 0 18px;opacity:.8;}
#phone .cmsg-b .md-li + br, #phone .cmsg-b .md-h + br{display:none;}

/* Хватит перерисовывать (29 сентября): после третьей перерисовки экрана. */
.car-hvatit{position:fixed;inset:0;z-index:10000;background:rgba(20,10,16,.55);display:flex;align-items:center;justify-content:center;padding:16px;}
.car-hvatit-b{background:var(--bg);color:var(--ink);border-radius:18px;padding:20px;max-width:360px;width:100%;box-shadow:var(--тень-2);font-family:'Inter',sans-serif;}
.car-hvatit-b p{margin:0 0 14px;font-size:15px;line-height:1.45;}
.car-hvatit-b button{display:block;width:100%;height:44px;border-radius:12px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);font:600 14px 'Inter',sans-serif;cursor:pointer;margin-top:8px;}
.car-hvatit-b button.prim{background:var(--wa);border-color:var(--wa);color:#fff;}
html[data-theme="dark"] .car-hvatit-b{background:#1A1423;color:#EEEAF2;}
/* Ссылка на открытую страницу человека (30 сентября). */
.kihi-link{display:inline-flex;align-items:center;padding:0 12px;height:36px;border-radius:10px;font:600 13px 'Inter',sans-serif;color:var(--wa-deep);text-decoration:none;border:1.5px solid var(--line);}
html[data-theme="dark"] .kihi-link{color:#9F84F0;}
/* ОТК в линии жизни (30 сентября). */
.otk-b{max-width:420px;text-align:center}
.otk-b .otk-img{padding:40px 0;color:var(--ink-2)}
.otk-pic{width:100%;border-radius:12px;display:block;margin-bottom:6px;box-shadow:var(--тень-1)}
.otk-row{margin:0 0 10px}
.otk-btn{width:100%;display:flex;justify-content:space-between;align-items:center;height:46px;padding:0 16px;border-radius:12px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);font:600 15px 'Inter',sans-serif;cursor:pointer}
.otk-btn b{color:var(--wa-deep)}.otk-btn span{font-weight:800;color:var(--wa-deep)}
html[data-theme="dark"] .otk-btn b,html[data-theme="dark"] .otk-btn span{color:#9F84F0}
.kh-note{font-size:13.5px!important;color:var(--ink-2);text-align:left}
.kh-frame{width:100%;height:52vh;border:1px solid var(--line);border-radius:12px;background:#FBF8F3;display:block;margin-bottom:8px}
.kh-chk{display:flex;align-items:center;gap:8px;font:500 14px 'Inter',sans-serif;padding:6px 2px;text-align:left}
/* Виджет ОТК (30 сентября). */
.otk-w{padding:14px 14px 10px;border-radius:16px;background:var(--panel);border:1px solid var(--line);margin:0 0 12px}
.otk-w-top{display:flex;align-items:baseline;gap:8px}.otk-w-l{font:800 15px 'Inter',sans-serif;color:var(--wa-deep)}.otk-w-f{font:600 12px 'Inter',sans-serif;color:var(--ink-2)}
.otk-w-n{font:800 54px/1 'Inter',sans-serif;color:var(--wa-deep);margin:6px 0 12px}.otk-w-n small{font-size:18px;color:var(--ink-2);font-weight:600}
.otk-w-p{margin:0 0 10px}.otk-w-p>div:first-child{display:flex;justify-content:space-between;font:600 14px 'Inter',sans-serif}.otk-w-p span{color:var(--wa-deep);font-weight:800}
.otk-w-bar{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin:5px 0 3px}.otk-w-bar i{height:6px;border-radius:3px;background:rgba(128,128,128,.18)}.otk-w-bar i.on{background:var(--wa-deep)}
.otk-w-p em{font:italic 500 12.5px 'Inter',sans-serif;color:var(--ink-2)}
.otk-w-src{font:500 12px 'Inter',sans-serif;color:var(--ink-2);margin:2px 0 8px}
.otk-w-empty,.otk-w-wait{font:500 14px/1.45 'Inter',sans-serif;color:var(--ink-2);margin:0 0 10px}
.otk-w-b{display:block;width:100%;height:42px;border-radius:11px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:600 14px 'Inter',sans-serif;margin:6px 0 0;cursor:pointer}
.otk-w-b.prim{background:var(--wa);border-color:var(--wa);color:#fff}
html[data-theme="dark"] .otk-w-l,html[data-theme="dark"] .otk-w-n,html[data-theme="dark"] .otk-w-p span{color:#9F84F0}
html[data-theme="dark"] .otk-w-bar i.on{background:#9F84F0}
/* Лендинг о себе (30 сентября). */
.ld-l{display:block;font:600 12.5px 'Inter',sans-serif;color:var(--ink-2);margin:0 0 10px}
.ld-in{display:block;width:100%;margin-top:4px;padding:9px 11px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:500 14.5px/1.4 'Inter',sans-serif;resize:vertical}
.ld-h{font:800 13px 'Inter',sans-serif;color:var(--wa-deep);margin:14px 0 6px;text-transform:uppercase;letter-spacing:.03em}
html[data-theme="dark"] .ld-h{color:#9F84F0}
.ld-d{display:flex;gap:8px;align-items:flex-start;font:500 14px/1.35 'Inter',sans-serif;padding:5px 0}.ld-d i{font-style:normal;font-weight:700;color:var(--wa-deep)}
.ld-note{font:500 13px 'Inter',sans-serif;color:var(--ink-2)}.ld-sep{height:6px}
.ld-add{display:flex;gap:8px}.ld-add .ld-in{margin-top:0}.ld-add .ld-y{width:84px;flex:none}
/* Карточка лендинга в чате (30 сентября). */
.ldc{margin:10px 0 4px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel);font-family:'Inter',sans-serif}
.ldc-n{font:800 20px 'Inter',sans-serif}.ldc-s{font:600 14px 'Inter',sans-serif;color:var(--wa-deep);margin:2px 0 8px}
html[data-theme="dark"] .ldc-s{color:#9F84F0}
.ldc-a{font-size:14.5px;line-height:1.45;margin:0 0 8px}.ldc-u{margin:0 0 8px;padding-left:18px;font-size:14px;line-height:1.5}
.ldc-r{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin:0 0 8px}.ldc-r b{color:var(--wa-deep)}
.ldc-c{font:600 14px 'Inter',sans-serif;margin:0 0 6px}.ldc-k{font-size:13px;color:var(--ink-2)}
.ldc-w{margin:0 0 10px}.ld-link{display:flex;margin:0 0 6px}.ld-stat{font:500 13px 'Inter',sans-serif;color:var(--ink-2);margin:0 0 6px}
.ld-leads{margin-top:8px}.ld-lead{padding:8px 10px;border:1px solid var(--line);border-radius:10px;margin:0 0 6px;font:500 13.5px/1.4 'Inter',sans-serif;color:var(--ink)}
.ld-lead-0{padding:10px 12px;border:1px dashed var(--line);border-radius:10px;font:500 12.5px/1.4 'Inter',sans-serif;color:var(--ink-2)}
.ld-lead.new{border-color:var(--wa)}.ld-lead i{display:block;font-style:normal;font-size:11.5px;color:var(--ink-2);margin-top:2px}
.ldc-img{width:100%;border-radius:12px;display:block;margin:0 0 10px;max-height:240px;object-fit:cover}
.ldc-draw{position:relative;width:100%;aspect-ratio:16/9;max-height:240px;border-radius:12px;overflow:hidden;margin:0 0 10px;
  background:color-mix(in srgb, var(--wa) 18%, transparent)}
.ldc-draw::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(110deg,transparent 30%,color-mix(in srgb, var(--wa) 30%, transparent) 50%,transparent 70%);transform:translateX(-100%);animation:ldcShim 1.6s linear infinite;will-change:transform}
.ldc-draw-in{z-index:2}
.ldc-draw img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(6px) brightness(.55);transform:scale(1.08)}
.ldc-draw-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#fff;text-align:center;font-family:'Inter',sans-serif}
.ldc-draw-in b{font-size:15px;font-weight:700;text-shadow:0 1px 6px rgba(0,0,0,.5)}.ldc-draw-in i{font-style:normal;font-size:12px;opacity:.85}
.ldc-brush{font-size:34px;display:inline-block;animation:ldcBrush 1s ease-in-out infinite alternate}
@keyframes ldcShim{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes ldcBrush{from{transform:rotate(-18deg) translateX(-10px)}to{transform:rotate(14deg) translateX(10px)}}
.ld-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;margin:0 0 4px;scrollbar-width:thin}
.ld-th{position:relative;flex:0 0 76px;height:76px;border-radius:10px;overflow:hidden;background:rgba(128,128,128,.12);cursor:pointer}
.ld-th img{width:100%;height:100%;object-fit:cover;display:block}
.ld-th.main{outline:2px solid var(--wa);outline-offset:-2px}
.ld-th-m{position:absolute;left:0;right:0;bottom:0;background:var(--wa);color:#fff;font:700 10px 'Inter',sans-serif;text-align:center;padding:2px 0}
.ld-th-ai{position:absolute;left:4px;top:3px;font-size:13px;text-shadow:0 0 3px #000}
.ld-th-x{position:absolute;right:3px;top:3px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:12px;line-height:22px;padding:0;cursor:pointer}
.ld-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:22px;border:1.5px dashed rgba(128,128,128,.45);background:transparent}
.ld-add span{font:600 10px/1.2 'Inter',sans-serif;color:var(--ink-2);text-align:center;padding:0 4px}
.ld-strip-h{font:500 11px 'Inter',sans-serif;color:var(--ink-2);margin:-4px 0 8px}
.ldc-wait{padding:18px;border-radius:12px;background:rgba(128,128,128,.1);text-align:center;font:600 13px 'Inter',sans-serif;color:var(--ink-2);margin:0 0 10px}
.ls-g{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:4px 0 6px}
.ls-c{padding:8px 6px;border:1px solid var(--line);border-radius:10px;text-align:center;background:var(--bg)}
.ls-c b{display:block;font:800 20px 'Inter',sans-serif;color:var(--wa-deep)}.ls-c span{font:600 11px 'Inter',sans-serif;color:var(--ink-2)}
html[data-theme="dark"] .ls-c b{color:#9F84F0}
.ld-hint{font:600 12px 'Inter',sans-serif;color:var(--ink-2);margin:0 0 6px}
.ld-about{font:500 13.5px/1.45 'Inter',sans-serif;color:var(--ink);margin:0 0 10px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb, var(--wa) 12%, transparent);border-left:3px solid var(--wa)}
.ld-ed{outline:none;border-radius:6px;padding:1px 3px;margin-left:-3px;cursor:text}
.ld-ed:hover{background:rgba(128,128,128,.08)}.ld-ed:focus{background:color-mix(in srgb, var(--wa) 10%, transparent);box-shadow:0 0 0 1.5px var(--wa)}
.ld-ed:empty:before{content:attr(data-ph);color:var(--ink-3);font-weight:500}
.ldc-u .ld-li{display:inline-block;min-width:60%}

.s-lend-u{margin-left:18px!important;margin-right:18px!important;font:500 12.5px 'Inter',sans-serif;color:var(--ink-2);margin:2px 0 8px;word-break:break-all}
.s-lend-off{display:block;width:calc(100% - 36px);margin:0 18px;padding:11px;border-radius:12px;border:1px solid rgba(200,70,60,.45);background:transparent;color:#d0584a;font:600 14px 'Inter',sans-serif;cursor:pointer}
.ld-lead-c{display:inline-block;margin:2px 0 2px 6px;padding:5px 12px;border-radius:999px;background:var(--wa);color:#fff!important;font:700 13.5px 'Inter',sans-serif;text-decoration:none}
.ld-push-on{margin:6px 0 8px;padding:9px 12px;border-radius:10px;background:rgba(80,170,110,.14);color:var(--ink);font:600 12.5px 'Inter',sans-serif}
.ld-push-h{margin:6px 0 8px;padding:9px 12px;border-radius:10px;border:1px dashed var(--line);color:var(--ink-2);font:500 12.5px/1.4 'Inter',sans-serif}
.ld-push-b{margin-top:6px}

.upd-bar{position:fixed;left:50%;top:calc(10px + env(safe-area-inset-top));transform:translateX(-50%);z-index:9999;padding:10px 16px;border:0;border-radius:999px;background:var(--wa,#C77DA8);color:#fff;font:600 13.5px 'Inter',sans-serif;box-shadow:0 6px 20px rgba(0,0,0,.3);cursor:pointer;white-space:nowrap;max-width:calc(100% - 32px);overflow:hidden;text-overflow:ellipsis}
.s-upd{margin:0 18px 6px;display:flex;flex-direction:column;gap:8px}
#s-upd-v{font:500 12.5px 'Inter',sans-serif;color:var(--ink-2)}
.s-upd-b{width:100%;padding:11px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--ink);font:600 14px 'Inter',sans-serif;cursor:pointer}
body.нет-заявок #ml-leads,body.нет-заявок .mlfold[data-fold="leads"]{display:none!important}
.ld-lead{position:relative;transition:opacity .2s,transform .2s}.ld-lead.gone{opacity:0;transform:translateX(30px)}
.ld-lead-x{position:absolute;right:8px;top:8px;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink-2);font-size:13px;line-height:26px;padding:0;cursor:pointer}
.ld-lead-x:hover{color:var(--ink);border-color:var(--ink-2)}
.ld-biz{margin:8px 0;padding:12px;border-radius:12px;border:1px solid color-mix(in srgb, var(--wa) 45%, transparent);background:color-mix(in srgb, var(--wa) 8%, transparent);display:flex;flex-direction:column;gap:6px}
.ld-biz b{font:700 14px 'Inter',sans-serif;color:var(--ink)}.ld-biz span{font:500 12.5px/1.4 'Inter',sans-serif;color:var(--ink-2)}
.ld-biz-on{margin:8px 0 4px;font:600 12.5px 'Inter',sans-serif;color:var(--ink-2)}.ld-biz-on a{color:var(--wa)}
.ld-add-biz{border-color:color-mix(in srgb, var(--wa) 60%, transparent);color:var(--ink);font-size:20px;cursor:pointer}
.biz-l{list-style:none;padding:0;margin:0 0 10px;text-align:left}.biz-l li{padding:6px 0;font:500 14px/1.4 'Inter',sans-serif;border-top:1px solid var(--line)}
.ld-biz-warn{border-color:rgba(230,160,40,.7);background:rgba(230,160,40,.1)}
.biz-opt{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:0}
.biz-opt button{width:100%;margin:0!important}
.car-hvatit-b .biz-opt p.biz-opt-n{margin:8px 2px 0!important;font:500 12px/1.4 'Inter',sans-serif!important;color:var(--ink-2)!important;text-align:left!important}
.biz-opt-end{margin:14px 0 4px;padding-top:0}
.car-hvatit-b p.biz-hook{margin:0 0 10px!important;font:700 15px/1.4 'Inter',sans-serif!important;color:var(--wa)!important;text-align:left}
.ld-biz .biz-hook-s{font:700 13px/1.4 'Inter',sans-serif!important;color:var(--wa)!important}
.ld-rv{margin:10px 0 6px;padding-top:10px;border-top:1px dashed var(--line)}
.ld-rv-h{font:700 13px 'Inter',sans-serif;color:var(--ink);margin:0 0 6px}
.ld-rv-v{display:flex;align-items:center;gap:6px;font:500 12.5px 'Inter',sans-serif;margin:4px 0}
.ld-rv-v a{color:var(--wa);word-break:break-all}
.ld-rv-add{margin:6px 0 2px;padding:7px 12px;border-radius:10px;border:1px dashed var(--line);background:transparent;color:var(--ink);font:600 12.5px 'Inter',sans-serif;cursor:pointer}
.ld-g{display:flex;gap:8px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line)}
.ld-g-f{flex:0 0 64px;height:64px;border-radius:10px;border:1.5px dashed rgba(128,128,128,.45);display:flex;align-items:center;justify-content:center;font-size:22px;overflow:hidden;cursor:pointer}
.ld-g-f img{width:100%;height:100%;object-fit:cover}
.ld-g-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ld-g-n{font:700 14px 'Inter',sans-serif;color:var(--ink)}.ld-g-p{font:800 14px 'Inter',sans-serif;color:var(--wa)}
.ld-g-o{font:500 12.5px/1.35 'Inter',sans-serif;color:var(--ink-2)}
.ld-rv-main{border-style:solid;border-color:var(--wa);color:var(--wa)}
.ld-ai{display:block;width:100%;margin:0 0 8px;padding:12px;border-radius:12px;border:0;background:linear-gradient(90deg,var(--wa),#B8628F);color:#fff;font:700 14.5px 'Inter',sans-serif;cursor:pointer;text-align:center}
.ld-ai-on{opacity:.85;cursor:default}
.ld-ai-undo{display:block;width:100%;margin:-2px 0 8px;padding:8px;border-radius:10px;border:1px dashed var(--line);background:transparent;color:var(--ink-2);font:600 13px 'Inter',sans-serif;cursor:pointer}
.ld-g-b{display:flex;flex-direction:column;gap:6px;align-items:center}
.ld-g-ai{width:28px;height:28px;border-radius:50%;border:1px solid color-mix(in srgb, var(--wa) 60%, transparent);background:transparent;color:var(--ink);font-size:13px;line-height:26px;padding:0;cursor:pointer;text-align:center}

/* Подписчикам телеграма — свёрнутый блок в тарифах (30 сентября) */
.plan-tg{margin:0 0 12px;border:1px solid rgba(196,85,61,.35);border-radius:12px;padding:10px 12px;background:rgba(196,85,61,.06)}
.plan-tg>summary{cursor:pointer;font-weight:600;font-size:14px;list-style:none}
.plan-tg>summary::-webkit-details-marker{display:none}
.plan-tg>summary::after{content:' ›';opacity:.6}
.plan-tg[open]>summary::after{content:' ⌄'}
.plan-tg-t{margin-top:8px;font-size:14px;line-height:1.5}
.plan-tg-t a{color:inherit;font-weight:700;text-decoration:underline}

/* Обновление — полоской над полем ввода (30 сентября) */
.upd-inline{display:flex;align-items:center;justify-content:space-between;gap:10px;box-sizing:border-box;width:100%;max-width:720px;margin:0 auto 8px;padding:8px 8px 8px 14px;border-radius:14px;background:var(--wa-soft,#F6ECF3);color:var(--ink,#241a22);font:500 14px 'Inter',sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.08)}
html[data-theme="dark"] .upd-inline{background:rgba(120,87,217,.14);color:#EBE8F3}
.upd-inline button{flex:none;border:0;border-radius:10px;padding:8px 14px;background:var(--wa,#C77DA8);color:#fff;font:700 14px 'Inter',sans-serif;cursor:pointer}
.upd-inline.blink{animation:updBlink 1.1s ease}
@keyframes updBlink{0%,100%{transform:none}20%{transform:scale(1.03);box-shadow:0 0 0 3px var(--wa,#C77DA8)}40%{transform:none}60%{box-shadow:0 0 0 3px var(--wa,#C77DA8)}}

/* Подпись под полем ввода: Айыы — ИИ (30 сентября) */
.aiyy-oshibki{max-width:720px;margin:6px auto 0;text-align:center;font:400 11.5px/1.3 'Inter',sans-serif;color:var(--ink-3,#9a8f96)}

/* ПЛАНШЕТ (30 сентября, вопрос хозяина «а как на планшете?»).
   Стоя (600–1023 точек): раскладка телефона во весь экран, но строка ввода
   и пузыри не растягиваются на всю ширину — строки по 100 знаков не читаются. */
@media (min-width:600px) and (max-width:1023px){
  .aiyy-input{max-width:720px;margin:0 auto;}
  .cmsg-b{max-width:78%;}
}
/* Лёжа и маленькие ноутбуки (1024–1279): три колонки сразу сжимали разговор
   до полоски (1180 − 320 − 520 = 340 точек, поле ввода обрезалось). Боковые
   колонки уже — разговору остаётся 540 на айпаде лёжа. */
@media (min-width:1024px) and (max-width:1279px){
  .chatlist{width:260px;max-width:260px;}
  .pg{left:260px;}
  #pg-chat.on{left:260px;}
  body.линия-рядом #pg-selfline{width:380px;}
  body.линия-рядом #pg-chat{right:380px;}
  #pg-myline.on, #pg-selfline.on, #pg-life.on,
  #pg-kinline.on, #pg-person.on, #pg-contacts.on{width:380px;}
  #body:has(#pg-myline.on) #pg-chat,
  #body:has(#pg-selfline.on) #pg-chat,
  #body:has(#pg-life.on) #pg-chat,
  #body:has(#pg-kinline.on) #pg-chat,
  #body:has(#pg-person.on) #pg-chat,
  #body:has(#pg-contacts.on) #pg-chat{right:380px;}
  .aiyy-input-wrap{padding:12px 16px 16px;}
}

/* Стиль сайта — ряд как у каруселей (30 сентября) */
.ld-st{margin:12px 0 10px}.ld-st-h{font:700 13px/1.3 'Inter',sans-serif;color:var(--ink-2);margin:0 0 7px}
.ld-st-r{display:flex;gap:8px;flex-wrap:wrap}
.ld-st-b{border:1.5px solid var(--line);border-radius:12px;padding:9px 13px;background:var(--sb);color:var(--si);font:700 13px 'Inter',sans-serif;cursor:pointer}
.ld-st-b.on{outline:2.5px solid var(--wa);outline-offset:2px}
/* Стиль в окне предпросмотра (30 сентября). */
.kh-st .ld-st{margin:0 0 10px}.kh-st .ld-st-r{flex-wrap:nowrap;overflow-x:auto;padding:3px 3px 4px;scrollbar-width:none}.kh-st .ld-st-r::-webkit-scrollbar{display:none}.car-hvatit-b .kh-st .ld-st-b{flex:0 0 auto;display:inline-block;width:auto;height:auto;margin:0;border-radius:12px;padding:9px 13px;background:var(--sb);color:var(--si);border:1.5px solid var(--line);font:700 13px 'Inter',sans-serif}.kh-st .ld-st-h{text-align:left}.car-hvatit-b .kh-st .ld-ft-b{background:var(--panel);color:var(--ink);font-size:16px;font-weight:400;padding:7px 13px}

/* Переписанный текст лендинга — на миг подсвечен (30 сентября). */
@keyframes ldFlash{0%{background:rgba(217,119,87,.38)}100%{background:transparent}}
.ld-flash{animation:ldFlash 2.4s ease-out;border-radius:8px}
/* «Написать продающе» между снимками и заголовком — в рамке разделителей (30 сентября). */
.ld-ai-box{margin:10px 0 14px;padding:12px 0 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ld-ai-box .ld-ai{margin:0 0 8px}.ld-ai-box .ld-ai-undo{margin:0 0 8px}

/* ===== Живой сайт в чате (1 октября) ===== */
#ld-live{display:block}
.ldl{width:100%;max-width:440px}
.ldl .ld-st{margin:0 0 8px}.ldl .ld-st-h{font:700 12px/1.3 'Inter',sans-serif;color:var(--ink-2);margin:0 0 6px}
.ldl .ld-st-r{flex-wrap:nowrap;overflow-x:auto;padding:3px 3px 4px;scrollbar-width:none}.ldl .ld-st-r::-webkit-scrollbar{display:none}
.ldl .ld-st-b{flex:0 0 auto}.ldl .ld-ft-b{background:var(--panel);color:var(--ink);font-size:16px;font-weight:400;padding:7px 13px}
.ldl-phone{position:relative;height:560px;max-height:72vh;border-radius:26px;overflow:hidden;border:7px solid #141116;background:#FBF8F3;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.ldl-frame{display:block;width:100%;height:100%;border:0;background:#FBF8F3;transition:opacity .2s}
.ldl-btns{display:flex!important;flex-wrap:wrap;gap:8px;margin-top:10px}
#ld-live .ldl-btns button,#ld-live .ldl-btns .ldl-lab{flex:0 0 auto;width:auto;height:auto;margin:0;padding:9px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);font:600 13.5px 'Inter',sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
#ld-live .ldl-btns button.prim{background:var(--wa);border-color:var(--wa);color:#fff}
#ld-live .ldl-btns button[disabled]{opacity:.7}
.ldl-link{flex-basis:100%;display:inline-flex;align-items:center;font:600 13px 'Inter',sans-serif;color:var(--wa);text-decoration:none;padding:4px 2px}

.ldl-full{position:absolute;top:10px;right:10px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(20,17,22,.72);color:#fff;font-size:20px;line-height:38px;padding:0;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3)}
/* На весь экран (1 октября) */
.ld-full{position:fixed;inset:0;z-index:400;display:flex;flex-direction:column;background:var(--bg,#fff)}
.ldf-top{display:flex;align-items:flex-start;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 10px 6px;border-bottom:1px solid var(--line)}
.ldf-chips{flex:1;min-width:0}.ldf-chips .ld-st{margin:0 0 6px}.ldf-chips .ld-st-h{font:700 11px 'Inter',sans-serif;color:var(--ink-2);margin:0 0 4px}
.ldf-chips .ld-st-r{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.ldf-chips .ld-st-r::-webkit-scrollbar{display:none}.ldf-chips .ld-st-b{flex:0 0 auto}
.ldf-chips .ld-ft-b{background:var(--panel);color:var(--ink);font-size:15px;font-weight:400;padding:6px 12px}
.ldf-x{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);font-size:18px;cursor:pointer}
.ldf-stage{flex:1;position:relative;overflow:hidden;background:#E9E5EA}
.ldf-frame{position:absolute;top:0;left:0;border:0;background:#FBF8F3;transform-origin:0 0;transition:opacity .2s;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.ldf-btns{display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
#ld-full .ldf-btns button,#ld-full .ldf-btns .ldl-lab{flex:0 0 auto;padding:9px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);font:600 13.5px 'Inter',sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
#ld-full .ldf-btns button.prim{background:var(--wa);border-color:var(--wa);color:#fff}
#ld-full .ldl-link{flex-basis:100%}

/* Панель фото/товаров/отзывов на весь экран (1 октября) */
.ldf-panel{max-height:44vh;overflow:auto;padding:10px 12px;border-top:1px solid var(--line);background:var(--panel)}
.ldf-panel[hidden]{display:none}
.ldf-panel .ld-strip{flex-wrap:nowrap}
.ldf-strip{border:0;padding:0;margin:0;background:transparent}
#ld-full .ldf-btns button.on{outline:2px solid var(--wa);outline-offset:1px}

/* «Мин сайтарым» — карточка сайта в виджете (1 октября) */
.ld-site{display:flex;gap:12px;align-items:center;padding:10px;margin:0 0 10px;border:1.5px solid var(--line);border-radius:16px;background:var(--panel);cursor:pointer}
.ld-site-i{flex:0 0 auto;width:84px;height:84px;border-radius:12px;object-fit:cover;background:#0001}
.ld-site-n{display:flex;align-items:center;justify-content:center;font-size:32px}
.ld-site-t{min-width:0;display:flex;flex-direction:column;gap:3px}
.ld-site-t b{font:700 16px/1.25 'Inter',sans-serif;color:var(--ink)}
.ld-site-t span{font:500 13px/1.35 'Inter',sans-serif;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ld-site-a{font:600 12.5px 'Inter',sans-serif;color:var(--wa);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ld-author{display:block;margin:0 0 10px;font-size:14px}
.ld-site-rd{font:600 12px 'Inter',sans-serif;color:var(--ink-3)}

/* Образцы сайта (1 октября) */
.ld-obr-b{max-width:520px}
.ld-obr-g{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 6px}
.car-hvatit-b .ld-obr-t{display:flex;flex-direction:column;align-items:stretch;gap:3px;height:auto;margin:0;padding:8px;border-radius:14px;border:1.5px solid var(--line);background:var(--panel);text-align:left;cursor:pointer}
.ld-obr-t b{font:700 14px 'Inter',sans-serif;color:var(--ink);margin-top:4px}.ld-obr-t i{font:500 11.5px/1.3 'Inter',sans-serif;color:var(--ink-2);font-style:normal}
.ld-obr-m{display:flex;flex-direction:column;gap:5px;height:118px;border-radius:10px;overflow:hidden;padding:0 0 8px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.ld-obr-h{display:flex;align-items:center;justify-content:center;height:46px;font-size:22px}
.ld-obr-n{padding:0 8px;font-size:15px;line-height:1.1}
.ld-obr-l{display:block;height:4px;width:80%;margin:0 8px;border-radius:2px;opacity:.35}
.ld-obr-c{display:block;height:12px;margin:2px 8px 0;border-radius:6px}
/* Карусель в интернете (1 октября): ссылка на страницу — рядом с кнопкой. */
.car-acts .car-net-a{grid-column:1/-1;flex-basis:100%;order:99;text-decoration:none;font-size:13px;font-weight:600;color:var(--accent,#C4553D);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;text-align:center;line-height:40px;padding:0 12px}
/* Айыы рисует — дымка на странице и мерцающий кадр в ленте (1 октября). */
.ld-veil{z-index:5}
.ld-veil-b{position:relative;font-size:34px;animation:bootPulse 1.6s ease-in-out infinite}
.ld-th-wait{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,#3a2a36,#6b4a5e);animation:carЖдёт 1.6s ease-in-out infinite}
.ld-th-wait span:last-child{position:relative}
.ld-draw[disabled]{animation:carЖдёт 1.4s ease-in-out infinite}
/* На весь экран — как в субтитрах (1 октября): сверху ✕, ссылка, 📱/🖥 и
   «опубликовать»; снизу два ряда — стили со шрифтами и действия. */
.ldf-top{align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 10px 8px}
.ldf-link{flex:1 1 auto;min-width:0;overflow:hidden}
#ld-full .ldf-link .ldl-link{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0}
.ldf-act{flex:0 0 auto;display:flex}
.ldf-act button{height:40px;padding:0 16px;border-radius:12px;border:1.5px solid var(--wa);background:var(--wa);color:#fff;font:700 14px 'Inter',sans-serif;cursor:pointer;white-space:nowrap}
.ldf-act button[disabled]{opacity:.7}
.ldf-bot{flex:0 0 auto;display:flex;flex-direction:column;gap:4px;padding:6px 0 calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg,#fff)}
.ldf-row{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:4px 10px}
.ldf-row::-webkit-scrollbar{display:none}
.ldf-row.ldf-more,#ld-live .ld-st-r.ldf-more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent)}
#ld-full .ldf-chips{flex:0 0 auto;min-width:0}
#ld-full .ldf-chips .ld-st{display:flex;align-items:center;gap:6px;margin:0;flex:0 0 auto}
#ld-full .ldf-chips .ld-st + .ld-st{padding-left:10px;border-left:1px solid var(--line)}
#ld-full .ldf-chips .ld-st-h{margin:0;white-space:nowrap}
#ld-full .ldf-chips .ld-st-r{flex-wrap:nowrap;overflow:visible;gap:6px;padding:0}
#ld-full .ldf-chips .ld-st-b{white-space:nowrap;padding:7px 12px}
#ld-full .ldf-btns{flex-wrap:nowrap;padding:4px 10px;border-top:0}
#ld-full .ldf-btns button,#ld-full .ldf-btns .ldl-lab{white-space:nowrap}
/* Живой сайт в чате: стили и шрифты видны целиком — не влезли в строку,
   переносятся на следующую, а не обрываются на полуслове (1 октября, слово
   хозяина). Ряды — во всю ширину чата, телефон — своей шириной. */
.ldl{max-width:none}
.ldl-phone{max-width:440px}
.ldl .ld-st-r{flex-wrap:wrap;overflow:visible;padding:3px 3px 4px;gap:6px}
.ldl .ld-st-b{padding:7px 11px;font-size:12.5px}
.ldl .ld-ft-b{font-size:15px;padding:6px 11px}
/* Сайт собирается — телефончик, в котором встают блоки страницы (1 октября). */
.ld-build{display:flex;align-items:center;gap:14px;margin:10px 0 4px}
.ld-build-ph{position:relative;flex:0 0 auto;width:74px;height:128px;border-radius:14px;border:4px solid #141116;background:#FBF8F3;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.2)}
/* Блеск — одной полосой поверх всего телефончика, сдвигом (transform): такую
   анимацию браузер ведёт сам, и она не дёргается, пока приложение занято (1 октября). */
.ld-build-ph i{position:absolute;left:6px;right:6px;border-radius:3px;background:#e3dbe0;opacity:0;animation:ldbIn 3.6s ease-in-out infinite;will-change:opacity,transform}
.ld-build-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-100%);animation:ldbSh 1.4s linear infinite;will-change:transform;pointer-events:none}
.ld-build-ph .b1{top:0;left:0;right:0;height:40px;border-radius:0;animation-delay:0s,0s}
.ld-build-ph .b2{top:47px;height:8px;right:24px;animation-delay:.35s,0s}
.ld-build-ph .b3{top:60px;height:4px;animation-delay:.7s,0s}
.ld-build-ph .b4{top:68px;height:4px;right:18px;animation-delay:.9s,0s}
.ld-build-ph .b5{top:78px;height:22px;right:36px;animation-delay:1.2s,0s}
.ld-build-ph .b6{top:106px;height:10px;border-radius:5px;background:var(--wa,#C77DA8);animation-delay:1.6s,0s}
@keyframes ldbIn{0%{opacity:0;transform:translateY(6px)}12%,80%{opacity:1;transform:none}100%{opacity:0}}
@keyframes ldbSh{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.ld-build-t{display:inline-flex;align-items:center;gap:4px;font:600 14px 'Inter',sans-serif;color:var(--ink-2)}
.ld-build-t .car-veil-d i{background:currentColor}
/* Сайт в чате — готовые стили свайпом (1 октября): сам сайт, стрелки по бокам,
   «✏️ Көннөр» в углу, под ним — имя стиля и точки. */
.ldl-stage{position:relative;max-width:440px}
.ldl-phone{touch-action:pan-y}
.ldl-frame{pointer-events:none}
.ldl-touch{position:absolute;inset:0;z-index:2;cursor:pointer;touch-action:pan-y}
.ldl-edit{position:absolute;top:10px;right:10px;z-index:4;height:38px;padding:0 14px;border-radius:19px;border:0;background:rgba(20,17,22,.78);color:#fff;font:700 14px 'Inter',sans-serif;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.3);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ldl-pick-r{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:440px;margin-top:10px}
.ldl-arr{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);font-size:24px;line-height:38px;padding:0;cursor:pointer}
.ldl-pick{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0}
.ldl-pick-n{font:700 15px 'Inter',sans-serif;color:var(--ink)}
.ldl-dots{display:flex;gap:7px}
.ldl-dots i{width:8px;height:8px;border-radius:50%;background:var(--line);cursor:pointer;transition:all .2s}
.ldl-dots i.on{width:22px;border-radius:4px;background:var(--wa)}
/* Остальные сайты человека в «Мин сайтарым» (1 октября). */
.ld-site-s{margin-top:10px}
.ld-site-go{flex:0 0 auto;margin-left:auto;font-size:18px;opacity:.7}
/* «Толкуйдуубун» и секунды не слипаются, даже если пузырь потерял свою раскладку (1 октября). */
.cmsg-b:not(.cmsg-wait) .cw-t + .cw-s{margin-left:10px}
/* Библиотека блоков (1 октября): на компьютере — панель справа, на телефоне — в нижней панели. */
.ldf-mid{flex:1;display:flex;min-height:0}
.ldf-mid .ldf-stage{flex:1;min-width:0}

/* ===== РЕДАКТОР САЙТА (1 октября, слово хозяина: «сделай аккуратный классный
   редактор, как сам сайт»). Сверху тонкая строка: панель, ссылка, телефон/ПК,
   опубликовать, закрыть. Слева — панель по кнопке: Блоки · Стиль · Шрифт и
   внизу Айыы. Посередине — сам сайт на спокойном сером поле. ===== */
#ld-full{background:var(--panel)}
#ld-full .ldf-top{display:flex;align-items:center;gap:6px;height:auto;min-height:56px;padding:calc(8px + env(safe-area-inset-top)) 10px 8px;border-bottom:1px solid var(--line);background:var(--bg)}
#ld-full .ldf-ib{flex:0 0 auto;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:0;background:transparent;color:var(--ink-2);cursor:pointer;transition:background-color .15s,color .15s}
#ld-full .ldf-ib:hover{background:var(--panel);color:var(--ink)}
#ld-full.side-on .ldf-side-t{background:var(--panel);color:var(--ink)}
#ld-full .ldf-link{flex:1 1 auto;min-width:0;overflow:hidden;padding:0 6px}
#ld-full .ldf-link .ldl-link{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 10px;border-radius:8px;background:var(--panel);font:500 13px 'Inter',sans-serif;color:var(--ink-2);text-decoration:none}
#ld-full .ldf-link .ldl-link:hover{color:var(--ink)}
#ld-full .ldf-act button{height:38px;padding:0 16px;border-radius:10px;border:0;background:var(--wa);color:#fff;font:600 14px 'Inter',sans-serif;cursor:pointer;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.1)}
#ld-full .ldf-act button:hover{filter:brightness(1.05)}
#ld-full .ldf-mid{position:relative;flex:1;display:flex;min-height:0}
#ld-full .ldf-stage{flex:1;min-width:0;position:relative;overflow:hidden;background:var(--panel)}
#ld-full .ldf-frame{box-shadow:0 0 0 1px rgba(0,0,0,.05),0 8px 30px rgba(0,0,0,.08)}
@media (min-width:900px){
  #ld-full .ldf-stage.ldf-ph .ldf-frame{border-radius:26px;box-shadow:0 0 0 7px #1d1a1f,0 18px 50px rgba(0,0,0,.25)}
}
/* Панель слева */
#ld-full .ldf-side{display:none;flex:0 0 300px;width:300px;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:var(--bg)}
#ld-full.side-on .ldf-side{display:flex}
#ld-full .ldf-shade{display:none}
.ldf-tabs{display:flex;gap:2px;margin:12px 12px 6px;padding:3px;border-radius:12px;background:var(--panel)}
.ldf-tab{flex:1;height:34px;border:0;border-radius:9px;background:transparent;color:var(--ink-2);font:600 13px 'Inter',sans-serif;cursor:pointer;white-space:nowrap;transition:background-color .15s,color .15s}
.ldf-tab:hover{color:var(--ink)}
.ldf-tab.on{background:var(--bg);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.ldf-tb{flex:1;min-height:0;overflow:auto;padding:6px 12px 12px;scrollbar-width:thin}
.ldf-ai{display:flex;flex-direction:column;gap:8px;padding:12px;border-top:1px solid var(--line)}
.ldf-ai:empty{display:none}
.ldf-ai-2{display:flex;gap:8px}
.ldf-ai-b{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:600 13.5px 'Inter',sans-serif;cursor:pointer;transition:background-color .15s,border-color .15s}
.ldf-ai>.ldf-ai-b{flex:0 0 auto}
.ldf-ai-b span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ldf-ai-b:hover{background:var(--panel)}
.ldf-ai-b.prim{border-color:transparent;background:color-mix(in srgb,var(--wa) 14%,transparent);color:var(--wa-deep,var(--wa))}
.ldf-ai-b.prim:hover{background:color-mix(in srgb,var(--wa) 22%,transparent)}
.ldf-ai-b[disabled]{opacity:.6;cursor:default}
/* Блоки — списком */
.ldb{display:flex;flex-direction:column;gap:2px}
.ldb-r{display:flex;align-items:center;gap:12px;width:100%;padding:8px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:500 14px 'Inter',sans-serif;text-align:left;cursor:pointer;transition:background-color .15s}
.ldb-r:hover{background:var(--panel)}
.ldb-i{flex:0 0 40px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:color-mix(in srgb,var(--wa) 12%,transparent);color:var(--wa-deep,var(--wa))}
.ldb-n{flex:1;min-width:0}
.ldb-p{display:inline-flex;color:var(--ink-3);opacity:0;transition:opacity .15s}
.ldb-r:hover .ldb-p{opacity:1}
@media (hover:none){.ldb-p{opacity:1}}
/* Стили — карточками с маленькой страницей */
.lds{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lds-c{display:flex;flex-direction:column;gap:7px;padding:0;border:0;background:none;color:var(--ink);font:500 12.5px 'Inter',sans-serif;text-align:left;cursor:pointer}
.lds-p{position:relative;display:flex;flex-direction:column;gap:5px;aspect-ratio:4/5;padding:0 0 10px;border-radius:12px;overflow:hidden;background:var(--sb);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:box-shadow .15s,transform .15s}
.lds-p i{display:block;margin:0 10px;border-radius:3px;background:color-mix(in srgb,var(--si) 28%,var(--sb))}
.lds-p i:nth-child(1){margin:0 0 4px;height:42%;border-radius:0;background:color-mix(in srgb,var(--si) 22%,var(--sb))}
.lds-p i:nth-child(2){height:8px;width:62%;background:var(--si)}
.lds-p i:nth-child(3){height:4px;width:80%}
.lds-p i:nth-child(4){height:4px;width:52%}
.lds-p i:nth-child(5){margin-top:auto;height:13px;width:46%;border-radius:7px;background:var(--si)}
.lds-c:hover .lds-p{transform:translateY(-2px)}
.lds-c.on .lds-p{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--wa)}
.lds-n{padding:0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lds-c.on .lds-n{font-weight:700}
/* Шрифты — строками, каждая своим шрифтом */
.ldt{display:flex;flex-direction:column;gap:8px}
.ldt-r{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.ldt-r:hover{border-color:color-mix(in srgb,var(--wa) 50%,var(--line))}
.ldt-r b{font-size:20px;font-weight:400;line-height:1.2}
.ldt-r span{font-size:13px;color:var(--ink-3)}
.ldt-r i{position:absolute;top:50%;right:12px;transform:translateY(-50%);display:inline-flex;color:var(--wa)}
.ldt-r.on{border-color:var(--wa);box-shadow:0 0 0 1px var(--wa)}
/* Телефон: панель выезжает слева поверх сайта */
@media (max-width:899px){
  #ld-full .ldf-side{display:flex;position:absolute;top:0;bottom:0;left:0;z-index:3;width:min(86vw,340px);transform:translateX(-102%);transition:transform .25s ease;box-shadow:0 0 40px rgba(0,0,0,.18)}
  #ld-full.side-on .ldf-side{transform:none}
  #ld-full .ldf-shade{display:block;position:absolute;inset:0;z-index:2;background:rgba(0,0,0,.32);opacity:0;pointer-events:none;transition:opacity .25s}
  #ld-full.side-on .ldf-shade{opacity:1;pointer-events:auto}
  #ld-full .ldf-link{display:none}
  #ld-full .ldf-act{margin-left:auto}
  .ldf-ai{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
}

/* Блок, который тащат из панели на страницу (1 октября). */
.ldb-ghost{position:fixed;left:0;top:0;z-index:1000;pointer-events:none;background:var(--bg);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.22);opacity:.92;transition:box-shadow .15s}
.ldb-ghost.ok{box-shadow:0 0 0 2px var(--wa),0 12px 32px rgba(0,0,0,.22)}
body.ld-тащу,body.ld-тащу *{cursor:grabbing!important;user-select:none!important}
body.ld-тащу #ldf-frame{pointer-events:none}
.ldb-r{touch-action:pan-y}

/* ✕ у сайта в «Мин сайтарым» (1 октября). */
.ld-site{position:relative}
.ld-site-x{flex:0 0 auto;width:30px;height:30px;margin-left:6px;border:0;border-radius:50%;background:transparent;color:var(--ink-3);font-size:15px;line-height:30px;padding:0;cursor:pointer;align-self:center}
.ld-site-x:hover{background:var(--panel);color:#c0392b}
.ld-site:not(.ld-site-s) .ld-site-x{margin-left:auto}

/* Выделенное главное в ответе (1 октября): мысль ролика, итог. */
.cmsg-b .md-q{display:block;margin:6px 0 12px;padding:12px 14px;border-left:3px solid var(--wa);border-radius:4px 12px 12px 4px;background:color-mix(in srgb,var(--wa) 10%,transparent);font-size:1.06em;line-height:1.45}
.cmsg-b .md-q + .md-q{margin-top:-6px}

/* Язык в шапке (1 октября). */
.h-lang{flex:0 0 auto;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:var(--ink-2);padding:0;margin-right:2px;cursor:pointer}
.h-lang:hover{color:var(--ink);background:var(--panel)}
.h-lang-m{position:fixed;z-index:900;display:flex;flex-direction:column;min-width:150px;padding:4px;border-radius:12px;background:var(--bg);border:1px solid var(--line);box-shadow:0 12px 32px rgba(0,0,0,.18)}
.h-lang-m button{border:0;background:transparent;color:var(--ink);font:500 14px 'Inter',sans-serif;text-align:left;padding:10px 12px;border-radius:8px;cursor:pointer}
.h-lang-m button:hover{background:var(--panel)}.h-lang-m button.on{font-weight:700;color:var(--wa)}

/* ФОТО ЧЕЛОВЕКА С КНОПКАМИ (1 октября, слово хозяина: «кнопки смотрятся уродливо»).
   Снимок без тяжёлой рамки, под ним — один ряд тихих одинаковых кнопок справа. */
.cmsg.me .cmsg-b:has(.cmsg-photo-row){background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;max-width:100%!important;display:flex;flex-direction:column;align-items:flex-end}
.cmsg.me .cmsg-b:has(.cmsg-photo-row) .cmsg-imgs{width:auto;max-width:min(100%,420px)}
.cmsg.me .cmsg-b:has(.cmsg-photo-row) img.cmsg-att{border-radius:18px}
.cmsg-paint.cmsg-photo-row{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:6px;margin:8px 0 0 auto;max-width:420px}
.cmsg-paint.cmsg-photo-row button,.cmsg-paint.cmsg-photo-row button:first-child,.cmsg-paint.cmsg-photo-row button.stk-go{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-width:0;padding:8px 12px 8px 10px;border-radius:999px;
  background:transparent!important;border:1px solid var(--line)!important;color:var(--ink-2)!important;
  font:600 13px 'Inter',sans-serif;white-space:nowrap;box-shadow:none!important;transition:background-color .15s,color .15s}
.cmsg-paint.cmsg-photo-row button span{overflow:hidden;text-overflow:ellipsis}
.cmsg-paint.cmsg-photo-row button:hover{background:var(--panel)!important;color:var(--ink)!important}
.cmsg-paint.cmsg-photo-row button svg{flex:0 0 auto;opacity:.85}

/* ОЖИВЛЕНИЕ НА САМОМ СНИМКЕ (1 октября): снимок тускнеет, по нему мерцают искры,
   как при загрузке в Телеграме; готовый ролик встаёт на его место. */
.cmsg-anim-w{position:relative;display:block;max-width:420px;margin:0 0 0 auto;border-radius:18px;overflow:hidden}
.cmsg-anim-w img.cmsg-att{display:block;filter:blur(3px) brightness(.62) saturate(.8);transform:scale(1.04)}
.cmsg-anim-veil{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.cmsg-anim-veil i{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 10px 3px rgba(255,255,255,.75);opacity:0;animation:animЗв 2.4s ease-in-out infinite;will-change:transform,opacity}
.cmsg-anim-veil i:nth-child(1){left:12%;top:18%;animation-delay:0s}.cmsg-anim-veil i:nth-child(2){left:72%;top:12%;animation-delay:.3s}
.cmsg-anim-veil i:nth-child(3){left:38%;top:34%;animation-delay:.7s}.cmsg-anim-veil i:nth-child(4){left:84%;top:42%;animation-delay:1.1s}
.cmsg-anim-veil i:nth-child(5){left:20%;top:58%;animation-delay:.5s}.cmsg-anim-veil i:nth-child(6){left:56%;top:64%;animation-delay:1.5s}
.cmsg-anim-veil i:nth-child(7){left:30%;top:82%;animation-delay:.9s}.cmsg-anim-veil i:nth-child(8){left:78%;top:80%;animation-delay:1.8s}
.cmsg-anim-veil i:nth-child(9){left:62%;top:28%;animation-delay:2s}.cmsg-anim-veil i:nth-child(10){left:8%;top:40%;animation-delay:1.3s}
.cmsg-anim-veil i:nth-child(11){left:46%;top:90%;animation-delay:.2s}.cmsg-anim-veil i:nth-child(12){left:90%;top:22%;animation-delay:1.6s}
@keyframes animЗв{0%{opacity:0;transform:scale(.3) translateY(6px)}40%{opacity:1;transform:scale(1)}80%{opacity:.2;transform:scale(.6) translateY(-8px)}100%{opacity:0;transform:scale(.3) translateY(-12px)}}
.cmsg-anim-veil b{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(0,0,0,.45);color:#fff;font:600 13px 'Inter',sans-serif;white-space:nowrap;backdrop-filter:blur(6px)}
.cmsg-anim-veil b .anim-spin{width:14px;height:14px}
video.cmsg-anim-v{display:block;width:100%;max-width:420px;max-height:560px;border-radius:18px;margin:0 0 0 auto;background:#000}
@media (prefers-reduced-motion:reduce){.cmsg-anim-veil i{animation:none;opacity:.6}}

/* «＋» в поле ввода — ровно по середине, как дерево и микрофон рядом (1 октября,
   снимок хозяина с телефона: плюс стоял ниже). Та же высота, что у соседей. */
.aiyy-input .aiyy-photo{height:40px;min-width:36px;padding:0 4px;align-items:center;justify-content:center;margin-bottom:0}

/* Статья в редакторе: подсказка над кнопками Айыы и вопросы автору (1 октября). */
.ldf-ai-h{font-size:12.5px;opacity:.7;margin:0 2px 8px}
.ldf-qa{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:10px;border-radius:12px;border:1px dashed var(--line,rgba(127,127,127,.4))}
.ldf-qa label{display:flex;flex-direction:column;gap:4px;font-size:13px}
.ldf-qa input{font:inherit;font-size:15px;padding:9px 10px;border-radius:10px;border:1px solid var(--line,rgba(127,127,127,.4));background:transparent;color:inherit}
.ldf-ai .ldf-ai-2 .ldf-ai-b span{white-space:normal;line-height:1.15;text-align:left}
.ldf-by{display:flex;flex-direction:column;gap:6px;margin:0 0 10px}.ldf-by input{font:inherit;font-size:14px;padding:8px 10px;border-radius:10px;border:1px solid var(--line,rgba(127,127,127,.4));background:transparent;color:inherit}
/* Хаартыскалар — панель снимков слайдера (1 октября). */
.ldf-gal{display:flex;flex-direction:column;gap:8px}
.ldf-gal-h{font-size:13px;font-weight:700;opacity:.8}
.ldf-gal-g{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:46vh;overflow-y:auto}
.ldf-gal-i{position:relative;border-radius:10px;overflow:hidden;cursor:grab;background:#0002}
.ldf-gal-i img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.ldf-gal-i.off img{opacity:.3}
.ldf-gal-v{position:absolute;top:4px;left:4px;font-size:10px;background:rgba(0,0,0,.55);color:#fff;border-radius:6px;padding:1px 5px}
.ldf-gal-k{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;background:linear-gradient(transparent,rgba(0,0,0,.6));padding:10px 2px 2px}
.ldf-gal-k button{border:0;background:none;color:#fff;font-size:13px;padding:2px 4px;cursor:pointer}
.ldf-gal-k button:disabled{opacity:.3}
.ldf-gal-s{display:flex;gap:6px}.ldf-gal-s input{flex:1;min-width:0;font:inherit;font-size:14px;padding:8px 10px;border-radius:10px;border:1px solid var(--line,rgba(127,127,127,.4));background:transparent;color:inherit}
.ldf-gal-r img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:pointer}
.ldf-galm{width:100%;padding:8px 4px}
.pe.pe-top{position:fixed;z-index:520}
.ldf-sync{margin-left:10px;font-size:12.5px;opacity:.65;white-space:nowrap}
.ldf-link{display:flex;align-items:center;min-width:0}.ldf-sync{line-height:1;display:inline-flex;align-items:center}
.ldf-soc-r{display:flex;align-items:center;gap:8px}.ldf-soc-r span{flex:0 0 108px;font-size:13px;opacity:.75}.ldf-soc-r input{flex:1;min-width:0}
/* Сводка над соруктар (2 октября) */
#ml-ustat{padding:12px 16px 4px}
.us-r{display:flex;flex-wrap:wrap;gap:8px}
.us-c{flex:1 1 92px;min-width:92px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:14px;border:1px solid var(--line,rgba(127,127,127,.3));background:transparent;color:inherit;font:inherit;text-align:left;cursor:default}
.us-c b{font:800 22px/1.1 'Inter',system-ui,sans-serif;color:var(--wa)}
.us-c span{font:500 12px/1.25 'Inter',system-ui,sans-serif;opacity:.75}
.us-go{display:block;width:100%;margin:10px 0 2px;padding:11px 14px;border-radius:14px;border:0;background:var(--wa);color:#fff;font:600 14px/1.3 'Inter',system-ui,sans-serif;text-align:left;cursor:pointer}
.us-c small{font:400 10.5px/1.2 'Inter',system-ui,sans-serif;opacity:.55;margin-top:1px}
.us-gos{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 2px}.us-gos .us-go{flex:1 1 200px;width:auto;margin:0}
.us-go2{background:transparent!important;color:var(--wa)!important;border:1px solid var(--wa)!important}
/* «Так было — так будет» (2 октября) */
.ks{margin:0 0 12px}
.ks-h{font:800 17px/1.25 'Inter',system-ui,sans-serif;margin:0 0 3px}
.ks-s{font:500 12.5px/1.3 'Inter',system-ui,sans-serif;opacity:.6;margin:0 0 10px}
.ks-case{display:flex;gap:12px;align-items:center;padding:12px;border-radius:14px;border:1px solid var(--wa);background:color-mix(in srgb,var(--wa) 10%,transparent);margin:0 0 8px}
.ks-av{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;font:800 18px 'Inter',sans-serif}
.ks-n{font:700 13px/1.3 'Inter',sans-serif;margin:0 0 6px}
.ks-num{display:flex;gap:14px;flex-wrap:wrap}.ks-num b{display:block;font:800 20px/1 'Inter',sans-serif;color:var(--wa)}.ks-num span{font:500 11px/1.2 'Inter',sans-serif;opacity:.7}
.ks-q{font:italic 12.5px/1.35 'Inter',sans-serif;opacity:.8;margin:0 0 10px;padding-left:9px;border-left:3px solid var(--wa)}
.ks-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ks-c{border-radius:14px;padding:11px;border:1px solid var(--line,rgba(127,127,127,.3))}
.ks-c b{display:block;font:700 11.5px 'Inter',sans-serif;letter-spacing:.05em;text-transform:uppercase;margin:0 0 8px;opacity:.8}
.ks-good{border-color:color-mix(in srgb,var(--wa) 55%,transparent)}.ks-good b{color:var(--wa);opacity:1}
.ks-c div{display:flex;gap:6px;font:500 12.5px/1.35 'Inter',sans-serif;margin:0 0 7px}
.ks-bad div{opacity:.6}.ks-c i{font-style:normal;font-weight:800}.ks-good i{color:var(--wa)}
.ks-btn{display:block;width:100%;margin:10px 0 0;padding:12px;border:0;border-radius:14px;background:var(--wa);color:#fff;font:700 14.5px 'Inter',sans-serif;cursor:pointer}
.us-today{margin:8px 0 2px;font:600 13px 'Inter',sans-serif;color:var(--wa)}
.ks-num{align-items:center}.ks-ar{font-style:normal;font:700 20px 'Inter',sans-serif;opacity:.5}
.ks-was b{color:inherit!important;opacity:.45;text-decoration:line-through}.ks-num b{font-size:24px}
.ks-w{margin:0 0 12px}.ks-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:0}.ks-track::-webkit-scrollbar{display:none}
.ks-track .ks{flex:0 0 100%;width:100%;scroll-snap-align:start;margin:0;box-sizing:border-box;padding:0}
.ks-dots{display:flex;justify-content:center;gap:6px;margin:10px 0 0}.ks-dots i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.25;cursor:pointer;transition:all .2s}.ks-dots i.on{opacity:1;background:var(--wa);width:18px;border-radius:4px}
.ks-track{align-items:flex-start;transition:height .3s ease}
.ks-dots{align-items:center;gap:8px}
.ks-nav{width:34px;height:34px;border-radius:50%;border:1px solid var(--line,rgba(127,127,127,.35));background:transparent;color:inherit;font:600 20px/1 'Inter',sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 0 2px}
.ks-nav:hover{border-color:var(--wa);color:var(--wa)}
.ks-dots .ks-nav:first-child{margin-right:6px}.ks-dots .ks-nav:last-child{margin-left:6px}
.ks-dots{align-items:center}
.ks-div{margin:6px 4px 18px}#ml-ks{padding-top:4px}
/* Слайды одной высоты, кнопка внизу; карточка Славы компактнее (2 октября) */
.ks-track{align-items:stretch!important}.ks-track .ks{display:flex;flex-direction:column}.ks-track .ks-btn{margin-top:auto}.ks-track .ks-cols{margin-bottom:10px}
.ks-case{padding:8px 12px;gap:10px;margin:0 0 8px}.ks-av{flex-basis:34px;width:34px;height:34px;font-size:15px}.ks-n{font-size:12px;margin:0 0 3px}.ks-num b{font-size:19px!important}.ks-num span{font-size:10.5px}

/* ОКНО ВВОДА КАК У CLAUDE. 4 октября, слово хозяина: текст сверху во всю
   ширину, снизу один ряд — «＋», (выбор Айыы), дерево, микрофон, отправка.
   Отправка видна всегда: бледная, пока поле пустое. */
.aiyy-input{flex-wrap:wrap !important;align-items:center !important;column-gap:6px !important;row-gap:4px !important;
  padding:12px 10px 8px 14px !important;border-radius:24px !important}
.aiyy-input textarea{order:-1;flex:1 1 100% !important;width:100%;padding:2px 4px 6px !important;min-height:30px}
.aiyy-input .aiyy-photo{width:38px;height:38px !important;min-width:38px;border:1.5px solid var(--line) !important;border-radius:50%;margin-left:-4px}
.aiyy-input .aiyy-make{margin-left:auto}
.aiyy-input .aiyy-send{display:flex !important;transition:opacity .15s}
.aiyy-input .aiyy-send.off{opacity:.35}

/* «Стоп» на месте отправки, пока Айыы отвечает (4 октября). */
.aiyy-send .snd-stop{display:none}
body.ai-busy .aiyy-send{opacity:1 !important;background:var(--ink-1) !important;color:var(--bg) !important}
body.ai-busy .aiyy-send .snd-go{display:none}
body.ai-busy .aiyy-send .snd-stop{display:block}

/* Выбор «кто отвечает» (4 октября). */
.aiyy-input .aiyy-mode{height:38px;border:none;border-radius:19px;background:var(--wa-soft);color:var(--ink-1);
  font:600 14px 'Inter',sans-serif;padding:0 13px;display:flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}
.aiyy-mode em{font-style:normal;color:var(--ink-3);font-size:12px}
.mode-menu{position:absolute;left:8px;bottom:calc(100% + 8px);width:min(320px,calc(100% - 16px));background:var(--panel);
  border:1.5px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 10px 30px rgba(0,0,0,.18);z-index:30}
.mode-menu .mm-h{font-size:12px;color:var(--ink-3);padding:6px 10px}
.mode-menu button{display:flex;align-items:center;width:100%;text-align:left;border:none;background:none;border-radius:12px;padding:10px;cursor:pointer;font-family:'Inter',sans-serif;color:var(--ink-1)}
.mode-menu button.on{background:var(--wa-soft)}
.mode-menu b{display:block;font-size:15px}.mode-menu small{display:block;font-size:12.5px;color:var(--ink-3);margin-top:2px;line-height:1.35}
.mode-menu i{margin-left:auto;padding-left:8px;color:var(--wa);font-style:normal;font-weight:bold}

/* ===== ЛЕНТА В ДЕРЕВЕ (4 октября) ===== */
#lenta{position:fixed;inset:0;z-index:950;background:var(--bg);color:var(--ink-1);display:flex;flex-direction:column;font-family:'Inter',sans-serif}
#lenta[hidden]{display:none}
.ln-top{flex:0 0 auto;padding:calc(10px + env(safe-area-inset-top,0)) 14px 0;border-bottom:1px solid var(--line);max-width:720px;width:100%;margin:0 auto;box-sizing:border-box}
.ln-back{display:inline-flex;align-items:center;gap:6px;border:none;background:var(--panel);color:var(--ink-2);border-radius:16px;padding:7px 12px;font:600 13px 'Inter',sans-serif;cursor:pointer}
.ln-h{font-size:21px;font-weight:800;margin:10px 2px 4px}
.ln-tabs{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;padding:4px 2px 0}
.ln-tabs button{border:none;background:none;color:var(--ink-3);font:600 15px 'Inter',sans-serif;padding:8px 0 10px;border-bottom:2.5px solid transparent;cursor:pointer;white-space:nowrap}
.ln-tabs button.on{color:var(--ink-1);border-bottom-color:var(--wa)}
.ln-srch{width:100%;box-sizing:border-box;margin:10px 0 12px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink-1);border-radius:20px;padding:10px 14px;font:15px 'Inter',sans-serif;outline:none}
.ln-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.ln-list{max-width:720px;margin:0 auto;padding-bottom:90px}
.ln-card{padding:14px 16px 16px;border-bottom:6px solid var(--panel);cursor:pointer}
.ln-a{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-3);margin-bottom:8px}
.ln-av{width:32px;height:32px;border-radius:50%;background:var(--wa);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.ln-a b{color:var(--ink-1);font-size:14px}
.ln-a a{color:inherit;text-decoration:none}
.ln-t{font-size:17px;font-weight:800;line-height:1.3;margin:0 0 8px}
.ln-l{font-size:14.5px;color:var(--ink-2);line-height:1.45;margin:-2px 0 8px}
.ln-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:var(--panel);display:block}
.ln-f{display:flex;gap:16px;font-size:12.5px;color:var(--ink-3);margin-top:9px}
.ln-empty{padding:40px 24px;text-align:center;color:var(--ink-3);font-size:14.5px;line-height:1.5}
.ln-nav{position:absolute;left:0;right:0;bottom:0;height:calc(64px + env(safe-area-inset-bottom,0));padding-bottom:env(safe-area-inset-bottom,0);background:var(--bg);border-top:1px solid var(--line);display:flex;justify-content:space-around;align-items:center}
.ln-nav button{border:none;background:none;color:var(--ink-2);display:flex;flex-direction:column;align-items:center;gap:2px;font:600 10.5px 'Inter',sans-serif;cursor:pointer;min-width:60px}
.ln-nav button.on{color:var(--wa)}
.ln-nav .ln-plus{width:46px;height:46px;border-radius:50%;background:var(--wa);color:#fff;font-size:26px;min-width:0;justify-content:center}
.ln-me{display:flex;gap:14px;align-items:center;padding:18px 16px 8px}
.ln-me .ln-av{width:64px;height:64px;font-size:26px}
.ln-me img.ln-av{object-fit:cover}
.ln-mi{display:flex;align-items:center;gap:12px;padding:14px 18px;border-top:1px solid var(--line);font-size:15px;cursor:pointer}
.ln-mi span:last-child{margin-left:auto;color:var(--ink-3)}
#ln-view{position:fixed;inset:0;z-index:960;background:var(--bg);display:flex;flex-direction:column}
#ln-view iframe{flex:1;border:none;width:100%}
#ln-view .ln-top{border-bottom:1px solid var(--line);padding-bottom:10px}

.ln-f{align-items:center}
.ln-v{display:inline-flex;align-items:center;gap:2px;border:1.5px solid var(--line);border-radius:16px;padding:1px 3px}
.ln-v button{border:none;background:none;color:var(--ink-3);font-size:13px;padding:4px 7px;cursor:pointer;line-height:1}
.ln-v b{font-size:13.5px;color:var(--ink-1);min-width:16px;text-align:center}
.ln-v.up{border-color:var(--wa)}.ln-v.up button:first-child,.ln-v.up b{color:var(--wa)}
.ln-v.dn b,.ln-v.dn button:last-child{color:#7a8a99}

.ln-c{cursor:pointer}
.ln-cbar{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:6px;border:none;border-top:1px solid var(--line);background:var(--bg);color:var(--ink-1);
  font:600 15px 'Inter',sans-serif;padding:13px 0 calc(13px + env(safe-area-inset-bottom,0));cursor:pointer}
.ln-cbar b{color:var(--wa)}
#ln-cm{position:fixed;inset:0;z-index:970}
#ln-cm .cm-bg{position:absolute;inset:0;background:rgba(0,0,0,.35)}
#ln-cm .cm-sheet{position:absolute;left:0;right:0;bottom:0;max-height:82vh;max-width:720px;margin:0 auto;background:var(--bg);color:var(--ink-1);border-radius:20px 20px 0 0;display:flex;flex-direction:column;font-family:'Inter',sans-serif}
.cm-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--line);font-size:17px}
.cm-h button{border:none;background:none;font-size:24px;color:var(--ink-3);cursor:pointer}
.cm-list{flex:1;overflow-y:auto;padding:4px 0 8px;min-height:120px}
.cm-one{padding:10px 16px}
.cm-sub{margin-left:26px;border-left:2px solid var(--line);padding-left:12px}
.cm-n{font-size:12.5px;color:var(--ink-3);margin-bottom:3px}.cm-n b{color:var(--ink-1)}.cm-n a{color:var(--ink-3)}
.cm-t{font-size:14.5px;line-height:1.45;color:var(--ink-1);word-wrap:break-word}
.cm-a{display:flex;gap:14px;margin-top:4px}
.cm-a button{border:none;background:none;padding:2px 0;color:var(--ink-3);font:600 12.5px 'Inter',sans-serif;cursor:pointer}
.cm-in{border-top:1px solid var(--line);padding:8px 12px calc(10px + env(safe-area-inset-bottom,0))}
.cm-re{font-size:12.5px;color:var(--ink-3);padding:0 4px 6px}.cm-re button{border:none;background:none;color:var(--ink-3);cursor:pointer}
.cm-row{display:flex;gap:8px;align-items:flex-end}
.cm-row textarea{flex:1;resize:none;border:1.5px solid var(--line);background:var(--panel);color:var(--ink-1);border-radius:18px;padding:9px 14px;font:15px 'Inter',sans-serif;outline:none;max-height:120px}
.cm-send{width:40px;height:40px;border-radius:50%;border:none;background:var(--wa);color:#fff;font-size:20px;font-weight:bold;cursor:pointer;flex:none}
.cm-send:disabled{opacity:.4}

.ln-nav button{position:relative}
.ln-bd{position:absolute;top:-4px;right:12px;background:#d9534f;color:#fff;font-style:normal;font-size:10px;font-weight:700;border-radius:9px;padding:1px 5px}
.nt-one{display:flex;gap:11px;padding:12px 16px;border-bottom:1px solid var(--line);cursor:pointer}
.nt-one .ln-av{width:38px;height:38px;font-size:15px}
.nt-new{background:var(--wa-soft)}
.nt-b{flex:1;min-width:0;font-size:14px;line-height:1.4;color:var(--ink-1)}
.nt-s{color:var(--ink-2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nt-z{color:var(--ink-3);font-size:12.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nt-w{color:var(--ink-3);font-size:12px;margin-top:3px}
.aiyy-hero-mark{position:relative}
.aiyy-hero-mark.ln-dot{filter:drop-shadow(0 0 6px rgba(224,119,63,.9))}

#ln-new{position:fixed;inset:0;z-index:970}
#ln-new .cm-bg{position:absolute;inset:0;background:rgba(0,0,0,.35)}
.ln-new-s{position:absolute;left:0;right:0;bottom:0;max-width:720px;margin:0 auto;background:var(--bg);color:var(--ink-1);border-radius:20px 20px 0 0;
  padding-bottom:calc(14px + env(safe-area-inset-bottom,0));font-family:'Inter',sans-serif}
.ln-new-s>button{display:flex;align-items:center;gap:14px;width:100%;border:none;background:none;color:var(--ink-1);font:600 16px 'Inter',sans-serif;padding:15px 20px;cursor:pointer;text-align:left}
.ln-new-s>button span{font-size:22px;width:30px;text-align:center}
.ln-new-s>button:active{background:var(--panel)}

.ln-rep{border:none;background:none;color:var(--ink-3);font:600 12.5px 'Inter',sans-serif;cursor:pointer;margin-left:6px;padding:6px 4px}

.ln-nick{color:var(--ink-3);font-size:14px;margin-top:2px}
.ln-nf{padding:6px 16px 14px;display:flex;flex-direction:column;gap:6px}
.ln-nf label{font-size:12.5px;color:var(--ink-3);margin-top:4px}
.ln-nf input{border:1.5px solid var(--line);background:var(--panel);color:var(--ink-1);border-radius:12px;padding:10px 12px;font:15px 'Inter',sans-serif;outline:none;width:100%;box-sizing:border-box}
.ln-nf-at{display:flex;align-items:center;border:1.5px solid var(--line);background:var(--panel);border-radius:12px;padding-left:12px}
.ln-nf-at span{color:var(--ink-3)}
.ln-nf-at input{border:none;background:none;padding-left:4px}
.ln-nf-h{font-size:12px;color:var(--ink-3)}
.ln-nf button{align-self:flex-start;border:none;background:var(--wa);color:#fff;border-radius:12px;padding:10px 18px;font:700 14px 'Inter',sans-serif;cursor:pointer;margin-top:4px}
.ln-nk{color:var(--ink-3);font-weight:400;font-size:12.5px}

/* Лента на компьютере — как vc.ru (4 октября). */
#lenta.lnd-on{display:block;overflow-y:auto}
#lenta.lnd-on[hidden]{display:none}
.lnd-h{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}
.lnd-hi{max-width:1260px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:10px 20px}
.lnd-logo{display:flex;align-items:center;gap:8px;border:none;background:none;cursor:pointer;color:var(--ink-1);font:800 17px 'Inter',sans-serif;letter-spacing:.5px}
.lnd-logo img{width:30px;height:30px}
html[data-theme="dark"] .lnd-logo img{filter:invert(1) brightness(1.6)}
.lnd-sr{display:flex;align-items:center;gap:8px;background:var(--panel);border:1.5px solid var(--line);border-radius:12px;padding:0 12px;color:var(--ink-3);width:min(420px,40vw);margin-left:110px}
.lnd-sr input{border:none;background:none;outline:none;color:var(--ink-1);font:15px 'Inter',sans-serif;padding:10px 0;width:100%}
.lnd-sp{flex:1}
.lnd-ic{position:relative;border:none;background:none;color:var(--ink-2);cursor:pointer;padding:6px}
.lnd-ic .ln-bd{top:-2px;right:-4px}
.lnd-write{border:none;background:var(--panel);color:var(--ink-1);border-radius:12px;padding:10px 16px;font:700 14.5px 'Inter',sans-serif;cursor:pointer}
.lnd-write:hover{background:var(--wa-soft)}
.lnd-me{border:none;background:none;cursor:pointer;padding:0}
.lnd-me img,.lnd-me .ln-av{width:38px;height:38px;border-radius:50%;object-fit:cover}
.lnd-g{max-width:1260px;margin:0 auto;display:grid;grid-template-columns:220px minmax(0,640px) 300px;gap:28px;padding:16px 20px 60px;justify-content:center}
.lnd-l{position:sticky;top:76px;align-self:start;display:flex;flex-direction:column;gap:2px}
.lnd-l button{display:flex;align-items:center;gap:12px;border:none;background:none;color:var(--ink-1);font:600 15.5px 'Inter',sans-serif;padding:11px 12px;border-radius:12px;cursor:pointer;text-align:left}
.lnd-l button:hover{background:var(--panel)}
.lnd-l button.on{background:var(--panel)}
.lnd-l button.on svg{color:var(--wa)}
.lnd-n{margin-left:auto;background:#d9534f;color:#fff;font-style:normal;font-size:11px;border-radius:9px;padding:1px 6px}
.lnd-sep{height:1px;background:var(--line);margin:10px 12px}
.lnd-c{background:var(--bg);overflow:visible}
.lnd-on .ln-list{padding-bottom:0}
.lnd-on .ln-card{border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:18px 22px}
.lnd-on .ln-card:hover{border-color:var(--wa)}
.lnd-on .ln-t{font-size:20px}
.lnd-on .ln-img{aspect-ratio:16/9}
.lnd-ch{margin:0 0 10px}
.lnd-r{position:sticky;top:76px;align-self:start}
.lnd-box{border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.lnd-box>b{display:block;font-size:15.5px;margin-bottom:8px;color:var(--ink-1)}
.lnd-cm1{padding:10px 0;border-top:1px solid var(--line);cursor:pointer}
.lnd-cm1:first-child{border-top:none}
.lnd-cmn{font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lnd-cmn b{color:var(--ink-1)}
.lnd-cmt{font-size:14px;line-height:1.45;color:var(--ink-1);margin-top:3px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.ds-h{font-size:17px;font-weight:800;padding:16px 16px 6px;color:var(--ink-1)}
.ds-row{display:flex;align-items:center;gap:11px;padding:10px 16px;cursor:pointer}
.ds-row:hover{background:var(--panel)}
.ds-n{width:16px;color:var(--ink-3);font-size:13px;text-align:center}
.ds-t{flex:1;min-width:0;font-size:12.5px;color:var(--ink-3)}
.ds-t b{font-size:15px;color:var(--ink-1)}
.ds-t>div{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ds-go{color:var(--ink-3);font-size:20px}
.ds-top{color:var(--wa)}
.ds-chips{display:flex;gap:7px;padding:4px 16px 8px;overflow-x:auto;scrollbar-width:none}
.ds-chips button{flex:none;border:1.5px solid var(--line);background:none;color:var(--ink-2);border-radius:16px;padding:6px 12px;font:600 13px 'Inter',sans-serif;cursor:pointer;white-space:nowrap}
.ds-chips button.on{background:var(--wa);border-color:var(--wa);color:#fff}
.lnd-on .ds-row{border-radius:12px}

.ln-topics{padding:8px 0 10px}
.lnd-on .ln-topics{padding:0 0 12px}
.ln-tm{color:var(--wa);font-weight:600;cursor:pointer}

.h-lenta{position:relative}
.h-lenta.ln-dot::after{content:'';position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;background:#d9534f}

img.ln-av{object-fit:cover}
.ln-avb{position:relative;border:none;background:none;padding:0;cursor:pointer}
.ln-avb i{position:absolute;right:-2px;bottom:-2px;background:var(--bg);border:1.5px solid var(--line);border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:13px}
.cm-av{width:22px;height:22px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:6px}
.avc-sheet.avc-top{position:fixed;z-index:990}

#lnd-menu{position:fixed;top:64px;right:max(20px,calc((100vw - 1260px)/2 + 10px));z-index:980;width:300px;background:var(--bg);color:var(--ink-1);
  border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 36px rgba(0,0,0,.25);padding:8px;font-family:'Inter',sans-serif}
#lnd-menu .lm-h{font-size:13px;font-weight:700;color:var(--ink-2);padding:8px 10px 4px}
#lnd-menu button{display:flex;align-items:center;gap:12px;width:100%;border:none;background:none;color:var(--ink-1);font:600 15px 'Inter',sans-serif;padding:11px 10px;border-radius:10px;cursor:pointer;text-align:left}
#lnd-menu button:hover{background:var(--panel)}
#lnd-menu button>span:first-child{width:24px;text-align:center}
#lnd-menu .lm-me img,#lnd-menu .lm-me .ln-av{width:44px;height:44px;border-radius:50%;object-fit:cover}
#lnd-menu .lm-me>span:first-child{width:auto}
#lnd-menu .lm-me b{display:block;font-size:16px}
#lnd-menu .lm-me i{display:block;font-style:normal;font-weight:400;font-size:13px;color:var(--ink-3)}
#lnd-menu .lm-sep{height:1px;background:var(--line);margin:6px 8px}

/* Окна поверх ленты: настройки и тарифы (4 октября). */
.scrim.ln-over{position:fixed;z-index:984}
.panel.ln-over{position:fixed;z-index:985}
.plan-sheet.ln-over{position:fixed;z-index:987}

/* Закладка «Кэлиҥ көрүөм» (4 октября). */
.ln-sv{margin-left:auto;border:none;background:none;color:var(--ink-3);cursor:pointer;padding:4px 6px;display:inline-flex;align-items:center;border-radius:8px}
.ln-sv:hover{background:var(--panel)}
.ln-sv.on{color:var(--wa)}
.ln-sv.on svg{fill:currentColor}
#ln-view .ln-f .ln-sv{margin-left:4px}
#lenta .ln-tabs{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
#lenta .ln-tabs::-webkit-scrollbar{display:none}
#lenta .ln-tabs>button{flex:0 0 auto;white-space:nowrap}

/* Уведомления выпадающим окном на компьютере (4 октября, как у vc). */
#lnd-nt{position:fixed;top:64px;right:max(90px,calc((100vw - 1260px)/2 + 80px));z-index:980;width:380px;max-height:calc(100vh - 90px);display:flex;flex-direction:column;
  background:var(--bg);color:var(--ink-1);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.18);border:1px solid var(--line,rgba(0,0,0,.08));font-family:'Inter',sans-serif;overflow:hidden}
#lnd-nt .lnt-h{font-weight:700;font-size:15px;padding:16px 18px 8px}
#lnd-nt .lnt-l{overflow-y:auto;flex:1;padding:0 6px}
#lnd-nt .nt-one{border-radius:10px;cursor:pointer}
#lnd-nt .nt-one:hover{background:var(--panel)}
#lnd-nt .lnt-all{border:none;border-top:1px solid var(--line,rgba(0,0,0,.08));background:none;color:var(--wa);font:600 14px 'Inter',sans-serif;padding:14px;cursor:pointer}
#lnd-nt .lnt-all:hover{background:var(--panel)}
.lnd-logo img{width:40px;height:40px}

/* Главное за день сверху ленты (4 октября, как у vc). */
.ln-day{background:var(--bg);border:1px solid var(--line,rgba(0,0,0,.08));border-radius:16px;padding:16px 22px 12px;margin:0 0 12px}
.ln-day-h{font:700 15px 'Inter',sans-serif;color:var(--ink-1);margin-bottom:8px}
.ln-day-i{display:block;color:var(--ink-1);text-decoration:none;font:500 16.5px/1.45 'Inter',sans-serif;padding:6px 0}
.ln-day-i:hover{color:var(--wa)}
.ln-day-c{color:var(--ink-3);font-size:13px;white-space:nowrap}
.ln-day-m{border:none;background:none;color:var(--ink-1);font:700 15px 'Inter',sans-serif;padding:8px 0 4px;cursor:pointer}
#lenta:not(.lnd-on) .ln-day{border-radius:0;border-left:none;border-right:none;margin:0 0 8px;padding:14px 16px 10px}
#lenta:not(.lnd-on) .ln-day-i{font-size:15.5px}

/* Сомнительный комментарий — виден автору публикации полупрозрачным с кнопкой «Көрдөрүөх» (4 октября). */
.cm-one.cm-wait{opacity:.55}
.cm-one.cm-wait:hover{opacity:.85}
.cm-a .cm-show{color:var(--wa);font-weight:700}
.cm-wait-h{background:var(--panel);border-radius:10px;padding:10px 12px;margin:0 0 10px;font:600 14px 'Inter',sans-serif;color:var(--ink-1)}

/* Поиск на компьютере — лупой; поле видно только когда открыто (4 октября). */
.lnd-sr{visibility:hidden;opacity:0;transition:opacity .15s}
.lnd-sr.on{visibility:visible;opacity:1}
.lnd-sr.on~.lnd-lupa{display:none}

/* Шрифт Forum в заголовках ленты, дате и «главном за день» (4 октября, слово хозяина). У Forum одна толщина — жирный не ставим. */
#lenta .ln-t,#lenta .ln-day-h,#lenta .ln-day-i{font-family:'Forum',Georgia,serif;font-weight:400;letter-spacing:.2px}
#lenta .ln-t{font-size:30px;line-height:1.15}
#lenta .ln-day-h{font-size:20px}
#lenta .ln-day-i{font-size:21px;padding:4px 0}
#lenta:not(.lnd-on) .ln-t{font-size:25px}
#lenta:not(.lnd-on) .ln-day-i{font-size:19px}

/* Закреп хозяина (4 октября). */
.ln-card .ln-a{position:relative}.ln-pin{margin-left:auto;font-size:15px;opacity:.8}

/* Новость ленты: значок АЙЫЫ вместо аватарки (4 октября). */
.ln-av-n{background:#fff;padding:3px;box-sizing:border-box;object-fit:contain}
/* «Главное за день»: Forum — только дата, заголовки списком — обычным шрифтом (4 октября, слово хозяина: «а то не читабельно»). */
#lenta .ln-day-i{font:500 16.5px/1.45 'Inter',sans-serif;letter-spacing:0;padding:6px 0}
#lenta:not(.lnd-on) .ln-day-i{font-size:15.5px}

/* Карточка мастеров в ленте (4 октября). */
.ln-ms{cursor:default}.ln-ms .ds-h{margin-top:0}

/* «АЙЫЫ NEWS» рядом с деревом — шрифтом Forum (4 октября, слово хозяина). */
.lnd-brand{font:400 25px/1 'Forum',Georgia,serif;letter-spacing:.6px;color:var(--ink-1);white-space:nowrap}
.lnd-logo{gap:10px}
.ln-tophead{display:flex;align-items:center;gap:12px}
.ln-tophead .lnd-brand{font-size:21px;margin-left:auto;margin-right:auto;transform:translateX(-30px)}

/* Плашка «Новые публикации ↑» (4 октября). */
#ln-fresh{position:fixed;top:76px;left:50%;transform:translateX(-50%);z-index:960;border:none;border-radius:999px;background:var(--wa);color:#fff;
  font:700 14px 'Inter',sans-serif;padding:10px 18px;box-shadow:0 6px 20px rgba(0,0,0,.25);cursor:pointer}
#lenta:not(.lnd-on) #ln-fresh{top:118px}

/* Окно входа поверх ленты (4 октября). */
.acc-sheet.ln-over{position:fixed;z-index:988}

/* Заголовок окна входа — шрифтом Forum (4 октября, слово хозяина). */
#acc-title{font-family:'Forum',Georgia,serif;font-weight:400;font-size:26px;letter-spacing:.3px}
.acc-sheet .acc-h{margin-bottom:16px}

/* Страница публикации одним свитком: статья, «Читайте также», комментарии (4 октября). */
#ln-view .ln-vs{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
#ln-view .ln-vs iframe{display:block;width:100%;height:100vh;border:none;flex:none}
#ln-view .ln-vin{max-width:720px;margin:0 auto;padding:8px 16px 30px;font-family:'Inter',sans-serif;color:var(--ink-1)}
.ln-more{border-top:1px solid var(--line);padding-top:18px;margin-top:6px}
.ln-more-h,.ln-cmin-h{font:700 17px 'Inter',sans-serif;margin:0 0 12px}
.ln-more .ln-card{margin:0}
.ln-cmin{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}
.ln-cmin-h span{color:var(--ink-3);font-weight:600}
.ln-cmin .cm-in{border:1px solid var(--line);border-radius:14px;padding:6px 8px;margin-bottom:14px;background:var(--panel)}
.ln-cmin .cm-list{max-height:none;overflow:visible;padding:0}
#ln-view .ln-more .ln-t{font-family:'Forum',Georgia,serif;font-weight:400;font-size:26px;line-height:1.15}

/* Окно «Что создать?» поверх ленты (4 октября). */
#ln-ed{position:fixed;inset:0;z-index:985;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif}
#ln-ed .ed-bg{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(3px)}
#ln-ed .ed-box{position:relative;width:760px;max-width:calc(100vw - 24px);max-height:calc(100vh - 40px);background:var(--bg);color:var(--ink-1);border-radius:18px;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.45);overflow:hidden}
#ln-ed .ed-top{display:flex;align-items:center;gap:12px;padding:18px 22px 4px}
#ln-ed .ed-top img,#ln-ed .ed-top .ln-av{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none}
#ln-ed .ed-top b{display:block;font-size:15px}
#ln-ed .ed-top select{border:none;background:none;color:var(--ink-3);font:13px 'Inter',sans-serif;padding:0;margin-left:-3px;cursor:pointer}
#ln-ed .ed-x{margin-left:auto;width:34px;height:34px;border-radius:50%;border:none;background:var(--panel);color:var(--ink-2);font-size:16px;cursor:pointer;flex:none}
#ln-ed .ed-body{padding:4px 22px 8px;overflow-y:auto;flex:1}
#ln-ed textarea{width:100%;border:none;outline:none;background:none;color:var(--ink-1);resize:none;box-sizing:border-box;padding:0}
#ln-ed #ed-t{font:400 32px/1.15 'Forum',Georgia,serif;padding:12px 0 8px;overflow:hidden}
#ln-ed #ed-x{font:16px/1.6 'Inter',sans-serif;min-height:110px;padding:6px 0;overflow:hidden}
#ln-ed .ed-addph{border:1px dashed var(--line);background:none;color:var(--ink-2);border-radius:12px;padding:10px 14px;font:14px 'Inter',sans-serif;cursor:pointer;margin:4px 0 10px}
#ln-ed .ed-img{position:relative;margin:4px 0 12px}
/* 10 октября, снимок хозяина: вертикальное фото в редакторе обрезалось до полоски. Показываем целиком, как в вышедшей статье. */
#ln-ed .ed-img{width:fit-content;max-width:100%;margin-left:auto;margin-right:auto}
#ln-ed .ed-img img{max-width:100%;width:auto;height:auto;max-height:70vh;object-fit:contain;border-radius:12px;display:block}
#ln-ed .ed-img button{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:#fff;cursor:pointer}
#ln-ed .ed-bot{display:flex;align-items:center;gap:14px;padding:14px 22px 20px}
#ln-ed .ed-pub{border:none;background:var(--wa);color:#fff;border-radius:12px;padding:12px 22px;font:700 15px 'Inter',sans-serif;cursor:pointer}
#ln-ed .ed-pub.off{opacity:.45;cursor:default}
#ln-ed #ed-save{color:var(--ink-3);font-size:13px}
@media (max-width:640px){#ln-ed .ed-box{width:100vw;max-width:100vw;height:100%;max-height:100%;border-radius:0}#ln-ed #ed-t{font-size:28px}}

/* Строка помощника Айыы в окне «Что создать?» (4 октября). */
#ln-ed .ed-ai{display:flex;align-items:flex-end;gap:10px;margin:0 22px;border:1.5px solid var(--wa);border-radius:16px;padding:10px 10px 10px 12px;background:var(--panel)}
#ln-ed .ed-ai img{width:26px;height:26px;flex:none;margin-bottom:5px}
html[data-theme="dark"] #ln-ed .ed-ai img{filter:invert(1) brightness(1.6)}
#ln-ed #ed-ask{flex:1;font:15px/1.45 'Inter',sans-serif;max-height:140px;padding:6px 0;overflow-y:auto}
#ln-ed .ed-mic,#ln-ed .ed-go{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;flex:none;font-size:15px}
#ln-ed .ed-mic{background:var(--bg);color:var(--ink-2)}
#ln-ed .ed-mic.on{background:#e04848;color:#fff}
#ln-ed .ed-go{background:var(--wa);color:#fff;font-weight:700}
#ln-ed .ed-go:disabled{opacity:.5}

/* «Читайте также» — маленькая карточка в рамке, как у dtf (4 октября). */
.ln-mini{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;text-decoration:none;color:var(--ink-1)}
.ln-mini:hover{border-color:var(--wa)}
.ln-mini-t{flex:1;min-width:0}
.ln-mini-t span{display:block;color:var(--ink-3);font-size:12.5px;margin-bottom:4px}
.ln-mini-t b{display:block;font:400 19px/1.2 'Forum',Georgia,serif;margin-bottom:4px}
.ln-mini-t i{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-style:normal;color:var(--ink-2);font-size:13.5px;line-height:1.4}
.ln-mini img{width:120px;height:90px;object-fit:cover;border-radius:10px;flex:none}
@media (max-width:480px){.ln-mini img{width:88px;height:66px}.ln-mini-t b{font-size:17px}}

/* Статья на компьютере — в средней колонке под шапкой (4 октября, как на dtf). */
#ln-view.ln-view-pk{inset:auto;bottom:0;right:auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}
#ln-view.ln-view-pk .ln-back{visibility:hidden}
#ln-view.ln-view-pk .ln-top{border-bottom:none}
#lnd-back{position:absolute;top:50%;transform:translateY(-50%);border:none;background:none;color:var(--ink-1);cursor:pointer;padding:6px;display:flex;align-items:center}
#lnd-back:hover{color:var(--wa)}
/* Вопрос Айыы — закреплённый первым под новостью (4 октября). */
.cm-aiyy{border:1px solid var(--line);border-radius:12px;padding:10px 12px!important;margin-bottom:10px;background:var(--panel)}
.cm-aiyy .cm-av{background:#fff;padding:2px;box-sizing:border-box;object-fit:contain}
.cm-aiyy .cm-t{font-weight:600}

/* Опрос под новостью (4 октября). */
.ln-pl{border:1px solid var(--line);border-radius:14px;padding:14px;margin:6px 0 18px;background:var(--panel)}
.ln-pl-q{font:700 16px/1.35 'Inter',sans-serif;margin-bottom:10px}
.ln-pl-o{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink-1);
  font:500 15px 'Inter',sans-serif;padding:11px 12px;margin-bottom:8px;cursor:pointer;overflow:hidden;text-align:left}
.ln-pl-o:hover{border-color:var(--wa)}
.ln-pl-o i{position:absolute;left:0;top:0;bottom:0;background:var(--wa);opacity:.18;transition:width .4s}
.ln-pl-o span,.ln-pl-o b{position:relative}
.ln-pl-o.my{border-color:var(--wa)}.ln-pl-o.my b{color:var(--wa)}
.ln-pl-n{color:var(--ink-3);font-size:13px;margin-top:2px}

/* Ответ Айыы в комментариях (4 октября). */
.cm-ai .cm-av{background:#fff;padding:2px;box-sizing:border-box;object-fit:contain}
.cm-ai .cm-n b{color:var(--wa)}
.cm-a .cm-tochat{color:var(--wa);font-weight:700}

/* Глобус языка в ленте (4 октября). */
.ln-globe-m{border:none;background:none;color:var(--ink-2);padding:6px;cursor:pointer;display:inline-flex}
.ln-tophead .lnd-brand{transform:none;margin:0 auto}
/* Статья вровень с левым меню и правой колонкой (4 октября, слово хозяина): на компьютере полоса с ▲▼ и закладкой
   не стоит над статьёй, а плавает внизу колонки плашкой, как у dtf. */
#ln-view.ln-view-pk .ln-top{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:3;padding:6px 10px!important;
  border:1px solid var(--line)!important;border-radius:999px;background:var(--panel);box-shadow:0 6px 20px rgba(0,0,0,.25);width:auto!important;justify-content:center!important;gap:6px}
#ln-view.ln-view-pk .ln-top .ln-back{display:none}

/* «АЙЫЫ NEWS ›» под деревом (4 октября). */
/* 4 октября, слово хозяина: «АЙЫЫ NEWS» ровно как было «АЙЫЫ СИРЭ» — тот же Forum, размер и цвет.
   Латиницы во вложенном шрифте нет — берём полный файл Forum, чтобы NEWS не падало в другой шрифт. */
.aiyy-tag-1.aiyy-news-link{font-family:'AiyyForum','Forum','Times New Roman',serif;cursor:pointer;color:var(--ink)}

/* Глобус в шапке ленты — тот же визуальный вес и высота, что у колокольчика (4 октября). */
.lnd-hi #ln-globe svg{width:21px;height:21px;stroke-width:1.9;transform:translateY(1px)}
.ln-globe-m svg{width:21px;height:21px}

/* Поделиться — рядом с закладкой (4 октября). */
.ln-sh{border:none;background:none;color:var(--ink-3);cursor:pointer;padding:4px 6px;display:inline-flex;align-items:center;border-radius:8px}
.ln-sh:hover{color:var(--ink);background:rgba(128,128,128,.12)}
.ln-f .ln-sv + .ln-sh{margin-left:2px}

/* Плашка голосов прячется у комментариев (4 октября). */
#ln-view .ln-top .ln-f{transition:opacity .2s,visibility .2s}
#ln-view.ln-at-cm .ln-top .ln-f{opacity:0;visibility:hidden}
#ln-view.ln-view-pk .ln-top{transition:opacity .2s,visibility .2s}
#ln-view.ln-view-pk.ln-at-cm .ln-top{opacity:0;visibility:hidden}

/* «NEWS» на главном — цветом темы; при наведении подчёркивание (4 октября). */
.aiyy-news-link .aiyy-news-w{color:var(--wa)}
.aiyy-news-link:hover .aiyy-news-w{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
/* РЕДАКТОР БЛОКАМИ (4 октября): «＋» слева у блока, меню по Tab — как на dtf. */
#ln-ed .ed-blk{position:relative;margin:0 0 6px}
#ln-ed .ed-plus{position:absolute;left:-30px;top:4px;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--ink-3);
  font-size:15px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s;padding:0;display:flex;align-items:center;justify-content:center}
#ln-ed .ed-blk:hover .ed-plus,#ln-ed .ed-blk:focus-within .ed-plus{opacity:1}
#ln-ed .ed-plus:hover{color:var(--ink-1);border-color:var(--ink-3)}
#ln-ed .ed-body{padding-left:44px;padding-right:44px}
#ln-ed .ed-b{font:16px/1.6 'Inter',sans-serif;padding:4px 0;overflow:hidden;min-height:30px}
#ln-ed .ed-b-подзаг{font:400 24px/1.25 'Forum',Georgia,serif;padding:10px 0 2px}
#ln-ed .ed-b-цитата{border-left:3px solid var(--wa);padding:4px 0 4px 14px;font-style:italic}
#ln-ed .ed-b-список{padding-left:18px;background:radial-gradient(circle,var(--ink-2) 2.5px,transparent 3px) 2px 4px/8px 25.6px repeat-y}
#ln-ed .ed-hr{text-align:center;color:var(--ink-3);letter-spacing:.4em;padding:14px 0}
#ln-ed .ed-del{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;z-index:2}
#ln-ed .ed-k-разд .ed-del{top:8px;background:var(--panel);color:var(--ink-2)}
#ln-ed .ed-car{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px}
#ln-ed .ed-ci{position:relative;flex:0 0 140px;height:140px}
#ln-ed .ed-ci img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block}
#ln-ed .ed-ci button{position:absolute;top:5px;right:5px;width:24px;height:24px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;font-size:12px}
#ln-ed .ed-cadd{flex:0 0 140px;height:140px;border:1px dashed var(--line);border-radius:10px;background:none;color:var(--ink-2);font-size:26px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
#ln-ed .ed-cadd small{font:12px 'Inter',sans-serif;color:var(--ink-3)}
#ln-ed .ed-k-карусель .ed-del{display:none}
#ed-menu{position:absolute;z-index:5;width:240px;max-height:320px;overflow-y:auto;background:var(--bg);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 14px 40px rgba(0,0,0,.35);padding:6px}
#ed-menu button{display:flex;align-items:center;gap:12px;width:100%;border:none;background:none;color:var(--ink-1);font:15px 'Inter',sans-serif;padding:9px 10px;border-radius:9px;cursor:pointer;text-align:left}
#ed-menu button svg{color:var(--ink-2);flex:none}
#ed-menu button.on,#ed-menu button:hover{background:var(--panel)}
@media (max-width:640px){#ln-ed .ed-body{padding-left:38px;padding-right:16px}#ln-ed .ed-plus{opacity:.55;left:-30px}}
/* Фото для Айыы — над строкой помощника (4 октября). */
#ln-ed .ed-pool{display:flex;align-items:center;gap:8px;margin:0 22px 8px;overflow-x:auto}
#ln-ed .ed-pi{position:relative;flex:0 0 52px;height:52px}
#ln-ed .ed-pi img{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}
#ln-ed .ed-pi button{position:absolute;top:-5px;right:-5px;width:20px;height:20px;border-radius:50%;border:none;background:rgba(0,0,0,.7);color:#fff;font-size:10px;cursor:pointer;padding:0}
#ln-ed .ed-pool span{color:var(--ink-3);font-size:13px;white-space:nowrap}
/* Соцсети автора в профиле ленты (4 октября). */
.ln-soc{display:flex;flex-direction:column;gap:6px}
.ln-soc-r{display:flex;align-items:center;gap:10px}
.ln-soc-r span{flex:0 0 96px;font-size:13.5px;color:var(--ink-2)}
.ln-soc-r input{padding:8px 11px!important;font-size:14px!important}
#ln-ed .ed-raw{border:1px dashed var(--line);border-radius:12px;padding:14px 16px;color:var(--ink-3);font-size:14px}
#ln-ed .ed-k-чужой .ed-del{background:var(--panel);color:var(--ink-2);top:8px}
#ln-ed .ed-two{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:12px;padding:10px;padding-right:44px}
#ln-ed .ed-in{border:none;outline:none;background:none;color:var(--ink-1);font:15px 'Inter',sans-serif;padding:4px 2px}
#ln-ed .ed-in-b{font-weight:700}
#ln-ed .ed-k-видео .ed-del,#ln-ed .ed-k-кнопка .ed-del{background:var(--panel);color:var(--ink-2)}
/* ОТК под новостью (4 октября). */
.ln-otk{border:1px solid var(--line);border-radius:16px;padding:16px 16px 14px;margin:6px 0 16px;font-family:'Inter',sans-serif}
.ln-otk-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 12px}
.ln-otk-h span{font-weight:700;font-size:15px}
.ln-otk-h b{font:400 30px/1 'Forum',Georgia,serif;color:var(--wa)}
.ln-otk-h small{font:13px 'Inter',sans-serif;color:var(--ink-3)}
.ln-otk-r{margin:0 0 10px}
.ln-otk-t{display:flex;justify-content:space-between;gap:8px;font-size:14px;margin:0 0 5px}
.ln-otk-t span:last-child{color:var(--ink-2);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.ln-otk-t img{width:14px;height:14px}
html[data-theme="dark"] .ln-otk-t img{filter:invert(1) brightness(1.6)}
.ln-otk-bar{position:relative;height:6px;border-radius:3px;background:var(--panel)}
.ln-otk-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--wa)}
.ln-otk-bar u{position:absolute;top:-3px;width:2px;height:12px;background:var(--ink-1);border-radius:1px}
.ln-otk-w{font-size:14px;color:var(--ink-2);margin:10px 0 0;line-height:1.45}
.ln-otk-n{font-size:13px;color:var(--ink-3);margin-top:10px}
.ln-otk-go{margin-top:12px;border:1.5px solid var(--wa);background:none;color:var(--wa);border-radius:12px;padding:9px 14px;font:700 14px 'Inter',sans-serif;cursor:pointer}
.ln-otk-me{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.ln-otk-me label{display:grid;grid-template-columns:130px 1fr 26px;align-items:center;gap:10px;font-size:14px}
.ln-otk-me input{accent-color:var(--wa);width:100%}
.ln-otk-me b{text-align:right}
.ln-otk-me .ln-otk-go{align-self:flex-start;background:var(--wa);color:#fff}
.ln-otk-tag{display:inline-block;margin:2px 0 6px;padding:2px 8px;border-radius:999px;border:1px solid var(--wa);color:var(--wa);font:700 12px 'Inter',sans-serif}
/* «Айыы пишет» — анимация поверх статьи (4 октября). */
#ln-ed .ed-body.ed-busy #ed-bl,#ln-ed .ed-body.ed-busy #ed-ph,#ln-ed .ed-body.ed-busy #ed-t{opacity:.18;filter:blur(1.5px);pointer-events:none;transition:opacity .4s,filter .4s}
#ed-wait{display:flex;flex-direction:column;align-items:center;padding:26px 0 18px;gap:12px}
.ed-w-tree{position:relative;width:86px;height:86px;display:flex;align-items:center;justify-content:center}
.ed-w-tree img{width:54px;height:54px;position:relative;z-index:2;animation:edTree 2.4s ease-in-out infinite}
html[data-theme="dark"] .ed-w-tree img{filter:invert(1) brightness(1.6)}
.ed-w-tree i{position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);opacity:0;animation:edRing 2.4s ease-out infinite}
.ed-w-tree i:nth-child(3){animation-delay:.8s}.ed-w-tree i:nth-child(4){animation-delay:1.6s}
@keyframes edTree{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes edRing{0%{transform:scale(.55);opacity:.7}100%{transform:scale(1.35);opacity:0}}
.ed-w-step{font:400 22px/1.2 'Forum',Georgia,serif;color:var(--ink-1);text-align:center;min-height:27px}
.ed-w-step.in{animation:edStep .5s ease-out}
@keyframes edStep{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ed-w-dots{display:flex;gap:6px}
.ed-w-dots b{width:18px;height:4px;border-radius:2px;background:var(--line);transition:background .4s}
.ed-w-dots b.on{background:var(--wa)}
.ed-w-lines{width:100%;display:flex;flex-direction:column;gap:9px;margin-top:10px}
.ed-w-lines s{display:block;height:13px;border-radius:7px;text-decoration:none;
  background:linear-gradient(90deg,var(--panel) 0%,rgba(217,119,87,.35) 45%,var(--panel) 90%);background-size:220% 100%;animation:edShim 1.6s linear infinite}
.ed-w-lines s:nth-child(2n){animation-delay:.2s}.ed-w-lines s:nth-child(3n){animation-delay:.4s}
@keyframes edShim{from{background-position:120% 0}to{background-position:-120% 0}}
@media (prefers-reduced-motion:reduce){.ed-w-tree img,.ed-w-tree i,.ed-w-lines s,.ed-w-step.in{animation:none}}
/* Выбор тем при первом входе (5 октября). */
#ln-likes{position:fixed;inset:0;z-index:990;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif}
#ln-likes .lnk-bg{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(3px)}
#ln-likes .lnk-box{position:relative;width:560px;max-width:calc(100vw - 24px);max-height:calc(100vh - 40px);overflow-y:auto;background:var(--bg);color:var(--ink-1);border-radius:20px;padding:26px 24px 20px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
#ln-likes .lnk-h{font:400 30px/1.15 'Forum',Georgia,serif;margin:0 0 6px}
#ln-likes .lnk-s{color:var(--ink-3);font-size:14px;margin:0 0 18px}
#ln-likes .lnk-c{display:flex;flex-wrap:wrap;gap:8px}
#ln-likes .lnk-c button{border:1.5px solid var(--line);background:none;color:var(--ink-1);border-radius:999px;padding:9px 15px;font:600 14.5px 'Inter',sans-serif;cursor:pointer;transition:all .15s}
#ln-likes .lnk-c button.on{background:var(--wa);border-color:var(--wa);color:#fff}
#ln-likes .lnk-b{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
#ln-likes .lnk-skip{border:none;background:none;color:var(--ink-3);font:600 14px 'Inter',sans-serif;cursor:pointer;padding:10px 12px}
#ln-likes .lnk-ok{border:none;background:var(--wa);color:#fff;border-radius:12px;padding:11px 22px;font:700 15px 'Inter',sans-serif;cursor:pointer}
.ln-mytopics{display:block;margin:8px 16px 4px;border:1.5px solid var(--line);background:none;color:var(--ink-1);border-radius:12px;padding:9px 14px;font:600 14px 'Inter',sans-serif;cursor:pointer}
/* «Партнёрский материал» — честная пометка рекламы (5 октября). */
.ln-promo{display:inline-block;margin:2px 0 6px;font:600 12px 'Inter',sans-serif;color:var(--ink-3);letter-spacing:.2px}
.ln-promo:before{content:"◆ ";color:var(--wa)}
.ln-t.ln-t-mem{font:600 17px/1.4 'Inter',sans-serif!important;letter-spacing:0!important}
.ln-otk-full{font:400 12px 'Inter',sans-serif;color:var(--ink-3);margin-left:6px}
/* Потяни вниз — обновить (5 октября). */
#lenta .ln-body{overscroll-behavior-y:contain}
#ln-pull{position:absolute;left:50%;top:96px;z-index:5;width:40px;height:40px;margin-top:-40px;border-radius:50%;background:var(--bg);border:1px solid var(--line);
  box-shadow:0 4px 14px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;opacity:0;transform:translate(-50%,0);pointer-events:none;transition:opacity .15s}
#ln-pull img{width:24px;height:24px}
html[data-theme="dark"] #ln-pull img{filter:invert(1) brightness(1.6)}
#ln-pull.ready{border-color:var(--wa)}
#ln-pull.go{transition:transform .2s;opacity:1!important}
/* 5 октября, слово хозяина: «дерево нельзя крутить — это грех. Пусть аккуратно пульсирует». */
#ln-pull.go img{animation:lnPull 1.4s ease-in-out infinite}
@keyframes lnPull{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.82);opacity:.6}}
/* РЕКЛАМА В НОВОСТЯХ (5 октября): карточка в ленте, «Топ дня при поддержке», спонсор раздела. */
a.ln-card.ln-ad{display:block;text-decoration:none;color:inherit}
.ln-ad-m{font:500 12px 'Inter',sans-serif;color:var(--ink-3)}
.ln-ad-go{display:inline-block;margin-top:12px;padding:10px 18px;border-radius:10px;background:var(--wa);color:#fff;font:600 14px 'Inter',sans-serif}
.ln-day-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.ln-day-top .ln-day-h{margin-bottom:0;flex:1 1 auto}
.ln-day-sp{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink-3);font:500 12px 'Inter',sans-serif}
.ln-day-sp img{height:22px;max-width:90px;object-fit:contain;border-radius:4px}
.ln-day-sp b{color:var(--ink-1);font-weight:700}
.ln-sec-sp{display:flex;align-items:center;gap:10px;flex-wrap:wrap;text-decoration:none;color:var(--ink-3);font:500 13px 'Inter',sans-serif;padding:12px 16px;margin:0 0 12px;border:1px solid var(--line,rgba(0,0,0,.08));border-radius:14px;background:var(--bg)}
.ln-sec-sp img{height:26px;max-width:110px;object-fit:contain;border-radius:4px}
.ln-sec-sp b{color:var(--ink-1)}
.ln-sec-sp i{font-style:normal;font-size:11px;flex-basis:100%}
.lnd-l button.lnd-sponsored span{display:flex;flex-direction:column;line-height:1.2}
.lnd-l button.lnd-sponsored small{font:500 11.5px 'Inter',sans-serif;color:var(--ink-3);margin-top:2px}
.ln-ad img.ln-av{object-fit:contain;background:#fff}
/* «Спроси Айыы» в ленте (5 октября). */
.lnd-r .lna-pc{margin-bottom:16px;background:color-mix(in srgb,var(--wa) 6%,var(--bg))}
.lna-h{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.lna-h b{font-size:16px}
.lna-av{width:30px;height:30px;border-radius:50%;object-fit:cover;flex-shrink:0}
.lna-t{font-size:13px;color:var(--ink-3);margin-bottom:12px;line-height:1.4}
.lna-row{display:flex;gap:8px}
.lna-in{flex:1 1 auto;min-width:0;font:15px 'Inter',sans-serif;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink-1)}
.lna-in:focus{outline:2px solid var(--wa);outline-offset:-1px}
.lna-go{width:44px;height:44px;flex-shrink:0;border:none;border-radius:10px;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.lna-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.lna-chip{font:500 12px 'Inter',sans-serif;padding:6px 10px;border-radius:20px;border:1px solid var(--line);background:var(--bg);color:var(--ink-1);cursor:pointer}
.lna-m{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:6px solid var(--panel)}
.lna-m .lna-in{border-radius:22px}
.lna-m .lna-go{border-radius:50%}
.lna-v{border-top:6px solid var(--panel)}
.lna-av{background:#fff;padding:3px;box-sizing:border-box;object-fit:contain}
/* Погода в Якутске (5 октября). */
.lnd-r .lnw{margin-bottom:16px}
.lnw-h{display:block;font-size:16px;margin-bottom:10px}
.lnw-now{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.lnw-i{color:var(--ink-3);display:flex}
.lnw-t{font:600 34px/1 'Inter',sans-serif}
.lnw-s{font-size:13px;color:var(--ink-3);margin-top:4px}
.lnw-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lnw-d{background:var(--panel);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column}
.lnw-d span{font-size:12px;color:var(--ink-3)}
.lnw-s::first-letter{text-transform:uppercase}
/* Карточка справа и место под рекламу (5 октября). */
.lnd-adc{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink-1);margin-bottom:16px}
.lnd-adc img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px}
.lnd-adc b{font-size:15px;line-height:1.3}
.lnd-adx{font-size:13px;color:var(--ink-3)}
.lnd-adb{align-self:stretch;text-align:center;padding:10px;border-radius:10px;background:var(--panel);font:600 14px 'Inter',sans-serif}
.lnd-adfree{display:flex;flex-direction:column;gap:6px;border-style:dashed;margin-bottom:16px}
.lnd-adfree b{font-size:15px}
.lnd-adfree span{font-size:13px;color:var(--ink-3)}
.lnd-adfree a{font:600 14px 'Inter',sans-serif;color:var(--wa);text-decoration:none}
/* Погода в своём месте (5 октября): кнопка «Сменить», окно выбора, строка на телефоне. */
.lnw-top{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}
.lnw-top .lnw-h{margin:0;flex:1 1 auto;min-width:0}
.lnw-ch{border:none;background:none;color:var(--wa);font:600 13px 'Inter',sans-serif;cursor:pointer;padding:4px 0}
#lnw-pick{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center}
#lnw-pick .lnk-bg{position:absolute;inset:0;background:rgba(0,0,0,.45)}
#lnw-pick .lnk-box{position:relative;width:min(460px,calc(100% - 32px));max-height:80vh;overflow:auto;background:var(--bg);color:var(--ink-1);border-radius:18px;padding:22px}
#lnw-pick .lna-in{width:100%;box-sizing:border-box;margin-top:12px}
.lnw-list{display:flex;flex-direction:column;margin-top:8px}
.lnw-opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:none;border-bottom:1px solid var(--line);background:none;color:var(--ink-1);padding:12px 4px;cursor:pointer;font:15px 'Inter',sans-serif}
.lnw-opt span{font-size:12.5px;color:var(--ink-3)}
.lnw-opt:hover{background:var(--panel)}
.lnw-none{padding:12px 4px;color:var(--ink-3);font-size:14px}
.lnw-m{display:flex;align-items:center;gap:8px;width:100%;border:none;border-bottom:6px solid var(--panel);background:var(--bg);color:var(--ink-1);padding:10px 16px;font:14px 'Inter',sans-serif;text-align:left;cursor:pointer}
.lnw-m[hidden]{display:none}
.lnw-mi{display:flex;color:var(--ink-3)}
.lnw-mi svg{width:24px;height:24px}
.lnw-mt{font-weight:700}
.lnw-ms{color:var(--ink-3);flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lnw-mc{color:var(--wa);font-weight:600;font-size:13px}
#lnw-pick{font-family:'Inter',sans-serif}
#lnw-pick .lnk-h{font:400 28px/1.15 'Forum',Georgia,serif;margin:0 0 6px}
#lnw-pick .lnk-s{color:var(--ink-3);font-size:14px;margin:0}
#lnw-pick .lnk-b{display:flex;justify-content:flex-end;margin-top:14px}
#lnw-pick .lnk-skip{border:none;background:none;color:var(--ink-3);font:600 14px 'Inter',sans-serif;cursor:pointer;padding:10px 12px}
.lnw-ms::first-letter{text-transform:uppercase}
/* Плашка «← Вернуться в новости» над полем чата, как «Вышла новая версия» (5 октября). */
.ln-backbar{padding:4px 4px 4px 6px}
.ln-backbar button.lbp-go{flex:1 1 auto;display:flex;align-items:center;gap:8px;background:none;color:inherit;font:600 14.5px 'Inter',sans-serif;padding:8px 8px;text-align:left}
.ln-backbar button.lbp-go svg{color:var(--wa,#C77DA8);flex:none}
.ln-backbar button.lbp-x{background:none;color:inherit;opacity:.6;font-size:20px;line-height:1;padding:6px 12px}

.lnd-adfree-m{align-self:flex-start;border:none;background:none;padding:2px 0;color:var(--wa);font:600 14px 'Inter',sans-serif;cursor:pointer;text-align:left}
.lnd-adfree-m:hover{text-decoration:underline}
#ln-ed .ed-clear{margin-left:auto;border:1px solid var(--line);background:none;color:var(--ink-3);font:600 14px 'Inter',sans-serif;padding:9px 14px;border-radius:10px;cursor:pointer}
#ln-ed .ed-clear:hover{color:var(--ink-1);border-color:var(--ink-3)}

/* Видео у новости (6 октября) */
.ln-imgw{position:relative}
.ln-img-v{background:#111}
.ln-imgw[data-v]{cursor:pointer}
.ln-imgw.ln-on{aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;cursor:default}
.ln-imgw.ln-on iframe{width:100%;height:100%;border:0;display:block}
.ln-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;padding-left:4px;box-sizing:border-box;pointer-events:none;backdrop-filter:blur(2px)}

/* Улусы в «Новостях Якутии» (6 октября) */
.lnu-bar{display:flex;gap:6px;align-items:center;padding:4px 0 10px}
.lnu-b{font-family:inherit;font-weight:600;font-size:14px;line-height:1;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--line,rgba(128,128,128,.3));background:transparent;color:inherit;cursor:pointer}
.lnu-b.on{background:var(--acc,#D97757);border-color:transparent;color:#fff}
.lnu-x{width:40px;height:40px;border-radius:50%;border:1px solid var(--line,rgba(128,128,128,.3));background:transparent;color:inherit;cursor:pointer;font-size:14px}
.lnu-pick{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center}
.lnu-sh{width:min(380px,calc(100vw - 32px));max-height:min(620px,80vh);display:flex;flex-direction:column;gap:8px;background:var(--panel,#1E1D1B);color:var(--ink,#ECEAE4);border-radius:18px;padding:14px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.lnu-hd{display:flex;align-items:center;justify-content:space-between}.lnu-hd b{font-size:18px}
.lnu-close{width:40px;height:40px;border:0;background:transparent;color:inherit;font-size:16px;cursor:pointer}
.lnu-q{font:inherit;font-size:15px;padding:11px 13px;border-radius:12px;border:1px solid var(--line,rgba(128,128,128,.3));background:transparent;color:inherit}
.lnu-list{overflow:auto;display:flex;flex-direction:column}
.lnu-row{font:inherit;font-size:15px;display:flex;justify-content:space-between;gap:10px;text-align:left;padding:12px 10px;border:0;border-radius:10px;background:transparent;color:inherit;cursor:pointer}
.lnu-row:hover{background:rgba(128,128,128,.12)}.lnu-row.on{font-weight:700}.lnu-row.all{border-bottom:1px solid var(--line,rgba(128,128,128,.25));border-radius:0;font-weight:600}
.lnu-row.empty{opacity:.5}.lnu-c{opacity:.65;font-variant-numeric:tabular-nums}
@media (max-width:700px){.lnu-pick{align-items:flex-end}.lnu-sh{width:100%;max-height:78vh;border-radius:20px 20px 0 0}}

/* Профиль (6 октября): подписчики, свёрнутые соцсети */
.ln-fol{font-size:13px;opacity:.8;margin-top:4px}.ln-fol b{font-weight:800}
.ln-soc-d{margin:10px 0 6px;border:1px solid var(--line,rgba(128,128,128,.25));border-radius:12px;padding:0 12px}
.ln-soc-d>summary{cursor:pointer;padding:12px 0;font-weight:600;font-size:14px;list-style:none;display:flex;justify-content:space-between}
.ln-soc-d>summary::-webkit-details-marker{display:none}
.ln-soc-d>summary::after{content:'▾';opacity:.6}.ln-soc-d[open]>summary::after{content:'▴'}
.ln-soc-d .ln-soc{padding-bottom:12px}

.lnu-main{padding:8px 16px 10px}@media (min-width:701px){.lnu-main{padding:0 0 12px}}

/* Погода и улус в одну строку на телефоне (6 октября) */
.lnw-row{display:flex;align-items:center;gap:6px;border-bottom:6px solid var(--panel);background:var(--bg);padding-right:12px}
.lnw-row .lnw-m{border-bottom:none;flex:1 1 auto;min-width:0;padding-right:4px}
.lnw-row .lnu-main{padding:0;flex:0 1 auto;min-width:0;max-width:48%}
.lnw-row .lnu-main .lnu-b{min-height:34px;padding:0 11px;font-size:13px;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lnw-row .lnw-m:not([hidden])+.lnu-main .lnu-b{background:transparent}
.lnw-row .lnw-m[hidden]+.lnu-main{padding:8px 16px}
.lnu-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lnw-row .lnw-ms{display:none}
.lnw-row .lnu-main{display:flex;min-width:0}
.lnw-row .lnu-main .lnu-b{display:flex;min-width:0;gap:5px}
.lnw-row .lnu-main .lnu-b svg{flex:0 0 auto}

/* Погода в шапке на телефоне (6 октября) */
.ln-geo-m{border:none;background:none;color:var(--ink-2);padding:6px 4px;cursor:pointer;display:inline-flex;align-items:center;gap:3px;font:600 14px 'Inter',sans-serif}
.ln-geo-m[hidden]{display:none}.ln-geo-m svg{width:15px;height:15px}
.ln-tophead .ln-geo-m+.ln-globe-m{margin-left:-6px}

.ln-brand-b{border:none;background:none;cursor:pointer;padding:4px 6px}
.ln-brand-v{font:400 13px/1 'Inter',sans-serif;opacity:.55;margin-left:5px;vertical-align:middle}

/* Улус: заголовок по центру на телефоне, в шапке на компьютере (6 октября) */
.lnu-title{display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 16px 10px;position:relative}
.lnu-tt{display:inline-flex;align-items:center;gap:7px;border:none;background:none;color:var(--ink-1);cursor:pointer;font:400 24px/1.15 'Forum',Georgia,serif;letter-spacing:.3px;padding:2px 4px}
.lnu-tt svg{width:17px;height:17px;color:var(--wa,#D97757);flex:0 0 auto}
.lnu-tx{width:28px;height:28px;border-radius:50%;border:1px solid var(--line,rgba(128,128,128,.3));background:transparent;color:var(--ink-3);font-size:12px;cursor:pointer;flex:0 0 auto}
.lnd-ulus{border:none;background:none;cursor:pointer;color:var(--ink-3);font:400 21px/1 'Forum',Georgia,serif;letter-spacing:.3px;padding:4px 6px;margin-left:2px;white-space:nowrap}
.lnd-ulus span{font:400 12px/1 'Inter',sans-serif;opacity:.7}
.lnd-ulus.on{color:var(--ink-1)}
.lnd-ulus:hover{color:var(--ink-1)}
.lnd-art .lnd-ulus{visibility:hidden}

/* Продвижение статьи (6 октября) */
.ln-prom{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600}
/* 12 октября, слово хозяина: «почему сүрүн шатает ленту?» — у своей статьи строка «реакции · 💬 · 👁 · закладка · поделиться · 🚀 Продвигать · ✎ · 🗑» не влезала в телефон, корзина вылезала за край, и лента ездила вбок. На телефоне — только 🚀 и чуть теснее. */
@media (max-width:520px){.ln-prom span{display:none}.ln-f{gap:12px}}
.prm .prm-s{font-size:13.5px;line-height:1.45;opacity:.8}
.prm .prm-l{font-size:13px;font-weight:700;margin-top:6px}
.prm-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.prm-d{display:block;cursor:pointer}.prm-d input{position:absolute;opacity:0}
.prm-d span{display:flex;flex-direction:column;gap:2px;border:1.5px solid var(--line,rgba(128,128,128,.3));border-radius:12px;padding:10px 12px;font-size:13px}
.prm-d span b{font-size:15px}
.prm-d input:checked+span{border-color:var(--acc,#D97757);background:rgba(217,119,87,.08)}
.prm-go{font:inherit;font-weight:700;font-size:15px;border:none;border-radius:12px;padding:13px;background:var(--acc,#D97757);color:#fff;cursor:pointer;margin-top:4px}
.prm-go:disabled{opacity:.6}
.prm{overflow:auto}

/* Поделиться картинкой для сторис (6 октября) */
.ln-shs{position:fixed;inset:0;z-index:10050;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center}
.ln-shs-b{width:100%;max-width:480px;background:#1E1D1B;border-radius:22px 22px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;align-items:center}
.ln-shs-pv{height:min(56vh,520px);aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:#2a2926;display:flex;align-items:center;justify-content:center}
.ln-shs-pv img{width:100%;height:100%;display:block}
.ln-shs-strip{width:100%;height:100%;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ln-shs-strip::-webkit-scrollbar{display:none}
.ln-shs-sl{flex:0 0 100%;height:100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center}
.ln-shs-dt{display:flex;gap:7px;justify-content:center;margin-top:-4px}.ln-shs-dt:empty{display:none}
.ln-shs-dt i{width:7px;height:7px;border-radius:50%;background:#55524C;transition:.2s}.ln-shs-dt i.on{background:var(--wa);width:18px;border-radius:4px}
.ln-shs-w{color:#A39F96;font-size:28px;animation:lnshs 1s infinite alternate}
@keyframes lnshs{from{opacity:.3}to{opacity:1}}
.ln-shs-k{display:flex;gap:10px;width:100%}
.ln-shs-k button{flex:1;min-height:48px;border:0;border-radius:999px;font:400 20px Forum,Georgia,serif;letter-spacing:.3px;cursor:pointer}
.ln-shs-st{background:var(--wa);color:#fff}.ln-shs-st:disabled{opacity:.5}
.ln-shs-ln{background:#2E2D2A;color:#ECEAE4}

/* Кнопка «← АЙЫЫ NEWS» в списке разговоров (6 октября) */
.cl-news{display:flex;align-items:center;gap:8px;margin:0 16px 10px;padding:10px 12px;border:1px solid var(--line,rgba(128,128,128,.3));border-radius:12px;background:transparent;color:inherit;font:400 18px Forum,Georgia,serif;cursor:pointer;text-align:left}
.cl-news img{width:22px;height:22px}
.cl-news:hover{background:rgba(128,128,128,.08)}
html[data-theme="dark"] .cl-news img{filter:invert(1)}

/* «Продвигать» у магазина в виджете (6 октября) */
.ld-site{flex-wrap:wrap}
.ld-site-p{order:9;flex-basis:100%;margin-top:8px;border:0;border-radius:999px;padding:9px 14px;background:var(--wa);color:#fff;font:600 14px 'Inter',sans-serif;cursor:pointer}
.ld-site-s .ld-site-t{flex:1 1 0;min-width:0}

/* Кнопка «🌳 NEWS» в шапке разговора (6 октября) */
.h-lang.h-news{width:auto;min-width:0;padding:0 12px 0 8px;gap:6px;display:inline-flex;align-items:center;border-radius:999px;border:1.5px solid var(--wa);color:var(--ink);font:400 17px Forum,Georgia,serif;letter-spacing:.5px;background:transparent}
.h-lang.h-news img{width:22px;height:22px}
/* Кнопка «MAX» рядом с NEWS (19 октября) — тот же вид, внутри MAX не нужна */
.h-lang.h-max{width:auto;min-width:0;padding:0 12px;display:inline-flex;align-items:center;border-radius:999px;border:1.5px solid var(--wa);color:var(--ink);font:400 17px Forum,Georgia,serif;letter-spacing:.5px;background:transparent;text-decoration:none;margin-right:2px}
@media (max-width:520px){.h-lang.h-max{padding:0 9px;font-size:15px;margin-right:2px}}
/* 19 октября, слово хозяина: на кнопке MAX — значок MAX, чтобы было понятно, куда ведёт; вид как у NEWS. */
.h-lang.h-max{padding:0 12px 0 8px;gap:6px}
.h-max-i{display:block;width:22px;height:22px;flex:0 0 auto}
@media (max-width:520px){.h-lang.h-max{padding:0 9px 0 6px;gap:5px}.h-max-i{width:20px;height:20px}}
html.in-max .h-max,html.in-tg .h-max{display:none!important}
html[data-theme="dark"] .h-lang.h-news img{filter:invert(1)}
/* Глобус в шапке виджетов — в правом конце, напротив стрелки (6 октября) */
.pbar #h-lang.pshare, #h-lang.pshare{order:99;margin-left:auto}

.ln-shs-car{background:#2E2D2A;color:#ECEAE4;border:1.5px solid var(--wa)!important}

/* Виджеты на телефоне (6 октября, слово хозяина: «назад рядом с Власий убери, и Власий убрать, глобус поднять вместо ⋮»). */
.hdr-lang{display:none;background:transparent;border:0;color:inherit;padding:6px;cursor:pointer}
@media (max-width: 1023px){
  #phone:has(#pg-selfline.on) .hdots{display:none}
  #phone:has(#pg-selfline.on) .hdr-lang{display:inline-flex}
  #pg-selfline > .pbar{display:none}
}
/* ИГРЫ (6 октября): карточка в чате и окно игры поверх приложения. */
.game-card{gap:10px}
.game-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:150px;border:0;border-radius:12px;cursor:pointer;
  background:radial-gradient(circle at 30% 20%,var(--wa) 0%,transparent 60%),linear-gradient(135deg,#2b2440,#16131f);color:#fff;font:inherit;padding:18px;text-align:center}
.game-tile b{font-size:19px;line-height:1.25}.game-ic{font-size:38px}.game-go{font-size:14px;font-weight:700;background:rgba(255,255,255,.18);padding:6px 12px;border-radius:999px}
.game-row{display:flex;gap:8px;flex-wrap:wrap}.game-note{font-size:13px;opacity:.7}
#game-ov{position:fixed;inset:0;z-index:9999;background:#000;display:flex;flex-direction:column}
.game-ov-bar{display:flex;align-items:center;gap:10px;padding:8px 10px;padding-top:max(8px,env(safe-area-inset-top));background:#1A1A18;color:#ECEAE4}
.game-ov-bar b{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px}
.game-x{width:38px;height:38px;border-radius:50%;border:0;background:#2C2A27;color:#ECEAE4;font-size:18px;cursor:pointer;flex-shrink:0}
#game-ov iframe{flex:1;width:100%;border:0;background:#000}
.game-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.game-pk{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:12px;border:0;cursor:pointer;font:inherit;color:#fff;
  background:linear-gradient(160deg,#3a5a2a,#1f3517)}
.game-pk:nth-child(2){background:linear-gradient(160deg,#7a6a2a,#3f5a1e)}.game-pk:nth-child(3){background:linear-gradient(160deg,#2a5a7a,#16314a)}
.game-pk span{font-size:30px}.game-pk b{font-size:13px;line-height:1.2;text-align:center}
/* «Олоҕун суола» в виджетах (6 октября, снимок хозяина: «слишком впритык») — воздух под заголовком и у кнопок масштаба. */
#pg-selfline .lifeline{margin-top:14px;padding:0 4px}
#pg-selfline .llbar{margin:0 2px 12px}
#pg-selfline .llz{gap:6px;padding:4px;border-radius:11px}
#pg-selfline .llz span{padding:0 10px}
html[data-theme="dark"] #pg-selfline .llz{background:#1D1728}
html[data-theme="dark"] #pg-selfline .llz span{color:#B5A5C6}
/* ФИЛЬМЫ ЛЮДЕЙ (7 октября): кнопка в «Кино и сериалы» и окно добавления. */
.fm-add{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:14px 16px;border-radius:14px;border:1.5px dashed var(--wa);}
.fm-add button{border:0;border-radius:999px;padding:10px 18px;background:var(--wa);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.fm-add span{font-size:13px;opacity:.75}
#fm-sheet{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center}
@media(min-width:700px){#fm-sheet{align-items:center}}
.fm-b{width:100%;max-width:480px;background:var(--bg,#fff);color:var(--ink,#1d1a1f);border-radius:18px 18px 0 0;padding:18px;display:flex;flex-direction:column;gap:12px}
@media(min-width:700px){.fm-b{border-radius:18px}}
html[data-theme="dark"] .fm-b{background:#130F1A;color:#E8E3ED}
.fm-h{display:flex;align-items:center;justify-content:space-between;font-size:17px}
.fm-x{border:0;background:transparent;font-size:18px;cursor:pointer;color:inherit}
.fm-b input[type=url],.fm-b input[type=text]{font:inherit;padding:12px 14px;border-radius:12px;border:1px solid rgba(128,128,128,.35);background:transparent;color:inherit}
.fm-ok{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.35;cursor:pointer}.fm-ok input{margin-top:2px}
.fm-note{font-size:12.5px;opacity:.7;line-height:1.4}
.fm-go{border:0;border-radius:999px;padding:12px;background:var(--wa);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.fm-err{font-size:13px;color:#d0574a;min-height:16px}
/* ФИЛЬМОТЕКА (7 октября): полки в «Кино и сериалы» и весь список. */
.fm-sh{display:flex;justify-content:space-between;align-items:baseline;margin:4px 0 8px}
.fm-sh b{font-family:'Forum',Georgia,serif;font-weight:400;font-size:20px}
.fm-sh button{border:0;background:none;color:var(--wa);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
.fm-chips{display:flex;gap:6px;margin:0 0 10px;overflow-x:auto;scrollbar-width:none}.fm-chips::-webkit-scrollbar{display:none}
.fm-chips button{flex-shrink:0;border:0;border-radius:999px;padding:7px 13px;font:inherit;font-size:13px;cursor:pointer;background:rgba(128,128,128,.16);color:inherit}
.fm-chips button.on{background:var(--wa);color:#fff}
.fm-row{display:flex;gap:10px;overflow-x:auto;margin:0 0 18px;padding-bottom:4px;scroll-snap-type:x mandatory;scrollbar-width:none}.fm-row::-webkit-scrollbar{display:none}
.fm-p{flex-shrink:0;width:118px;border:0;background:none;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;scroll-snap-align:start}
.fm-pi{position:relative;height:168px;border-radius:12px;background:linear-gradient(160deg,#5a4a3a,#1e1a16) center/cover;display:flex;align-items:flex-end;padding:8px;overflow:hidden}
.fm-pi:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.78))}
.fm-pi b{position:relative;color:#fff;font:400 13.5px/1.2 'Forum',Georgia,serif;text-shadow:0 1px 3px rgba(0,0,0,.6);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fm-p span{display:block;font-size:11.5px;opacity:.6;margin-top:5px;min-height:14px}
.fm-more{flex-shrink:0;width:52px;border:0;border-radius:12px;background:rgba(128,128,128,.14);color:var(--wa);font-size:22px;cursor:pointer}
.fm-tr{flex-shrink:0;width:220px;border:0;background:none;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;scroll-snap-align:start}
.fm-ti{position:relative;height:124px;border-radius:12px;background:linear-gradient(135deg,#3b2a4a,#1a1622) center/cover}
.fm-ti:after{content:"▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px}
.fm-tr b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.25;margin-top:6px}
.fm-tr span{display:block;font-size:11.5px;opacity:.6;margin-top:3px}
#fm-lib{position:fixed;inset:0;z-index:955;background:var(--bg);color:var(--ink-1);overflow-y:auto;font-family:'Inter',sans-serif}
.fm-lh{position:sticky;top:0;z-index:2;background:var(--bg);display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(128,128,128,.18)}
.fm-lh button{border:0;background:none;color:inherit;font-size:26px;width:40px;cursor:pointer}.fm-lh b{font-family:'Forum',Georgia,serif;font-weight:400;font-size:21px}.fm-lh span{width:40px}
.fm-lb{padding:12px 14px 0;max-width:960px;margin:0 auto}
.fm-lb input{width:100%;box-sizing:border-box;font:inherit;padding:11px 14px;border-radius:12px;border:0;background:rgba(128,128,128,.14);color:inherit;margin-bottom:10px}
.fm-lg{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:14px 10px;padding:6px 14px 10px;max-width:960px;margin:0 auto}
.fm-lg .fm-p{width:auto}.fm-lg .fm-tr{width:auto}
.fm-le{text-align:center;opacity:.6;font-size:13px;padding:10px 0 40px}
.fm-lg-tr{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
#ln-list .fm-add{margin:12px 16px}#fm-shelf{padding:4px 16px 6px;border-bottom:6px solid var(--panel)}#fm-shelf:empty{display:none}
/* ЧАРТ НЕДЕЛИ (7 октября). */
#mz-shelf{padding:4px 16px 6px;border-bottom:6px solid var(--panel)}#mz-shelf:empty{display:none}
.mz-src{font-size:12px;opacity:.55}
.mz-c{flex-shrink:0;width:128px;border:0;background:none;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;scroll-snap-align:start}
.mz-i{position:relative;height:128px;border-radius:12px;background:linear-gradient(135deg,#4a2a3a,#1a1418) center/cover}
.mz-i em{position:absolute;left:8px;top:8px;font-style:normal;font:700 15px Inter,system-ui,sans-serif;background:rgba(0,0,0,.6);color:#fff;border-radius:8px;padding:2px 8px}
.mz-c b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.25;margin-top:6px}
.mz-c span{display:block;font-size:11.5px;opacity:.6;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mz-art{display:flex;align-items:center;gap:12px}.mz-art img{width:72px;height:72px;border-radius:10px;object-fit:cover}.mz-art span{font-size:15px;opacity:.8}
.mz-l{display:block;text-align:center;padding:12px;border-radius:999px;border:1.5px solid var(--wa);color:inherit;text-decoration:none;font-weight:700}
/* Полки вбок: стрелки на компьютере, кнопка отрывка песни (7 октября). */
.fm-rw{position:relative}
.fm-ar{display:none;position:absolute;top:40%;transform:translateY(-50%);z-index:2;width:36px;height:36px;border-radius:50%;border:0;background:rgba(20,20,20,.75);color:#fff;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.fm-al{left:-6px}.fm-arr{right:-6px}
@media (hover:hover) and (pointer:fine){.fm-ar{display:block}}
.mz-c{flex-shrink:0;width:128px;cursor:pointer;scroll-snap-align:start}
.mz-pl{position:absolute;right:8px;bottom:8px;width:36px;height:36px;border-radius:50%;border:0;background:var(--wa);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.mz-pl:before{content:"";position:absolute;left:14px;top:11px;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent #fff}
.mz-pl.on:before{left:12px;top:11px;width:4px;height:14px;border:0;background:#fff;box-shadow:8px 0 0 #fff}
.mz-big{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border-radius:999px;border:0;background:var(--wa);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.mz-big i{position:relative;width:14px;height:14px}.mz-big i:before{content:"";position:absolute;left:2px;top:0;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent #fff}
.mz-big.on i:before{left:1px;width:4px;height:14px;border:0;background:#fff;box-shadow:7px 0 0 #fff}
/* Якутский топ недели (7 октября). */
.mz-sa{background:linear-gradient(150deg,#7a3b2a,#2a1612) center/cover}
.mz-nt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:44px;color:rgba(255,255,255,.35)}
.mz-pl-i{pointer-events:none}
.mz-vid{position:relative;padding-top:56.25%;border-radius:12px;overflow:hidden;background:#000}.mz-vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* Своя песня (7 октября): обложка и поля рядом. */
.fm-two{display:flex;gap:10px;align-items:stretch}
.fm-cv{flex-shrink:0;width:104px;height:104px;border-radius:12px;border:1.5px dashed rgba(128,128,128,.5);display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;opacity:.9;cursor:pointer;background:center/cover no-repeat}
.fm-cv span{line-height:1.3}
.fm-col{flex:1;display:flex;flex-direction:column;gap:8px}.fm-col input{font:inherit;padding:12px 14px;border-radius:12px;border:1px solid rgba(128,128,128,.35);background:transparent;color:inherit}
/* МИНИ-ПЛЕЕР (7 октября): полоска над нижними кнопками ленты, на компьютере — внизу по центру. */
#mz-bar{position:fixed;left:8px;right:8px;bottom:calc(72px + env(safe-area-inset-bottom,0));z-index:961;background:#262422;color:#ECEAE4;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.45);overflow:hidden;font-family:'Inter',sans-serif}
@media(min-width:900px){#mz-bar{left:50%;right:auto;width:520px;transform:translateX(-50%);bottom:18px}}
.mzb-pr{height:3px;background:rgba(255,255,255,.12)}.mzb-pr i{display:block;height:100%;width:0;background:var(--wa);transition:width .25s linear}
.mzb-in{display:flex;align-items:center;gap:8px;padding:8px 10px}
.mzb-i{flex-shrink:0;width:42px;height:42px;border-radius:8px;background:#4a2a3a center/cover}
.mzb-t{flex:1;min-width:0}.mzb-t b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mzb-t span{display:block;font-size:12px;opacity:.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mzb-in button{flex-shrink:0;border:0;background:none;color:inherit;font-size:17px;width:34px;height:34px;cursor:pointer;border-radius:50%}
.mzb-in .mzb-pp{position:relative;background:var(--wa);width:38px;height:38px}
.mzb-pp:before{content:"";position:absolute;left:15px;top:12px;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent #fff}
.mzb-pp.on:before{left:13px;top:12px;width:4px;height:14px;border:0;background:#fff;box-shadow:8px 0 0 #fff}
.mzb-x{opacity:.6;font-size:14px!important}
/* Список песен чарта (7 октября). */
.fm-shb{display:flex;gap:12px}
#mz-list{position:fixed;inset:0;z-index:9997;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center}
@media(min-width:700px){#mz-list{align-items:center}}
.mzl-b{width:100%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;gap:12px;background:#1E1D1B;color:#ECEAE4;border-radius:18px 18px 0 0;padding:16px}
@media(min-width:700px){.mzl-b{border-radius:18px}}
html[data-theme="light"] .mzl-b{background:#fff;color:#1d1a1f}
.mzl{overflow-y:auto;margin:0 -6px}
.mzl-r{display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:10px;cursor:pointer}.mzl-r.cur{background:rgba(217,119,87,.16)}
.mzl-r em{font-style:normal;width:22px;text-align:center;font-weight:700;opacity:.7;font-size:13px}
.mzl-i{position:relative;flex-shrink:0;width:44px;height:44px;border-radius:8px;background:#4a2a3a center/cover}
.mzl-t{flex:1;min-width:0}.mzl-t b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mzl-t span{display:block;font-size:12px;opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mzl-r.cur .mzl-t b{color:var(--wa)}
.mzl-r button{border:0;background:none;color:inherit;font-size:18px;width:32px;cursor:pointer;opacity:.6}
.mzl-eq{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;gap:3px;padding-bottom:10px;background:rgba(0,0,0,.45);border-radius:8px}
.mzl-eq i{width:4px;background:#fff;border-radius:2px;animation:mzeq .8s ease-in-out infinite}.mzl-eq i:nth-child(2){animation-delay:.2s}.mzl-eq i:nth-child(3){animation-delay:.4s}
@keyframes mzeq{0%,100%{height:6px}50%{height:20px}}
.fm-seg{display:flex;gap:4px;padding:3px;border-radius:12px;background:rgba(128,128,128,.16)}
.fm-seg button{flex:1;border:0;border-radius:9px;padding:8px;background:none;color:inherit;font:inherit;font-weight:600;cursor:pointer}.fm-seg button.on{background:var(--wa);color:#fff}
.mz-pls{background:linear-gradient(150deg,#2a3b6a,#121a30) center/cover}
.car-next{margin-top:6px;padding-top:8px;border-top:1px solid var(--line,rgba(128,128,128,.25))}
/* Новые клипы (7 октября) */
.mz-vid video{position:absolute;inset:0;width:100%;height:100%;background:#000}
.mz-c.mz-clip{width:220px;flex:0 0 220px}
.mz-i.mz-iv{height:124px}
.mz-i em.mz-dt{top:auto;bottom:8px;font:700 11px Inter,system-ui,sans-serif;padding:2px 7px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff}
.mz-ls{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mz-ls .mz-l{padding:10px;font-size:14px}
/* Проверка игры в деле (7 октября) */
.game-probe{margin-top:10px;width:100%;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:#000;pointer-events:none}
.game-probe iframe{width:100%;height:100%;border:0;display:block}
.game-fix{position:absolute;left:50%;top:64px;transform:translateX(-50%);display:flex;gap:10px;align-items:center;background:rgba(20,18,16,.92);color:#fff;padding:10px 14px;border-radius:14px;z-index:5;font-size:14px;box-shadow:0 6px 24px rgba(0,0,0,.4)}
/* Этапы сборки игры (7 октября) */
.game-steps{position:relative;overflow:hidden;min-width:min(340px,80vw)}
.game-steps .gst-h{font-size:28px;line-height:1;margin-bottom:10px;animation:gst-b 1.6s ease-in-out infinite}
@keyframes gst-b{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-6deg)}}
.gst{display:flex;align-items:center;gap:10px;font-size:14px;padding:5px 0;transition:opacity .3s}
.gst-i{width:20px;height:20px;flex:0 0 20px;display:flex;align-items:center;justify-content:center;font-weight:800}
.gst-i .car-spin{width:16px;height:16px;margin:0}
.gst.done{opacity:.55}.gst.done .gst-i{color:#3fb37f}
.gst.now{font-weight:700}
.gst.next{opacity:.35}
.gst-bar{margin-top:12px;height:4px;border-radius:4px;background:rgba(128,128,128,.2);overflow:hidden}
.gst-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#e07a55,#f2b38a,#e07a55);background-size:200% 100%;animation:gst-sh 1.4s linear infinite;transition:width .8s ease}
@keyframes gst-sh{0%{background-position:200% 0}100%{background-position:0 0}}
/* Платные статьи (7 октября) */
.ed-paid{margin:8px 16px 0;padding:10px 12px;border:1px solid var(--line,rgba(128,128,128,.3));border-radius:14px;font-size:14px}
.ed-paid-t{display:flex;align-items:center;gap:8px;font-weight:700;cursor:pointer}
.ed-paid-b{display:none;margin-top:10px}.ed-paid.on .ed-paid-b{display:block}
.ed-paid-r{display:flex;gap:12px;flex-wrap:wrap}.ed-paid-r label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;opacity:.85}
.ed-paid-r input,.ed-paid-r select{font:inherit;font-size:15px;padding:8px 10px;border-radius:10px;border:1px solid var(--line,rgba(128,128,128,.35));background:transparent;color:inherit;width:120px}
.ed-paid-s{margin:8px 0;font-size:13px;color:#3fb37f;font-weight:600}
.ed-paid-ok{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.35;opacity:.9}.ed-paid-ok a{color:var(--wa,#D97757)}
/* Временный эксклюзив в редакторе (12 октября). */
.ed-paid-x{display:flex;flex-direction:column;gap:4px;font-size:12.5px;opacity:.9;margin:10px 0 4px}
.ed-paid-x select{font:inherit;font-size:15px;padding:8px 10px;border-radius:10px;border:1px solid var(--line,rgba(128,128,128,.35));background:transparent;color:inherit;max-width:320px}
.ed-paid-x small{opacity:.7;line-height:1.35}
.ln-paid{display:inline-block;margin:6px 0 2px;padding:3px 10px;border-radius:999px;background:linear-gradient(90deg,#7b4dd6,#d97757);color:#fff;font-size:12.5px;font-weight:700}
.ln-earn{margin:12px 16px;padding:14px;border-radius:16px;background:linear-gradient(135deg,rgba(123,77,214,.14),rgba(217,119,87,.14))}
.ln-earn-h{font-weight:800;margin-bottom:10px}.ln-earn-r{display:flex;gap:10px}.ln-earn-r div{flex:1;text-align:center}.ln-earn-r b{display:block;font-size:18px}.ln-earn-r span{font-size:12px;opacity:.7}
.ln-earn-b{margin-top:12px;width:100%;border:0;border-radius:999px;padding:11px;background:var(--wa,#D97757);color:#fff;font-weight:700;cursor:pointer}
.ln-earn-n{margin-top:10px;font-size:12.5px;opacity:.75;text-align:center}
/* НВК «Саха» — прямой эфир (7 октября) */
.fm-live .fm-ti{background:linear-gradient(135deg,#0d3b66,#1b6ca8 55%,#d97757);display:flex;align-items:flex-start;justify-content:flex-start;padding:10px;box-sizing:border-box}
.fm-onair{background:rgba(0,0,0,.55);color:#fff;font-weight:800;font-size:13px;padding:5px 10px;border-radius:999px;animation:fm-pulse 1.6s ease-in-out infinite}
@keyframes fm-pulse{0%,100%{opacity:1}50%{opacity:.65}}
/* Плеер в угол (7 октября) */
.fm-hb{display:flex;align-items:center;gap:6px;flex-shrink:0}
#fm-sheet.mini{inset:auto;right:16px;bottom:16px;width:400px;background:none;pointer-events:none;display:block}
#fm-sheet.mini .fm-b{pointer-events:auto;max-width:none;padding:8px 10px 10px;gap:6px;border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.6)}
#fm-sheet.mini .fm-b > :not(.fm-h):not(.mz-vid){display:none}
#fm-sheet.mini .fm-h{font-size:13px}#fm-sheet.mini .fm-h b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#fm-sheet.mini .mz-vid{border-radius:10px}
@media(max-width:899px){#fm-sheet.mini{right:8px;width:62vw;bottom:calc(84px + env(safe-area-inset-bottom,0))}}
#fm-sheet.mini .fm-h{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;padding:2px 0}
#fm-sheet.mini.drag .fm-h{cursor:grabbing}#fm-sheet.mini.drag iframe,#fm-sheet.mini.drag video{pointer-events:none}
#fm-sheet.mini .fm-h b:before{content:"⠿ ";opacity:.45}
/* Фильм, открытый из фильмотеки, — во весь экран поверх неё (7 октября) */
body:has(#fm-lib) #ln-view.ln-view-pk{left:0!important;right:0!important;width:auto!important;border:none}
/* 8 октября: чёрное пятно внизу — эта кнопка «назад» оставалась видна, когда плашка пряталась у комментариев. */
body:has(#fm-lib) #ln-view.ln-view-pk:not(.ln-at-cm) .ln-top .ln-back{display:inline-flex!important;visibility:visible!important}
/* Любое видео — в угол (7 октября) */
#ln-mini{position:fixed;z-index:9990;right:16px;bottom:16px;width:400px;background:#1E1D1B;color:#ECEAE4;border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.6);padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px}
#ln-mini .ln-top,#ln-mini .ln-vin{display:none!important}
#ln-mini .ln-vs{overflow:hidden;flex:none;aspect-ratio:16/9;border-radius:10px;background:#000}
#ln-mini #ln-vf{width:100%;height:100%!important;display:block;border:0}
.lnm-h{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.lnm-h b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.lnm-h b:before{content:"⠿ ";opacity:.45}
#ln-mini.drag .lnm-h{cursor:grabbing}#ln-mini.drag iframe{pointer-events:none}
@media(max-width:899px){#ln-mini{right:8px;width:62vw;bottom:calc(84px + env(safe-area-inset-bottom,0))}}
.ln-minb{position:absolute;top:calc(12px + env(safe-area-inset-top,0));right:16px;z-index:6;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card,#222);color:var(--ink);font:600 13.5px/1 inherit;box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer}
.ln-minb span{font-size:16px}
.ln-minb:hover{border-color:var(--accent,#e07a52)}
#ln-mini .ln-minb{display:none!important}
.ln-imgw-min{position:absolute;right:10px;top:10px;z-index:2;border:0;border-radius:10px;background:rgba(0,0,0,.6);color:#fff;font-size:18px;width:38px;height:38px;cursor:pointer}

/* Плеер, спрятанный за край (7 октября): окно за экраном, у края — серый язычок со стрелкой. */
#fm-sheet.dock,#ln-mini.dock{opacity:0!important;pointer-events:none!important;transition:opacity .2s ease}
#fm-sheet.dock *,#ln-mini.dock *{pointer-events:none!important}
.mini-tab{position:fixed;z-index:2147483000;width:26px;height:60px;border:0;padding:0;background:rgba(120,120,128,.82);color:#fff;font:600 26px/60px Inter,system-ui,sans-serif;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.mini-tab-l{left:0;border-radius:0 12px 12px 0}
.mini-tab-r{right:0;border-radius:12px 0 0 12px}

/* Стрелки полок: в начале нет «‹», в конце нет «›» (7 октября). */
.fm-rw.fm-start .fm-al,.fm-rw.fm-end .fm-arr{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

/* ⏮ ⏭ в окошке клипа (7 октября). */
#fm-sheet .fm-nx{font-size:15px}

/* Правка слова (7 октября). */
.sa-fix-b{position:fixed;z-index:2147483100;padding:8px 12px;border:0;border-radius:999px;background:var(--accent,#D97757);color:#fff;font:600 13px/1 Inter,system-ui,sans-serif;box-shadow:0 4px 14px rgba(0,0,0,.3);cursor:pointer}
.sa-fix{position:fixed;inset:0;z-index:2147483200;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.sa-fix-w{background:var(--panel,#fff);color:var(--ink,#111);border:1px solid var(--line,#ddd);border-radius:16px;padding:18px;width:100%;max-width:340px;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.sa-fix-w > b{display:block;font-size:16px;margin-bottom:8px}
.sa-fix-old{font-size:14px;color:var(--ink-2,#888);text-decoration:line-through;margin-bottom:8px}
.sa-fix-w input{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;border:1px solid var(--line,#ccc);background:transparent;color:inherit;font:16px Inter,system-ui,sans-serif}
.sa-fix-k{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.sa-fix-k button{padding:9px 14px;border-radius:999px;border:1px solid var(--line,#ccc);background:transparent;color:inherit;font:600 14px Inter,system-ui,sans-serif;cursor:pointer}
.sa-fix-k .sa-fix-ok{background:var(--accent,#D97757);border-color:transparent;color:#fff}
.sa-fix-pr{font-size:13px;color:var(--ink-2,#888);margin-top:8px;line-height:1.35}

/* Очередь клипов под плеером (7 октября) */
#fm-sheet .mz-q{margin-top:10px;max-height:240px;overflow-y:auto;border-top:1px solid rgba(127,127,127,.18);padding-top:6px}
#fm-sheet .mz-qh{font-size:12px;font-weight:700;opacity:.6;margin:2px 2px 6px;text-transform:uppercase;letter-spacing:.04em}
#fm-sheet .mz-qi{display:flex;gap:10px;align-items:center;width:100%;background:none;border:0;padding:5px 4px;border-radius:10px;cursor:pointer;text-align:left;color:inherit;font:inherit}
#fm-sheet .mz-qi:hover{background:rgba(127,127,127,.12)}
#fm-sheet .mz-qt{flex:0 0 96px;height:54px;border-radius:8px;background:#222 center/cover no-repeat}
#fm-sheet .mz-qx{min-width:0;display:flex;flex-direction:column}
#fm-sheet .mz-qx b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#fm-sheet .mz-qx em{font-style:normal;font-size:12px;opacity:.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#fm-sheet.mini .mz-q,#fm-sheet.dock .mz-q{display:none}

/* Сон в ленту: выбор имени (8 октября) */
.tl-pub{position:fixed;inset:0;z-index:10050;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center}
.tl-pub-b{background:var(--bg,#fff);color:var(--ink,#111);width:100%;max-width:420px;border-radius:18px 18px 0 0;padding:16px;display:flex;flex-direction:column;gap:8px}
.tl-pub-b b{font-size:16px;margin-bottom:4px}
.tl-pub-b button{font:inherit;font-weight:700;padding:13px;border-radius:12px;border:0;background:#c96f4a;color:#fff;cursor:pointer}
.tl-pub-b button.tl-pub-x{background:transparent;color:inherit;opacity:.7}
@media (prefers-color-scheme:dark){.tl-pub-b{background:#222;color:#eee}}

/* Плейлисты клипов (8 октября) */
.mz-plc{width:160px}
.mz-plcv{position:relative;height:160px;border-radius:14px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;background:#2a2622}
.mz-plcv i{display:block;background:#3a332d center/cover}
.mz-plcv em{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.65);color:#fff;font:700 11.5px Inter,system-ui,sans-serif;font-style:normal;padding:3px 8px;border-radius:999px}
.mz-plcv .mz-pl{position:absolute;right:8px;bottom:8px}
.mz-plc b{display:block;margin-top:6px;font-size:13.5px}
.mz-plc>span{display:block;font-size:12px;opacity:.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mz-plh{padding:4px 0 10px}
.mz-back{border:0;background:none;color:var(--wa);font:700 14px Inter,system-ui,sans-serif;padding:4px 0;cursor:pointer}
.mz-plchips{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
.mz-plchips button{border:1.5px solid rgba(127,127,127,.35);background:none;color:inherit;font:600 13px Inter,system-ui,sans-serif;padding:7px 13px;border-radius:999px;cursor:pointer}
.mz-plchips button.on{background:var(--wa);border-color:var(--wa);color:#fff}
.mz-plt{font:400 22px Georgia,serif}
.mz-plsub{font-size:13px;opacity:.65;margin:2px 0 10px}
.mz-plgo{border:0;background:var(--wa);color:#fff;font:700 14px Inter,system-ui,sans-serif;padding:10px 16px;border-radius:12px;cursor:pointer;margin:0 0 12px}
.mz-pll{display:flex;flex-direction:column;gap:8px}
.mz-pli{display:flex;gap:12px;align-items:center;border:0;background:none;color:inherit;padding:4px;border-radius:12px;cursor:pointer;text-align:left;font:inherit}
.mz-pli:hover{background:rgba(127,127,127,.12)}
.mz-plim{flex:0 0 112px;height:63px;border-radius:10px;background:#2a2622 center/cover}
.mz-plx{min-width:0;display:flex;flex-direction:column}
.mz-plx b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mz-plx em{font-style:normal;font-size:13px;opacity:.65}

/* Викторина для дела (8 октября) */
.qz-card{background:rgba(201,111,74,.1);border:1.5px solid rgba(201,111,74,.35);border-radius:16px;padding:14px;max-width:420px}
.qz-card b{font-size:15px}.qz-dim{font-size:13px;opacity:.7;margin:4px 0 10px}
.qz-row{display:flex;gap:8px;flex-wrap:wrap}.qz-row button,.qz-row a{border:0;background:#c96f4a;color:#fff;font:700 13.5px Inter,system-ui,sans-serif;padding:9px 13px;border-radius:11px;cursor:pointer;text-decoration:none}
.qz-row a,.qz-row button+button{background:rgba(127,127,127,.18);color:inherit}
#qz-ed{position:fixed;inset:0;z-index:10040;background:rgba(0,0,0,.55);display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;padding:16px 10px 60px}
.qz-b{background:#1e1d1b;color:#ecEAe4;width:100%;max-width:520px;border-radius:20px;padding:16px}
.qz-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.qz-h button{border:0;background:none;color:inherit;font-size:20px;cursor:pointer}
.qz-b input,.qz-b textarea{width:100%;box-sizing:border-box;background:#2a2926;color:inherit;border:1.5px solid #3a3833;border-radius:10px;padding:9px 11px;font:15px Inter,system-ui,sans-serif;margin:0 0 8px}
.qz-b textarea{min-height:44px;resize:vertical}.qz-t{font:400 20px Georgia,serif!important}
.qz-q{background:#252421;border-radius:14px;padding:10px;margin:10px 0}.qz-qh{display:flex;justify-content:space-between;margin-bottom:6px}.qz-qh button{border:0;background:none;cursor:pointer;font-size:15px}
.qz-o{display:flex;gap:8px;align-items:center;margin:0 0 6px}.qz-o input[type=radio]{width:18px;height:18px;margin:0;accent-color:#3f9a62;flex:0 0 18px}.qz-o input[type=text]{margin:0}
.qz-o.on input[type=text]{border-color:#3f9a62}
.qz-exp{font-size:13.5px!important;opacity:.85}
.qz-add,.qz-add2{width:100%;border:1.5px dashed #4a4741;background:none;color:#c96f4a;font:700 14px Inter,system-ui,sans-serif;padding:10px;border-radius:12px;cursor:pointer;margin:4px 0}
.qz-add2{padding:6px;font-size:13px;margin:0 0 6px}
.qz-fin{background:#2a1f1a;border:1.5px solid rgba(201,111,74,.4);border-radius:14px;padding:12px;margin:12px 0}
.qz-ck{display:flex;gap:8px;align-items:center;font-size:14px;margin:8px 0}.qz-ck input{width:18px!important;height:18px;margin:0!important;accent-color:#c96f4a}
.qz-er{color:#e07a6a;font-size:14px;min-height:18px}
.qz-pub{width:100%;border:0;background:#c96f4a;color:#fff;font:700 15px Inter,system-ui,sans-serif;padding:13px;border-radius:13px;cursor:pointer}

.qz-pic{position:relative;margin:0 0 8px}.qz-pic img{display:block;width:100%;max-height:200px;object-fit:cover;border-radius:12px}
.qz-nopic{height:110px;border-radius:12px;background:#2f2d29;display:flex;align-items:center;justify-content:center;font-size:15px;opacity:.75}
.qz-picb{display:flex;gap:6px;margin-top:6px}.qz-picb label,.qz-picb button{border:0;background:rgba(127,127,127,.2);color:inherit;font:600 13px Inter,system-ui,sans-serif;padding:7px 11px;border-radius:9px;cursor:pointer}

.qz-ok{display:inline-flex;align-items:center;font:700 13px Inter,system-ui,sans-serif;padding:9px 12px;border-radius:11px;background:rgba(63,154,98,.18);color:#5fc387}

/* Знакомства «Таптал/Билсиһии» (8 октября) */
.dt-w{max-width:520px;margin:0 auto;padding:8px 4px 30px}
.dt-w h2{font:400 24px Georgia,serif;margin:4px 0 6px}
.dt-dim{font-size:13px;opacity:.7;margin:4px 0 8px}
.dt-tabs{display:flex;gap:6px;overflow-x:auto;margin:0 0 12px;scrollbar-width:none}
.dt-tabs button{flex:0 0 auto;border:1.5px solid rgba(127,127,127,.35);background:none;color:inherit;font:600 13px Inter,system-ui,sans-serif;padding:7px 12px;border-radius:999px;cursor:pointer}
.dt-tabs button.on{background:#c96f4a;border-color:#c96f4a;color:#fff}
.dt-card{position:relative;height:min(68vh,520px);border-radius:22px;overflow:hidden;background:#2a2622;touch-action:pan-y;user-select:none}
.dt-img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:auto}
.dt-dots{position:absolute;top:10px;left:12px;right:12px;display:flex;gap:4px;z-index:2}.dt-dots i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.4)}.dt-dots i.on{background:#fff}
.dt-tag{position:absolute;top:22px;right:14px;background:rgba(0,0,0,.5);color:#fff;font:700 12px Inter,system-ui,sans-serif;padding:5px 9px;border-radius:999px}
.dt-up{right:auto;left:14px}
.dt-ov{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff;pointer-events:none}
.dt-ov h3{margin:0;font:700 24px Inter,system-ui,sans-serif}.dt-sub{font-size:14px;opacity:.9;margin:3px 0 6px}.dt-ov p{margin:0;font-size:14px;opacity:.92}
.dt-acts{display:flex;justify-content:center;gap:28px;margin:14px 0 6px}
.dt-acts button{width:62px;height:62px;border-radius:50%;border:0;font-size:26px;cursor:pointer;background:rgba(127,127,127,.22);color:inherit}
.dt-acts .dt-yes{background:#c96f4a;color:#fff}
.dt-cnt{text-align:center;font-size:12px;opacity:.65}
.dt-low{display:flex;justify-content:space-between;font-size:13px;margin-top:10px}.dt-low a{color:inherit;opacity:.7;text-decoration:none}
.dt-empty{text-align:center;padding:40px 12px;opacity:.8;line-height:1.6}
.dt-note{background:rgba(201,111,74,.15);border-radius:12px;padding:9px 12px;font-size:13.5px;margin:0 0 10px}.dt-note a{color:#c96f4a}
.dt-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid rgba(127,127,127,.15)}
.dt-row img{width:56px;height:56px;border-radius:50%;object-fit:cover;background:#2a2622}.dt-row div{flex:1;min-width:0;display:flex;flex-direction:column}.dt-row span{font-size:13px;opacity:.7}
.dt-wa{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#25a35a;color:#fff;border:0;border-radius:11px;padding:9px 12px;font:700 13.5px Inter,system-ui,sans-serif;text-decoration:none;cursor:pointer}
.dt-wa.dt-tg{background:#2a8bd8}.dt-wa.dt-big{display:flex;width:100%;padding:14px;font-size:15px;margin-top:18px;box-sizing:border-box}
.dt-match{position:fixed;inset:0;z-index:10060;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;padding:16px}
.dt-mb{background:#1e1d1b;color:#ecEAe4;border-radius:22px;padding:26px 18px;max-width:360px;width:100%;text-align:center}
.dt-mb h2{font:400 34px Georgia,serif;color:#e6a35a;margin:14px 0 4px}
.dt-av{display:flex;justify-content:center}.dt-av img{width:92px;height:92px;border-radius:50%;object-fit:cover;border:3px solid #1e1d1b;background:#2a2622}.dt-av img:first-child{margin-right:-14px}
.dt-later{border:0;background:none;color:inherit;opacity:.7;margin-top:12px;font:600 14px Inter,system-ui,sans-serif;cursor:pointer}
.dt-ph{display:flex;gap:8px;margin:6px 0}.dt-pi{position:relative;flex:1;height:120px;border-radius:12px;overflow:hidden;background:#2a2622}
.dt-pi img{width:100%;height:100%;object-fit:cover}.dt-pi button{position:absolute;top:4px;right:4px;border:0;background:rgba(0,0,0,.6);color:#fff;border-radius:50%;width:26px;height:26px;cursor:pointer}
.dt-add{display:flex;align-items:center;justify-content:center;border:1.5px dashed rgba(127,127,127,.5);background:none;color:#c96f4a;font-size:26px;cursor:pointer}
.dt-l{display:block;font-size:12.5px;opacity:.7;margin:10px 0 4px}
.dt-w input:not([type=radio]):not([type=file]),.dt-w textarea{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:11px;border:1.5px solid rgba(127,127,127,.35);background:rgba(127,127,127,.08);color:inherit;font:15px Inter,system-ui,sans-serif}
.dt-w textarea{min-height:70px;resize:vertical}
.dt-chips{display:flex;gap:6px;flex-wrap:wrap}.dt-chip{border:1.5px solid rgba(127,127,127,.35);border-radius:999px;padding:7px 12px;font:600 13px Inter,system-ui,sans-serif;cursor:pointer}
.dt-chip input{display:none}.dt-chip.on{background:#c96f4a;border-color:#c96f4a;color:#fff}
.dt-er{color:#e07a6a;font-size:14px;min-height:18px;margin-top:8px}
.dt-go{display:block;width:100%;border:0;background:#c96f4a;color:#fff;font:700 15px Inter,system-ui,sans-serif;padding:13px;border-radius:13px;cursor:pointer;margin-top:8px}
.dt-sec{display:block;width:100%;border:1.5px solid rgba(127,127,127,.35);background:none;color:inherit;font:700 14px Inter,system-ui,sans-serif;padding:11px;border-radius:13px;cursor:pointer;margin-top:8px}
.dt-back{border:0;background:none;color:#c96f4a;font:700 14px Inter,system-ui,sans-serif;padding:4px 0;cursor:pointer;margin-bottom:6px}

.dt-soon{text-align:center;padding:28px 12px}.dt-soon-n{font:400 64px Georgia,serif;color:#e6a35a;line-height:1}.dt-soon b{display:block;font-size:18px;margin:8px 0 12px}
.dt-soon p{font-size:14px;opacity:.75;line-height:1.5}.dt-bar{height:8px;border-radius:4px;background:rgba(127,127,127,.25);margin:0 auto 12px;max-width:300px}.dt-bar i{display:block;height:8px;border-radius:4px;background:#c96f4a}

.qz-lead{padding:10px 0;border-bottom:1px solid rgba(127,127,127,.2)}.qz-lead a{margin-left:6px}

/* 8 октября, снимок хозяина: «впритык стоит» — воздух между полями анкеты. */
.dt-l{margin:16px 0 8px}.dt-chips{margin-bottom:10px}.dt-chips+input,.dt-chips+textarea{margin-top:2px}

/* Знак АЙЫЫ NEWS в углу карточки ленты (8 октября). */
.ln-wm{position:relative}.ln-wm-i{position:absolute;right:12px;bottom:12px;width:24%;max-width:150px;min-width:96px;pointer-events:none;border-radius:8px}

/* Сторис про фильм в чате (8 октября). */
.fs-card{max-width:320px}.fs-img{width:100%;aspect-ratio:9/16;border-radius:14px;display:block;margin-bottom:10px;object-fit:cover}

/* «Сделать из этой новости» (8 октября). */
.mk-row{display:flex;gap:10px}.mk-b{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;border-radius:12px;border:1px solid #eadbe4;background:#fff;color:#3b2a36;font:700 14px Inter,sans-serif;cursor:pointer}.mk-b i{color:#C77DA8}html[data-theme="dark"] .mk-b{background:#6E4FC9;border:0;color:#fff}html[data-theme="dark"] .mk-b i{color:#fff}.mk-b i{font-style:normal;display:flex}
.ln-mkb{background:var(--wa)!important;color:#fff!important;border-radius:20px!important;padding:4px 12px!important}

/* Карточка новости в чате, из которой собирается работа (8 октября). */
.izn{display:flex;gap:10px;align-items:center;max-width:280px;text-align:left;background:rgba(127,127,127,.1);padding:8px 12px 8px 8px;border-radius:16px;margin-right:6px}.izn img{width:64px;height:64px;object-fit:cover;border-radius:10px;flex:none}.izn-t{display:flex;flex-direction:column;gap:3px;min-width:0}.izn-t span{display:flex;align-items:center;gap:5px;font-size:12px;opacity:.75}.izn-t span svg{width:16px;height:16px}.izn-t b{font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.izn[role=button]{cursor:pointer;position:relative}.izn[role=button]:hover{background:rgba(127,127,127,.18)}.izn-back{position:absolute;left:-30px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:rgba(127,127,127,.18);display:flex;align-items:center;justify-content:center;font-size:14px}

/* «↩ Карусель» поверх статьи — обратно в разговор (8 октября). */
#ln-tochat{position:fixed;z-index:9999;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top,0px) + 70px);display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#fff;color:#2a2622;font:700 14px Inter,sans-serif;box-shadow:0 6px 20px rgba(0,0,0,.14);cursor:pointer}#ln-tochat svg{width:18px;height:18px;color:var(--wa)}
/* Две темы (8 октября, слово хозяина): в светлой — светлая кнопка, в тёмной — тёмная. */
html[data-theme="dark"] #ln-tochat{background:#1C1626;color:#f1ece4;border-color:rgba(255,255,255,.1);box-shadow:0 6px 20px rgba(0,0,0,.45)}

/* АНКЕТА ЗНАКОМСТВ — ДВЕ ТЕМЫ (8 октября, снимок хозяина: «исправь под светлую тему»). Поля отходят от краёв экрана,
   в светлой — белые поля с мягкой рамкой, окно взаимной симпатии светлое; в тёмной — как было. */
.dt-w{padding:8px 16px 30px}
.dt-w input:not([type=radio]):not([type=file]),.dt-w textarea{background:#fff;border-color:#e3dbd4;color:#2a2622}
.dt-w input::placeholder,.dt-w textarea::placeholder{color:#a69c94}
.dt-w input:focus,.dt-w textarea:focus{outline:none;border-color:#c96f4a}
.dt-chip{background:#fff;border-color:#e3dbd4;color:#2a2622}
.dt-chip.on{background:#c96f4a;border-color:#c96f4a;color:#fff}
.dt-add{background:#fbf8f5;border-color:#d9cfc6}
.dt-pi{background:#f1ebe6}
.dt-sec{border-color:#e3dbd4}
.dt-mb{background:#fff;color:#2a2622;box-shadow:0 12px 40px rgba(0,0,0,.18)}
.dt-mb h2{color:#c96f4a}
.dt-av img{border-color:#fff;background:#f1ebe6}
html[data-theme="dark"] .dt-w input:not([type=radio]):not([type=file]),html[data-theme="dark"] .dt-w textarea{background:rgba(127,127,127,.08);border-color:rgba(127,127,127,.35);color:inherit}
html[data-theme="dark"] .dt-w input::placeholder,html[data-theme="dark"] .dt-w textarea::placeholder{color:rgba(236,234,228,.45)}
html[data-theme="dark"] .dt-chip{background:none;border-color:rgba(127,127,127,.35);color:inherit}
html[data-theme="dark"] .dt-chip.on{background:#6A4AC9;border-color:#6A4AC9;color:#fff}
html[data-theme="dark"] .dt-add{background:none;border-color:rgba(127,127,127,.5)}
html[data-theme="dark"] .dt-pi{background:#1A1524}
html[data-theme="dark"] .dt-sec{border-color:rgba(127,127,127,.35)}
html[data-theme="dark"] .dt-mb{background:#130F1A;color:#E8E3ED;box-shadow:none}
html[data-theme="dark"] .dt-mb h2{color:#e6a35a}
html[data-theme="dark"] .dt-av img{border-color:#130F1A;background:#1A1524}

/* Демо знакомств и опрос (8 октября). Метка «Холобур» — заметная, чтобы никто не принял рисунок за человека. */
.dt-tag.dt-demo{top:14px;left:14px;right:auto;background:#c96f4a;font-size:13px;padding:6px 12px}
.dt-poll{margin-top:18px;padding:16px;border-radius:16px;background:#fff;border:1px solid #e3dbd4;display:flex;flex-direction:column;gap:10px}
.dt-poll b{font:700 15px Inter,system-ui,sans-serif;line-height:1.4}
.dt-poll-b{display:flex;gap:8px}.dt-poll-b button{flex:1;margin-top:0}
.dt-poll .dt-sec{margin-top:0}
html[data-theme="dark"] .dt-poll{background:#17121F;border-color:rgba(127,127,127,.25)}

/* Карточка анкеты в светлой теме (8 октября, слово хозяина: «зачем тёмная тема при светлой»): светлая подложка,
   подпись — белой плашкой под снимком, а не чёрным затемнением; кнопка ✕ светлая. В тёмной — как было. */
.dt-card{background:#f1ebe6;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.dt-ov{background:linear-gradient(transparent,rgba(255,255,255,.96) 38%);color:#2a2622}
.dt-ov .dt-sub{opacity:.75}
.dt-acts button{background:#fff;color:#2a2622;box-shadow:0 4px 14px rgba(0,0,0,.1)}
.dt-acts .dt-yes{background:#c96f4a;color:#fff}
html[data-theme="dark"] .dt-card{background:#1A1524;box-shadow:none}
html[data-theme="dark"] .dt-ov{background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff}
html[data-theme="dark"] .dt-ov .dt-sub{opacity:.9}
html[data-theme="dark"] .dt-acts button{background:rgba(127,127,127,.22);color:inherit;box-shadow:none}
html[data-theme="dark"] .dt-acts .dt-yes{background:#6A4AC9;color:#fff}
/* Превью роликов в чате (9 октября) — обе темы: рамка и подпись из переменных темы. */
.chv{margin:10px 0 4px;max-width:420px}
.chv-p{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:14px;overflow:hidden;background:#000;cursor:pointer}
.chv-p img{width:100%;height:100%;object-fit:cover;display:block}
.chv-pl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center;padding-left:4px}
.chv-f{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:14px;background:#000}
.chv-a{display:inline-block;margin-top:6px;font-size:14px;font-weight:600;color:var(--wa,#D97757);text-decoration:none}
/* Плавный уход из новости в чат (9 октября): лента и статья мягко тают и чуть опускаются. */
@keyframes lnOut{to{opacity:0;transform:translateY(14px) scale(.985)}}
.ln-out{animation:lnOut .3s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}
@media (prefers-reduced-motion: reduce){.ln-out{animation:none}}
.show-note{margin:6px 2px 0;font-size:12px;line-height:1.35;opacity:.6}

/* Вкладки на телефоне: 4 видны + «Өссө ▾» со шторкой (9 октября). */
.ln-top{position:relative}
#lenta .ln-tabs.ln-tabs-m{overflow:visible;gap:0;align-items:flex-end}
.ln-tabs-v{display:flex;align-items:flex-end;gap:18px;overflow:hidden;min-width:0;flex:1 1 auto}
.ln-tabs-v>button{flex:0 0 auto}
#lenta .ln-tabs-m .ln-more{flex:0 0 auto;margin-left:auto;padding-left:14px;display:inline-flex;align-items:center;gap:4px;line-height:inherit;color:var(--ink-1);background:var(--bg,transparent)}
#lenta .ln-tabs-m .ln-more b{font-weight:inherit}
#lenta .ln-tabs-m .ln-more i{font-style:normal;font-size:11px;line-height:1;display:inline-block;transition:transform .2s}
#lenta .ln-tabs-m .ln-more.open i{transform:rotate(180deg)}
#lenta .ln-tabs-m .ln-more.on{color:var(--wa);border-bottom-color:var(--wa)}
.ln-sheet{position:absolute;left:0;right:0;top:100%;z-index:30;background:var(--bg-1,var(--bg));border-bottom:1px solid var(--line);border-radius:0 0 18px 18px;box-shadow:0 14px 28px rgba(0,0,0,.25);padding:4px 0 8px;animation:lnSheet .2s ease}
.ln-sheet[hidden],.ln-sheet>button[hidden]{display:none}
.ln-sheet>button{display:block;width:100%;text-align:left;border:none;border-bottom:1px solid var(--line);background:none;color:var(--ink-1);font:500 16px 'Inter',sans-serif;padding:13px 18px;cursor:pointer}
.ln-sheet>button:last-child{border-bottom:none}
.ln-sheet>button.on{color:var(--wa);font-weight:700}
.ln-sheet-dim{position:fixed;inset:0;z-index:25;background:rgba(0,0,0,.35)}
#lenta .ln-top{z-index:31}
@keyframes lnSheet{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* Вопрос «Переключить Айыы на якутский язык?» (9 октября). */
.sa-ask{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(132px + env(safe-area-inset-bottom,0));z-index:9000;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;
  width:min(440px,calc(100% - 32px));box-sizing:border-box;padding:10px 12px 10px 16px;border-radius:16px;background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.18);font:500 14px 'Inter',system-ui,sans-serif;animation:saAsk .25s ease}
.sa-ask span{flex:1 1 auto}
.sa-ask button{border:none;border-radius:999px;padding:7px 16px;font:600 14px 'Inter',system-ui,sans-serif;cursor:pointer}
.sa-ask .sa-ask-y{background:var(--wa);color:#fff}
.sa-ask .sa-ask-n{background:transparent;color:var(--ink);border:1px solid var(--line)}
@keyframes saAsk{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}

/* Айыы в окне на чужом сайте (9 октября): своя шапка не нужна — у окна своя. */
html.aiyy-in .aiyy-top{display:none!important}

/* 9 октября: сообщение об ошибке было под шторкой «Сохранить» (слой 60 против 160+) — человек видел «ничего не происходит». Подсказка — поверх всего. */
.toast{z-index:100000}

/* Поиск по новостям под полем «Спроси Айыы» (9 октября). */
.lna{position:relative}
.lna-dd{position:absolute;left:12px;right:12px;top:calc(100% - 2px);z-index:40;background:var(--bg);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.18);overflow:hidden}
.lna-dd[hidden]{display:none}
.lna-pc .lna-dd{left:0;right:0}
.lna-dh{padding:10px 14px 4px;font:500 12px 'Inter',sans-serif;color:var(--ink-3)}
.lna-r{display:flex;gap:11px;align-items:center;width:100%;text-align:left;border:none;border-bottom:1px solid var(--line);background:none;padding:9px 14px;cursor:pointer;color:var(--ink-1)}
.lna-r img,.lna-r i{width:56px;height:56px;border-radius:10px;object-fit:cover;flex:0 0 auto;background:var(--panel)}
.lna-r b{display:block;font:600 14px/1.3 'Inter',sans-serif}.lna-r em{display:block;font-style:normal;font-size:12px;color:var(--ink-3);margin-top:3px}
.lna-r mark{background:none;color:var(--wa);font-weight:700}
.lna-ask{display:flex;gap:10px;align-items:center;width:100%;text-align:left;border:none;background:none;padding:12px 14px;font:600 14px 'Inter',sans-serif;color:var(--ink-1);cursor:pointer}
.lna-ask i{font-style:normal;width:28px;height:28px;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}

/* NEWS переливается, как «Айыы интернетынан көрдүүр» (9 октября): проход света по буквам и пауза. */
.h-news .h-news-t{display:inline-block}
.h-news:not(.seen) .h-news-t,.h-news.ln-dot .h-news-t{
  background:linear-gradient(90deg,var(--ink) 0%,var(--ink) 35%,var(--wa) 50%,var(--ink) 65%,var(--ink) 100%);
  background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:newsShine 3.6s linear infinite}
@keyframes newsShine{0%{background-position:100% 0}55%{background-position:-150% 0}100%{background-position:-150% 0}}
@media (prefers-reduced-motion: reduce){ .h-news .h-news-t{animation:none!important;-webkit-text-fill-color:currentColor!important} }

/* 9 октября, снимок хозяина с айфона: «Өссө» и «Спорт ▾» ниже остальных вкладок. Safari иначе строит кнопку-flex и жирный <b>.
   Все кнопки полосы — одной коробкой: одна высота, одна строка 20px, без flex внутри кнопки. */
#lenta .ln-tabs.ln-tabs-m{align-items:stretch}
#lenta .ln-tabs-m .ln-tabs-v{align-items:stretch}
#lenta .ln-tabs-m .ln-tabs-v>button,#lenta .ln-tabs-m .ln-more{display:block;height:40px;box-sizing:border-box;padding:9px 0 9px;margin:0;
  font:600 15px/20px 'Inter',sans-serif;border-top:0;border-bottom:2.5px solid transparent;-webkit-appearance:none;appearance:none;vertical-align:top}
#lenta .ln-tabs-m .ln-more{padding-left:14px}
#lenta .ln-tabs-m .ln-tabs-v>button.on,#lenta .ln-tabs-m .ln-more.on{border-bottom-color:var(--wa)}
#lenta .ln-tabs-m .ln-more b{font:inherit;line-height:20px;vertical-align:top}
#lenta .ln-tabs-m .ln-more i{display:inline-block;font-style:normal;font-size:11px;line-height:20px;height:20px;vertical-align:top;margin-left:3px}

/* Подсказка под деревом (9 октября): тихая строка-ссылка, переливается как NEWS. */
.aiyy-newshint{display:block;margin:8px auto 0;border:none;background:none;cursor:pointer;font:500 14px 'Inter',sans-serif;padding:4px 8px;
  background-image:linear-gradient(90deg,var(--ink-2) 0%,var(--ink-2) 35%,var(--wa) 50%,var(--ink-2) 65%,var(--ink-2) 100%);
  background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:newsShine 3.6s linear infinite}
.aiyy-newshint[hidden]{display:none}
@media (prefers-reduced-motion: reduce){ .aiyy-newshint{animation:none;-webkit-text-fill-color:var(--ink-2)} }

/* 9 октября, андроид: «▾» шрифта на андроиде выше обычных букв и тянет строку вниз. Стрелка — рисованная, не буква. */
#lenta .ln-tabs-m .ln-more i{display:inline-block;width:0;height:0;margin-left:6px;font-size:0;line-height:0;vertical-align:middle;position:relative;top:-2px;
  border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .2s}
#lenta .ln-tabs-m .ln-more.open i{transform:rotate(180deg)}

/* «Мин сахалыы аатым» — просмотр карточки (9 октября). */
.saat-ov{position:fixed;inset:0;z-index:9500;background:rgba(20,12,8,.8);display:flex;align-items:center;justify-content:center;padding:16px}
.saat-b{display:flex;flex-direction:column;gap:12px;align-items:center;max-height:100%}
.saat-b img{max-height:calc(100vh - 110px);max-width:100%;border-radius:14px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.saat-r{display:flex;gap:10px}.saat-r button{border:none;border-radius:12px;padding:12px 22px;font:700 15px 'Inter',sans-serif;cursor:pointer;background:#fff;color:#222}
.saat-r button.prim{background:var(--wa);color:#fff}
.names-card-btn{margin-bottom:8px;background:var(--wa)!important;color:#fff!important}
.names-more{display:inline-flex;align-items:center;gap:8px}.names-more[disabled]{opacity:1;cursor:default}.names-more .names-spin{width:14px;height:14px;border-width:2px;margin:0}
/* 9 октября, хозяин: «когда идут с запросом „сахалыы аатым“ — укажи: выбери понравившееся имя и нажми, тогда я нарисую». Подсказка заметная. */
/* В светлой — розовая, как вся светлая тема; оранжевый — цвет тёмной (9 октября, хозяин: «в светлой теме шрифтами тёмной темы?»). */
.names-hint.names-hint-big{font-size:15px;font-weight:600;margin:2px 0 6px;padding:10px 12px;border-radius:12px;background:#fff;color:var(--wa-deep);border:1px solid #EBD3E3}
html[data-theme="dark"] .names-hint.names-hint-big{background:rgba(136,106,224,.16);color:#B09BF0;border-color:transparent}
/* РЕДАКТОР ВИКТОРИНЫ В СВЕТЛОЙ ТЕМЕ (9 октября, слово хозяина: «викторина не поддерживает светлую тему»). Тёмная остаётся как была. */
html:not([data-theme="dark"]) .qz-b{background:#fff;color:#1d1b18;box-shadow:0 10px 40px rgba(0,0,0,.18)}
html:not([data-theme="dark"]) .qz-b input,html:not([data-theme="dark"]) .qz-b textarea{background:#f6f4f0;border-color:#e2ddd5;color:#1d1b18}
html:not([data-theme="dark"]) .qz-q{background:#f8f5f0;border:1px solid #ece6dd}
html:not([data-theme="dark"]) .qz-add,html:not([data-theme="dark"]) .qz-add2{border-color:#d8d1c6}
html:not([data-theme="dark"]) .qz-fin{background:#fbf1ec}
html:not([data-theme="dark"]) .qz-nopic{background:#efebe5}
html:not([data-theme="dark"]) .qz-ok{color:#2f8a55}
html:not([data-theme="dark"]) .qz-er{color:#c0473a}
.qz-card .car-load{background:none;padding:0;white-space:normal;overflow:visible;text-overflow:clip;font-weight:600}.qz-card .car-load *{white-space:normal}
/* «Сколько вопросов» — крупные одинаковые плитки на всю ширину (9 октября, хозяин: «почему викторина так сжата? сделай красиво»). */
.qz-card:has(.qz-n){width:100%;max-width:420px}
.qz-n{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.qz-n button{height:64px;border-radius:16px;border:1.5px solid rgba(201,111,74,.35);background:#fff;color:#2a211d;font:400 28px/1 'Forum',Georgia,serif;cursor:pointer;transition:transform .12s,background .12s}
.qz-n button:hover,.qz-n button:active{background:#c96f4a;color:#fff;border-color:#c96f4a;transform:translateY(-1px)}
html:not([data-theme="dark"]) .qz-n button{border-color:#EBD3E3;color:#6E4A6B}
html:not([data-theme="dark"]) .qz-n button:hover,html:not([data-theme="dark"]) .qz-n button:active{background:var(--wa);border-color:var(--wa);color:#fff}
html[data-theme="dark"] .qz-n button{background:#1D1728;border-color:#2A2139;color:#EEEAF2}
html[data-theme="dark"] .qz-n button:hover,html[data-theme="dark"] .qz-n button:active{background:#7857D9;border-color:#7857D9;color:#fff}
.qz-card:has(.qz-n) b{font-size:17px}
/* «Сколько вопросов» — крупные одинаковые плитки на всю ширину (9 октября, хозяин: «почему викторина так сжата? сделай красиво»). */
.qz-card.qz-ask{width:100%;max-width:420px;padding:16px}
.qz-ask b{font-size:17px}
.qz-n{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.qz-n button{height:64px;border-radius:16px;border:1.5px solid #EBD3E3;background:#fff;color:var(--wa-deep);font:400 30px/1 'Forum',Georgia,serif;cursor:pointer;transition:transform .12s,background .12s}
.qz-n button:hover,.qz-n button:active{background:var(--wa);border-color:var(--wa);color:#fff;transform:translateY(-1px)}
html[data-theme="dark"] .qz-n button{background:#1D1728;border-color:#2A2139;color:#EEEAF2}
html[data-theme="dark"] .qz-n button:hover,html[data-theme="dark"] .qz-n button:active{background:#7857D9;border-color:#7857D9;color:#fff}
html:not([data-theme="dark"]) .qz-card{background:var(--wa-soft);border-color:#EBD3E3}

/* Подсказки тем и подарок за 10 статей в редакторе (10 октября). Светлая — розовая, тёмная — оранжевая. */
#ln-ed .ed-temy{margin:2px 22px 10px;display:flex;flex-direction:column;gap:8px}
#ln-ed .ed-gift{font-size:13.5px;font-weight:600;color:var(--wa-deep);background:var(--wa-soft);border-radius:10px;padding:7px 11px}
#ln-ed .ed-gift b{margin-left:4px}
#ln-ed .ed-chips{display:flex;flex-wrap:wrap;gap:7px}
#ln-ed .ed-chips::-webkit-scrollbar{display:none}
#ln-ed .ed-chips button{flex:0 0 auto;border:1px solid var(--wa);background:transparent;color:var(--wa-deep);border-radius:999px;padding:7px 13px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap}
#ln-ed .ed-chips button.on,#ln-ed .ed-chips button:hover{background:var(--wa);color:#fff}
html[data-theme="dark"] #ln-ed .ed-gift{color:#B09BF0;background:rgba(120,87,217,.14)}
html[data-theme="dark"] #ln-ed .ed-chips button{border-color:rgba(136,106,224,.6);color:#B09BF0}
html[data-theme="dark"] #ln-ed .ed-chips button.on,html[data-theme="dark"] #ln-ed .ed-chips button:hover{background:#7857D9;color:#fff;border-color:#7857D9}


/* Ссылка на ролик YouTube под видео в ленте (10 октября). */
.ln-vlink{display:block;margin:6px 2px 0;font-size:12.5px;color:var(--ink-3);text-decoration:underline;text-underline-offset:2px;word-break:break-all}
.ln-vlink:hover{color:var(--wa-deep)}
html[data-theme="dark"] .ln-vlink:hover{color:#886AE0}

/* Правка новости хозяином (10 октября). Светлая — розовая, тёмная — оранжевая. */
#ln-ned{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center}
#ln-ned .ned-bg{position:absolute;inset:0;background:rgba(0,0,0,.55)}
#ln-ned .ned-box{position:relative;width:760px;max-width:calc(100vw - 24px);max-height:calc(100vh - 40px);overflow-y:auto;background:var(--bg);color:var(--ink-1);border-radius:18px;padding:20px 22px;display:flex;flex-direction:column;gap:6px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
#ln-ned b{font-size:17px;margin-bottom:6px}
#ln-ned label{font-size:12.5px;font-weight:700;color:var(--wa-deep);margin-top:8px}
#ln-ned input,#ln-ned textarea{width:100%;font:15px/1.45 'Inter',sans-serif;color:var(--ink-1);background:var(--bg-2,transparent);border:1px solid var(--line,#ddd);border-radius:10px;padding:9px 11px;resize:vertical}
#ln-ned .ned-row{display:flex;gap:10px;margin-top:12px}
#ln-ned .ned-row button{border:1px solid var(--wa);background:transparent;color:var(--wa-deep);border-radius:12px;padding:10px 18px;font-weight:700;cursor:pointer}
#ln-ned .ned-row .ned-ok{background:var(--wa);color:#fff}
html[data-theme="dark"] #ln-ned label{color:#B09BF0}
html[data-theme="dark"] #ln-ned input,html[data-theme="dark"] #ln-ned textarea{background:#17121F;border-color:#271F35;color:#EEEAF2}
html[data-theme="dark"] #ln-ned .ned-row button{border-color:rgba(136,106,224,.6);color:#B09BF0}
html[data-theme="dark"] #ln-ned .ned-row .ned-ok{background:#7857D9;border-color:#7857D9;color:#fff}

/* Окно «Сторис» в светлой теме — светлое (10 октября, слово хозяина). */
html:not([data-theme="dark"]) .ln-shs-b{background:#FFFFFF}
html:not([data-theme="dark"]) .ln-shs-pv{background:#F6ECF3}
html:not([data-theme="dark"]) .ln-shs-ln{background:#F6ECF3;color:#2A1F26}
html:not([data-theme="dark"]) .ln-shs-car{background:#FFFFFF;color:#8A4E7E}
html:not([data-theme="dark"]) .ln-shs-w{color:#C77DA8}
/* Кнопка «Открыть редактор» у викторины: в светлой теме — розовая, в тёмной — оранжевая (10 октября). */
html:not([data-theme="dark"]) .qz-row button:first-child{background:var(--wa);color:#fff}
html[data-theme="dark"] .qz-row button:first-child{background:#7857D9;color:#fff}
/* 10 октября, снимок хозяина: «почему при светлой теме кнопки тёмного цвета?» — --accent нигде не задан, брался запасной оранжевый.
   Светлая — розовая, тёмная — оранжевая. */
html:not([data-theme="dark"]) .sa-fix-b,html:not([data-theme="dark"]) .sa-fix-k .sa-fix-ok{background:var(--wa,#C77DA8)}
html[data-theme="dark"] .sa-fix-b,html[data-theme="dark"] .sa-fix-k .sa-fix-ok{background:#7857D9}
html:not([data-theme="dark"]) .ln-minb:hover{border-color:var(--wa,#C77DA8)}
html:not([data-theme="dark"]) .car-acts .car-net-a{color:var(--wa-deep,#8A4E7E)}
/* РЕАКЦИИ (10 октября, как в DTF). Светлая — розовая, тёмная — оранжевая. */
.ln-rx{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap}
.ln-rx-c,.ln-rx-add{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:999px;padding:5px 10px;font:600 13.5px Inter,system-ui,sans-serif;cursor:pointer;line-height:1;background:var(--wa-soft,#F6ECF3);color:var(--ink-1,#1d1a1c)}
.ln-rx-c b{font-weight:700}
.ln-rx-add{color:var(--ink-3,#8a7f86);font-size:16px;padding:4px 11px}
.ln-rx-c.on{background:transparent;box-shadow:inset 0 0 0 2px var(--wa,#C77DA8);color:var(--wa-deep,#8A4E7E)}
.ln-rx-more{font-size:12.5px;color:var(--ink-3,#8a7f86);font-weight:600}
.ln-vrx{padding:6px 0 14px}
.ln-vrx .ln-rx{flex-wrap:wrap;gap:8px}
.ln-vrx .ln-rx-c{padding:8px 13px;font-size:15px}
.ln-vrx .ln-rx-add{padding:7px 14px;font-size:18px}
html[data-theme="dark"] .ln-rx-c,html[data-theme="dark"] .ln-rx-add{background:#1C1626;color:#EEEAF2}
html[data-theme="dark"] .ln-rx-add{color:#B5A5C6}
html[data-theme="dark"] .ln-rx-c.on{background:transparent;box-shadow:inset 0 0 0 2px #7857D9;color:#886AE0}
#ln-rx-pick{position:fixed;z-index:2147483000;display:grid;grid-template-columns:repeat(8,40px);gap:2px;padding:8px;border-radius:16px;background:#fff;border:1px solid #efe4ea;box-shadow:0 12px 34px rgba(0,0,0,.18)}
#ln-rx-pick button{width:40px;height:40px;border:0;background:none;border-radius:10px;font-size:23px;cursor:pointer;line-height:1}
#ln-rx-pick button:hover{background:#F6ECF3}
html[data-theme="dark"] #ln-rx-pick{background:#14101B;border-color:#1F182A}
html[data-theme="dark"] #ln-rx-pick button:hover{background:#1C1626}
@media (max-width:380px){#ln-rx-pick{grid-template-columns:repeat(8,36px)}#ln-rx-pick button{width:36px;height:36px;font-size:21px}.ln-rx .ln-rx-c:nth-of-type(3){display:none}}
/* ♥ на комментариях (10 октября). */
.cm-a .cm-lk{font-weight:700}
.cm-a .cm-lk.on{color:var(--wa-deep,#8A4E7E)}
html[data-theme="dark"] .cm-a .cm-lk.on{color:#886AE0}
/* Фото в комментариях (10 октября). */
.cm-cam{width:40px;height:40px;flex:none;border:0;border-radius:50%;background:none;color:var(--ink-3,#8a7f86);cursor:pointer;display:flex;align-items:center;justify-content:center}
.cm-cam:hover{color:var(--wa-deep,#8A4E7E)}
html[data-theme="dark"] .cm-cam:hover{color:#886AE0}
.cm-ph{position:relative;display:inline-block;margin:0 0 8px 48px}
.cm-ph img{display:block;max-width:140px;max-height:110px;border-radius:12px}
.cm-ph button{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;border:0;background:#1d1a1c;color:#fff;font-size:15px;line-height:1;cursor:pointer}
.cm-img{display:block;max-width:min(260px,100%);max-height:320px;border-radius:12px;margin:6px 0 4px;cursor:zoom-in;object-fit:cover}
.cm-big{position:fixed;inset:0;z-index:2147483300;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;cursor:zoom-out}
.cm-big img{max-width:96vw;max-height:92vh;border-radius:8px}
/* @упоминания (10 октября). */
.cm-at{color:var(--wa-deep,#8A4E7E);font-weight:600}
html[data-theme="dark"] .cm-at{color:#886AE0}
#cm-mention{position:fixed;z-index:2147483250;display:flex;flex-direction:column;min-width:180px;max-width:280px;padding:6px;border-radius:14px;background:#fff;border:1px solid #efe4ea;box-shadow:0 10px 30px rgba(0,0,0,.18)}
#cm-mention button{text-align:left;border:0;background:none;padding:9px 12px;border-radius:10px;font:600 14.5px Inter,system-ui,sans-serif;color:#1d1a1c;cursor:pointer}
#cm-mention button:hover{background:#F6ECF3}
html[data-theme="dark"] #cm-mention{background:#14101B;border-color:#1F182A}
html[data-theme="dark"] #cm-mention button{color:#EEEAF2}
html[data-theme="dark"] #cm-mention button:hover{background:#1C1626}
/* «Свернуть в угол» (10 октября): цвета брались из несуществующих переменных — выходила чёрная плашка с невидимой надписью. */
html:not([data-theme="dark"]) .ln-minb{background:#fff;color:#1d1a1c;border-color:#efe4ea;box-shadow:0 4px 14px rgba(0,0,0,.12)}
html[data-theme="dark"] .ln-minb{background:#1C1626;color:#EEEAF2;border-color:#271F36}
/* Редактор викторины в светлой теме (10 октября, снимок хозяина: «почему викторина в светлой теме с кнопками тёмного цвета?»).
   Был наполовину: окно белое, а кнопки, рамки и подложки — оранжевые и бежевые из тёмной. Светлая — розовая. */
html:not([data-theme="dark"]) .qz-pub{background:var(--wa,#C77DA8)}
html:not([data-theme="dark"]) .qz-add,html:not([data-theme="dark"]) .qz-add2{color:var(--wa-deep,#8A4E7E);border-color:#e3c9d8}
html:not([data-theme="dark"]) .qz-q{background:#fbf6f9;border-color:#f0e2ea}
html:not([data-theme="dark"]) .qz-b input,html:not([data-theme="dark"]) .qz-b textarea{background:#fff;border-color:#ead9e3}
html:not([data-theme="dark"]) .qz-fin{background:var(--wa-soft,#F6ECF3);border-color:#e3c9d8}
html:not([data-theme="dark"]) .qz-ck input{accent-color:var(--wa,#C77DA8)}
html:not([data-theme="dark"]) .qz-nopic{background:#F6ECF3;color:#8A4E7E}
html:not([data-theme="dark"]) .qz-picb label,html:not([data-theme="dark"]) .qz-picb button{background:#F6ECF3;color:#5b3552}
html[data-theme="dark"] .qz-pub{background:#7857D9}
html[data-theme="dark"] .qz-add,html[data-theme="dark"] .qz-add2{color:#886AE0}
/* Стрелка в левом краю ленты, как в DTF (10 октября). Вся полоса — кнопка, стрелка внизу. */
#ln-jump{position:fixed;left:0;top:64px;bottom:0;width:calc((100vw - 1260px)/2 + 10px);z-index:970;border:0;background:transparent;color:var(--ink-3,#8a7f86);cursor:pointer;display:flex;align-items:flex-end;justify-content:flex-start;padding:0 0 18px 8px}
#ln-jump[hidden]{display:none}
#ln-jump .jb{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;transition:background .15s}
#ln-jump:hover{color:var(--ink-1,#1d1a1c)}
#ln-jump:hover .jb{background:rgba(127,127,127,.16)}
#ln-jump.dn svg{transform:rotate(180deg)}
html[data-theme="dark"] #ln-jump:hover .jb{background:rgba(255,255,255,.1)}
html[data-theme="dark"] #ln-jump:hover{color:#EEEAF2}
/* Приветствие редактора (10 октября) — розовое в светлой, оранжевое в тёмной. */
#ln-ed .ed-wel{border-radius:16px;padding:16px 18px;background:var(--wa-soft);border:1px solid rgba(199,125,168,.25)}
#ln-ed .ed-wel-h{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;color:var(--ink-1)}
#ln-ed .ed-wel-h img{width:26px;height:26px}
#ln-ed .ed-wel p{margin:8px 0 12px;color:var(--ink-2,#6b5c66);font-size:14px;line-height:1.5}
#ln-ed .ed-wel-s{display:flex;gap:8px}
#ln-ed .ed-wel-s>div{flex:1;border-radius:12px;padding:10px 11px;font-size:12.5px;line-height:1.35;background:var(--bg,#fff);border:1px solid rgba(199,125,168,.22);color:var(--ink-2,#6b5c66)}
#ln-ed .ed-wel-s i{font-style:normal;display:block;font-size:19px;margin-bottom:5px}
#ln-ed .ed-wel-s b{display:block;color:var(--ink-1);margin-bottom:2px;font-size:13px}
html[data-theme="dark"] #ln-ed .ed-wel{background:rgba(120,87,217,.10);border-color:rgba(136,106,224,.25)}
html[data-theme="dark"] #ln-ed .ed-wel-h img{filter:invert(1)}
html[data-theme="dark"] #ln-ed .ed-wel-s>div{background:#171220;border-color:rgba(136,106,224,.18);color:#B5A5C6}
html[data-theme="dark"] #ln-ed .ed-wel-h,html[data-theme="dark"] #ln-ed .ed-wel-s b{color:#EEEAF2}
html[data-theme="dark"] #ln-ed .ed-wel p{color:#B5A5C6}
@media (max-width:520px){#ln-ed .ed-wel-s{flex-direction:column;gap:6px}#ln-ed .ed-wel-s>div{display:block;padding:8px 11px}#ln-ed .ed-wel-s i{display:inline;font-size:15px;margin:0 6px 0 0}#ln-ed .ed-wel-s b{display:inline;margin:0 4px 0 0}#ln-ed .ed-wel-s b:after{content:":"}}
#ln-ed .ed-wel-pay{margin-top:10px;font-size:13.5px;line-height:1.45;color:var(--wa-deep,#8A4E7E);font-weight:600}
html[data-theme="dark"] #ln-ed .ed-wel-pay{color:#B09BF0}
/* Блоки редактора статьи: рамка — что двигаешь; ⠿ — потянуть (11 октября). Рамка розовая в светлой, оранжевая в тёмной (--wa). */
#ln-ed .ed-blk.ed-can{border-radius:10px;outline:1.5px solid transparent;outline-offset:4px;transition:outline-color .15s}
#ln-ed .ed-blk.ed-can:hover,#ln-ed .ed-blk.ed-can:focus-within{outline-color:var(--wa)}
#ln-ed .ed-grip{position:absolute;left:-30px;top:4px;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--ink-3);cursor:grab;
  display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity .15s;touch-action:none;z-index:2}
#ln-ed .ed-blk:hover .ed-grip,#ln-ed .ed-blk:focus-within .ed-grip{opacity:1}
#ln-ed .ed-grip:hover{color:var(--wa);background:var(--wa-soft)}
#ln-ed .ed-blk.ed-can .ed-plus{top:32px}
#ln-ed .ed-dragging{opacity:.35}
.ed-ghost{position:fixed;z-index:100001;pointer-events:none;opacity:.9;box-shadow:0 14px 34px rgba(0,0,0,.3);border-radius:10px;background:var(--bg);outline:2px solid var(--wa);margin:0}
.ed-ghost .ed-grip,.ed-ghost .ed-plus,.ed-ghost .ed-del{display:none}
.ed-ghost{max-height:150px;overflow:hidden;transform:scale(.92);transform-origin:left top}
.ed-ghost img{max-height:150px!important;height:150px!important;width:100%!important;object-fit:cover;object-position:center}
.ed-ghost .ed-img{width:100%!important}
.ed-ghost textarea{display:block;width:100%;border:0;background:transparent;resize:none;font:16px/1.6 Inter,system-ui,sans-serif;color:var(--ink-1);padding:6px 10px;overflow:hidden}
html[data-theme="dark"] .ed-ghost textarea{color:#EEEAF2}
#ln-ed .ed-drop{height:3px;border-radius:3px;background:var(--wa);margin:2px 0 8px}
#ln-ed .ed-moved{animation:edMoved .7s ease}
@keyframes edMoved{0%{box-shadow:0 0 0 2px var(--wa)}100%{box-shadow:0 0 0 2px transparent}}
@media (hover:none){#ln-ed .ed-grip{opacity:.6}}
html[data-theme="dark"] .ed-ghost{background:#14101B}
/* 11 октября, снимок хозяина: «Установить приложение» в тёмной теме — тёмные буквы на тёмном (правило тёмных букв для розовых
   кнопок задевало и эту, серую). Светлые буквы. */
html[data-theme="dark"] .cl-new.cl-new-2{background:#1A1423;color:#EEEAF2;border-color:#281F37}
/* «?» в шапке редактора и подсказка поверх окна (11 октября). */
#ln-ed .ed-box{position:relative}
#ln-ed .ed-help{font:700 16px/1 'Inter',sans-serif}
#ln-ed .ed-help + .ed-x{margin-left:8px}
#ed-help-ov{position:absolute;inset:0;z-index:20;background:rgba(0,0,0,.45);display:flex;align-items:flex-start;justify-content:center;padding:64px 14px 14px;overflow-y:auto;border-radius:inherit}
#ed-help-ov .ed-wel{position:relative;max-width:560px;width:100%;box-shadow:0 18px 44px rgba(0,0,0,.35);background:var(--bg);border-color:var(--line)}
#ed-help-ov .ed-wel-x{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;border:none;background:var(--panel);color:var(--ink-2);font-size:14px;cursor:pointer}
#ed-help-ov .ed-wel-h{padding-right:34px}
html[data-theme="dark"] #ed-help-ov .ed-wel{background:#14101B;border-color:rgba(136,106,224,.25)}
html[data-theme="dark"] #ed-help-ov .ed-wel-x{background:#1C1626;color:#B5A5C6}
#ed-help-ov .ed-gift-in{margin-top:12px;font-size:13.5px;font-weight:600;color:var(--wa-deep);background:var(--wa-soft);border-radius:10px;padding:8px 11px}
html[data-theme="dark"] #ed-help-ov .ed-gift-in{color:#B09BF0;background:rgba(120,87,217,.14)}
#ln-ed .ed-paid.ed-wait{display:none}
/* Беседа «Айыы ведёт за ручку» над полем Айыы (11 октября). Светлая — розовая, тёмная — оранжевая. */
#ln-ed #ed-conv{position:relative;max-height:42vh;overflow-y:auto;padding:6px 22px 8px;display:flex;flex-direction:column;gap:8px}
#ln-ed .edc-me{align-self:flex-end;max-width:85%;background:var(--panel);border:1px solid var(--line);border-radius:16px 16px 4px 16px;padding:8px 12px;font-size:14.5px;line-height:1.45;white-space:pre-wrap}
#ln-ed .edc-ai{display:flex;gap:8px;align-items:flex-start;max-width:92%}
#ln-ed .edc-ai img{width:24px;height:24px;flex:none;margin-top:3px}
#ln-ed .edc-b{background:var(--wa-soft);border-radius:4px 16px 16px 16px;padding:9px 12px;font-size:14.5px;line-height:1.5;white-space:pre-wrap}
#ln-ed .edc-after{margin-top:8px}
#ln-ed .edc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
#ln-ed .edc-chips button{border:1px solid var(--wa);background:transparent;color:var(--wa-deep);border-radius:999px;padding:6px 11px;font:600 13px 'Inter',sans-serif;cursor:pointer;text-align:left}
#ln-ed .edc-chips button:hover{background:var(--wa);color:#fff}
#ln-ed .edc-go{display:block;margin-top:9px;border:0;background:var(--wa);color:#fff;border-radius:10px;padding:9px 13px;font:700 13.5px 'Inter',sans-serif;cursor:pointer}
#ln-ed .edc-x{position:sticky;top:0;z-index:1;align-self:flex-end;flex:none;width:26px;height:26px;border-radius:50%;border:none;background:var(--panel);color:var(--ink-3);cursor:pointer;font-size:12px;order:-1}
#ln-ed .edc-wait{display:flex;gap:4px;padding:12px 14px}
#ln-ed .edc-wait i{width:6px;height:6px;border-radius:50%;background:var(--wa);opacity:.4;animation:edcDot 1s infinite}
#ln-ed .edc-wait i:nth-child(2){animation-delay:.2s}#ln-ed .edc-wait i:nth-child(3){animation-delay:.4s}
@keyframes edcDot{50%{opacity:1}}
html[data-theme="dark"] #ln-ed .edc-ai img{filter:invert(1) brightness(1.6)}
html[data-theme="dark"] #ln-ed .edc-b{background:rgba(120,87,217,.14);color:#EEEAF2}
html[data-theme="dark"] #ln-ed .edc-me{background:#191422;border-color:#221B2E;color:#EEEAF2}
html[data-theme="dark"] #ln-ed .edc-chips button{border-color:rgba(136,106,224,.7);color:#B09BF0}
html[data-theme="dark"] #ln-ed .edc-chips button:hover{background:#7857D9;color:#fff}
html[data-theme="dark"] #ln-ed .edc-go{background:#7857D9}
html[data-theme="dark"] #ln-ed .edc-x{background:#1C1626;color:#B5A5C6}

/* Плюс за 399 ₽ первый месяц (11 октября). Цвет — акцент темы: розовый в светлой, оранжевый в тёмной. */
.plan-promo{position:relative;border:2px solid var(--wa);border-radius:16px;padding:16px 14px 14px;margin:14px 0 12px;background:var(--wa-soft);}
.plan-promo-b{position:absolute;top:-11px;left:14px;background:var(--wa);color:#fff;font-weight:700;font-size:11px;padding:4px 9px;border-radius:999px;}
.plan-promo-n{font-weight:700;font-size:17px;}
.plan-promo-p{margin:6px 0 2px;font-size:26px;font-weight:800;}
.plan-promo-p s{font-size:15px;opacity:.55;font-weight:600;margin-left:8px;}
.plan-promo-s{font-size:12.5px;opacity:.7;}
.plan-promo ul{margin:10px 0 12px;padding-left:18px;font-size:13.5px;line-height:1.5;}
.plan-promo .plan-promo-go{display:block;width:100%;box-sizing:border-box;background:var(--wa);color:#fff;border:0;border-radius:12px;padding:12px;font-weight:700;font-size:14.5px;cursor:pointer;}

/* Пульт клипа в шапке ленты (11 октября): капсула с полоской времени. Занимает всё место
   между «Саха Сирэ» и глобусом — слово хозяина: «узкая, там же дофига пространства». */
.lnd-pl{display:flex;align-items:center;justify-content:center;min-width:0;flex:1;margin:0 28px}
.lnd-pl:empty{display:none}
.lnd-sp:has(+ .lnd-pl:not(:empty)){display:none}
.lnd-cap{position:relative;display:flex;align-items:center;gap:12px;width:100%;max-width:680px;border:1px solid var(--line,rgba(0,0,0,.1));background:var(--wa-soft);border-radius:999px;padding:5px 12px 7px 5px;min-width:0;overflow:hidden;box-sizing:border-box}
.lnd-cv{width:38px;height:38px;border-radius:50%;border:0;flex:none;cursor:pointer;background:linear-gradient(135deg,var(--wa),var(--wa-deep,#8A4E7E)) center/cover}
.lnd-tx{flex:1;border:0;background:none;cursor:pointer;text-align:left;min-width:0;padding:0;line-height:1.2;color:var(--ink-1)}
.lnd-tx b{display:block;font:600 14px/1.25 'Inter',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lnd-tx em{display:block;font:400 12px/1.25 'Inter',sans-serif;font-style:normal;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lnd-tm{flex:none;font:500 12px/1 'Inter',sans-serif;color:var(--ink-3);font-variant-numeric:tabular-nums;order:3}
.lnd-tm:empty{display:none}
.lnd-bt{display:flex;flex:none;gap:2px;order:4}
.lnd-bt button{width:34px;height:34px;border:0;background:none;border-radius:50%;cursor:pointer;color:var(--ink-1);display:flex;align-items:center;justify-content:center}
.lnd-bt button:hover{background:rgba(127,127,127,.15)}
.lnd-bt .lnd-pp{color:var(--wa)}
.lnd-sk{position:absolute;left:22px;right:22px;bottom:0;height:10px;cursor:pointer;display:flex;align-items:flex-end;padding-bottom:1px;box-sizing:border-box}
.lnd-pr{position:relative;display:block;width:100%;height:3px;background:rgba(127,127,127,.25);border-radius:3px;overflow:hidden;transition:height .15s}
.lnd-sk:hover .lnd-pr{height:5px}
.lnd-pr i{display:block;height:100%;width:0;background:var(--wa)}

/* Подсказка про музыку ВК в окне «Добавить песню» (11 октября). */
.fm-hint{margin:-2px 0 2px;padding:10px 12px;border-radius:12px;background:var(--wa-soft);color:var(--ink-1);font-size:13px;line-height:1.4;border:1px solid var(--wa)}
.fm-hint[hidden]{display:none}

/* Карточка «Айыы Плюс 399 ₽» в правой колонке ленты (11 октября). */
.lnd-plus{border:1.5px solid var(--wa);margin-bottom:14px;display:flex;flex-direction:column;gap:8px}
.lnd-plus img{width:100%;border-radius:10px;display:block;cursor:pointer;aspect-ratio:16/9;object-fit:cover}
.lnd-plus>b{margin:4px 0 0!important;font-size:16px!important}
.lnd-plus>b s{opacity:.5;font-weight:500;font-size:13px;margin-left:4px}
.lnd-plus>span{font-size:13px;line-height:1.45;color:var(--ink-2,var(--ink-3))}
.lnd-plus-go{border:0;border-radius:999px;background:var(--wa);color:#fff;font:600 14px/1 'Inter',sans-serif;padding:11px 14px;cursor:pointer;margin-top:2px}
.lnd-plus-go:hover{filter:brightness(1.07)}

.ln-plus-feed{margin:4px 16px 18px;background:var(--bg)}

/* 11 октября: на компьютере у открытой статьи пустая полоска «назад» внизу выглядела чёрной точкой — прячем (назад — стрелкой в шапке). */
#ln-view.ln-view-pk .ln-top:not(:has(.ln-f)){display:none!important}
/* 11 октября: прятать всю полоску было ошибкой — в ней кнопки ✎ Править, 📌 и 🗑. Прячем только пустую. */

/* 11 октября: крестик хозяина на обложке фильма — убрать из кино. */
.fm-ti{position:relative}.fm-del{position:absolute;top:6px;right:6px;z-index:2;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-size:14px;line-height:26px;text-align:center;cursor:pointer}.fm-del:hover{background:#c0392b}

/* 11 октября: строка выбора языка над лентой при первом входе. Светлая тема — розовый, тёмная — оранжевый (через --wa). */
.ln-langq{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;border:1.5px solid var(--wa);border-radius:14px;font-weight:600}
.ln-langq div{display:flex;gap:8px}
.ln-langq button{padding:8px 16px;border-radius:999px;border:1.5px solid var(--wa);background:none;color:inherit;font:inherit;font-weight:700;cursor:pointer}
.ln-langq button.on{background:var(--wa);color:#fff}

/* 11 октября, снимки хозяина «в чём неровность?»: закрытые выдвижные меню (кэпсэтиилэр, панель) стоят сразу за левым краем,
   и их тень заходила на экран тёмной полосой по всей высоте. Тень — только у открытого. */
.chatlist:not(.on), .panel:not(.on){box-shadow:none!important}

/* 11 октября: «Как тебя подписать?» перед публикацией статьи. */
.ed-who{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.ed-who-b{width:100%;max-width:380px;background:var(--bg,#fff);color:var(--ink,#1d1a1f);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px}
.ed-who-b b{font-size:18px}
.ed-who-b input{padding:12px 14px;border-radius:12px;border:1.5px solid var(--line,#ddd);background:transparent;color:inherit;font:inherit;font-size:16px}
.ed-who-k{display:flex;gap:10px;justify-content:flex-end}
.ed-who-k button{padding:10px 18px;border-radius:999px;border:1.5px solid var(--wa);background:none;color:inherit;font:inherit;font-weight:700;cursor:pointer}
.ed-who-k .ed-who-ok{background:var(--wa);color:#fff}

/* 12 октября, снимок хозяина: «приятно так себя видеть в новостях? — исправь, чтобы лицо было видно». Портретное фото в карточке
   больше не режется по центру (оставался лоб): показываем его целиком, а по бокам — то же фото, размытое. */
.ln-tallw{position:relative;width:100%;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--panel)}
.lnd-on .ln-tallw{aspect-ratio:16/9}
.ln-tallw::before{content:'';position:absolute;inset:-30px;background:var(--u) center/cover;filter:blur(28px) brightness(.9);transform:scale(1.1)}
.ln-tallw > img.ln-img{position:relative;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;background:none;border-radius:0}

/* Поиск в шапке ленты на ПК (12 октября): поле между улусом и глобусом; играет клип — сжимается в лупу. */
.lnd-sr2{position:relative;display:flex;align-items:center;gap:8px;flex:0 1 380px;min-width:0;margin:0 18px;padding:0 12px;height:40px;border:1.5px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink-3);cursor:text}
.lnd-sr2 svg{flex:none}
.lnd-sr2 input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--ink-1);font:15px 'Inter',sans-serif;padding:0}
.lnd-sr2:focus-within{border-color:var(--accent,#C77DA8)}
.lnd-hi:has(.lnd-pl:not(:empty)) .lnd-sr2{flex:0 0 40px;width:40px;padding:0;justify-content:center;margin:0 6px;border-color:transparent;background:none;cursor:pointer}
.lnd-hi:has(.lnd-pl:not(:empty)) .lnd-sr2 input{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:320px;height:42px;padding:0 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 8px 24px rgba(0,0,0,.12);display:none;z-index:30}
.lnd-hi:has(.lnd-pl:not(:empty)) .lnd-sr2.open input,.lnd-hi:has(.lnd-pl:not(:empty)) .lnd-sr2.has input{display:block}
.lnd-hi .lnd-sp:has(~ .lnd-pl:not(:empty)){display:none}

/* 12 октября: в шапке — список найденного, как у «Спроси Айыы». */
.lnd-sr2 .lnd-dd{position:absolute;left:0;right:0;top:calc(100% + 6px);min-width:340px;cursor:default;text-align:left}
.lnd-hi:has(.lnd-pl:not(:empty)) .lnd-sr2 .lnd-dd{left:50%;right:auto;width:360px;transform:translateX(-50%);top:calc(100% + 58px)}

/* Тизер для Инстаграма под своей платной статьёй (12 октября). */
.ln-teaser{display:inline-flex;align-items:center;gap:6px;margin:6px 0 2px 8px;padding:4px 12px;border-radius:999px;border:1.5px solid var(--wa,#C77DA8);background:none;color:var(--wa,#C77DA8);font:600 13px 'Inter',sans-serif;cursor:pointer}
.ln-teaser:hover{background:var(--wa,#C77DA8);color:#fff}

/* «Заработать на истории» в редакторе статьи (12 октября). */
.ed-earn{margin:0 0 12px;padding:12px 14px;border-radius:14px;background:rgba(199,125,168,.12);border:1px solid rgba(199,125,168,.35);font-size:13.5px;line-height:1.45}
.ed-earn b{display:block;font-size:15px;margin-bottom:4px}
.ed-earn ol{margin:0;padding-left:18px}.ed-earn li{margin:3px 0}

/* Афиша «Мероприятий» — целиком (13 октября). */
.ln-img.ln-afisha{aspect-ratio:auto;height:auto;max-height:80vh;object-fit:contain}

/* 13 октября, слово хозяина: фото новостей — целиком, без обрезки под 16:9 (знак — в углу самого фото). */
.ln-wm{display:block}.ln-wm .ln-img{aspect-ratio:auto;height:auto;max-height:80vh;object-fit:contain}

/* Без второго человека (13 октября) — тёмная тема оранжевая, светлая розовая */
.sob{background:var(--card,#fff);border:1px solid var(--line,#eee);border-radius:20px;padding:18px;margin-bottom:18px}
.sob-l{color:var(--mut,#8a7f86);font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.sob-n{font-size:64px;font-weight:800;line-height:1;margin:6px 0 2px;letter-spacing:-.03em}
.sob-n small{font-size:22px;font-weight:700;color:var(--mut,#8a7f86);margin-left:6px}
.sob-club{display:inline-flex;align-items:center;gap:6px;background:rgba(200,120,160,.14);color:#B0507F;padding:6px 12px;border-radius:999px;font-weight:700;font-size:14px;margin-top:8px}
.sob-bar{height:10px;border-radius:99px;background:rgba(128,128,128,.18);margin:16px 0 8px;overflow:hidden}
.sob-bar i{display:block;height:100%;background:linear-gradient(90deg,#C77DA3,#E8A6C6);border-radius:99px}
.sob-row{display:flex;justify-content:space-between;color:var(--mut,#8a7f86);font-size:12.5px;gap:8px}
.sob-next{margin-top:10px;font-size:14.5px}
.sob-mini{display:flex;gap:8px;margin-top:14px}
.sob-mini div{flex:1;border:1px solid var(--line,#eee);border-radius:14px;padding:10px;min-width:0}
.sob-mini b{display:block;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sob-mini span{color:var(--mut,#8a7f86);font-size:12px}
.sob-btn{display:flex;gap:8px;margin-top:12px}
.sob-btn button,.sob-box button{flex:1;padding:12px;border-radius:14px;font:700 14.5px Inter,system-ui,sans-serif;cursor:pointer;border:0}
.sob .p,.sob-box .p{background:#C77DA3;color:#fff}
.sob-box .g{background:transparent;border:1px solid var(--line,#ddd);color:var(--mut,#8a7f86);margin-top:8px}
.sob-lock{color:var(--mut,#8a7f86);font-size:12px;margin-top:10px;text-align:center}
.sob-sheet{position:fixed;inset:0;z-index:99990}
.sob-dim{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.sob-box{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(520px,100%);background:var(--bg,#fff);color:var(--ink,#111);border-radius:22px 22px 0 0;padding:22px 20px calc(24px + env(safe-area-inset-bottom,0));display:flex;flex-direction:column}
.sob-box h3{margin:0 0 6px;font-size:19px}.sob-box p{color:var(--mut,#8a7f86);margin:0 0 14px;font-size:14px}
.sob-box input{font:16px Inter,system-ui,sans-serif;padding:12px;border-radius:12px;border:1px solid var(--line,#ddd);background:transparent;color:inherit;margin-bottom:12px}
html[data-theme="dark"] .sob{background:#191423;border-color:#282037}
html[data-theme="dark"] .sob-club{background:rgba(126,95,217,.15);color:#9B7FF0}
html[data-theme="dark"] .sob-bar i{background:linear-gradient(90deg,#7E5FD9,#9B7FF0)}
html[data-theme="dark"] .sob .p,html[data-theme="dark"] .sob-box .p{background:#7E5FD9}
html[data-theme="dark"] .sob-mini div{border-color:#282037}
html[data-theme="dark"] .sob-box{background:#17121F;color:#E8E3ED}

.sob-tg{display:block;width:100%;margin-top:12px;background:transparent;border:1px dashed var(--line,#ddd);border-radius:12px;padding:10px;color:var(--mut,#8a7f86);font:600 14px Inter,system-ui,sans-serif;cursor:pointer}
.sbt{position:relative;margin-top:16px;padding-left:30px}
.sbt:before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:3px;border-radius:2px;background:linear-gradient(rgba(128,128,128,.3),#C77DA3 40%)}
.sbt-ev{position:relative;margin:0 0 16px}
.sbt-ev i{position:absolute;left:-27px;top:3px;width:15px;height:15px;border-radius:50%;background:#C77DA3;border:3px solid var(--card,#fff);box-shadow:0 0 0 2px #C77DA3}
.sbt-ev.f i{background:var(--card,#fff);box-shadow:0 0 0 2px rgba(128,128,128,.45)}
.sbt-ev.f .sbt-t{color:var(--mut,#8a7f86)}
.sbt-ev.now i{width:19px;height:19px;left:-29px;top:1px;background:#E8A6C6;box-shadow:0 0 0 4px rgba(200,120,160,.25)}
.sbt-ev.past i{background:#9a8a92;box-shadow:0 0 0 2px #9a8a92}
.sbt-d{color:var(--mut,#8a7f86);font-size:12.5px}
.sbt-t{font-weight:700;font-size:15px}
.sbt-s{color:var(--mut,#8a7f86);font-size:13px}
.sbt-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:rgba(200,120,160,.14);color:#B0507F;margin-left:6px;vertical-align:1px}
html[data-theme="dark"] .sob-tg{border-color:#282037}
html[data-theme="dark"] .sbt:before{background:linear-gradient(#282037,#7E5FD9 40%)}
html[data-theme="dark"] .sbt-ev i{background:#7E5FD9;border-color:#191423;box-shadow:0 0 0 2px #7E5FD9}
html[data-theme="dark"] .sbt-ev.f i{background:#191423;box-shadow:0 0 0 2px #3C2F52}
html[data-theme="dark"] .sbt-ev.now i{background:#9B7FF0;box-shadow:0 0 0 4px rgba(155,127,240,.25)}
html[data-theme="dark"] .sbt-ev.past i{background:#5B5268;box-shadow:0 0 0 2px #5B5268}
html[data-theme="dark"] .sbt-tag{background:rgba(126,95,217,.15);color:#9B7FF0}

.sob .g{background:transparent;border:1px solid var(--line,#ddd);color:var(--mut,#8a7f86)}
html[data-theme="dark"] .sob .g{border-color:#282037}
.sob-box textarea{font:15px Inter,system-ui,sans-serif;padding:12px;border-radius:12px;border:1px solid var(--line,#ddd);background:transparent;color:inherit;margin-bottom:12px;resize:none}

.sob-cel{position:fixed;inset:0;z-index:99995;background:radial-gradient(120% 70% at 50% 30%,#4a2a1e 0,#1b1b1a 62%);color:#ECEAE4;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sob-cel-in{position:relative;text-align:center;padding:24px;max-width:420px;width:100%}
.sob-medal{width:160px;height:160px;margin:0 auto;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffd2b8,#D9805F 55%,#8a4a33);display:flex;align-items:center;justify-content:center;font:900 52px Inter,system-ui,sans-serif;color:#fff;box-shadow:0 0 60px rgba(240,162,127,.45);animation:sobPop .7s cubic-bezier(.2,1.6,.4,1)}
.sob-cel h2{font-family:Georgia,serif;font-weight:400;font-size:30px;margin:26px 0 8px}
.sob-cel p{color:#cfc8bd;margin:6px 0}
.sob-q{margin:24px 0 26px;font-style:italic;color:#e8dfd2;border-top:1px solid #4a3d36;padding-top:16px}
.sob-cel button{width:100%;padding:14px;border-radius:14px;border:0;background:#D9805F;color:#fff;font:700 15px Inter,system-ui,sans-serif;cursor:pointer}
.sob-conf i{position:absolute;top:-20px;width:8px;height:14px;border-radius:2px;animation:sobFall 3.2s linear forwards}
@keyframes sobFall{to{transform:translateY(110vh) rotate(540deg)}}
@keyframes sobPop{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}

/* 13 октября, слово хозяина: «впритык стоит — некрасиво». Воздух сверху и внутри. */
#ml-sober{padding-top:12px}
.sob{padding:22px 22px 18px;margin-bottom:22px}
.sob-n{margin-top:2px}

/* Вторая ступень в редакторе (13 октября) */
.ed-ask span{display:flex;align-items:center;gap:8px}.ed-ask-r{margin-top:6px}.ed-ask-r input{width:90px}
/* 13 октября, слово хозяина: в тёмной теме рамка поиска при нажатии — оранжевая, не розовая. */
html[data-theme="dark"] .lnd-sr2:focus-within,html[data-theme="dark"] .lnd-hi:has(.lnd-pl:not(:empty)) .lnd-sr2 input:focus{border-color:#7E5FD9}

/* Меню фото-кодов (13 октября) */
.fk-menu{position:absolute;left:8px;right:8px;bottom:calc(100% + 8px);z-index:60;background:var(--panel,#fff);border:1px solid var(--line,#e5e5e5);border-radius:16px;box-shadow:0 12px 36px rgba(0,0,0,.18);padding:8px;max-height:320px;overflow:auto}
.fk-h{font-size:12.5px;color:var(--ink-3,#888);padding:4px 8px 6px;font-weight:600}
.fk-menu button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;background:none;border:0;border-radius:12px;padding:9px 10px;cursor:pointer;color:var(--ink-1,#111);font:inherit}
.fk-menu button:hover{background:rgba(200,120,160,.1)}
.fk-menu b{font-size:15px}.fk-menu span{font-size:13px;color:var(--ink-3,#888)}
html[data-theme="dark"] .fk-menu{background:#191423;border-color:#282037}
html[data-theme="dark"] .fk-menu button:hover{background:rgba(126,95,217,.12)}
html[data-theme="dark"] .fk-menu b{color:#9B7FF0}

/* QR викторины (13 октября): карточка готовой викторины */
.qz-card.qz-done{width:100%;max-width:520px;padding:16px;border-radius:20px}
.qz-top{display:flex;gap:16px;align-items:center;margin-bottom:14px}
.qz-qr{flex:none;background:#fff;border-radius:14px;padding:8px;line-height:0;cursor:zoom-in;box-shadow:0 6px 18px rgba(0,0,0,.18);transition:transform .15s}
.qz-qr:hover{transform:scale(1.03)}
.qz-qr svg{display:block;width:128px;height:128px}
.qz-info{display:flex;flex-direction:column;gap:6px;min-width:0}
.qz-kind{font-size:11.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#D9805F}
.qz-done .qz-ttl{font:400 22px/1.2 Forum,Georgia,serif}
.qz-link{align-self:flex-start;font-size:13.5px;font-weight:700;color:inherit;text-decoration:none;background:rgba(127,127,127,.16);padding:5px 10px;border-radius:999px;word-break:break-all}
.qz-hint{font-size:12.5px;opacity:.7;line-height:1.35}
.qz-done .qz-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qz-done .qz-row button{padding:11px 10px;font-size:14px}
html:not([data-theme="dark"]) .qz-kind{color:#B0588F}
.qz-qr-big{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;cursor:zoom-out}
.qz-qr-big>div{background:#fff;border-radius:24px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:12px}
.qz-qr-big b{font:700 22px Inter,system-ui,sans-serif;color:#111}
/* 13 октября, снимок хозяина: окно браузера на полэкрана (~760–1100 px) — ответы Айыы шли от края до края,
   а поле ввода стояло колонкой 720 px посередине (у ГигаЧата — ровной колонкой). Сообщения — в ту же колонку. */
@media (min-width:741px) and (max-width:1099px){
  #chat-scroll > *{max-width:720px;margin-left:auto !important;margin-right:auto !important;box-sizing:border-box}
}

/* Доска объявлений в чате (14 октября). */
.dk-wait{margin:6px 0;color:var(--ink-3);font:500 14.5px Inter,system-ui,sans-serif}
.dk-sh{background:linear-gradient(90deg,var(--ink-3) 0%,var(--ink-1) 45%,var(--ink-3) 90%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:dkSh 1.6s linear infinite}
@keyframes dkSh{from{background-position:200% 0}to{background-position:0 0}}
.dk{margin:6px 0;max-width:380px}
.dk,.dk *{font-family:Inter,system-ui,sans-serif}
.dk-c{border-radius:20px;overflow:hidden;background:var(--panel);box-shadow:0 1px 0 var(--line) inset}
.dk-i{position:relative;aspect-ratio:4/3;background:var(--line) center/cover no-repeat}
.dk-i i{position:absolute;right:10px;top:10px;font:600 12px Inter,sans-serif;font-style:normal;background:rgba(0,0,0,.55);color:#fff;border-radius:8px;padding:3px 8px}
.dk-b{padding:14px 16px 16px}
.dk-pr{font:800 22px/1.2 Inter,system-ui,sans-serif;color:var(--ink-1);letter-spacing:-.2px}
.dk-t{font:500 16px/1.35 Inter,system-ui,sans-serif;color:var(--ink-1);margin-top:4px}
.dk-m,.dk-tel{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-3);margin-top:8px}
.dk-m svg,.dk-tel svg{flex:none}
.dk-d{font-size:14px;color:var(--ink-2);margin-top:8px;line-height:1.45}
.dk-row{display:grid;grid-template-columns:1.35fr 1fr;gap:8px;margin-top:10px}
.dk-btn{height:46px;display:flex;align-items:center;justify-content:center;border-radius:14px;border:0;background:var(--wa);color:#fff;font:700 14.5px Inter,system-ui,sans-serif;text-decoration:none!important;cursor:pointer;white-space:nowrap;padding:0 10px}
.dk-btn.g{background:transparent;color:var(--ink-1)!important;box-shadow:inset 0 0 0 1.5px var(--line)}
a.dk-btn:not(.g){color:#fff!important}
.dk-btn[disabled]{opacity:.6}
.dk-all{width:100%;margin-top:8px}

/* Объявления — свой экран ленты (14 октября) */
.dkb{padding:10px 14px 30px}
.dkb-top{display:flex;align-items:center;gap:10px;margin:4px 0 12px}
.dkb-ul{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink-1);border-radius:99px;padding:8px 14px;font:600 14px 'Inter',sans-serif;cursor:pointer;min-width:0;max-width:62%}
.dkb-ul span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dkb-add{margin-left:auto;border:0;background:var(--wa);color:#fff;border-radius:99px;padding:9px 16px;font:700 14px 'Inter',sans-serif;cursor:pointer;white-space:nowrap}
.dkb-ch{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -14px 14px;padding:0 14px}
.dkb-ch::-webkit-scrollbar{display:none}
.dkb-ch button{flex:none;border:0;background:var(--panel);color:var(--ink-2);border-radius:99px;padding:7px 14px;font:600 13.5px 'Inter',sans-serif;cursor:pointer}
.dkb-ch button.on{background:var(--ink-1);color:var(--bg)}
.dkb-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:900px){.dkb-g{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
.dkb-c{background:var(--panel);border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .15s}
.dkb-c:hover{transform:translateY(-2px)}
.dkb-i{position:relative;aspect-ratio:1;background:var(--line) center/cover no-repeat;display:flex;align-items:center;justify-content:center}
.dkb-i>span{font-size:44px;opacity:.7}
.dkb-i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dkb-i i{position:absolute;left:8px;top:8px;font:600 11px 'Inter',sans-serif;font-style:normal;background:rgba(0,0,0,.55);color:#fff;border-radius:7px;padding:3px 7px;backdrop-filter:blur(4px)}
.dkb-t{padding:10px 12px 12px}
.dkb-t b{display:block;font-size:17px;font-weight:800;color:var(--ink-1)}
.dkb-n{font-size:14px;line-height:1.35;color:var(--ink-1);margin:3px 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dkb-m{font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dkb-empty{text-align:center;padding:50px 20px}.dkb-empty b{font-size:19px}.dkb-empty p{color:var(--ink-3);margin:8px 0 18px}.dkb-empty .dkb-add{margin:0 auto}
/* Длинная подсказка (14 октября: доска объявлений) — переносом строк, а не обрезкой за краем экрана. */
.toast{white-space:normal!important;max-width:88%;line-height:1.35}

/* Карта объявлений (14 октября) */
.dkb-vw{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink-1);border-radius:99px;padding:8px 14px;font:600 14px 'Inter',sans-serif;cursor:pointer;margin-left:auto}
.dkb-vw + .dkb-add{margin-left:0}
.dkb-map{height:calc(100vh - 260px);min-height:420px;border-radius:18px;overflow:hidden;background:var(--panel);position:relative;z-index:0}
.dkb-mn{text-align:center;color:var(--ink-3);font-size:14px;margin-top:10px}
.dkb-pin{background:none;border:0}
.dkb-pin span{display:inline-block;transform:translate(-50%,-50%);white-space:nowrap;background:var(--wa);color:#fff;font:800 13px 'Inter',sans-serif;padding:5px 10px;border-radius:99px;box-shadow:0 3px 10px rgba(0,0,0,.3);border:2px solid #fff;cursor:pointer}
@media (max-width:520px){.dkb-vw span{display:none}.dkb-vw{padding:9px 11px}}

.dkb-re span{background:#2F6FEB}.dkb-re.tg span{background:#6B4FD8}


.dkb-tl-dark{filter:invert(1) hue-rotate(180deg) brightness(.9) contrast(.9) saturate(.6)}

/* Раздел «Карта» (14 октября) */
.krt-b{display:flex;gap:4px;margin-left:auto;background:var(--panel);border-radius:99px;padding:4px}
.krt-b button{border:0;background:none;color:var(--ink-2);font:600 13px 'Inter',sans-serif;padding:7px 11px;border-radius:99px;cursor:pointer}
.krt-b button.on{background:var(--bg);color:var(--ink-1);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.krt-map{height:calc(100vh - 230px);min-height:460px}
.krt-lb{background:none;border:0}
.krt-lb span{display:inline-block;transform:translate(-50%,6px);white-space:nowrap;font:700 11.5px 'Inter',sans-serif;color:#1d1d1b;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 2px #fff;pointer-events:none}
@media (max-width:520px){.krt .dkb-top{flex-wrap:wrap}.krt-b{margin-left:0}}

.krt-gps{width:34px;height:34px;border:2px solid rgba(0,0,0,.2);border-radius:4px;background:#fff;color:#333;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;background-clip:padding-box}
.krt-gps.on{color:#2F80ED}
.krt-me{background:none;border:0}
.krt-me i{display:block;width:16px;height:16px;margin:3px;border-radius:50%;background:#2F80ED;border:3px solid #fff;box-shadow:0 0 0 2px rgba(47,128,237,.35),0 2px 6px rgba(0,0,0,.35);animation:krtMe 2s ease-out infinite}
@keyframes krtMe{0%{box-shadow:0 0 0 0 rgba(47,128,237,.5),0 2px 6px rgba(0,0,0,.35)}70%{box-shadow:0 0 0 14px rgba(47,128,237,0),0 2px 6px rgba(0,0,0,.35)}100%{box-shadow:0 0 0 0 rgba(47,128,237,0),0 2px 6px rgba(0,0,0,.35)}}

.krt-ns{background:var(--panel)!important;color:var(--ink-1)!important;border:1.5px dashed var(--line)!important}
.krt-r{display:flex;align-items:center;gap:8px;padding:6px 4px;border-bottom:1px solid var(--line)}
.krt-r label{flex:1;display:flex;align-items:center;gap:10px;cursor:pointer;font:500 15px 'Inter',sans-serif;color:var(--ink-1)}
.krt-r input{width:18px;height:18px;accent-color:var(--wa)}
.krt-r i{width:12px;height:12px;border-radius:50%;flex:none}
.krt-r span{flex:1}.krt-r b{font:600 12px 'Inter',sans-serif;color:var(--ink-3)}
.krt-r button{border:0;background:var(--panel);color:var(--ink-2);border-radius:99px;padding:5px 10px;font:600 12px 'Inter',sans-serif;cursor:pointer}
.krt-all{display:flex;gap:8px;margin:0 0 8px}.krt-all button{flex:1;border:1.5px solid var(--line);background:none;color:var(--ink-1);border-radius:12px;padding:8px;font:600 13px 'Inter',sans-serif;cursor:pointer}

.krt-h{margin:0 0 10px}.krt-h b{display:block;font:800 19px 'Inter',sans-serif;color:var(--ink-1)}.krt-h span{font-size:13.5px;color:var(--ink-3)}

.krt-p{font-size:14px;color:var(--ink-2);margin:4px 2px 12px;line-height:1.45}

.krt-new{background:var(--wa)!important;color:#fff!important;border:0!important}
.krt-draw{background:var(--panel);border-radius:16px;padding:12px 14px;margin:0 0 10px}
.krt-draw b{display:block;font:800 20px 'Inter',sans-serif;color:var(--ink-1)}.krt-draw span{font-size:13px;color:var(--ink-3)}
.krt-drb{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.krt-drb button{flex:1;border:1.5px solid var(--line);background:var(--bg);color:var(--ink-1);border-radius:12px;padding:10px;font:700 13.5px 'Inter',sans-serif;cursor:pointer;white-space:nowrap}
.krt-drb button.on{background:var(--wa);border-color:var(--wa);color:#fff}
.krt-wa{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;background:#25D366;color:#fff!important;border-radius:14px;padding:13px;font:800 15px 'Inter',sans-serif;text-decoration:none}
.krt-wa-ch{background:#25D366!important;color:#fff!important;border:0!important}
.krt-sr{cursor:pointer}.krt-sr input{accent-color:#25D366}
.krt-sr{gap:10px;font:500 15px 'Inter',sans-serif;color:var(--ink-1);padding:9px 4px}.krt-sr span{flex:1}

.chx{position:relative}
.chx-b{position:absolute;top:0;height:36px;width:36px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--ink-1);font:700 22px/1 'Inter',sans-serif;display:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.18);z-index:3;padding:0 0 3px}
.chx-l{left:-6px}.chx-r{right:-6px}
@media (hover:hover) and (pointer:fine){.chx-b.on{display:flex}.chx-b:hover{background:var(--wa);color:#fff;border-color:var(--wa)}}
/* Левое меню и правая колонка на компьютере листаются сами (14 октября: «почему не могу скроллить разделы, скроллится только лента»). */
.lnd-l,.lnd-r{max-height:calc(100vh - 92px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding-bottom:16px}
.lnd-l::-webkit-scrollbar,.lnd-r::-webkit-scrollbar{width:6px}.lnd-l::-webkit-scrollbar-thumb,.lnd-r::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.lnd-l>*{flex-shrink:0}

.aal{margin-top:10px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--bg);max-width:420px}
.aal-m{height:190px;background:#2b2f2a;cursor:pointer}
.aal-f{display:flex;align-items:center;gap:10px;padding:10px 12px}.aal-f div{flex:1;min-width:0}
.aal-f b{display:block;font:700 15px 'Inter',sans-serif;color:var(--ink-1)}.aal-f span{font-size:12.5px;color:var(--ink-3)}
.aal-f button{border:0;background:var(--wa);color:#fff;border-radius:12px;padding:9px 14px;font:700 13.5px 'Inter',sans-serif;cursor:pointer;white-space:nowrap}
.aal-tt{background:#fff;color:#1d1d1b;border:0;border-radius:8px;font:700 13px 'Inter',sans-serif;box-shadow:0 2px 8px rgba(0,0,0,.3)}

.lnd-l .lnd-ar{margin-left:auto;width:8px;height:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s;flex:none}
.lnd-l .lnd-ar.up{transform:rotate(-135deg) translate(-2px,-2px)}
.lnd-sub{display:flex;flex-direction:column;gap:1px;margin:2px 0 4px 18px;padding-left:8px;border-left:2px solid var(--wa)}
.lnd-sub button{font-size:14.5px!important;padding:9px 12px!important}
.lnd-sub button svg{width:18px;height:18px}

.ln-sheet:not(.grp-open) [data-sub]{display:none}
.ln-sheet [data-sub]{padding-left:34px!important;font-size:15.5px!important}
.ln-sh-grp{display:flex!important;align-items:center;width:100%;text-align:left;font-weight:700!important}
.ln-sh-grp span{flex:1}.ln-sh-grp i{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-3px,-3px);transition:transform .2s;opacity:.7}
.ln-sheet.grp-open .ln-sh-grp i{transform:rotate(-135deg) translate(-2px,-2px)}
.ln-sheet.grp-open .ln-sh-grp{color:var(--wa)}

.krt-rt .lnu-sh{max-height:82vh;overflow-y:auto}
.krt-trips{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.krt-tr-h{display:flex;align-items:center;gap:8px}.krt-tr-h b{flex:1;font:800 16px 'Inter',sans-serif;color:var(--ink-1)}
.krt-tr-h button{border:0;background:var(--wa);color:#fff;border-radius:99px;padding:8px 14px;font:700 13px 'Inter',sans-serif;cursor:pointer}
.krt-tr{background:var(--panel);border-radius:14px;padding:12px;margin-top:10px}
.krt-tr-d{font:800 15px 'Inter',sans-serif;color:var(--ink-1)}.krt-tr-m{font-size:13.5px;color:var(--ink-2);margin-top:3px}
.krt-tr-b{font-size:13.5px;color:var(--ink-2);margin-top:6px;white-space:pre-wrap}.krt-tr-ok{font:700 14px 'Inter',sans-serif;color:#2B8A3E;margin-top:8px}
.krt-tr-c{font-size:14px;color:var(--ink-1);margin-top:8px}
.krt-trf{background:var(--panel);border-radius:14px;padding:12px;margin-top:10px;display:flex;flex-direction:column;gap:9px}
.krt-trf label{display:flex;flex-direction:column;gap:4px;font:600 13px 'Inter',sans-serif;color:var(--ink-2)}
.krt-trf input,.krt-trf textarea{border:1.5px solid var(--line);background:var(--bg);color:var(--ink-1);border-radius:10px;padding:9px 10px;font:500 15px 'Inter',sans-serif;resize:vertical}

.dkb-i{position:relative}
.dkb-sv{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px)}
.dkb-sv.on{background:var(--wa)}
.krt-svb{display:flex;align-items:center;justify-content:center;gap:6px}.krt-svb.on{color:var(--wa)!important;border-color:var(--wa)!important}
.zk{margin:0 0 14px}.zk-h{font:800 17px 'Inter',sans-serif;color:var(--ink-1);margin:6px 2px 10px}
.zk-row{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-bottom:8px}
.zk-c{position:relative;flex:none;width:150px;background:var(--panel);border-radius:14px;overflow:hidden;cursor:pointer;padding-bottom:8px}
.zk-c .zk-i{height:110px;background:var(--line) center/cover;display:flex;align-items:center;justify-content:center;font-size:30px}
.zk-c b{display:block;font:800 14px 'Inter',sans-serif;color:var(--ink-1);padding:7px 9px 0}.zk-c span{display:block;font-size:13px;color:var(--ink-2);padding:2px 9px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zk-c i{display:block;font-size:11.5px;color:var(--ink-3);padding:2px 9px 0;font-style:normal}
.zk-m{position:relative;display:flex;align-items:center;gap:12px;background:var(--panel);border-radius:14px;padding:12px 44px 12px 12px;margin-bottom:8px;cursor:pointer}
.zk-m>span{font-size:24px}.zk-m b{display:block;font:700 15px 'Inter',sans-serif;color:var(--ink-1)}.zk-m small{font-size:13px;color:var(--ink-3)}
.zk-x{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(0,0,0,.4);color:#fff;font-size:12px;cursor:pointer}
.zk-m .zk-x{top:50%;transform:translateY(-50%);background:var(--line);color:var(--ink-2)}
.zk{padding:10px 14px 0}@media(min-width:900px){.zk{padding:0}}
.krt-drb button.krt-svb.on{background:var(--bg)!important}

/* Панель карты (14 октября) */
.krt-tb{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 12px}
.krt-t{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;height:44px;padding:0 10px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink-1);font:600 13.5px 'Inter',sans-serif;cursor:pointer;transition:border-color .15s,background .15s}
.krt-t span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.krt-t svg{flex:none;color:var(--ink-3)}
.krt-t:hover{border-color:var(--wa)}
.krt-t.on{border-color:var(--wa)}.krt-t.on svg{color:var(--wa)}
.krt-t1{background:var(--wa);border-color:var(--wa);color:#fff}.krt-t1 svg{color:#fff}
.krt-t em{font-style:normal;font-size:11.5px;background:rgba(255,255,255,.25);border-radius:99px;padding:1px 6px}
@media (max-width:600px){.krt-tb{grid-template-columns:1fr 1fr}}
.krt-ns-pick .krt-nsh{display:flex;flex-direction:column;max-height:86vh}
.krt-nl{overflow-y:auto;flex:1;min-height:120px;margin:0 -4px;padding:0 4px}
.krt-nr{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid var(--line);cursor:pointer;font:500 15px 'Inter',sans-serif;color:var(--ink-1)}
.krt-nr input{width:18px;height:18px;accent-color:var(--wa);flex:none}
.krt-nr i{width:11px;height:11px;border-radius:50%;flex:none}.krt-nr span{flex:1;min-width:0}
.krt-nr b{font:600 12px 'Inter',sans-serif;color:var(--ink-3)}
.krt-nr button{border:0;background:var(--bg);color:var(--ink-2);border-radius:99px;padding:5px 10px;font:600 12px 'Inter',sans-serif;cursor:pointer}
.krt-nf{border-top:1px solid var(--line);padding-top:10px;margin-top:6px}
.krt-nsel{font-size:13px;color:var(--ink-2);line-height:1.4;max-height:3.9em;overflow:hidden}
.krt-nsel b{color:var(--ink-1)}
.krt-wa.off{opacity:.4;pointer-events:none}
.krt-nb{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.krt-nb button{height:42px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink-1);font:700 13.5px 'Inter',sans-serif;cursor:pointer}
.krt-nb button.on{background:var(--ink-1);color:var(--bg);border-color:var(--ink-1)}
.krt-tb{grid-template-columns:1fr 1fr!important}
.krt-au{display:flex;flex-direction:column;gap:2px;margin-top:8px;padding:9px 12px;border-radius:12px;background:var(--panel);font-size:12.5px;color:var(--ink-3);line-height:1.4}
.krt-au b{color:var(--ink-1);font-weight:700}
.krt-h .krt-au b{display:inline;font:700 12.5px 'Inter',sans-serif;color:var(--ink-1)}.krt-h .krt-au span{font-size:12.5px}
.krt-gps.on.dot{opacity:.55}
.krt-gps.dot{opacity:.55}

.mch-l{padding:12px 14px 14px}
.mch-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.mch-h b{font:700 16px 'Inter',sans-serif;color:var(--ink-1)}.mch-h span{font-size:13px;color:var(--ink-3);white-space:nowrap}
.mch ol{margin:10px 0 12px;padding-left:22px;font-size:14px;color:var(--ink-1);line-height:1.6}.mch ol span{color:var(--ink-3);font-size:12.5px}
.mch button{width:100%;border:0;background:var(--wa);color:#fff;border-radius:12px;padding:11px;font:700 14px 'Inter',sans-serif;cursor:pointer}
.mch ol li.mch-g b{color:#C2255C}

/* Маршрут: «откуда» и анимация (14 октября) */
.mch-otk{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.mch-otk button{border:1.5px solid var(--wa);background:transparent;color:inherit;border-radius:999px;padding:9px 16px;font:600 15px 'Inter',sans-serif;cursor:pointer}
.mch-otk button.on,.mch-otk button:hover{background:var(--wa);color:#fff}
.mch-anim{padding:0!important;overflow:hidden;border-radius:18px;border:1px solid rgba(127,127,127,.2);max-width:420px;width:100%}
.mch-anim canvas{width:100%;height:200px;display:block}
.mch-anim-t{display:flex;justify-content:space-between;align-items:center;padding:10px 14px}

.krt-2f{position:absolute;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);color:#fff;font:600 17px 'Inter',sans-serif;opacity:0;pointer-events:none;transition:opacity .25s}
.krt-2f.on{opacity:1}

/* Популярные маршруты (14 октября) */
.krt-tours{margin:4px 0 16px}
.krt-th{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 10px}.krt-th b{font-size:18px}
.krt-tr{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}.krt-tr::-webkit-scrollbar{display:none}
.krt-tc{flex:0 0 250px;scroll-snap-align:start;text-align:left;background:var(--panel);border:1px solid rgba(127,127,127,.22);border-radius:18px;overflow:hidden;padding:0;color:inherit;cursor:pointer;font:inherit}
.krt-ti{height:120px;position:relative;background:linear-gradient(160deg,#5b7a4a,#2f4a2a)}
.krt-ti svg{position:absolute;inset:0;width:100%;height:100%}
.krt-ti i{position:absolute;left:10px;top:10px;background:rgba(0,0,0,.55);color:#fff;border-radius:999px;padding:4px 10px;font-style:normal;font-size:12px}
.krt-tt{padding:10px 12px 6px}.krt-tt b{display:block;font-size:15px;margin-bottom:4px}
.krt-tt s{text-decoration:none;opacity:.65;font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.krt-tf{display:flex;gap:6px;padding:4px 12px 12px;flex-wrap:wrap}.krt-tf em{font-style:normal;font-size:12px;background:rgba(127,127,127,.15);border-radius:999px;padding:4px 9px}
.krt-tl{margin-top:12px}
.krt-li{display:flex;gap:10px;align-items:center;width:100%;padding:10px 0;border:0;border-bottom:1px solid rgba(127,127,127,.18);background:none;color:inherit;text-align:left;cursor:pointer;font:inherit}
.krt-ln{width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:rgba(127,127,127,.15);display:flex;align-items:center;justify-content:center;font-size:20px}
.krt-lt{flex:1;min-width:0}.krt-lt b{display:block;font-size:14.5px}.krt-lt s{text-decoration:none;opacity:.65;font-size:12.5px}
.krt-lg{color:#7FB069;font-size:12px;white-space:nowrap}

/* Карта: новая раскладка (14 октября) */
.krt-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap!important;margin-bottom:12px}
.krt-i{width:38px;height:38px;flex:0 0 38px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--wa);font:700 17px Georgia,serif;cursor:pointer}
.krt{position:relative}
.krt-pop{position:absolute;left:0;right:0;top:56px;z-index:1200;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:0 14px 40px rgba(0,0,0,.35);font-size:14px;color:var(--ink-2)}
.krt-pop>b{display:block;font:800 17px 'Inter',sans-serif;color:var(--ink-1);margin-bottom:6px}.krt-pop p{margin:0 0 8px}.krt-pop .krt-pa{color:var(--ink-1)}
.krt-tb.krt-tb4{display:grid;grid-template-columns:repeat(4,1fr)!important;gap:6px;margin:0 0 10px}
.krt-tb4 .krt-t{flex-direction:column;height:auto;min-height:64px;padding:8px 4px;gap:4px;font-size:11.5px;line-height:1.2;position:relative}
.krt-tb4 .krt-t span{white-space:normal;text-align:center;overflow:visible}
.krt-tb4 .krt-t em{position:absolute;top:4px;right:4px;font-size:10px}
.krt-mw{position:relative}
.krt-b.krt-bo{position:absolute;right:10px;top:10px;z-index:1000;margin:0;background:rgba(20,20,20,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.krt-b.krt-bo button{color:#eee;font-size:12.5px;padding:6px 10px}
.krt-b.krt-bo button.on{background:#fff;color:#111}
.krt-tc{flex-basis:220px}.krt-ti{height:88px}
.krt-tt s{-webkit-line-clamp:1}

/* Просмотр готового маршрута (14 октября) */
.krt-tv>b{display:block;font-size:18px;margin-bottom:2px}
.krt-tvl{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:6px;margin:10px 0 12px;padding:0;list-style:none;counter-reset:n}.krt-tvl::-webkit-scrollbar{display:none}
.krt-tvl li{flex:0 0 auto;white-space:nowrap;counter-increment:n;font-size:12.5px;background:rgba(127,127,127,.14);border-radius:999px;padding:4px 10px}
.krt-tvl li::before{content:counter(n) '. ';opacity:.6}
.krt-tvl li.g{background:rgba(194,37,92,.18)}
.krt-num i{display:flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;color:#fff;font:700 12px Inter,sans-serif;font-style:normal;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.leaflet-tooltip.krt-numt{background:rgba(20,20,20,.78);color:#fff;border:0;border-radius:8px;font:600 12px Inter,sans-serif;padding:3px 7px;box-shadow:none}
.leaflet-tooltip.krt-numt::before{display:none}
.krt-tvl li.me{counter-increment:none;background:rgba(25,113,194,.22)}.krt-tvl li.me::before{content:'● ';color:#4dabf7;opacity:1}
.krt-lo .leaflet-tooltip.krt-numt:not(.me){display:none}
@media (max-width:600px){.krt-map{height:62vh!important;min-height:340px!important}}

/* Поездка по маршруту (14 октября) */
.krt-nav{position:sticky;top:8px;z-index:1100}
.krt-nv-l{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;opacity:.6}
.krt-nv-n{display:block;font-size:19px;margin:2px 0}
.krt-nv-d{display:flex;gap:4px;margin:10px 0 12px}.krt-nv-d i{flex:1;height:5px;border-radius:3px;background:rgba(127,127,127,.25)}
.krt-nv-d i.ok{background:#7FB069}.krt-nv-d i.cur{background:#4dabf7}
.krt-num.cur i{transform:scale(1.25);box-shadow:0 0 0 6px rgba(25,113,194,.3)}
.krt-bm{flex:0 0 48px!important;display:flex;align-items:center;justify-content:center}

/* Карта: пустая по умолчанию, «Нэһилиэктэр» в карте, «+» (14 октября) */
.krt-nsb{display:flex;align-items:center;gap:6px;background:rgba(20,20,20,.78);color:#fff;border:0;border-radius:999px;padding:8px 12px;font:700 13px Inter,sans-serif;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.krt-nsb em{font-style:normal;background:#D97757;border-radius:999px;padding:1px 7px;font-size:11.5px}
.krt-fab{position:absolute;right:14px;bottom:14px;z-index:1000;width:56px;height:56px;border-radius:50%;border:0;background:#D97757;color:#fff;font:300 34px/1 Inter,sans-serif;box-shadow:0 8px 22px rgba(0,0,0,.4);cursor:pointer}
.krt-plus{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:6px 0}
.krt-plus button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;border:1px solid var(--line);background:var(--panel);color:var(--ink-1);border-radius:14px;padding:14px;font:600 14px Inter,sans-serif;cursor:pointer;text-align:left}
.krt-plus button span{font-size:24px}
.krt .leaflet-bottom.leaflet-right .krt-gps{margin-bottom:80px}
.krt-b.krt-bo{top:auto!important;bottom:12px;left:12px;right:auto!important}

/* Метки людей: виды и цена (14 октября) */
.krt-ki i{display:flex;align-items:center;gap:3px;font-style:normal;font-size:20px;line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}
.krt-ki b{font:700 11px Inter,sans-serif;background:#2B8A3E;color:#fff;border-radius:999px;padding:2px 6px;white-space:nowrap}
.krt-pr{font-style:normal;font-size:12px;background:#2B8A3E;color:#fff;border-radius:999px;padding:1px 7px;margin-left:4px;vertical-align:1px}
.krt-plus{grid-template-columns:1fr 1fr 1fr}

/* Нэһилиэктэр и подложки — в одну строку сверху карты; выпадающий список (14 октября) */
.krt-b.krt-bo{top:10px!important;bottom:auto!important;right:10px!important;left:auto!important;padding:3px}
.krt-b.krt-bo button{font-size:11.5px;padding:6px 8px}
.krt-nsb{padding:7px 10px;font-size:12.5px}
.krt-nsl{position:absolute;left:10px;top:52px;z-index:1100;width:min(260px,calc(100% - 20px));max-height:62%;overflow-y:auto;background:rgba(30,29,27,.97);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:6px 0;box-shadow:0 12px 34px rgba(0,0,0,.5)}
.krt-nsr{display:flex;width:100%;justify-content:space-between;align-items:center;gap:8px;padding:9px 14px;border:0;background:none;color:#ECEAE4;font:600 14px Inter,sans-serif;cursor:pointer;text-align:left}
.krt-nsr span{display:flex;align-items:center;gap:6px;min-width:0}.krt-nsr span i{width:9px;height:9px;border-radius:50%;flex:0 0 9px}
.krt-nsr em{font-style:normal;color:#D97757;font-size:13px}
.krt-nsr:not(.on){color:#A39F96}
.krt-nsa{border-bottom:1px solid rgba(255,255,255,.08)}
.krt-nsw{border-top:1px solid rgba(255,255,255,.08);color:#7FB069!important;font-size:13px}
.krt-b.krt-bo button{font-size:11px;padding:6px 7px}.krt-nsb{gap:5px;padding:7px 9px}

/* Крестик «убрать маршрут» (14 октября) */
.krt-x{position:absolute;right:8px;top:8px;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;z-index:2}
.krt-li{position:relative}.krt-xl{top:50%;transform:translateY(-50%);right:0;background:rgba(127,127,127,.25)}
.krt-li .krt-lg{margin-right:36px}

/* 15 октября, снимок хозяина: «превью режет — показывай полностью». Обложка YouTube — 16:9, в ленте была 4:3 и обрезалась по бокам. */
.ln-img.ln-img-yt{aspect-ratio:16/9!important;object-fit:cover}

/* Пустые углы при повороте — не белые, а под цвет карты (15 октября) */
.krt-map.leaflet-container{background:#2a3324}
#krt-mn{min-height:16px}
/* Алаасы от людей (15 октября) */
.krt-albig{display:flex;align-items:center;gap:12px;width:100%;border:1.5px solid var(--wa);background:rgba(217,119,87,.10);color:var(--ink-1);border-radius:16px;padding:14px;cursor:pointer;text-align:left;margin:4px 0 2px}
.krt-albig>span{font-size:34px;line-height:1}.krt-albig b{display:block;font:800 18px Inter,sans-serif}.krt-albig s{text-decoration:none;font-size:13px;color:var(--ink-3)}
.krt-al input,.krt-al textarea,.krt-alq input{display:block;width:100%;box-sizing:border-box;margin-top:8px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink-1);border-radius:12px;padding:10px 12px;font:500 15px Inter,sans-serif}
.krt-al textarea{resize:vertical;min-height:70px}
.krt-alph{display:block;margin-top:8px;cursor:pointer;font-size:14px;color:var(--ink-2)}.krt-alph input{display:none}
.krt-alc{display:block;margin-top:6px;font-style:normal;font-size:13px;color:var(--wa)}
.krt-alm i{font-style:normal;font-size:24px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.krt-almod{white-space:nowrap;flex-shrink:0;margin-left:auto;margin-right:8px;border:1px solid var(--line);background:var(--panel);color:var(--ink-1);border-radius:999px;padding:7px 12px;font:700 13px Inter,sans-serif;cursor:pointer}
.krt-almod em{font-style:normal;background:var(--wa);color:#fff;border-radius:999px;padding:1px 7px;margin-left:4px}
.krt-alq{border-top:1px solid var(--line);padding:10px 0}.krt-alq p{margin:8px 0 0;font-size:14px;white-space:pre-wrap}.krt-alq img{display:block;max-width:100%;border-radius:10px;margin-top:8px}
.krt-alq s{display:block;text-decoration:none;font-size:12.5px;color:var(--ink-3);margin-top:6px}
.krt-alq .krt-drb button:first-child{flex:0 0 52px}
/* Полки маршрутов с обложками (15 октября) */
.krt-sh{display:flex;justify-content:space-between;align-items:baseline;margin:14px 2px 8px;font:800 17px Inter,sans-serif;color:var(--ink-1)}.krt-sh small{font-size:12px;color:var(--wa);font-weight:700}
.krt-tours>.krt-sh:first-child{margin-top:4px}
.krt-ti.krt-cv{background-color:#2f3a2a;background-size:cover;background-position:center;height:130px}
.krt-sk{position:absolute;right:8px;bottom:8px;width:66px;height:40px;border-radius:8px;background:rgba(15,20,15,.72);border:1px solid rgba(255,255,255,.25);overflow:hidden}
.krt-ti .krt-sk svg{position:static;width:100%;height:100%}
.krt-cp{position:absolute;right:44px;top:10px;background:var(--wa);color:#fff;border-radius:999px;padding:4px 9px;font-style:normal;font-size:12px;font-weight:800}
.krt-cvb{position:absolute;left:8px;bottom:8px;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.6);display:grid;place-items:center;font-size:15px;cursor:pointer}.krt-cvb input{display:none}
@media (max-width:700px){.krt-ti.krt-cv{height:112px}}
.krt-tours .krt-tr{background:none;padding:0 0 4px;margin-top:0;border-radius:0}
/* Метки людей в чате (15 октября) */
.mtk-l{list-style:none;margin:0;padding:0}.mtk-l li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.mtk-l li:first-child{border-top:0}
.mtk-l li>div{flex:1;min-width:0}.mtk-l b{display:block;font-size:15px}.mtk-l span{display:block;font-size:12.5px;color:var(--ink-3)}.mtk-l em{display:inline-block;margin-top:4px;font-style:normal;font-size:12.5px;font-weight:700;color:var(--wa)}
.mtk-l button{flex-shrink:0;border:0;background:var(--wa);color:#fff;border-radius:999px;padding:8px 12px;font:700 13px Inter,sans-serif;cursor:pointer}
.mch ol.mtk-l{padding-left:0;margin:0;line-height:1.35}.mch .mtk-l button{width:auto;border-radius:999px;padding:8px 13px;font-size:13px}
.mch .mtk-l span{display:block;font-size:12.5px;color:var(--ink-3)}
/* Карточка места «как в 2ГИС» (15 октября, макет хозяина) */
.krt-pcw .krt-pc{padding:0!important;gap:0!important;overflow-y:auto;position:relative;max-height:88vh}
.pc-car{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;height:240px;background:#2f3a2a;flex-shrink:0}.pc-car::-webkit-scrollbar{display:none}
.pc-car img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start}
.pc-x{position:absolute;right:12px;top:12px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(0,0,0,.5);color:#fff;font-size:16px;cursor:pointer;z-index:2}
.pc-add{position:absolute;left:12px;top:198px;background:rgba(255,255,255,.94);color:#1d1d1f;border-radius:999px;padding:6px 12px;font:700 12.5px Inter,sans-serif;cursor:pointer;z-index:2}.pc-add input,.pc-wr input,.pc-ph input{display:none}
.pc-n{position:absolute;right:12px;top:202px;background:rgba(0,0,0,.55);color:#fff;border-radius:999px;padding:4px 10px;font-size:12px;z-index:2}
.pc-b{padding:14px 16px 18px}.pc-b h2{margin:0;font:800 20px/1.25 Inter,sans-serif;color:var(--ink-1)}
.pc-m{margin-top:6px;display:flex;gap:7px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-3)}.pc-st{color:#E8590C;font-weight:800}
.pc-ch{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.pc-ch span{background:rgba(127,127,127,.13);border-radius:999px;padding:3px 10px;font-size:12px;color:var(--ink-2)}
.pc-go{width:100%;margin-top:14px;border:0;background:var(--wa);color:#fff;border-radius:14px;padding:14px;font:800 16px Inter,sans-serif;cursor:pointer}
.pc-lk{font-size:12.5px;color:var(--ink-3);margin:8px 0 0}
.pc-ic{display:flex;justify-content:space-around;margin-top:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.pc-i{border:0;background:none;color:var(--ink-2);font:500 11.5px Inter,sans-serif;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:64px}
.pc-i i{width:44px;height:44px;border-radius:50%;background:rgba(127,127,127,.13);display:grid;place-items:center;font-size:18px;font-style:normal;color:var(--ink-1)}.pc-i.on i{color:var(--wa)}
.pc-tabs{display:flex;gap:18px;margin-top:12px}.pc-tabs button{border:0;background:none;padding:0 0 6px;font:700 14px Inter,sans-serif;color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent}.pc-tabs button.on{color:var(--ink-1);border-bottom-color:var(--wa)}
.pc-tab{padding-top:10px}.pc-d{font-size:14px;line-height:1.45;color:var(--ink-2);margin:0 0 8px;white-space:pre-wrap}
.pc-del{margin-top:12px;border:0;background:none;color:var(--ink-3);font-size:13px;text-decoration:underline;cursor:pointer}
.pc-sum{display:flex;align-items:center;gap:12px;margin-bottom:6px}.pc-sum b{font:800 34px Inter,sans-serif;color:var(--ink-1)}.pc-sum s{display:block;text-decoration:none;font-size:12px;color:var(--ink-3)}
.pc-rv{border-top:1px solid var(--line);padding:10px 0}.pc-rh{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-1)}.pc-rh em{margin-left:auto;font-style:normal;font-size:12px;color:var(--ink-3)}
.pc-av{width:28px;height:28px;border-radius:50%;background:#C77DA8;color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}
.pc-rv p{margin:6px 0 0;font-size:13.5px;line-height:1.4;color:var(--ink-2)}.pc-rp{display:flex;gap:6px;margin-top:8px}.pc-rp img{width:72px;height:54px;object-fit:cover;border-radius:8px}
.pc-form{border-top:1px solid var(--line);padding-top:10px;margin-top:4px}.pc-stars button{border:0;background:none;font-size:28px;color:rgba(127,127,127,.35);cursor:pointer;padding:0 2px}.pc-stars button.on{color:#E8590C}
.pc-form textarea{width:100%;box-sizing:border-box;margin-top:6px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink-1);border-radius:12px;padding:10px;font:14px Inter,sans-serif}
.pc-ph{display:block;margin:6px 0;font-size:13px;color:var(--ink-2);cursor:pointer}
.pc-wr{display:block;width:100%;box-sizing:border-box;margin-top:8px;border:1.5px solid var(--wa);background:none;color:var(--wa);border-radius:12px;padding:11px;text-align:center;font:800 14px Inter,sans-serif;cursor:pointer}
.pc-g{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.pc-g img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}
/* Стрелки прямо на картинках (15 октября): полки маршрутов и фото места */
.chx-im .chx-b,.chx-ph .chx-b{width:42px;height:42px;border:0;background:rgba(0,0,0,.55);color:#fff;z-index:3;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.chx-im .chx-b{top:44px}.chx-im .chx-l{left:8px}.chx-im .chx-r{right:8px}
.chx-ph .chx-b{top:99px}.chx-ph .chx-l{left:10px}.chx-ph .chx-r{right:10px}
/* Карта во весь экран (15 октября) */
.krt-fs{position:absolute;right:10px;bottom:24px;z-index:1001;width:42px;height:42px;border-radius:12px;border:0;background:rgba(20,20,20,.72);color:#fff;display:grid;place-items:center;cursor:pointer;font:700 18px Inter,sans-serif;backdrop-filter:blur(6px)}
.krt-mw.krt-full{position:fixed!important;inset:0;z-index:8500;background:#111}
.krt-mw.krt-full .krt-map{height:100vh!important;height:100dvh!important;min-height:0!important;border-radius:0!important}
.krt-mw.krt-full .krt-fs{top:calc(10px + env(safe-area-inset-top));bottom:auto;right:auto;left:auto;right:10px;top:60px}
body.krt-full-on{overflow:hidden}
/* Превью маршрута Айыы (15 октября) */
.krt-tv2{background:var(--panel);border-radius:18px;overflow:hidden;margin:0 0 10px;position:relative}
.tv-cv{height:150px;background-color:#2f3a2a;background-size:cover;background-position:center;position:relative}
.tv-b{padding:12px 14px 14px}.tv-b h2{margin:0;font:800 20px/1.25 Inter,sans-serif;color:var(--ink-1)}
.tv-go{display:flex;gap:8px;align-items:stretch}.tv-go .pc-go{flex:1}
.tv-bm{margin-top:14px;width:52px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink-1);cursor:pointer;display:grid;place-items:center}
.tv-l{list-style:none;margin:12px 0 0;padding:0;max-height:300px;overflow-y:auto}
.tv-l li{display:flex;gap:10px;align-items:flex-start;padding:8px 2px;border-top:1px solid var(--line);cursor:pointer}.tv-l li:first-child{border-top:0}
.tv-l li:hover{background:rgba(127,127,127,.08)}
.tv-l i{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#E8590C;color:#fff;display:grid;place-items:center;font:800 12.5px Inter,sans-serif;font-style:normal}
.tv-l li.g i{background:#C2255C}.tv-l li.me i{background:#2B8A3E}
.tv-l b{display:block;font-size:14.5px;color:var(--ink-1)}.tv-l span{display:block;font-size:12.5px;color:var(--ink-3);margin-top:1px}
@media (min-width:900px){.tv-cv{height:170px}}
.krt-fs{bottom:auto!important;top:56px!important;right:10px!important}
.krt-mw.krt-full .krt-fs{top:calc(56px + env(safe-area-inset-top))!important}
#lenta .ln-tabs-m .ln-tabs-v{justify-content:space-between;gap:14px}   /* 15 октября: без пустоты до «Өссө» */
/* Полный экран на iPhone (15 октября): карта в <body>, поверх всего, с отступом под «чёлку» и полоску снизу */
body > .krt-mw.krt-full{position:fixed!important;inset:0;z-index:2147483000;background:#111;margin:0}
body > .krt-mw.krt-full .krt-map{height:100%!important;width:100%!important}
body > .krt-mw.krt-full .leaflet-top{top:env(safe-area-inset-top)}
body > .krt-mw.krt-full .leaflet-bottom{bottom:env(safe-area-inset-bottom)}
body > .krt-mw.krt-full .krt-b.krt-bo{top:calc(10px + env(safe-area-inset-top))!important}
body > .krt-mw.krt-full .krt-fs{top:calc(58px + env(safe-area-inset-top))!important}
body.krt-full-on{overflow:hidden;touch-action:none}

/* Лупа на карте (15 октября) — под кнопкой полного экрана. */
.krt-lupa{position:absolute;right:10px;top:108px;z-index:1001;width:42px;height:42px;border-radius:12px;border:0;background:rgba(20,20,20,.72);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px)}
.krt-mw.krt-full .krt-lupa,body > .krt-mw.krt-full .krt-lupa{top:calc(110px + env(safe-area-inset-top))}
.krt-sq{position:absolute;left:10px;right:60px;top:56px;z-index:1002}
.krt-mw.krt-full .krt-sq{top:calc(58px + env(safe-area-inset-top))}
.krt-sqi{display:flex;align-items:center;background:var(--panel,#fff);border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.25);overflow:hidden}
.krt-sqi input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:500 16px Inter,sans-serif;padding:11px 12px}
.krt-sqi button{border:0;background:transparent;color:var(--ink-3);font:700 16px Inter,sans-serif;padding:0 12px;height:42px;cursor:pointer}
.krt-sqr{margin-top:6px;max-height:46vh;overflow:auto;background:var(--panel,#fff);border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.25)}
.krt-sqr:empty{display:none}
.krt-sqr button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid rgba(127,127,127,.15);background:transparent;padding:10px 12px;cursor:pointer;color:var(--ink)}
.krt-sqr button b{display:block;font:600 15px Inter,sans-serif}
.krt-sqr button span{display:block;font:400 12.5px Inter,sans-serif;color:var(--ink-3);margin-top:2px}
.krt-sqn{padding:12px;font:400 14px Inter,sans-serif;color:var(--ink-3)}
.krt-sq{left:62px}
.krt-sqi input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}

/* Карточка алааса (15 октября) — снизу карты, иконки: машина, пешком, поделиться. */
.krt-ac{position:absolute;left:10px;right:10px;bottom:30px;z-index:1003;background:var(--panel,#fff);color:var(--ink);border-radius:18px;box-shadow:0 8px 28px rgba(0,0,0,.3);padding:14px 16px}
.krt-ac .ac-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.krt-ac .ac-h b{display:block;font:700 19px Inter,sans-serif}
.krt-ac .ac-h span{display:block;font:400 13.5px Inter,sans-serif;color:var(--ink-3);margin-top:3px}
.krt-ac .ac-x{border:0;background:transparent;color:var(--ink-3);font:700 18px Inter,sans-serif;cursor:pointer;padding:2px 4px}
.krt-ac .ac-b{display:flex;gap:10px;margin-top:12px}
.krt-ac .ac-b button{flex:1;height:48px;border:0;border-radius:14px;background:rgba(127,127,127,.13);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.krt-ac .ac-b button.on{background:var(--wa);color:#fff}
.krt-ac .ac-b button:last-child{flex:.7}

/* Офферы справа по очереди (15 октября) */
.lnd-of-rot{display:grid}
.lnd-of-sl{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .5s}
.lnd-of-sl.on{opacity:1;visibility:visible}
.lnd-of-sl .lnd-plus{margin-bottom:0;height:100%}
.lnd-of-pic{aspect-ratio:16/9;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;font:700 26px/1.1 'Inter',sans-serif;text-align:center}
.lnd-of-pk{background:linear-gradient(120deg,#E2558F,#B04FB0);color:#fff}
.lnd-of-wt{background:#fff;color:#1D1D1F;flex-direction:column;gap:8px;font-size:15px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.lnd-of-wt i{width:44px;height:44px;border-radius:50%;background:#fff url(/logo.png) 50% 50%/80% no-repeat;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.lnd-of-dots{display:flex;gap:6px;justify-content:center;margin:10px 0 14px}
.lnd-of-dots i{width:6px;height:6px;border-radius:3px;background:var(--ink-3);opacity:.5;cursor:pointer;transition:width .3s}
.lnd-of-dots i.on{width:22px;background:var(--wa);opacity:1}

/* «Зарабатывай с Айыы» — первой строкой меню (15 октября) */
.lnd-earn{display:block;position:relative;margin:4px 6px 10px;padding:13px 14px;border-radius:16px;background:linear-gradient(120deg,#E2558F,#B04FB0);color:#fff;text-decoration:none}
.lnd-earn:hover{filter:brightness(1.06)}
.lnd-earn b{display:block;font:700 15px/1.2 'Inter',sans-serif;padding-right:70px}
.lnd-earn span{display:block;font:12.5px/1.35 'Inter',sans-serif;opacity:.92;margin-top:4px}
.lnd-earn em{position:absolute;right:10px;top:10px;font:700 11px/1 'Inter',sans-serif;font-style:normal;background:#fff;color:#C2477F;border-radius:999px;padding:4px 8px}

.ln-of-feed{margin:4px 16px 18px}.ln-of-feed .lnd-plus{background:var(--bg);margin-bottom:0}

/* 15 октября, слово хозяина: «там надо шрифт Forum поставить» — заголовки офферов и карточки в меню. */
.lnd-of-pic,.lnd-of>b,.lnd-earn b{font-family:'Forum',serif!important;font-weight:400!important;letter-spacing:.2px}
.lnd-of-pic{font-size:34px}.lnd-of>b{font-size:20px!important}.lnd-earn b{font-size:18px}
.lnd-of-wt{font-size:18px}
.lnd-of-pic small{display:block;font:15px/1.2 'Inter',sans-serif;opacity:.9;margin-top:6px}.lnd-of-pk{flex-direction:column}
.lnd-earn em{position:static;display:inline-block;margin-bottom:7px}.lnd-earn b{padding-right:0}
/* 15 октября, слово хозяина: «опять не учёл тёмную тему — розовое в светлой, а в тёмной тёмное». */
[data-theme="dark"] .lnd-of-pk{background:radial-gradient(120% 90% at 50% 40%,#231B2F 0%,#14101C 70%);color:var(--wa);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
[data-theme="dark"] .lnd-of-pk small{color:var(--ink-3,#9D87B3);opacity:1}
[data-theme="dark"] .lnd-of-wt{background:radial-gradient(120% 90% at 50% 40%,#1E1829 0%,#110D17 70%);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
[data-theme="dark"] .lnd-of-wt i{background-color:#fff}
/* 16 октября, слово хозяина: «скопируй шрифт Manus. А Forum оставь только в титулках самого ответа — заглавные пусть пишут на Forum,
   а весь остальной шрифт — на шрифте Manus». У Manus — чистый гротеск в духе Inter; Inter у нас уже подключён (с якутскими буквами).
   Текст ответов и поле ввода — Inter, заголовки внутри ответа — Forum. Размер — по настройке «Текст размера», без size-adjust. */
#phone .cmsg-b, #phone .aiyy-input textarea{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif!important;font-synthesis:weight;-webkit-font-synthesis:weight;letter-spacing:-.005em}
#phone .cmsg-b{font-size:14px;line-height:1.6} /* 16 октября: на телефоне — как у Перплексити (было 15.5) */
#phone .aiyy-input textarea{font-size:16px}
html[data-fs="s"] #phone .cmsg-b{font-size:13px}
html[data-fs="l"] #phone .cmsg-b{font-size:16px;line-height:1.65}
@media (min-width:1024px){
  html[data-fs="s"] #phone .cmsg-b{font-size:15px}
  html[data-fs="m"] #phone .cmsg-b, #phone .cmsg-b{font-size:16px}
  html[data-fs="l"] #phone .cmsg-b{font-size:18px}
}
#phone .cmsg-b b, #phone .cmsg-b strong{font-weight:600}
#phone .cmsg-b .md-h{font-family:'Forum UI','Forum',Georgia,serif!important;font-weight:400!important;font-size:1.55em;line-height:1.2;letter-spacing:0}
/* ===== ТАРИФЫ КАК У MANUS (16 октября, слово хозяина: «хочу, чтобы тариф у нас появился вот так же») ===== */
.plan-sheet .plan-h b#plan-t{font-family:'Forum UI','Forum',Georgia,serif!important;font-weight:400;font-size:28px}
.plan-sheet .plan-per{display:flex;flex-direction:column;align-items:center;gap:12px;margin:12px 0 4px}
.tf-ban{border-radius:12px;padding:9px 14px;background:var(--wa-soft);font-size:13.5px;text-align:center;color:var(--ink)}
.tf-ban b{color:var(--wa-deep,var(--wa))}
.tf-tg{display:flex;border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px}
.tf-tg .plan-pb{border:0;background:none;border-radius:9px;padding:7px 16px;font:500 14px 'Inter',sans-serif;color:var(--ink-3);cursor:pointer;margin:0!important}
.tf-tg .plan-pb.on{background:var(--panel,#fff);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.tf-tg .plan-pb i{font-style:normal;color:var(--wa)}
.plan-sheet .plan-list{display:block!important}
.tf-g{display:grid;grid-template-columns:1fr;gap:14px;margin-top:6px}
.tf-c{position:relative;border:1px solid var(--line);border-radius:18px;padding:18px 16px;background:var(--panel,#fff);font-family:'Inter',sans-serif}
.tf-c.hl{border-color:var(--wa);box-shadow:0 0 0 1px var(--wa)}
.tf-tag{position:absolute;top:-10px;left:16px;background:var(--wa);color:#fff;font:700 11px 'Inter',sans-serif;border-radius:999px;padding:3px 10px}
.tf-n{font-weight:700;font-size:15px;margin-bottom:6px}
.tf-p{font:800 32px/1.05 'Inter',sans-serif;letter-spacing:-.5px}
.tf-p s{font-weight:600;font-size:22px;color:var(--ink-3);opacity:.6;margin-right:8px}
.tf-p small{font-weight:500;font-size:14px;color:var(--ink-3);letter-spacing:0}
.tf-s{color:var(--ink-3);font-size:13px;margin-top:6px}.tf-s b{color:var(--ink)}.tf-s s{opacity:.6}
.tf-w{font-weight:600;font-size:14px;margin:12px 0 12px}
.tf-go{display:block;width:100%;border:0;border-radius:999px;padding:12px;font:700 15px 'Inter',sans-serif;background:var(--ink);color:var(--bg,#fff);cursor:pointer}
.tf-c.hl .tf-go{background:var(--wa);color:#fff}
.tf-now{text-align:center;border:1px dashed var(--line);border-radius:999px;padding:11px;font-size:14px;color:var(--ink-3)}
.tf-l{list-style:none;padding:0;margin:14px 0 0}
.tf-l li{position:relative;padding:5px 0 5px 24px;font-size:13.5px;line-height:1.45;color:var(--ink-2,var(--ink))}
.tf-l li:before{content:'';position:absolute;left:2px;top:9px;width:12px;height:7px;border-left:2px solid var(--wa);border-bottom:2px solid var(--wa);transform:rotate(-45deg)}
.tf-num{margin-top:10px;font-size:11.5px;color:var(--ink-3);line-height:1.4}
.tf-org{display:flex;align-items:center;gap:12px;margin-top:14px;border:1px solid var(--line);border-radius:16px;padding:12px 14px;text-decoration:none;color:inherit;background:var(--panel,#fff)}
.tf-oi{width:38px;height:38px;flex:none;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px}
.tf-org b{display:block;font:400 19px 'Forum UI','Forum',serif}.tf-org i{display:block;font-style:normal;font-size:12.5px;color:var(--ink-3)}
.tf-om{margin-left:auto;border:1px solid var(--line);border-radius:10px;padding:7px 12px;font:700 13px 'Inter',sans-serif;white-space:nowrap}
.tf-foot{text-align:center;color:var(--ink-3);font-size:11.5px;margin-top:12px}
@media (min-width:1024px){
  .plan-sheet .plan-b{max-width:1100px!important;width:min(1100px,94vw)!important}
  .tf-g{grid-template-columns:repeat(3,1fr);align-items:stretch}
  .plan-sheet .plan-h{justify-content:center;position:relative}.plan-sheet .plan-x{position:absolute;right:0;top:0}
}
.tf-sr{align-items:flex-start}
.tf-sr-top{margin:0 0 14px;cursor:pointer}
.tf-srb .tf-srm{background:var(--wa);color:#fff;border-color:var(--wa)}
.tf-sri img{width:24px;height:24px}
html[data-theme="dark"] .tf-sri img{filter:invert(1)}
.tf-sr .tf-srp{color:var(--ink-2);font-weight:600;margin-top:4px}
.tf-srb{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.tf-srb .tf-om{margin-left:0;text-decoration:none;color:inherit}
html[data-theme="dark"] .tf-c, html[data-theme="dark"] .tf-org{background:#17121F;border-color:#251D33}
html[data-theme="dark"] .tf-go{background:#ECE6DE;color:#120E19}
html[data-theme="dark"] .tf-c.hl .tf-go{background:var(--wa);color:#fff}
html[data-theme="dark"] .tf-tg .plan-pb.on{background:#20192B;color:#ECE6DE}
.tf-tg .plan-pb i{display:inline!important;margin-left:4px}
.plan-sheet .tf-tg .plan-pb{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:4px;white-space:nowrap}

/* Три подсказки под ответом (16 октября) */
.chat-next{display:flex;flex-direction:column;margin-top:14px;border-top:1px solid var(--line)}
.chat-next button{display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--line);background:none;padding:11px 2px;text-align:left;cursor:pointer;color:var(--ink-2,var(--ink));font:14px/1.4 'Inter',sans-serif}
.chat-next button svg{flex:none;opacity:.6}
.chat-next button span{flex:1}
.chat-next button i{font-style:normal;opacity:.45;transition:transform .15s}
.chat-next button:hover i{transform:translateX(3px);opacity:.8}
.chat-next button:hover{color:var(--ink)}
.cmsg > .chat-next{width:100%;margin-top:10px}
.chat-next button.of{color:var(--ink)}.chat-next .of-i{flex:none;width:16px;text-align:center;font:700 13px 'Inter',sans-serif;color:var(--wa)}

/* Совместимость знаков (16 октября) */
.hz{margin:6px 16px 18px;padding:18px;border-radius:20px;background:var(--panel,#fff);border:1px solid var(--line)}
.hz-h{font:400 28px/1.15 'Forum UI','Forum',Georgia,serif;margin:0}
.hz-s{font-size:13.5px;color:var(--ink-3);margin-top:4px}
.hz-p{display:grid;grid-template-columns:1fr 34px 1fr;gap:10px;align-items:center;margin-top:14px}
.hz-w{font:600 12px 'Inter',sans-serif;color:var(--ink-3);margin-bottom:6px}
.hz-hr{text-align:center;font-size:24px;color:var(--wa)}
.hz-g{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.hz-z{aspect-ratio:1;border-radius:12px;border:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:21px;line-height:1;cursor:pointer;color:inherit;padding:0}
.hz-z i{font:500 9.5px 'Inter',sans-serif;font-style:normal;color:var(--ink-3);margin-top:3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hz-z.on{border-color:var(--wa);box-shadow:0 0 0 1px var(--wa);background:var(--wa-soft)}
.hz-res{margin-top:16px;border-radius:18px;padding:18px;color:#ECE6DE;background:radial-gradient(120% 100% at 50% 0%,#3b2a52 0%,#1b1430 60%,#120e20 100%);border:1px solid #3a3150}
.hz-wait{text-align:center;font-size:15px;color:#d9d2ea}
.hz-top{display:flex;align-items:center;gap:16px}
.hz-ring{width:88px;height:88px;flex:none;border-radius:50%;background:conic-gradient(var(--wa) 0 var(--p),#3a3150 var(--p) 100%);display:flex;align-items:center;justify-content:center}
.hz-ring b{width:70px;height:70px;border-radius:50%;background:#1b1430;display:flex;align-items:center;justify-content:center;font:800 23px 'Inter',sans-serif}
.hz-pair{font:400 23px/1.2 'Forum UI','Forum',serif;color:#f6e2b5}.hz-pair small{display:block;font:13px 'Inter',sans-serif;color:#c9bfe0;margin-top:4px}
.hz-bars{margin-top:14px;display:grid;gap:8px}
.hz-b{display:grid;grid-template-columns:110px 1fr 38px;align-items:center;gap:10px;font-size:13px}
.hz-b i{display:block;height:8px;border-radius:4px;background:#3a3150;position:relative;overflow:hidden}
.hz-b i:after{content:'';position:absolute;inset:0;width:var(--w);background:linear-gradient(90deg,var(--wa),#f3d9a4);border-radius:4px}
.hz-b b{text-align:right}
.hz-t{margin-top:12px;font-size:14px;line-height:1.5;color:#e2dcef}
.hz-btns{display:flex;gap:8px;margin-top:14px}.hz-btns button{flex:1;border:0;border-radius:999px;padding:11px;font:700 14px 'Inter',sans-serif;cursor:pointer;background:#2c2540;color:#ECE6DE}.hz-btns .p{background:var(--wa);color:#fff}
@media (max-width:760px){.hz-p{grid-template-columns:1fr}.hz-hr{display:none}.hz-z{font-size:18px}.hz-b{grid-template-columns:96px 1fr 34px}}
html:not([data-theme="dark"]) .hz-res{background:linear-gradient(135deg,#FBE9F2 0%,#F3E6FB 100%);color:#241a22;border-color:#EBD3E3}
html:not([data-theme="dark"]) .hz-ring b{background:#FBEFF6;color:#241a22}
html:not([data-theme="dark"]) .hz-ring{background:conic-gradient(var(--wa) 0 var(--p),#ead7e4 var(--p) 100%)}
html:not([data-theme="dark"]) .hz-pair{color:#7a3b63}html:not([data-theme="dark"]) .hz-pair small,html:not([data-theme="dark"]) .hz-wait{color:#6b5c66}
html:not([data-theme="dark"]) .hz-b i{background:#ead7e4}html:not([data-theme="dark"]) .hz-b i:after{background:linear-gradient(90deg,#C2477F,#E29CC0)}
html:not([data-theme="dark"]) .hz-t{color:#3d3138}html:not([data-theme="dark"]) .hz-btns button{background:#fff;color:#241a22;border:1px solid #EBD3E3}html:not([data-theme="dark"]) .hz-btns .p{background:var(--wa);color:#fff;border:0}
.hz-p{grid-template-columns:1fr!important}.hz-hr{display:none}
@media (min-width:761px){.hz-g{grid-template-columns:repeat(12,1fr)}.hz-z{font-size:19px}.hz-z i{font-size:8.5px}}
.hz-z{min-width:0}.hz-g{gap:5px}.hz{overflow:hidden}

/* Карусель фото к ответу — компактно, кнопкой крупнее (16 октября) */
.show-car{max-width:340px;transition:max-width .25s ease}
.show-car .show-ph img, .show-car .show-more{max-height:46vh}
.show-car.show-big{max-width:100%}
.show-car.show-big .show-ph img, .show-car.show-big .show-more{max-height:72vh}
/* 16 октября, слово хозяина: «„Айыылыын кэпсэт“ пусть стоит на Forum — верни обратно». Поле ввода — снова Forum. */
#phone .aiyy-input textarea{font-family:'Forum UI','Forum',Georgia,serif!important;font-size:17.5px;letter-spacing:0}
@media (min-width:1024px){#phone .aiyy-input textarea{font-size:19px}}

.hz-tz{margin:4px 16px 18px;padding:16px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(135deg,#FBE9F2 0%,#F3E6FB 100%)}
html[data-theme="dark"] .hz-tz{background:radial-gradient(120% 120% at 50% 0%,#3b2a52 0%,#1b1430 70%);border-color:#3a3150}
.hz-tz-h b{display:block;font:400 22px 'Forum UI','Forum',serif}.hz-tz-h span{display:block;font-size:13px;color:var(--ink-3);margin:2px 0 10px}
html[data-theme="dark"] .hz-tz-h b{color:#f6e2b5}html[data-theme="dark"] .hz-tz-h span{color:#c9bfe0}
.hz-tz .hz-g{grid-template-columns:repeat(6,1fr)}
@media (min-width:761px){.hz-tz .hz-g{grid-template-columns:repeat(12,1fr)}}
html[data-theme="dark"] .hz-tz .hz-z{background:rgba(255,255,255,.04);border-color:#4a3f66}

.hz-d{margin-top:12px}.hz-d summary{cursor:pointer;font:600 13.5px 'Inter',sans-serif;color:var(--wa-deep,var(--wa))}
.hz-dr{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.hz-dr label{font:600 12px 'Inter',sans-serif;color:var(--ink-3);display:flex;flex-direction:column;gap:4px}
.hz-dr input{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:var(--bg);color:var(--ink);font:15px 'Inter',sans-serif}
.hz-pair .hz-nn{color:#f3d9a4!important;font-weight:700}
html:not([data-theme="dark"]) .hz-pair .hz-nn{color:#C2477F!important}

.hz-y{display:flex;align-items:center;gap:14px;margin-top:10px;font:600 13.5px 'Inter',sans-serif}.hz-y label{display:flex;align-items:center;gap:6px;cursor:pointer}.hz-y input[type=number]{width:64px;border:1px solid var(--line);border-radius:8px;padding:5px 8px;background:var(--bg);color:var(--ink);font:14px 'Inter',sans-serif}
.hz-z i{letter-spacing:-.3px;padding:0 1px;box-sizing:border-box}@media (max-width:760px){.hz-z i{font-size:9px}}
.plan-sheet .plan-tabs{display:none!important}.plan-sheet .plan-h{margin:6px 0 22px!important;padding-top:4px}
.hz-btns .hz-st{flex:0 0 auto;padding:11px 16px;background:#2c2540;color:#ECE6DE}html:not([data-theme="dark"]) .hz-btns .hz-st{background:#FBE3EE;color:#C2477F}
.hz-sto{position:fixed;inset:0;z-index:9999;background:rgba(10,6,16,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.hz-sto-b{position:relative;background:#fff;border-radius:24px;padding:16px;width:min(420px,100%);max-height:100%;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.hz-sto-x{position:absolute;right:10px;top:10px;z-index:2;width:34px;height:34px;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;font-size:16px;cursor:pointer}
.hz-sto-im{aspect-ratio:9/16;max-height:calc(100vh - 190px);margin:0 auto;border-radius:16px;overflow:hidden;background:#F7E3EC;display:flex;align-items:center;justify-content:center;color:#C2477F}
.hz-sto-im img{width:100%;height:100%;object-fit:contain;display:block}
.hz-sto-a{display:flex;flex-wrap:wrap;gap:8px}
.hz-sto-a>*{flex:1 1 auto;border:0;border-radius:999px;padding:11px 14px;font:700 14px 'Inter',sans-serif;cursor:pointer;background:#FBE3EE;color:#C2477F;text-align:center;white-space:nowrap}
.hz-sto-a .p{background:#D6427E;color:#fff}
.hz-sto-f{flex-basis:100%!important}
html[data-theme="dark"] .hz-sto-b{background:#1E1A22}
html[data-theme="dark"] .hz-sto-im{background:#2b1f33;color:#7855E0}
html[data-theme="dark"] .hz-sto-a>*{background:#2c2540;color:#ECE6DE}
html[data-theme="dark"] .hz-sto-a .p{background:#7855E0;color:#fff}
.hz-up{margin-top:12px;padding:12px 14px;border-radius:16px;background:rgba(224,122,85,.12);border:1px solid rgba(224,122,85,.35);display:flex;flex-direction:column;gap:10px}
.hz-up span{font:13.5px/1.4 'Inter',sans-serif;color:var(--ink-2,#ECE6DE)}
.hz-up button{border:0;border-radius:999px;padding:11px;font:700 14px 'Inter',sans-serif;cursor:pointer;background:linear-gradient(90deg,#E07A55,#F2B07A);color:#fff}
html:not([data-theme="dark"]) .hz-up{background:#FFF0F6;border-color:#F3C2D8}
html:not([data-theme="dark"]) .hz-up span{color:#6B3A55}
html:not([data-theme="dark"]) .hz-up button{background:linear-gradient(90deg,#D6427E,#F08BB3)}
.hz-btns{flex-wrap:wrap}.hz-btns .p,.hz-btns .hz-st{flex:1 1 100%}@media (min-width:761px){.hz-btns .p,.hz-btns .hz-st{flex:1 1 0}}
/* 16 октября, снимок хозяина (Перплексити): ответ Айыы — без серого прямоугольника и в светлой теме; варианты — ↳ и тонкие линии. */
.cmsg.ai .cmsg-b{background:transparent!important;border:none!important;box-shadow:none!important;max-width:100%;padding:4px 2px;border-radius:0}
.chat-next{border-top:0!important;margin-top:18px!important}
.chat-next button{gap:14px!important;padding:15px 2px!important;font:500 15.5px/1.35 'Inter',sans-serif!important;color:var(--ink)!important}
.chat-next button:last-child{border-bottom:0!important}
.chat-next button svg{opacity:.75!important;color:var(--ink-2,var(--ink))}
.chat-next button:hover{opacity:.75}
.chat-next .of-i{width:20px!important;font-size:15px!important}
@media (max-width:1023px){.chat-next button{font-size:14px!important;padding:13px 2px!important}}
/* Ряд под ответом как у Перплексити (16 октября). */
.cmsg-acts.px{opacity:1!important;gap:6px;margin-top:8px;position:relative}
.cmsg-acts.px>button,.cmsg-acts.px .px-more>button{width:38px;height:38px;border:0;background:none;border-radius:10px;color:var(--ink-2,var(--ink));opacity:.8;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.cmsg-acts.px>button:hover,.cmsg-acts.px .px-more>button:hover{background:color-mix(in srgb,var(--ink) 7%,transparent);opacity:1}
.cmsg-acts.px .px-src{width:auto!important;padding:0 10px!important;gap:8px;font:500 13px 'Inter',sans-serif;color:var(--ink-3,var(--ink))!important}
.px-fav{display:inline-flex}.px-fav i{width:18px;height:18px;border-radius:50%;margin-left:-6px;border:1.5px solid var(--bg,#fff);background:#eee center/cover no-repeat;font:700 9px/15px 'Inter',sans-serif;font-style:normal;color:#777;text-align:center}
.px-fav i:first-child{margin-left:0}
.px-sp{flex:1}
.px-more{position:relative}
.px-menu{position:fixed;z-index:10050;min-width:230px;background:var(--bg,#fff);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 36px rgba(0,0,0,.16);padding:6px;display:flex;flex-direction:column}
.px-menu button{display:flex;align-items:center;gap:14px;border:0;background:none;padding:12px 12px;border-radius:10px;font:500 15px 'Inter',sans-serif;color:var(--ink);cursor:pointer;text-align:left}
.px-menu button:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}
html[data-theme="dark"] .px-menu{background:#26222b;border-color:#3a3340}
html[data-theme="dark"] .px-fav i{border-color:#110D17}
/* Источники спрятаны под кнопку «N источников», как у Перплексити. */
.show-links{display:none}.show-links.px-open{display:flex}
.hz-more{margin-top:14px;padding:12px 14px 10px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.hz-more .hz-d{margin:0}.hz-more .hz-y{margin:10px 0 0}
html:not([data-theme="dark"]) .hz-more{background:rgba(255,255,255,.6);border-color:#F3C2D8}
.hz-more .hz-dr{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important}.hz-more .hz-dr label{min-width:0}.hz-more .hz-dr input{width:100%!important;min-width:0!important;box-sizing:border-box;padding-left:8px!important;padding-right:6px!important}
#phone .cmsg.me{margin-bottom:14px}
/* 16 октября, снимок хозяина: «у Перплексити аккуратно, у нас колхозно, значки большие». Мельче, плотнее, линия под рядом. */
.cmsg-acts.px{gap:2px;margin-top:4px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.cmsg-acts.px>button,.cmsg-acts.px .px-more>button{width:30px;height:30px;border-radius:8px;opacity:.6}
.cmsg-acts.px .px-src{height:30px;padding:0 8px!important;margin-left:6px;font-size:12.5px;gap:6px}
.px-fav i{width:15px;height:15px;font-size:8px;line-height:12px}
.chat-next{margin-top:10px!important}
@media (min-width:1024px){
  .chat-next button{border-bottom:1px solid var(--line)!important;padding:11px 2px!important;font:400 14.5px/1.35 'Inter',sans-serif!important;gap:12px!important}
  .chat-next button:last-child{border-bottom:0!important}
  .chat-next button svg{width:16px;height:16px}
}
@media (max-width:1023px){.cmsg-acts.px>button svg,.cmsg-acts.px .px-more>button svg{width:18px;height:18px}.cmsg-acts.px>button,.cmsg-acts.px .px-more>button{width:34px;height:34px}}.cmsg-acts.px>button,.cmsg-acts.px .px-more>button{opacity:.75}
.cmsg-acts.px{border-bottom:0!important;padding-bottom:0!important}
.cmsg-acts.px>button svg,.cmsg-acts.px .px-more>button svg{width:14px!important;height:14px!important}.cmsg-acts.px>button,.cmsg-acts.px .px-more>button{width:28px!important;height:28px!important}@media (max-width:1023px){.cmsg-acts.px>button svg,.cmsg-acts.px .px-more>button svg{width:15px!important;height:15px!important}.cmsg-acts.px>button,.cmsg-acts.px .px-more>button{width:30px!important;height:30px!important}}
.hz-sto-a .hz-sto-v{flex-basis:100%!important;background:linear-gradient(90deg,#D6427E,#F08BB3)!important;color:#fff!important}
html[data-theme="dark"] .hz-sto-a .hz-sto-v{background:linear-gradient(90deg,#7855E0,#987AF2)!important}
#mz-bar{touch-action:none;cursor:grab}#mz-bar.drag{cursor:grabbing;transition:none;opacity:.95}
#mz-bar.dock{opacity:0!important;pointer-events:none!important;transition:opacity .2s ease}#mz-bar.dock *{pointer-events:none!important}
/* 16 октября, слово хозяина: заголовки рекламных карточек — как у «Айыы Плюс» (Forum смотрится неровно). */
.lnd-of>b{font-family:'Inter',sans-serif!important;font-weight:700!important;font-size:16px!important;letter-spacing:0!important;line-height:1.3!important}
/* 16 октября, снимок хозяина: «из-за одного квадратного изображения испортить классный вид чата? Поставь 16:9 и покажи карусель
   органично, чтобы не занимала много места». Карусель фото — во всю ширину ответа, кадр 16:9, снимок заполняет кадр (без размытых полос).
   Кнопка ⛶ по-прежнему раскрывает крупно — там снимок целиком. */
.show-car{max-width:100%!important}
.show-car:not(.show-big) .show-ph img{aspect-ratio:16/9!important;height:auto!important;max-height:none!important;object-fit:cover!important;object-position:50% 30%!important}
.show-car:not(.show-big) .show-more{aspect-ratio:16/9!important;max-height:none!important}
.show-car:not(.show-big) .show-ph::before{display:none}
/* Окно «Технопарк» (16 октября) */
.tp-b{gap:10px!important;width:min(440px,100%)!important;padding:18px!important}
.tp-h{font:700 17px 'Inter',sans-serif;color:var(--ink);padding-right:40px}
.tp-c{display:flex;flex-direction:column;gap:4px;text-align:left;border:1px solid var(--line);border-radius:16px;background:var(--bg,#fff);padding:13px 14px;cursor:pointer;color:var(--ink)}
.tp-c b{font:700 15.5px 'Inter',sans-serif}.tp-c span{font:14px/1.4 'Inter',sans-serif;color:var(--ink-2,var(--ink))}
.tp-c i{font:13px/1.4 'Inter',sans-serif;font-style:normal;color:var(--ink-3,#777);background:rgba(127,127,127,.08);border-radius:10px;padding:7px 9px;margin-top:4px}
.tp-c:hover{border-color:var(--wa)}
.tp-n{font:12.5px/1.4 'Inter',sans-serif;color:var(--ink-3,#777)}
html[data-theme="dark"] .tp-c{background:#26222b;border-color:#3a3340}

/* Спросить автора — кнопка в ленте (16 октября) */
.ln-ask{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:6px 12px;border-radius:999px;border:1.5px solid var(--wa,#E07A55);background:transparent;color:var(--wa,#E07A55);font:700 13px Inter,system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.ln-ask:hover{background:color-mix(in srgb,var(--wa,#E07A55) 12%,transparent)}

/* 16 октября, вечер, слово хозяина: «у Перплексити были разделители у вариантов — верни». Тонкая линия между вариантами (не после последнего), в обеих темах. */
.chat-next button{border-bottom:1px solid var(--line)!important}.chat-next button:last-child{border-bottom:0!important}

/* Профиль «Кел, кепсетиех» (16 октября): своя страница вопросов прямо в профиле. Минимально, в обеих темах. */
.la{margin:12px 16px;padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--panel)}
.la-h b{display:block;font-size:17px;color:var(--ink)}.la-h span{display:block;font-size:13px;color:var(--ink-2);margin-top:2px}
.la-st{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.la-st div{padding:10px 6px;border-radius:12px;background:var(--bg);text-align:center}
.la-st b{display:block;font-size:18px;color:var(--wa)}.la-st span{font-size:11.5px;color:var(--ink-2)}
.la-lnk{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;border-radius:12px;background:var(--bg);font-size:14px;color:var(--ink)}.la-lnk span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.la-lnk button,.la-act button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:10px;padding:7px 11px;font:600 13px Inter,sans-serif;cursor:pointer}
.la-act{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 6px}.la-act button{padding:10px 6px}
.la-t{font-size:13px;font-weight:700;color:var(--ink-2);margin:14px 0 6px}
.la textarea,.la input{width:100%;box-sizing:border-box;font:15px/1.4 Inter,sans-serif;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);resize:vertical}
.la-f input{margin-bottom:8px}
.la-pr{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.la-pr button{flex:1 0 28%;padding:8px 0;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:700 13.5px Inter,sans-serif;cursor:pointer}
.la-pr button.on{border-color:var(--wa);color:var(--wa)}
.la-save{width:100%;margin-top:6px;padding:12px;border:0;border-radius:12px;background:var(--wa);color:#fff;font:700 15px Inter,sans-serif;cursor:pointer}
.la-s{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--bg);margin-top:6px}.la-s div{flex:1}.la-s b{display:block;font-size:14.5px;color:var(--ink)}.la-s span{font-size:12px;color:var(--ink-2)}
.la-s button{border:0;background:none;color:var(--ink-3);font-size:16px;cursor:pointer}
.la-e{font-size:13.5px;color:var(--ink-2);padding:8px 0}
.la-f{margin-top:10px;padding:12px;border-radius:14px;border:1px dashed var(--line)}
.la-id{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.la-id span{width:100%;font-size:12px;color:var(--ink-2);font-weight:600}.la-id button{padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:500 12.5px Inter,sans-serif;cursor:pointer;text-align:left}
.la-tr{font-size:12.5px;line-height:1.45;color:var(--ink-2);padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--wa) 9%,transparent);margin-bottom:10px}

/* Найди меня · ярмарка потеряшек (16 октября) */
.pt-card{margin-top:10px;max-width:240px}.pt-card img{width:100%;border-radius:16px;display:block;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.pt-b{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.pt-b button{flex:1;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:10px;padding:8px 6px;font:600 12.5px Inter,sans-serif;cursor:pointer;white-space:nowrap}
.pt-b button:first-child{background:var(--wa);border-color:var(--wa);color:#fff}
.pt-feed{margin:12px 0}.pt-feed:empty{display:none}.pt-h{display:flex;justify-content:space-between;align-items:center;padding:0 16px 8px}.pt-h b{font-size:16px;color:var(--ink)}.pt-h a{font-size:13px;color:var(--wa);text-decoration:none;font-weight:600}
.pt-s{display:flex;gap:10px;overflow-x:auto;padding:0 16px 4px;scrollbar-width:none}.pt-s::-webkit-scrollbar{display:none}
.pt-i{flex:0 0 220px;display:block;text-decoration:none;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px}
.pt-i span{font-size:11.5px;font-weight:700;color:var(--wa)}.pt-i p{margin:6px 0 8px;font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.pt-i i{font-style:normal;font-size:12.5px;font-weight:700;color:var(--wa)}
/* 16 октября, снимок хозяина: «варианты — шрифт больше, чем у ответа». Варианты тише ответа: тот же размер чуть меньше, обычная толщина. */
@media (max-width:1023px){.chat-next button{font:400 13.5px/1.35 'Inter',sans-serif!important;color:var(--ink-2,var(--ink))!important}}

/* Мой путь — позвоночник (17 октября, вариант А) */
.pm{margin:12px 16px;padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--panel)}
.pm-h b{display:block;font-size:17px;color:var(--ink)}.pm-h span{display:block;font-size:12.5px;color:var(--ink-2);margin-top:2px;line-height:1.4}
.pm-e{font-size:13.5px;color:var(--ink-2);padding:12px 0 2px}
.pm-v{position:relative;padding-left:30px;margin-top:10px}.pm-v:before{content:'';position:absolute;left:9px;top:4px;bottom:4px;width:3px;border-radius:2px;background:linear-gradient(var(--wa),var(--line))}
.pm-yr{position:relative;font:800 12px Inter,sans-serif;color:var(--wa);margin:10px 0 6px}.pm-yr:before{content:'';position:absolute;left:-27px;top:1px;width:11px;height:11px;border-radius:50%;background:var(--wa);box-shadow:0 0 0 4px var(--panel)}
.pm-cd{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:14px;padding:10px 12px;margin-bottom:8px;cursor:pointer;font-family:Inter,sans-serif}
.pm-cd span{display:block;font-size:11.5px;color:var(--ink-2);font-weight:600}.pm-cd b{display:block;font-size:14.5px;margin:3px 0 6px;line-height:1.35}
.pm-c{display:inline-block;font-style:normal;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 9px;background:var(--line);color:var(--ink-2)}.pm-c.pm-on{background:color-mix(in srgb,var(--wa) 16%,transparent);color:var(--wa)}.pm-c.pm-lk{background:var(--wa);color:#fff}
.pm-ov{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;justify-content:center}
.pm-sh{width:100%;max-width:520px;max-height:90vh;overflow:auto;background:var(--panel);color:var(--ink);border-radius:22px 22px 0 0;padding:18px 16px 24px;box-sizing:border-box}
.pm-w{font-size:12.5px;color:var(--wa);font-weight:700}.pm-ld{font-size:14px;color:var(--ink-2);margin:10px 0}
.pm-sh input,.pm-sh textarea{width:100%;box-sizing:border-box;font:15px/1.45 Inter,sans-serif;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);margin-bottom:8px;resize:vertical}
.pm-sh input{font-weight:700;font-size:16px}
.pm-seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0}.pm-seg button{padding:11px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:700 14px Inter,sans-serif;cursor:pointer}.pm-seg button.on{border-color:var(--wa);color:var(--wa)}
.pm-x{display:block;width:100%;margin-top:8px;padding:11px;border:0;background:none;color:var(--ink-2);font:600 14px Inter,sans-serif;cursor:pointer}

/* Гороскоп: ссылка для Ватсапа и анимация публикации (17 октября) */
.hz-lnk{display:flex;align-items:center;gap:6px;margin-top:10px;padding:6px 6px 6px 14px;border-radius:999px;background:#2c2540;color:#ECE6DE;font-size:13px}
.hz-lnk span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}
.hz-lnk button{flex:none;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:inherit;font-size:16px;cursor:pointer;display:grid;place-items:center}
.hz-lnk .hz-wa{background:#25D366;color:#fff}
html:not([data-theme="dark"]) .hz-lnk{background:#fff;color:#241a22;border:1px solid #EBD3E3}html:not([data-theme="dark"]) .hz-lnk button{background:#FBE3EE}html:not([data-theme="dark"]) .hz-lnk .hz-wa{background:#25D366;color:#fff}
.hz-btns .hz-pub-go{background:linear-gradient(100deg,var(--wa) 20%,#ffd1a8 45%,var(--wa) 70%)!important;background-size:250% 100%!important;color:#fff!important;animation:hzShim 1s linear infinite}
@keyframes hzShim{from{background-position:120% 0}to{background-position:-120% 0}}
.hz-btns .hz-pub-ok{animation:hzPop .9s ease}
@keyframes hzPop{0%{transform:scale(1)}25%{transform:scale(1.12);box-shadow:0 0 0 6px color-mix(in srgb,var(--wa) 35%,transparent)}60%{transform:scale(.97)}100%{transform:scale(1);box-shadow:none}}
.hz-fx{position:fixed;z-index:99999;pointer-events:none;font-style:normal;font-size:20px;transform:translate(-50%,-50%);animation:hzFx 1.2s cubic-bezier(.2,.7,.3,1) forwards;opacity:0}
@keyframes hzFx{0%{opacity:1;transform:translate(-50%,-50%) scale(.4)}70%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1.15)}}

/* Мой путь: свёрнутые годы, ×/✎, повторы (17 октября) */
.pm-yb{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:6px 0;cursor:pointer;text-align:left}
.pm-yb span{font:800 14px Inter,sans-serif;color:var(--wa)}.pm-yb em{flex:1;font-style:normal;font-size:12px;color:var(--ink-2)}
.pm-yb i{font-style:normal;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font:700 16px Inter,sans-serif;color:var(--ink)}
.pm-cd{display:flex;gap:6px;align-items:flex-start;cursor:default}.pm-tx{flex:1;min-width:0;cursor:pointer}
.pm-ac{display:flex;flex-direction:column;gap:4px}.pm-ac button{width:30px;height:30px;border-radius:9px;border:1px solid var(--line);background:var(--panel);color:var(--ink-2);font:600 15px Inter,sans-serif;cursor:pointer;line-height:1}
.pm-ac button:last-child:hover{color:#d0533f;border-color:#d0533f}
.pm-dd{margin:10px 0 0;width:100%;padding:10px;border-radius:12px;border:1px dashed var(--wa);background:none;color:var(--wa);font:700 13.5px Inter,sans-serif;cursor:pointer}

/* Гороскоп: главная кнопка «Поделиться результатом в Айыы News» (17 октября) */
.hz-main{display:block;width:100%;margin-top:14px;border:0;border-radius:999px;padding:15px 14px;font:800 15.5px 'Inter',sans-serif;cursor:pointer;color:#fff;
  background:linear-gradient(100deg,var(--wa),#f2a77a);box-shadow:0 6px 22px color-mix(in srgb,var(--wa) 45%,transparent);animation:hzBreath 2.4s ease-in-out infinite}
@keyframes hzBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.025);box-shadow:0 8px 28px color-mix(in srgb,var(--wa) 60%,transparent)}}
.hz-main.hz-pub-go{animation:hzShim 1s linear infinite;background:linear-gradient(100deg,var(--wa) 20%,#ffd1a8 45%,var(--wa) 70%);background-size:250% 100%}
.hz-main.hz-pub-ok{animation:hzPop .9s ease}
.hz-main+.hz-btns{margin-top:8px}

/* Мой путь — чисто и красиво (17 октября, слово хозяина: «Forum, минимализм, чтобы красиво было»). Перекрывает прежний вид. */
.pm{background:none!important;border:0!important;padding:8px 20px 4px!important;margin:18px 0 8px!important}
.pm-h b{font:400 30px/1.1 Forum,serif!important;letter-spacing:.01em;color:var(--ink)}
.pm-h span{font-size:12.5px!important;color:var(--ink-3,var(--ink-2))!important;margin-top:6px!important;max-width:320px}
.pm-dd{border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;padding:10px 0!important;text-align:left;font:500 13px Inter,sans-serif!important;color:var(--wa)!important}
.pm-v{padding-left:0!important;margin-top:14px!important}.pm-v:before{display:none}
.pm-yb{display:flex;align-items:baseline;gap:12px;width:100%;border:0;border-top:1px solid var(--line);background:none;padding:14px 0 12px;cursor:pointer;text-align:left;color:var(--ink)}
.pm-yb span{font:400 26px/1 Forum,serif;color:var(--ink)}.pm-yb.on span{color:var(--wa)}
.pm-yb em{flex:1;font:500 12px Inter,sans-serif;font-style:normal;color:var(--ink-2);letter-spacing:.02em}
.pm-yb i{font:300 22px/1 Inter,sans-serif;font-style:normal;color:var(--ink-2);width:auto;height:auto;border:0}
.pm-ev{position:relative;display:flex;gap:10px;padding:10px 0 14px 22px}
.pm-ev:before{content:'';position:absolute;left:4px;top:0;bottom:0;width:1px;background:var(--line)}
.pm-ev:after{content:'';position:absolute;left:0;top:16px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1.5px solid var(--ink-2)}
.pm-ev.pub:after{background:var(--wa);border-color:var(--wa)}
.pm-tx{flex:1;min-width:0;cursor:pointer}
.pm-tx span{display:block;font:500 11.5px Inter,sans-serif;color:var(--ink-2);letter-spacing:.04em}
.pm-tx b{display:block;font:400 19px/1.3 Forum,serif;color:var(--ink);margin:3px 0 4px}
.pm-s{font-style:normal;font:500 11.5px Inter,sans-serif;color:var(--ink-3,var(--ink-2))}.pm-s.pm-on{color:var(--wa)}.pm-s.pm-lk{color:var(--wa);font-weight:700}
.pm-ac{display:flex;flex-direction:row;gap:2px;opacity:.45;transition:opacity .15s}.pm-ev:hover .pm-ac{opacity:1}
.pm-ac button{width:30px;height:30px;border:0!important;background:none!important;color:var(--ink-2);display:grid;place-items:center;border-radius:8px;cursor:pointer}
.pm-ac button:hover{background:var(--line)!important;color:var(--ink)}
.pm-e{font:400 17px/1.4 Forum,serif!important;color:var(--ink-2)!important}
.pm-sh .pm-w{font:400 15px Forum,serif;letter-spacing:.03em}

/* Сирэй как в Инсте (17 октября) */
.sy{padding:14px 18px 0}
.sy-hd{display:flex;align-items:center;gap:22px}
.sy-av{flex:none;width:86px;height:86px;border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--wa);box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--wa);overflow:hidden;display:grid;place-items:center}
.sy-av img{width:100%;height:100%;object-fit:cover}.sy-av span{font:400 38px Forum,serif;color:#fff}
.sy-ct{flex:1;display:flex;justify-content:space-between;text-align:center}.sy-ct b{display:block;font:700 19px Inter,sans-serif;color:var(--ink)}.sy-ct span{font-size:12.5px;color:var(--ink)}
.sy-nm{margin-top:12px}.sy-nm b{font:700 15px Inter,sans-serif;color:var(--ink)}.sy-nm span{margin-left:6px;font-size:13px;color:var(--ink-2)}
.sy-nm div{font-size:14px;line-height:1.45;color:var(--ink);margin-top:3px}.sy-nm a{display:inline-block;margin-top:3px;font-size:13.5px;color:var(--wa);text-decoration:none;font-weight:600}
.sy-dash{margin-top:14px;padding:12px 14px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.sy-dt{display:flex;justify-content:space-between;font:600 12px Inter,sans-serif;color:var(--ink-2)}
.sy-dn{display:flex;gap:18px;margin-top:8px}.sy-dn b{display:block;font:700 17px Inter,sans-serif;color:var(--ink)}.sy-dn span{font-size:11.5px;color:var(--ink-2)}
.sy-po{margin-top:10px;font-size:12.5px;color:var(--ink-2)}.sy-pob{display:block;width:100%;border:0;border-radius:10px;padding:9px;background:var(--wa);color:#fff;font:700 13.5px Inter,sans-serif;cursor:pointer}
.sy-bt{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.sy-bt button{border:0;border-radius:10px;padding:9px;background:var(--panel);color:var(--ink);font:600 13.5px Inter,sans-serif;cursor:pointer}
html:not([data-theme="dark"]) .sy-bt button{background:#F3ECF0}
.sy-tb{display:flex;margin:14px -18px 0;border-top:1px solid var(--line)}.sy-tb button{flex:1;border:0;background:none;padding:12px 0;font:600 13.5px Inter,sans-serif;color:var(--ink-2);cursor:pointer}
.sy-tb button.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}
.sy-empty{padding:40px 20px;text-align:center;font:400 17px Forum,serif;color:var(--ink-2)}
.sy + #ln-path .pm{margin-top:4px!important}.sy + #ln-path .pm-h b{display:none}
.sy-sh{padding-top:10px!important}.sy-g{width:40px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 12px}.sy-st{display:block;text-align:center;font:700 16px Inter,sans-serif;margin-bottom:12px}
.sy-sh .ln-nf{margin:0;padding:0;background:none;border:0}.sy-lb{display:block;font-size:12.5px;color:var(--ink-2);margin:10px 0 4px}
.sy-sh textarea{width:100%;box-sizing:border-box;font:15px/1.45 Inter,sans-serif;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);resize:vertical}
.sy-shr{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.sy-shr button{border:0;background:none;cursor:pointer;font-size:24px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--ink)}
.sy-shr button span{font:600 12px Inter,sans-serif}
.sy-sh .ln-nf-at{display:flex!important;align-items:center}.sy-sh .ln-nf-at input{flex:1;border:0!important;margin:0!important;background:none!important}.sy-sh .ln-nf label{display:block;font-size:12.5px;color:var(--ink-2);margin:10px 0 4px}
.pm-h span{max-width:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Аватарка в шапке чата вместо портфеля (17 октября, вариант А). На мониторе портфель-виджеты остаются, аватарка рядом. */
.h-me{width:38px!important;height:38px!important;padding:0!important;border-radius:50%!important;overflow:hidden;background:var(--wa)!important;color:#fff!important;
  box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--wa);display:grid!important;place-items:center;flex:none}
.h-me span{font:400 18px Forum,serif;display:grid;place-items:center;width:100%;height:100%}.h-me img{width:100%;height:100%;object-fit:cover;display:block}
.sy{position:relative}.sy-mn{position:absolute;right:12px;top:6px;border:0;background:none;color:var(--ink);cursor:pointer;padding:6px;z-index:2}
.sy-hd{padding-right:30px}
.h-me b{display:grid!important;place-items:center;width:100%;height:100%;font:400 19px Forum,serif;color:#fff}

/* 17 октября: чемодана и виджетов больше нет; лендинги с заявками — во вкладке профиля */
.sy-bd{display:inline-block;min-width:16px;padding:0 5px;border-radius:999px;background:var(--wa);color:#fff;font:700 10.5px/16px Inter,sans-serif;font-style:normal;margin-left:2px}
.sl{margin:14px 18px;padding:14px;border:1px solid var(--line);border-radius:16px}
.sl-h{display:flex;gap:10px;align-items:flex-start}.sl-h>div{flex:1;min-width:0}.sl-h b{display:block;font:400 19px/1.25 Forum,serif;color:var(--ink)}
.sl-h a{font-size:12.5px;color:var(--wa);text-decoration:none}.sl-h button{border:1px solid var(--line);background:none;color:var(--ink);border-radius:999px;padding:6px 12px;font:600 12.5px Inter,sans-serif;cursor:pointer}
.sl-n{font-size:12.5px;color:var(--ink-2);margin:8px 0 4px}.sl-n span{color:var(--wa);font-weight:700}
.sl-l{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink)}.sl-l>div{flex:1;min-width:0}
.sl-l p{margin:4px 0 0;color:var(--ink);opacity:.85;line-height:1.4}.sl-l i{display:block;font-style:normal;font-size:11.5px;color:var(--ink-2);margin-top:4px}
.sl-l.new b{color:var(--wa)}.sl-l button{border:0;background:var(--line);color:var(--ink-2);width:30px;height:30px;border-radius:50%;cursor:pointer}
.sy-nm a{display:block!important;width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;margin-top:4px!important}.sy-nm span{white-space:nowrap}

/* 17 октября, слово хозяина: «стиль нормальный, верни общий шрифт — Forum нечитабельный». Позвоночник, лендинги, пусто — обычным шрифтом. */
.pm-yb span{font:700 20px/1 Inter,sans-serif!important;letter-spacing:-.01em}
.pm-tx b{font:600 15.5px/1.35 Inter,sans-serif!important}
.pm-e,.sy-empty{font:400 14.5px/1.45 Inter,sans-serif!important}
.sl-h b{font:700 16px/1.3 Inter,sans-serif!important}
.sy-av span{font:600 34px Inter,sans-serif!important}.h-me b{font:600 17px Inter,sans-serif!important}

/* Лендинги: свернуть/развернуть (17 октября) */
.sl-t{width:30px;height:30px;padding:0!important;border-radius:50%!important;font:400 18px/1 Inter,sans-serif!important;margin-left:4px}
.sl:not(.on) .sl-n{margin-bottom:0}
/* Сирэй для незарегистрированного: пример пути и одна кнопка */
.sg{padding:22px 22px 30px;text-align:center}
.sg-pv{position:relative;text-align:left;margin:0 auto 22px;max-width:340px;padding:14px 16px 4px 34px;border:1px solid var(--line);border-radius:18px;background:var(--panel);overflow:hidden;height:220px}
.sg-pv:before{content:'';position:absolute;left:20px;top:18px;bottom:0;width:1px;background:var(--line)}
.sg-yr{font:700 17px Inter,sans-serif;color:var(--wa);margin:6px 0 4px}
.sg-ev{position:relative;padding:4px 0 10px}.sg-ev:after{content:'';position:absolute;left:-18px;top:9px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--ink-2);background:var(--panel)}.sg-ev.on:after{background:var(--wa);border-color:var(--wa)}
.sg-ev span{font-size:11px;color:var(--ink-2)}.sg-ev b{display:block;font:600 14.5px/1.3 Inter,sans-serif;color:var(--ink)}.sg-ev i{display:inline-block;margin-top:5px;font-style:normal;font:600 11.5px Inter,sans-serif;color:var(--wa);border:1px solid var(--wa);border-radius:999px;padding:3px 10px}
.sg-fd{position:absolute;left:0;right:0;bottom:0;height:60px;background:linear-gradient(transparent,var(--panel))}
.sg h2{font:800 22px/1.25 Inter,sans-serif;color:var(--ink);margin:0 0 12px}
.sg ul{list-style:none;padding:0;margin:0 auto 20px;max-width:340px;text-align:left}.sg li{position:relative;padding:6px 0 6px 24px;font-size:14.5px;line-height:1.4;color:var(--ink)}.sg li:before{content:'✓';position:absolute;left:0;color:var(--wa);font-weight:700}
.sg .la-save{max-width:340px;margin:0 auto;display:block}.sg-n{font-size:12.5px;color:var(--ink-2);margin-top:10px}
/* 17 октября, слово хозяина: годы не крупнее «Мой путь» */ .pm-yb span{font:700 14px/1 Inter,sans-serif!important}.pm-yb{padding:12px 0 10px!important}.pm-yb em{font-size:11.5px!important}.pm-yb i{font-size:18px!important}
.sg-yr{font-size:14px!important}

/* Фото в событиях пути (17 октября) */
.pm-ph{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:4px 0 6px}.pm-ph:empty{display:none}
.pm-ph div{position:relative}.pm-ph img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}
.pm-ph button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:14px;line-height:22px;cursor:pointer;padding:0}
.pm-phb{display:block;text-align:center;padding:11px;border:1px dashed var(--line);border-radius:12px;font:600 14px Inter,sans-serif;color:var(--ink-2);cursor:pointer;margin-bottom:10px}

/* Шапка Сирэй без цифр (17 октября): аватар слева, имя и о себе справа */
.sy-hd{align-items:center!important;gap:16px!important;padding-right:0!important}.sy-hd .sy-nm{margin-top:0!important;flex:1;min-width:0}
.sy-hd .sy-nm b{display:block;font-size:17px}.sy-hd .sy-nm span{margin-left:0!important;display:block;font-size:13px}
.sy-av{width:78px!important;height:78px!important}
.pm-tree{margin:4px 0 6px}.pm-rt{text-align:center;font-size:12px;color:var(--ink-2);margin-top:-6px}
.pm-yr-sh .pm-ev{padding-left:22px}.pm-yr-sh .sy-st{font-size:20px}

/* Гороскоп: карточка входа после результата (17 октября) */
.hz-reg{margin-top:14px;padding:16px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);text-align:left}
html:not([data-theme="dark"]) .hz-reg{background:#fff;border-color:#EBD3E3}
.hz-reg b{display:block;font:800 15.5px/1.3 Inter,sans-serif}.hz-reg ul{list-style:none;padding:0;margin:10px 0 12px}
.hz-reg li{position:relative;padding:4px 0 4px 22px;font-size:13.5px;line-height:1.4;opacity:.9}.hz-reg li:before{content:'✓';position:absolute;left:0;color:var(--wa);font-weight:800}
.hz-reg button{display:block;width:100%;border:0;border-radius:999px;padding:13px;background:#fff;color:#241a22;font:800 15px Inter,sans-serif;cursor:pointer}
html:not([data-theme="dark"]) .hz-reg button{background:var(--wa);color:#fff}
.hz-reg span{display:block;text-align:center;font-size:12px;opacity:.65;margin-top:8px}

/* Аал Луук Мас — эмблема пути (17 октября) */
.pm-em{display:flex;align-items:center;gap:16px;margin:6px 0 4px}.pm-em-t{width:112px;height:auto;flex:none}
.pm-em-x b{display:block;font:800 18px/1.25 Inter,sans-serif;color:var(--ink)}.pm-em-x p{margin:4px 0 6px;font-size:13.5px;line-height:1.4;color:var(--ink)}
.pm-em-x span{display:block;font-size:12px;color:var(--ink-2)}
#pm-ll .lifeline{margin:6px 0 10px!important}

.pm-lf{transform-box:view-box;animation:pmLeaf .55s cubic-bezier(.3,1.5,.5,1) both}
@keyframes pmLeaf{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.pm-em-t{animation:pmGrow .6s ease both}@keyframes pmGrow{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pm-rec{margin-top:6px;font-size:12px;color:var(--ink-2)}.pm-rec b{color:var(--wa)}
@media (prefers-reduced-motion:reduce){.pm-lf,.pm-em-t{animation:none}}
.pm-em-x .pm-rec b{display:inline!important;font:700 12.5px Inter,sans-serif!important;color:var(--wa)!important}
/* 17 октября, слово хозяина: большой фиолетовый счётчик дней в профиле лишний — дни и так в «Аал Луук Мас» */ #ln-path #ml-now,#pm-ll #ml-now{display:none!important}

/* Лист падает при удалении (17 октября) */
.pm-fall{transform-box:fill-box;transform-origin:50% 0;animation:pmFall 1.1s cubic-bezier(.45,.05,.7,.6) forwards;pointer-events:none}
@keyframes pmFall{0%{transform:none;opacity:1}30%{transform:translate(calc(var(--dx) * .3),40px) rotate(40deg)}60%{transform:translate(calc(var(--dx) * -.2),120px) rotate(-30deg);opacity:.9}100%{transform:translate(var(--dx),230px) rotate(120deg);opacity:0}}
.pm-em-t{overflow:visible}.pm-em{position:relative;z-index:2}
.llpop .price,button.price{border:1px solid var(--wa)!important;color:var(--wa)!important;background:none!important}
.pm-shr{margin-top:10px;border:1px solid var(--wa);background:none;color:var(--wa);border-radius:999px;padding:8px 14px;font:700 13px Inter,sans-serif;cursor:pointer}
.ll-node.ll-still,.ll-still{animation:none!important}

/* Туруору / Сытыары и ствол-линия (17 октября) */
.pm-vw{display:inline-flex;margin:8px 0 4px;border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}
.pm-vw button{border:0;background:none;padding:7px 14px;border-radius:999px;font:700 12.5px Inter,sans-serif;color:var(--ink-2);cursor:pointer}.pm-vw button.on{background:var(--ink);color:var(--bg)}
.pm-sp{position:relative;padding:8px 0 20px;margin-top:6px}.pm-sp:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:6px;margin-left:-3px;border-radius:3px;background:var(--ink)}
.pm-sy{position:relative;text-align:center;margin:12px 0 6px}.pm-sy b{display:inline-block;background:var(--bg);padding:3px 11px;border:2px solid var(--ink);border-radius:999px;font:800 12px Inter,sans-serif;color:var(--ink)}
.pm-se{position:relative;display:block;width:46%;margin:6px 0;border:0;background:none;cursor:pointer;color:var(--ink);font-family:Inter,sans-serif;box-sizing:border-box}
.pm-se.l{text-align:right;padding:0 16px 0 0}.pm-se.r{margin-left:54%;text-align:left;padding:0 0 0 16px}
.pm-se:after{content:'';position:absolute;top:8px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--ink);box-sizing:border-box}.pm-se.l:after{right:-13px}.pm-se.r:after{left:-13px}
.pm-se.pub:after{background:var(--ink)}.pm-se.lk:after{background:var(--wa);border-color:var(--wa)}.pm-se.sel:after{background:var(--wa);border-color:var(--wa);box-shadow:0 0 0 6px color-mix(in srgb,var(--wa) 35%,transparent)}
.pm-se i{display:block;font:600 10.5px Inter,sans-serif;font-style:normal;color:var(--ink-2)}.pm-se b{display:block;font:600 13.5px/1.3 Inter,sans-serif}
.pm-cd2{position:relative;margin:10px 0 6px;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 10px 28px rgba(0,0,0,.14);animation:pmGrow .3s ease both}
.pm-cx{position:absolute;right:10px;top:8px;border:0;background:none;font-size:22px;color:var(--ink-2);cursor:pointer}
.pm-cdd{font:700 11.5px Inter,sans-serif;color:var(--wa)}.pm-cd2 h3{margin:4px 30px 12px 0;font:800 17px/1.3 Inter,sans-serif;color:var(--ink)}
.pm-sg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pm-sg button,.pm-pp button,.pm-bb button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:11px;padding:9px 4px;font:700 12px Inter,sans-serif;cursor:pointer}
.pm-sg button.on{border-color:var(--wa);color:var(--wa)}.pm-pp{display:flex;gap:5px;margin-top:8px}.pm-pp button{flex:1}.pm-pp button.on{background:var(--wa);border-color:var(--wa);color:#fff}
.pm-bb{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.pm-bb .x{color:#c4554a}
.pm-sp{padding-bottom:0}.pm-rt2{display:block;width:200px;height:70px;margin:-2px auto 0}.pm-born{text-align:center;font:700 12px Inter,sans-serif;color:var(--ink-2);margin:2px 0 14px}

/* Аал Луук Мас по центру (17 октября): слова сверху, дерево крупно посередине, ствол уходит прямо в линию */
.pm-em2{flex-direction:column;align-items:center;text-align:center;gap:6px}
.pm-em2 .pm-em-x b{font-size:21px}.pm-em2 .pm-em-x p{max-width:320px;margin:6px auto 6px}
.pm-em-r{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px}.pm-em-r .pm-vw,.pm-em-r .pm-shr{margin:0}
.pm-em2 .pm-em-t{width:230px;margin-top:8px;margin-bottom:-8px}
.pm-em2 + #pm-ll + #pm-card + .pm-sp,.pm-em2 ~ .pm-sp{margin-top:-6px}

/* Годы на стволе — заметнее; карточка — прямо под событием (17 октября) */
.pm-sy{margin:18px 0 10px!important}.pm-sy b{background:var(--wa)!important;border-color:var(--wa)!important;color:#fff!important;font:800 15px Inter,sans-serif!important;padding:6px 16px!important;box-shadow:0 0 0 5px var(--bg)}
.pm-sy i{display:block;font:600 11px Inter,sans-serif;font-style:normal;color:var(--ink-2);margin-top:4px;position:relative}
.pm-sy i{background:var(--bg);display:table;margin:4px auto 0;padding:0 6px}
.pm-cdw{position:relative;z-index:2;margin:4px 0 10px}

/* сворачиваемые годы на стволе (17 октября) */
button.pm-sy{display:block;width:100%;background:none;border:0;padding:0;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}
.pm-sy b span{display:inline-block;margin-left:4px;opacity:.85;font-weight:700}
.pm-sy.cl b{background:var(--bg)!important;color:var(--wa)!important}

/* цифры в профиле (17 октября) */
.sy-st{display:flex;margin:4px 0 12px}.sy-st>*{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:0;padding:4px 0;font:inherit;color:var(--ink);cursor:default}.sy-st>button{cursor:pointer}.sy-st b{font:800 18px Inter,sans-serif}.sy-st span{font-size:12.5px;color:var(--ink-2);text-transform:lowercase}

.pm-em-b{text-align:center;margin:6px 0 96px}
.pm-born{position:relative;z-index:1;background:var(--bg);display:table!important;margin:2px auto 14px!important;padding:0 6px}

/* 17 октября, слово хозяина: «дерево анимируется при каждом открытии — маленькая анимация, без артефактов, зависаний и дёрганий».
   Только прозрачность и масштаб, без отскока; всё дерево собирается меньше чем за секунду. */
.pm-lf{animation:pmLeaf2 .42s cubic-bezier(.2,.7,.3,1) both!important}
@keyframes pmLeaf2{from{transform:scale(.35);opacity:0}to{transform:scale(1);opacity:1}}
.pm-em2 .pm-em-t{animation:pmGrow2 .45s cubic-bezier(.2,.7,.3,1) both!important;backface-visibility:hidden}
@keyframes pmGrow2{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pm-lf,.pm-em2 .pm-em-t{animation:none!important}}
.pm-q .pm-em-t{animation:none!important}

/* запросы на открытие событий (17 октября) */
.pm-rq{margin:6px 0 14px;padding:14px;border:1.5px solid var(--wa);border-radius:18px;text-align:left}.pm-rq>b{display:block;font:800 15px Inter,sans-serif;color:var(--ink);margin-bottom:8px}
.pm-rq p{margin:8px 0 0;font-size:12.5px;color:var(--ink-2);line-height:1.4}.pm-rqi{padding:10px 0;border-top:1px solid var(--line,rgba(127,127,127,.18))}
.pm-rqi i{display:block;font:600 11.5px Inter,sans-serif;font-style:normal;color:var(--ink-2)}.pm-rqi span{display:block;font:700 14.5px/1.35 Inter,sans-serif;color:var(--ink);margin-top:2px}
.pm-rqb{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.pm-rqb button{flex:1;min-width:84px;padding:9px 10px;border-radius:12px;border:1px solid var(--line,rgba(127,127,127,.25));background:none;color:var(--ink);font:700 13px Inter,sans-serif;cursor:pointer}
.pm-rqb .ok{background:var(--wa);border-color:var(--wa);color:#fff}.pm-rqb .x{color:#d9534f}
/* значки «Поделиться профилем» (17 октября) */
.sy-shr button i{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(127,127,127,.12);color:var(--ink);transition:background .15s}
.sy-shr button:hover i,.sy-shr button:active i{background:var(--wa);color:#fff}
.pm-leaf{position:fixed;z-index:9999;pointer-events:none;will-change:transform,opacity}
.pm-sg{grid-template-columns:repeat(4,1fr)!important}.pm-sg button{font-size:11.5px!important;padding:9px 2px!important}
.pm-se.hd b{opacity:.45}.pm-se.hd i:after{content:' · 🙈'}
/* чужой Сирэй внутри Айыы (17 октября) */
.cs-ov{position:fixed;inset:0;z-index:9000;background:var(--bg);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .22s cubic-bezier(.2,.7,.3,1)}
.cs-ov.on{transform:none}
.cs-hd{display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top,0px) + 8px) 10px 8px;border-bottom:1px solid var(--line,rgba(127,127,127,.18))}
.cs-hd b{flex:1;font:700 16px Inter,sans-serif;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cs-hd button{width:40px;height:40px;border-radius:50%;border:0;background:none;color:var(--ink);display:grid;place-items:center;cursor:pointer}
.cs-hd button:active{background:rgba(127,127,127,.15)}
.cs-ov iframe{flex:1;width:100%;border:0;background:var(--bg)}
@media (min-width:900px){.cs-ov{left:auto;width:520px;box-shadow:-20px 0 60px rgba(0,0,0,.25)}}

/* поиск людей и табы уведомлений (17 октября) */
.uv-tb{display:flex;gap:6px;padding:4px 16px 8px}.uv-tb button{flex:1;padding:9px 10px;border-radius:12px;border:1px solid var(--line,rgba(127,127,127,.25));background:none;color:var(--ink-2);font:700 13.5px Inter,sans-serif;cursor:pointer}
.uv-tb button.on{background:var(--wa);border-color:var(--wa);color:#fff}
.pp{padding:4px 0 90px}.pp-s{padding:6px 16px 4px;font:600 12px Inter,sans-serif;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}.pp-e{padding:30px 16px;text-align:center;color:var(--ink-2)}
.pp-i{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer}.pp-i:active{background:rgba(127,127,127,.1)}
.pp-a{position:relative;flex:none;width:50px;height:50px;border-radius:50%;overflow:hidden;background:var(--wa);display:grid;place-items:center;box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--wa)}
.pp-a b{color:#fff;font:800 20px Inter,sans-serif}.pp-a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pp-t{flex:1;min-width:0}.pp-t b{display:block;font:700 15px Inter,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-t i{display:block;font:500 13px Inter,sans-serif;font-style:normal;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-i svg{color:var(--ink-2);flex:none}
.vx{margin:6px 0 4px}.vx-i{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line,rgba(127,127,127,.18))}.vx-i span{font:700 14.5px Inter,sans-serif;color:var(--ink)}.vx-i em{font:600 11.5px Inter,sans-serif;font-style:normal;color:var(--wa);margin-left:4px}.vx-i i{font:500 12.5px Inter,sans-serif;font-style:normal;color:var(--ink-2);white-space:nowrap}.vx-p{font-size:12.5px;color:var(--ink-2);line-height:1.45;margin:10px 0}

/* Айыы-редактор пути (17 октября) */
.pr{margin:6px 0 16px;text-align:left}.pr-hd{border:1.5px solid var(--wa);border-radius:18px;padding:14px}.pr-hd b{display:block;font:800 15.5px Inter,sans-serif;color:var(--ink)}
.pr-hd p{margin:4px 0 10px;font-size:13px;color:var(--ink-2);line-height:1.45}.pr-all,.pr-mk{display:block;width:100%;border:0;border-radius:12px;padding:11px;background:var(--wa);color:#fff;font:700 14px Inter,sans-serif;cursor:pointer}
.pr-mk{background:none;border:1px solid var(--wa);color:var(--wa);margin-top:8px}.pr-all:disabled,.pr-mk:disabled{opacity:.6}
.pr-ev{border:1px solid var(--line,rgba(127,127,127,.22));border-radius:18px;padding:14px;margin-top:10px}.pr-ev>i{display:block;font:600 11.5px Inter,sans-serif;font-style:normal;color:var(--ink-2)}
.pr-ev s{display:block;font-size:12px;color:var(--ink-2);opacity:.75;margin-top:4px}.pr-ev>b{display:block;font:800 16px/1.3 Inter,sans-serif;color:var(--ink);margin-top:4px}.pr-ev>p{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:var(--ink);opacity:.85}
.pr-sg{display:inline-flex;margin-top:10px;padding:6px 11px;border-radius:999px;font:700 12.5px Inter,sans-serif}.pr-sg.f{background:rgba(70,160,90,.14);color:#3d9a55}.pr-sg.l{background:rgba(224,122,85,.16);color:var(--wa)}.pr-sg.x{background:rgba(127,127,127,.15);color:var(--ink-2)}
.pr-ev>em{display:block;font-size:12px;font-style:normal;color:var(--ink-2);margin-top:6px}.pr-ac{display:flex;gap:6px;margin-top:10px}.pr-ac button{flex:1;padding:9px 4px;border-radius:11px;border:1px solid var(--line,rgba(127,127,127,.3));background:none;color:var(--ink);font:700 12.5px Inter,sans-serif;cursor:pointer}
.pr-ac .ok{background:var(--wa);border-color:var(--wa);color:#fff}.pr-more{display:block;width:100%;margin-top:10px;padding:10px;border-radius:12px;border:1px dashed var(--line,rgba(127,127,127,.4));background:none;color:var(--ink-2);font:700 13px Inter,sans-serif}
.pr-alt{display:flex;flex-direction:column;gap:8px;margin:10px 0}.pr-alt button{padding:12px;border-radius:12px;border:1px solid var(--line,rgba(127,127,127,.3));background:none;color:var(--ink);font:700 14px Inter,sans-serif;text-align:left}.pr-pp{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.ln-nav{z-index:30}.ln-top{position:relative;z-index:30}
.ps-sub{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;margin:0 0 14px;padding:12px 14px;border-radius:14px;border:1px solid var(--line,rgba(127,127,127,.25));background:none;color:var(--ink);cursor:pointer;text-align:left}.ps-sub span{font:700 14px Inter,sans-serif}.ps-sub b{font:700 13px Inter,sans-serif;color:var(--wa);white-space:nowrap}
.pq-in textarea{width:100%;box-sizing:border-box;margin-top:8px;font:14.5px Inter,sans-serif;padding:10px 12px;border-radius:12px;border:1px solid var(--line,rgba(127,127,127,.3));background:var(--bg);color:var(--ink);resize:vertical}
.pk{display:flex;gap:12px;align-items:center;margin:0 0 14px;padding:12px;border-radius:16px;border:1px solid var(--line,rgba(127,127,127,.25));text-align:left}.pk-c{flex:none;width:52px;height:70px;border-radius:3px 8px 8px 3px;background:linear-gradient(135deg,#2B1E19,#100E0D);display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.2)}.pk-t{flex:1;min-width:0}.pk-t b{display:block;font:800 15px Inter,sans-serif;color:var(--ink)}.pk-t span{display:block;font-size:12.5px;color:var(--ink-2);margin-top:2px}.pk-b{display:flex;gap:6px;margin-top:8px}.pk-b button{flex:1;padding:8px 6px;border-radius:10px;border:1px solid var(--line,rgba(127,127,127,.3));background:none;color:var(--ink);font:700 12.5px Inter,sans-serif;cursor:pointer}.pk-b .ok{background:var(--wa);border-color:var(--wa);color:#fff}
.pr-del{display:block;width:100%;margin-top:12px;padding:12px;border-radius:12px;border:1px solid rgba(217,83,79,.4);background:none;color:#d9534f;font:700 14px Inter,sans-serif;cursor:pointer}
@media (min-width:1000px){body:has(#cs-ov.on)::after{content:'';position:fixed;inset:0;right:520px;z-index:8999;background:rgba(0,0,0,.28);cursor:pointer}}
.pr-auto{margin:0 0 14px;padding:12px 14px;border-radius:14px;border:1.5px dashed var(--wa);color:var(--ink);font:700 13.5px Inter,sans-serif;text-align:center;animation:prPulse 1.6s ease-in-out infinite}.pr-auto b{color:var(--wa)}@keyframes prPulse{50%{opacity:.6}}

/* баннер «Книга твоей жизни» в ленте (17 октября) */
.kt{display:flex;gap:14px;align-items:center;margin:10px 12px;padding:14px;border-radius:18px;background:linear-gradient(135deg,rgba(194,71,127,.10),rgba(224,122,85,.10));border:1px solid var(--line,rgba(127,127,127,.2));cursor:pointer}
.kt-c{flex:none;width:96px;height:132px;border-radius:3px 9px 9px 3px;background:radial-gradient(120% 80% at 50% 30%,#3A2A22,#120F0D);box-shadow:0 10px 24px rgba(0,0,0,.28),inset 5px 0 0 rgba(255,255,255,.05);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#F5F1EA}
.kt-c i{font:600 6.5px Inter,sans-serif;letter-spacing:.2em;color:#E07A55;margin-top:6px;font-style:normal}.kt-c b{font:400 12px Georgia,serif;margin-top:3px}
.kt-t{flex:1;min-width:0}.kt-t span{font:700 11.5px Inter,sans-serif;color:var(--wa);text-transform:uppercase;letter-spacing:.04em}.kt-t>b{display:block;font:800 18px/1.25 Inter,sans-serif;color:var(--ink);margin-top:3px}
.kt-t p{margin:5px 0 9px;font-size:13px;line-height:1.45;color:var(--ink-2)}.kt-t button{border:0;border-radius:999px;padding:8px 14px;background:var(--wa);color:#fff;font:700 13px Inter,sans-serif;cursor:pointer}
.kg-s{display:flex;gap:12px;margin:12px 0}.kg-s>i{flex:none;width:28px;height:28px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;font:800 14px Inter,sans-serif;font-style:normal}
.kg-s b{display:block;font:800 15px Inter,sans-serif;color:var(--ink)}.kg-s p{margin:3px 0 0;font-size:13.5px;line-height:1.45;color:var(--ink-2)}

.kt.kt-v{flex-direction:column;text-align:center;margin:0 0 16px;padding:18px 14px;background:none;border:1px solid var(--line);border-radius:16px}.kt.kt-v .kt-t button{margin:0 auto}
.lnd-l>button>svg:first-child{width:20px!important;height:20px!important;flex:0 0 20px}

/* 17 октября, слово хозяина: окна Сирэй на ПК — по середине экрана, как «Тарифы». */
.sy-x{display:none}
@media (min-width:900px){
.pm-ov:has(>.sy-sh){align-items:center;padding:24px}
.pm-sh.sy-sh{position:relative;max-width:560px;border-radius:22px;padding:30px 34px 28px!important;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.sy-sh>.sy-g{display:none}
.sy-sh>.sy-x{display:block;position:absolute;top:16px;right:18px;width:32px;height:32px;border:0;background:none;color:var(--ink-2);font:300 26px/1 Inter,sans-serif;cursor:pointer;border-radius:50%}
.sy-sh>.sy-x:hover{background:var(--line)}
.sy-sh>.sy-st{font:400 26px/1.25 Forum,Georgia,serif;margin:0 30px 20px}
}

/* Таблицы в ответах Айыы (17 октября). */
.md-tw{overflow-x:auto;margin:8px 0;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px}
.md-t{border-collapse:collapse;width:100%;font-size:13px;line-height:1.35}
.md-t th,.md-t td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.md-t th{font-weight:700;font-size:12px;color:var(--ink-2);background:color-mix(in srgb,var(--line) 35%,transparent);white-space:nowrap}
.md-t tr:last-child td{border-bottom:0}
.md-t td:first-child{font-weight:600}.md-t td{white-space:nowrap}.md-t tr.md-tg td{white-space:normal}.md-t td:only-child{white-space:normal}
.md-t tr.md-tg td{font-weight:700;color:var(--wa);background:color-mix(in srgb,var(--wa) 9%,transparent)}

/* ИИ-диетолог: карточка съеденного в разговоре (17 октября). */
.ed{margin:10px 0 4px;border:1px solid var(--line);border-radius:20px;padding:16px 16px 14px;background:var(--panel,#fff);color:var(--ink);font-family:Inter,sans-serif;max-width:520px;line-height:1.3}
.ed .ed-h{font:600 13px Inter,sans-serif;color:var(--ink-2);letter-spacing:.02em}
.ed .ed-t{display:flex;align-items:baseline;gap:8px;margin:8px 0 10px}.ed .ed-k{font:700 38px/1 Inter,sans-serif;letter-spacing:-.03em;color:var(--ink)}.ed .ed-t span:last-child{font:500 14px Inter,sans-serif;color:var(--ink-2)}
.ed .ed-r{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);font:500 14.5px Inter,sans-serif;color:var(--ink)}.ed .ed-n{flex:1;min-width:0}
.ed .ed-p{color:var(--ink-2);font-size:13px;white-space:nowrap}.ed .ed-c{font-weight:700;min-width:64px;text-align:right;white-space:nowrap}
.ed .ed-m{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:10px;padding-top:12px;border-top:1px solid var(--line)}
.ed .ed-v{display:block;font:700 16px Inter,sans-serif;color:var(--ink)}.ed .ed-m em{display:block;height:6px;border-radius:3px;background:var(--line);margin:6px 0 5px;overflow:hidden;font-style:normal}.ed .ed-m em i{display:block;height:100%;border-radius:3px}
.ed .ed-l{display:block;font:500 12px Inter,sans-serif;color:var(--ink-2)}
.ed .ed-f{margin-top:10px;font:500 11.5px Inter,sans-serif;color:var(--ink-2)}

/* Рацион: строка под карточкой и дневник во вкладке Сирэй (17 октября). */
.ed .ed-a{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font:600 13px Inter,sans-serif;color:var(--ink-2)}
.ed .ed-a span{flex:1;min-width:0}.ed .ed-a button{border:0;background:none;font:700 13px Inter,sans-serif;color:var(--wa);cursor:pointer;padding:4px 2px}.ed .ed-a button.x{color:var(--ink-2);font-weight:600}
.fd{padding:6px 16px 30px}.fd .ed{max-width:none}
.fd-nav{display:flex;align-items:center;justify-content:space-between;margin:6px 0 10px}.fd-nav b{font:700 17px Inter,sans-serif;color:var(--ink)}
.fd-nav button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--ink);font:400 22px/1 Inter,sans-serif;cursor:pointer}.fd-nav button:disabled{opacity:.3}
.fd-w{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font:600 14px Inter,sans-serif;color:var(--ink)}
.fd-w span{flex:1}.fd-w b{font-weight:700}.fd-w button{height:34px;min-width:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--ink);font:700 14px Inter,sans-serif;cursor:pointer}
.fd-w button.p{background:var(--wa);border-color:var(--wa);color:#fff}
.fd-i{border-bottom:1px solid var(--line);padding:12px 2px}.fd-ih{display:flex;align-items:center;gap:10px;font:600 13px Inter,sans-serif;color:var(--ink-2)}
.fd-ih span{flex:1}.fd-ih b{color:var(--ink);font-weight:700}.fd-ih button{border:0;background:none;color:var(--ink-2);font:400 20px/1 Inter,sans-serif;cursor:pointer;padding:0 4px}
.fd-it{margin-top:4px;font:500 14.5px/1.4 Inter,sans-serif;color:var(--ink)}
.fd-wk{margin-top:18px}.fd-wt{font:700 13px Inter,sans-serif;color:var(--ink-2);letter-spacing:.04em;text-transform:uppercase}
.fd-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px;align-items:end}
.fd-bars button{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;border:0;background:none;cursor:pointer;padding:0;height:110px}
.fd-bars i{display:block;width:70%;border-radius:6px;background:color-mix(in srgb,var(--wa) 35%,transparent)}.fd-bars button.on i{background:var(--wa)}
.fd-bars b{font:600 10.5px Inter,sans-serif;color:var(--ink-2);min-height:13px}.fd-bars span{font:600 12px Inter,sans-serif;color:var(--ink-2)}.fd-bars button.on span{color:var(--ink)}
.sy-tb{overflow-x:auto;scrollbar-width:none}.sy-tb::-webkit-scrollbar{display:none}.sy-tb button{white-space:nowrap;padding-left:8px;padding-right:8px}

.ed .ed-g{font:500 13.5px Inter,sans-serif;color:var(--ink-2);margin:-2px 0 8px}
.fd-pb{height:8px;border-radius:4px;background:var(--line);overflow:hidden;margin:2px 0 8px}.fd-pb i{display:block;height:100%;border-radius:4px;background:var(--wa)}
.fd-nn{margin-top:12px}

.fd-rm{margin-top:18px;display:flex;flex-direction:column;gap:10px}
.fd-rm label{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;font:500 14px/1.35 Inter,sans-serif;color:var(--ink);cursor:pointer}
.fd-rm input{width:20px;height:20px;accent-color:var(--wa);flex:none}

.fd-wh{display:flex;align-items:center;justify-content:space-between}.fd-wh button{border:0;background:none;font:700 13px Inter,sans-serif;color:var(--wa);cursor:pointer;padding:4px 0}

/* Экран «Питание»: три кнопки записи (17 октября). */
.fa{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:4px 0 14px}
.fa button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px 12px;border-radius:18px;border:1px solid var(--line);background:var(--panel,#fff);color:var(--ink);font:600 13px/1.25 Inter,sans-serif;cursor:pointer;text-align:center}
.fa i{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--wa) 14%,transparent);color:var(--wa)}.fa svg{width:24px;height:24px}

/* 18 октября, слово хозяина: «верни виджеты вместо лица» — портфель снова в шапке, аватарка убрана; Сирэй — в нижнем меню ленты. */
#h-widgets,.h-wg-old{display:none!important}
#ml-me{padding:14px 16px 4px}
.wm{display:flex;align-items:center;gap:14px}
.wm-av{flex:none;width:58px;height:58px;border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--wa);box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--wa);overflow:hidden;display:grid;place-items:center}
.wm-av img{width:100%;height:100%;object-fit:cover}.wm-av span{font:600 24px Inter,sans-serif;color:#fff}
.wm-t{flex:1;min-width:0;font-family:Inter,sans-serif}.wm-t .wm-n{display:block;font:700 16px/1.25 Inter,sans-serif;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wm-t .wm-h{display:block;font:400 13px Inter,sans-serif;color:var(--ink-2);margin-top:1px}
.wm-t a{display:block;font:500 13px Inter,sans-serif;color:var(--wa);text-decoration:none;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wm-go{flex:none;border:1px solid var(--line);background:none;color:var(--ink);border-radius:999px;padding:7px 13px;font:600 12.5px Inter,sans-serif;cursor:pointer}

/* Виджет «Рацион» (18 октября) */
.fw{margin:6px 0 18px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--bg);font-family:Inter,sans-serif}
.fw-t{display:flex;align-items:center;gap:16px}.fw-t>div{flex:1;min-width:0}
.fw-rk{font:700 17px Inter,sans-serif;fill:var(--ink)}.fw-rl{font:500 10px Inter,sans-serif;fill:var(--ink-2)}
.fw-k{font:500 13px Inter,sans-serif;color:var(--ink-2)}.fw-k b{font:700 22px Inter,sans-serif;color:var(--ink)}
.fw-g{font:500 12.5px/1.4 Inter,sans-serif;color:var(--ink-2);margin-top:4px}
.fw-m{display:flex;gap:12px;margin-top:16px}.fw-m>div{flex:1;min-width:0}
.fw-v{font:500 12.5px Inter,sans-serif;color:var(--ink-2)}.fw-v b{color:var(--ink);font-weight:700}
.fw-m em{display:block;height:6px;border-radius:9px;background:var(--line);margin:6px 0 4px;overflow:hidden}.fw-m em i{display:block;height:100%;border-radius:9px}
.fw-m span{font:500 11.5px Inter,sans-serif;color:var(--ink-2)}
.fw-n{display:block;width:100%;text-align:left;margin-top:12px;border:1px dashed var(--line);background:none;color:var(--ink);border-radius:12px;padding:10px 12px;font:500 13px/1.35 Inter,sans-serif;cursor:pointer}
.fw-w{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.fw-w span{font-size:20px}
.fw-w div{flex:1;font:500 14px Inter,sans-serif;color:var(--ink-2)}.fw-w div b{color:var(--ink);font-weight:700}
.fw-w button{border:1px solid var(--line);background:none;color:var(--ink);border-radius:999px;padding:7px 12px;font:600 12.5px Inter,sans-serif;cursor:pointer}
.fw-b{display:flex;gap:8px;margin-top:14px}.fw-b button{flex:1;border:1px solid var(--line);background:none;color:var(--ink);border-radius:12px;padding:10px;font:600 13px Inter,sans-serif;cursor:pointer}
.fw-b button.on{border:0;background:var(--wa);color:#fff}

/* Зоны пульса и план тренировок (18 октября) */
.ed .ed-h em{font-style:normal;font-size:12px;color:var(--ink-2);margin-left:auto}
.fz-r{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;font:500 13.5px Inter,sans-serif;color:var(--ink)}
.fz-r i{width:10px;height:10px;border-radius:50%;flex:none}.fz-r span{flex:1}.fz-r b{font-weight:700;font-variant-numeric:tabular-nums}
.fz-r.on{background:rgba(107,191,122,.16);font-weight:700}
.fp-r{display:flex;gap:12px;padding:9px 0;border-top:1px solid var(--line);font:500 13.5px/1.4 Inter,sans-serif;color:var(--ink)}
.fp-r>span{width:62px;flex:none;color:var(--ink-2);font-size:12.5px;padding-top:1px}.fp-r>div{flex:1;min-width:0}.fp-r p{margin:2px 0 0;color:var(--ink-2);font-size:12.5px}
.fp-r.on>span,.fp-r.on b{color:var(--wa)}.fp-r.rest b{color:var(--ink-2);font-weight:600}
.fw-p{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:10px 12px;border-radius:12px;background:var(--line);font:500 13px/1.4 Inter,sans-serif;color:var(--ink)}
.fw-p span{font-size:18px}.fw-p div{flex:1;min-width:0}.fw-p p{margin:2px 0 0;color:var(--ink-2);font-size:12.5px}
.ed .ed-h:has(em){display:flex;align-items:center;gap:8px}
.ed .ed-h em{white-space:nowrap}

/* Книга четвёртой в ротации рекламы (18 октября) */
.lnd-of-bk{background:radial-gradient(120% 90% at 50% 20%,#4A352B,#1A1411)}.lnd-of-bk .kt-c{width:76px;height:104px;box-shadow:0 8px 18px rgba(0,0,0,.4)}

/* Компактная карточка плана на день (18 октября) */
.ed.np{padding:12px 14px 10px;border-radius:16px;font-size:14px}
.np-h{display:flex;align-items:baseline;gap:8px}.np-h span{flex:1;font:600 13px Inter,sans-serif;color:var(--ink-2)}.np-h b{font:700 15px Inter,sans-serif;color:var(--ink)}
.np-g{font:400 13px/1.35 Inter,sans-serif;color:var(--ink-2);margin-top:2px}
.np-m{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0 2px;font:400 13px Inter,sans-serif;color:var(--ink-2)}.np-m b{color:var(--ink);font-weight:600}
.np-m i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px}
.np-r{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-top:1px solid var(--line)}.np-r:first-of-type{margin-top:6px}
.np-r>div{flex:1;min-width:0}.np-r b{font:600 13.5px Inter,sans-serif;color:var(--ink)}.np-r p{margin:1px 0 0;font:400 12.5px/1.35 Inter,sans-serif;color:var(--ink-2)}
.np-r>span{font:600 13px Inter,sans-serif;color:var(--ink);white-space:nowrap}
.ed.np .ed-a{margin-top:6px;padding-top:9px}
.np .np-t{font-weight:600;color:var(--ink)}.np-h .np-t{font:700 15px Inter,sans-serif}.np-r .np-t{font:600 13.5px Inter,sans-serif}.np-m .np-t{font-weight:600}
.np-h .np-t{flex:none!important;color:var(--ink)!important}
.h-me.h-me-tree{background:var(--panel,transparent)!important;color:var(--ink)!important;box-shadow:0 0 0 1px var(--line)!important}
.h-me.h-me-tree b{color:var(--ink)!important}
/* Тэҥнэбил про питание (18 октября) */
.tw{padding:4px 0 14px;font-family:Inter,sans-serif}.tw-h{font:700 16px/1.3 Inter,sans-serif;color:var(--ink)}.tw-g{font:400 12.5px/1.4 Inter,sans-serif;color:var(--ink-2);margin:2px 0 12px}
.tw-b{border:1px solid var(--line);background:none;color:var(--ink);border-radius:999px;padding:7px 13px;font:600 12.5px Inter,sans-serif;cursor:pointer}
.tw-r{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory}
.tw-c{flex:none;width:250px;border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--bg);scroll-snap-align:start}
.tw-p{display:flex;gap:10px;align-items:center;margin-bottom:10px}.tw-p i{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 15px Inter,sans-serif;font-style:normal}
.tw-p div{min-width:0}.tw-n{display:block;font:700 14.5px Inter,sans-serif;color:var(--ink)}.tw-s{display:block;font:400 12px/1.35 Inter,sans-serif;color:var(--ink-2)}
.tw-m{display:flex;gap:8px;padding:7px 0;border-top:1px solid var(--line);font:400 12.5px/1.35 Inter,sans-serif;color:var(--ink-2)}.tw-m span:first-child{min-width:54px;flex:none;white-space:nowrap;font-weight:600;color:var(--ink)}
.tw-c a{display:block;margin-top:8px;font:500 12px Inter,sans-serif;color:var(--wa);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tw-hh{display:flex;align-items:flex-start;gap:6px}.tw-hh>div{flex:1;min-width:0}
.tw-ar{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--ink);font:400 20px/1 Inter,sans-serif;cursor:pointer;display:grid;place-items:center;padding:0 0 2px}
.tw-p i{position:relative;overflow:hidden}.tw-p i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tw-slot .tw{margin-top:12px;max-width:520px}.tw-slot:empty{display:none}
/* Тэҥнэбил v2: вертикальные фото и карточка пути (18 октября) */
.tw-r .tw-pc{flex:none;width:118px;cursor:pointer;scroll-snap-align:start}.tw-pc .pcard-n{font:700 13px/1.25 Inter,sans-serif;color:var(--ink);margin-top:7px}.tw-pc .pcard-s{font:400 11.5px/1.3 Inter,sans-serif;color:var(--ink-2);margin-top:2px}
.tw-pc .pcard-i{position:relative}.tw-pc .pcard-i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tw-pc .pcard-d{font-weight:800}
.twd{font-family:Inter,sans-serif}.twd-h{display:flex;gap:14px;align-items:center;margin-top:6px}.twd-h i{position:relative;flex:none;width:72px;height:72px;border-radius:50%;overflow:hidden;background:var(--wa);display:grid;place-items:center;color:#fff;font:700 24px Inter,sans-serif;font-style:normal;box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--wa)}
.twd-h i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.twd-h b{display:block;font:700 18px/1.25 Inter,sans-serif;color:var(--ink)}.twd-h span{display:block;font:400 13px/1.35 Inter,sans-serif;color:var(--ink-2);margin-top:2px}
.twd-k{display:flex;align-items:baseline;gap:10px;margin:16px 0 4px}.twd-k b{font:800 30px/1 Inter,sans-serif;color:var(--wa)}.twd-k span{font:500 14px Inter,sans-serif;color:var(--ink-2)}
.twd-sp{margin:10px 0 6px}.twd-sp .pm-se{cursor:default}
.twd-t{font:600 12.5px Inter,sans-serif;color:var(--ink-2);margin:14px 0 4px;text-transform:uppercase;letter-spacing:.04em}
.twd-a{display:block;margin-top:12px;font:500 13px Inter,sans-serif;color:var(--wa);text-decoration:none}
/* 18 октября, слово хозяина: «такой мелкий шрифт курсивом — кто будет пользоваться? увеличь, чтобы юзабельно было». */
.note .note-t{font:500 16px/1.4 Inter,sans-serif!important;font-style:normal!important;letter-spacing:0!important;min-height:48px}
.note{width:calc(50% - 4px)!important;min-height:96px;padding:12px 26px 38px 12px!important;transform:none!important;border-radius:6px 6px 14px 6px}
.note-add{font-size:30px!important}
.notes-hint{font-size:13px!important}
.fw .tw-slot .tw{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);padding-bottom:0}
/* Виджет трезвости в общем стиле (18 октября) */
.sb{margin:6px 0 18px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--bg);font-family:Inter,sans-serif}
.sb-t{display:flex;align-items:center;gap:16px}.sb-t>div{flex:1;min-width:0}
.sb-rk{font:700 19px Inter,sans-serif;fill:var(--ink)}.sb-rl{font:500 10px Inter,sans-serif;fill:var(--ink-2)}
.sb-club{display:inline-block;font:600 13.5px Inter,sans-serif;color:var(--wa);background:color-mix(in srgb,var(--wa) 14%,transparent);border-radius:999px;padding:5px 11px;margin-bottom:8px}
.sb-nx{font:400 13px/1.45 Inter,sans-serif;color:var(--ink-2)}.sb-nx b{color:var(--ink);font-weight:700}
.sb-m{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font:400 13px Inter,sans-serif;color:var(--ink-2)}.sb-m b{color:var(--ink);font-weight:700}.sb-z{cursor:pointer}
.sb-b{display:flex;gap:8px;margin-top:14px}.sb-b button{flex:1;border:1px solid var(--line);background:none;color:var(--ink);border-radius:12px;padding:10px;font:600 13px Inter,sans-serif;cursor:pointer}.sb-b button.on{border:0;background:var(--wa);color:#fff}
.sb-tg{display:block;width:100%;margin-top:10px;border:0;background:none;color:var(--ink-2);font:500 12.5px Inter,sans-serif;cursor:pointer;padding:6px}
.sb #sob-tw .tw{margin-top:10px;padding-top:14px;border-top:1px solid var(--line);padding-bottom:0}
.sb-lock{margin-top:12px;text-align:center;font:400 11.5px Inter,sans-serif;color:var(--ink-3,var(--ink-2))}
/* 18 октября: «+ не посередине, блокнотик большой» — плюс ровно в центре листика, сам листик обычного размера. */
.note.note-add{padding:0!important;min-height:72px!important;display:flex!important;align-items:center!important;justify-content:center!important}
/* 18 октября, слово хозяина: «лицо сделай видимым — в правило». Лицо обычно в верхней части снимка: кадрируем от верха, а не от центра. */
.tw-pc .pcard-i img,.twd-h i img,.tw-p i img{object-position:50% 12%!important}
/* Стена картинок, которая продаёт (18 октября) */
.pw{margin:10px 0 4px;max-width:360px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel,var(--bg));font-family:Inter,sans-serif;padding-bottom:14px}
.pw-i{height:170px;background:radial-gradient(120% 90% at 30% 20%,color-mix(in srgb,var(--wa) 55%,#fff),var(--wa) 45%,#2a1d24);background-size:cover;background-position:center;filter:blur(14px) saturate(1.2);transform:scale(1.15);position:relative}
.pw-iw{position:relative;height:170px;overflow:hidden}.pw-iw>span{position:absolute;inset:0;display:grid;place-items:center;font-size:34px;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.pw-t{font:700 17px/1.3 Inter,sans-serif;color:var(--ink);margin:14px 16px 0}
.pw-q{font:400 13px/1.4 Inter,sans-serif;color:var(--ink-2);margin:4px 16px 0;font-style:italic}
.pw-s{font:500 13.5px/1.4 Inter,sans-serif;color:var(--ink);margin:10px 16px 0}
.pw-b{display:block;width:calc(100% - 32px);margin:14px 16px 0;border:0;background:var(--wa);color:#fff;border-radius:12px;padding:13px;font:700 15px Inter,sans-serif;cursor:pointer}
.pw-n{font:400 12px Inter,sans-serif;color:var(--ink-2);margin:8px 16px 0;text-align:center}
/* Подарок с продолжением (18 октября) */
.gn{text-align:center;font-family:Inter,sans-serif;padding:6px 4px 4px}.gn-e{font-size:42px;margin:4px 0 6px}.gn b{display:block;font:700 19px/1.3 Inter,sans-serif;color:var(--ink)}
.gn p{font:400 14px/1.45 Inter,sans-serif;color:var(--ink-2);margin:8px 0 0}
.gn-p{display:flex;justify-content:center;align-items:baseline;gap:10px;margin:16px 0 2px}.gn-p span{font:800 30px Inter,sans-serif;color:var(--wa)}.gn-p s{font:500 16px Inter,sans-serif;color:var(--ink-2)}.gn-p em{font:500 13px Inter,sans-serif;color:var(--ink-2);font-style:normal}
.gn .pw-b{width:100%;margin:14px 0 0}.gn .pw-n{margin:8px 0 0}
/* Экран «Узнай свою матрицу» (18 октября) */
.mx-ov{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.mx{position:relative;width:100%;max-width:420px;background:var(--bg);border-radius:22px;padding:24px 20px 22px;font-family:Inter,sans-serif;text-align:center;max-height:94vh;overflow:auto}
.mx-x{position:absolute;right:12px;top:10px;border:0;background:none;color:var(--ink-2);font-size:26px;cursor:pointer}
.mx-h{font:700 22px/1.25 Inter,sans-serif;color:var(--ink);margin-top:6px}.mx-s{font:400 14px/1.45 Inter,sans-serif;color:var(--ink-2);margin-top:6px}
#mx-d{display:block;width:100%;box-sizing:border-box;margin:18px 0 0;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--panel,var(--bg));color:var(--ink);font:600 22px Inter,sans-serif;text-align:center;letter-spacing:.06em}
.mx .pw-b{width:100%;margin:12px 0 0}.mx .pw-n{margin:8px 0 0}
.mx-img{display:block;width:100%;border-radius:14px;margin-top:18px}.mx-w{margin-top:18px;color:var(--ink-2)}
.mx .pw-b.mx-big{padding:18px 16px;font-size:18px;font-weight:700;border-radius:16px;margin-top:16px}
.plan-tokbtn{display:block;width:100%;margin:10px 0 4px;border:1px dashed var(--line);background:none;color:var(--ink);border-radius:12px;padding:11px;font:600 14px Inter,sans-serif;cursor:pointer}.plan-tokbtn span{color:var(--ink-2);font-weight:500}
.plan-back{border:0;background:none;color:var(--ink-2);font:600 13px Inter,sans-serif;cursor:pointer;padding:0 0 10px}
/* Айыы и другие ИИ — в тарифах (18 октября). */
.plan-cmp{margin:14px 0 16px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--bg-2,transparent)}
.plan-cmp .pcm-h{font-size:15px;font-weight:700;color:var(--ink-1);margin-bottom:8px}
.plan-cmp .pcm-r{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 0;border-top:1px solid var(--line)}
.plan-cmp .pcm-r:first-of-type{border-top:none}
.plan-cmp .pcm-n{font-size:14px;font-weight:600;color:var(--ink-1)}
.plan-cmp .pcm-p{font-size:14px;font-weight:700;color:var(--ink-2);text-align:right;white-space:nowrap}
.plan-cmp .pcm-w{grid-column:1/-1;font-size:12.5px;line-height:1.35;color:var(--ink-3)}
.plan-cmp .pcm-me .pcm-n,.plan-cmp .pcm-me .pcm-p{color:var(--wa)}
.plan-cmp .pcm-f{margin-top:8px;font-size:13px;font-weight:600;color:var(--ink-1)}
/* 18 октября, слово хозяина: «розовые огромные некрасивые кнопки — сделай красивыми». Кнопки нумерологии в чате и на экране матрицы —
   аккуратные пилюли в цветах самой сторис: фиолетовое с золотом. */
.cmsg-paint.nm-row{flex-wrap:wrap;gap:8px;margin-top:12px}
.cmsg-paint.nm-row button,html[data-theme="dark"] .cmsg-paint.nm-row button{flex:0 0 auto;width:auto;border-radius:999px;padding:11px 20px;
  font:600 14.5px/1.2 Inter,system-ui,sans-serif;letter-spacing:.1px;cursor:pointer}
.cmsg-paint.nm-row button.prim,html[data-theme="dark"] .cmsg-paint.nm-row button.prim{color:#F2D38A!important;border:none!important;
  background:linear-gradient(135deg,#5b3492 0%,#3a1f5c 60%,#2a1650 100%)!important;
  box-shadow:0 4px 14px rgba(58,31,92,.28),inset 0 0 0 1px rgba(242,211,138,.38)!important}
.cmsg-paint.nm-row button:not(.prim),html[data-theme="dark"] .cmsg-paint.nm-row button:not(.prim){background:transparent!important;
  color:var(--ink-1)!important;border:1.5px solid rgba(107,63,160,.4)!important;box-shadow:none!important}
.cmsg-paint.nm-row button:active{transform:scale(.97)}
.mx .pw-b{border-radius:999px;font:600 15.5px/1.2 Inter,system-ui,sans-serif;padding:14px 18px;color:#F2D38A;
  background:linear-gradient(135deg,#5b3492 0%,#3a1f5c 60%,#2a1650 100%);box-shadow:0 4px 14px rgba(58,31,92,.28),inset 0 0 0 1px rgba(242,211,138,.38)}
.mx .pw-b.mx-big{padding:15px 18px;font-size:16.5px;font-weight:700;border-radius:999px}
/* 18 октября, слово хозяина: «может шрифт Forum?» — кнопки нумерологии шрифтом Forum, как заголовки сторис. */
.cmsg-paint.nm-row button,html[data-theme="dark"] .cmsg-paint.nm-row button,.mx .pw-b,.mx .pw-b.mx-big{font-family:AiyyForum,Forum,"Noto Serif",serif!important;font-weight:400!important;letter-spacing:.3px}
.cmsg-paint.nm-row button,html[data-theme="dark"] .cmsg-paint.nm-row button{font-size:16.5px}
.mx .pw-b{font-size:17px}.mx .pw-b.mx-big{font-size:18.5px}
/* В Instagram (18 октября). */
.car-btn.car-ig{background:linear-gradient(45deg,#f9a03f 0%,#e1306c 45%,#833ab4 100%)!important;color:#fff!important;border:none!important}
.ig-ov{position:fixed;inset:0;z-index:1300;background:rgba(20,10,16,.55);display:flex;align-items:flex-end;justify-content:center}
.ig{background:var(--bg);width:min(480px,100%);border-radius:22px 22px 0 0;padding:22px 20px calc(18px + env(safe-area-inset-bottom))}
@media (min-width:720px){ .ig-ov{align-items:center} .ig{border-radius:20px} }
.ig-h{font:400 24px/1.2 AiyyForum,Forum,serif;color:var(--ink-1);margin-bottom:14px}
.ig-s{display:flex;gap:12px;align-items:flex-start;margin:10px 0;font-size:15px;line-height:1.4;color:var(--ink-1)}
.ig-s b{flex:0 0 28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;
  background:linear-gradient(45deg,#f9a03f,#e1306c 55%,#833ab4)}
.ig-go{width:100%;margin-top:16px;border:none;border-radius:999px;padding:15px;font:700 16px Inter,system-ui,sans-serif;color:#fff;cursor:pointer;
  background:linear-gradient(45deg,#f9a03f 0%,#e1306c 45%,#833ab4 100%)}
.ig-no{width:100%;margin-top:8px;border:none;background:none;padding:10px;font-size:14.5px;color:var(--ink-3);cursor:pointer}
/* Панель под сторис нумерологии (18 октября): фиолетовое с золотом, как сама сторис. */
.nm-acts{margin:14px 0 6px;display:flex;flex-direction:column;gap:10px}
.nm-main{width:100%;border:none;border-radius:18px;padding:17px 18px;font:400 20px/1.2 AiyyForum,Forum,serif;letter-spacing:.3px;
  color:#F2D38A;background:radial-gradient(120% 140% at 20% 0%,#6b3fa0 0%,#3a1f5c 55%,#1a0f2e 100%);
  box-shadow:0 8px 22px rgba(58,31,92,.35),inset 0 0 0 1px rgba(242,211,138,.35);cursor:pointer}
.nm-ig{width:100%;border:none;border-radius:18px;padding:15px 18px;font:400 19px/1.2 AiyyForum,Forum,serif;letter-spacing:.3px;color:#fff;cursor:pointer;
  background:linear-gradient(45deg,#f9a03f 0%,#e1306c 45%,#833ab4 100%);box-shadow:0 6px 18px rgba(225,48,108,.25)}
.nm-main:active,.nm-ig:active,.nm-sec:active{transform:scale(.985)}
.nm-row{display:flex;gap:10px}
.nm-sec{flex:1;border-radius:16px;padding:13px 10px;font:400 17px/1.2 AiyyForum,Forum,serif;letter-spacing:.2px;cursor:pointer;
  color:#4a2a78;background:rgba(107,63,160,.08);border:1.5px solid rgba(107,63,160,.35)}
.car-more{margin:4px 0 8px}
.car-more>summary{list-style:none;cursor:pointer;font-size:13.5px;color:var(--ink-3);padding:8px 2px;text-align:center}
.car-more>summary::-webkit-details-marker{display:none}
.car-more>summary::after{content:' ⌄'}
.car-more[open]>summary::after{content:' ⌃'}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .nm-sec{color:#E6D2FF;background:rgba(185,163,227,.10);border-color:rgba(185,163,227,.35)} }
:root[data-theme="dark"] .nm-sec{color:#E6D2FF;background:rgba(185,163,227,.10);border-color:rgba(185,163,227,.35)}
/* «Собрать ещё» под сторис нумерологии (18 октября). */
.nm-more{margin-top:6px;display:flex;flex-wrap:wrap;gap:8px}
.nm-more-h{flex:0 0 100%;font:400 17px/1.2 AiyyForum,Forum,serif;color:var(--ink-2);margin:6px 2px 2px}
.nm-chip{border-radius:999px;padding:10px 15px;font:500 14px/1.2 Inter,system-ui,sans-serif;cursor:pointer;text-align:left;
  color:var(--ink-1);background:transparent;border:1.5px solid rgba(107,63,160,.35)}
.nm-chip:active{transform:scale(.97)}
/* Меню «Что собираем?» под ответом (18 октября, вариант «C», выбран хозяином). */
.sb-list{margin-top:12px;border:1px solid var(--line);border-radius:18px;overflow:hidden;max-width:520px}
.sb-list .sb-h{font:400 17px/1.2 AiyyForum,Forum,serif;color:var(--ink-2);padding:12px 16px 4px}
.sb-list button{width:100%;display:flex;align-items:center;gap:12px;padding:11px 16px;background:transparent;border:none;border-top:1px solid var(--line);
  border-radius:0;cursor:pointer;text-align:left;color:var(--ink-1);font:inherit}
.sb-list .sb-h + button{border-top:none}
.sb-list button:active{background:rgba(127,127,127,.08)}
.sb-list button i{font-style:normal;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;background:rgba(127,127,127,.10);flex:0 0 34px}
.sb-list button span{flex:1;min-width:0}
.sb-list button b{display:block;font:600 15px/1.2 Inter,system-ui,sans-serif;color:var(--ink-1)}
.sb-list button small{display:block;font:400 12.5px/1.3 Inter,system-ui,sans-serif;color:var(--ink-3);margin-top:2px}
.sb-list button::after{content:'›';color:var(--ink-3);font-size:20px}
.sb-list button.p i{background:var(--wa);color:#fff}
.sb-list button.p b{color:var(--wa)}
.sb-list button b{color:var(--ink-1)!important}.sb-list button.p b{color:var(--wa)!important}
/* 18 октября, слово хозяина: «отправленное фото меньше — на маленьких телефонах оно на весь экран». */
.cmsg.me .cmsg-imgs.cmsg-one img.cmsg-att{width:auto;max-width:min(180px,50vw);max-height:180px;object-fit:cover;margin:0 0 0 auto}
.cmsg-b > .ed:first-child, .cmsg-imgs + .ed{margin-bottom:14px}
/* Карточка еды — компактная, с кольцом (18 октября, вариант «C»). */
.ed.edc{display:flex;align-items:center;gap:12px;padding:10px 12px;max-width:420px}
.edc-r{width:58px;height:58px;border-radius:50%;flex:0 0 58px;display:flex;align-items:center;justify-content:center}
.edc-r>div{width:44px;height:44px;border-radius:50%;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center}
.edc-r b{font:700 14px/1 Inter,system-ui,sans-serif;color:var(--ink-1)}
.edc-r small{font:500 9px/1 Inter,system-ui,sans-serif;color:var(--ink-3);margin-top:2px}
.edc-t{flex:1;min-width:0}
.edc-n{font:600 14px/1.25 Inter,system-ui,sans-serif;color:var(--ink-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.edc-m{font:400 12px/1.3 Inter,system-ui,sans-serif;color:var(--ink-3);margin-top:3px}
.edc-m i{display:inline-block;width:7px;height:7px;border-radius:50%;margin:0 3px 0 8px}
.edc-m i:first-child{margin-left:0}
.edc-a{display:flex;align-items:center;gap:10px;margin-top:4px}
.edc-a button{background:none;border:none;padding:0;cursor:pointer;font:500 12.5px/1.3 Inter,system-ui,sans-serif;color:var(--wa);text-align:left}
.edc-a button.x{color:var(--ink-3);margin-left:auto}
.edc-r b{color:var(--ink-1)!important}.edc-n{color:var(--ink-1)!important}
/* Вердикт под карточкой еды (18 октября). */
.ed.edc{flex-wrap:wrap}
.edc-v{flex:0 0 100%;display:flex;gap:9px;align-items:flex-start;margin-top:2px;padding:9px 11px;border-radius:11px;font:500 13.5px/1.35 Inter,system-ui,sans-serif;color:var(--ink-1)}
.edc-v i{flex:0 0 9px;width:9px;height:9px;border-radius:50%;margin-top:5px}
.edv-g{background:rgba(91,191,110,.13)}.edv-g i{background:#5bbf6e}
.edv-y{background:rgba(233,163,58,.15)}.edv-y i{background:#e9a33a}
.edv-r{background:rgba(226,96,74,.13)}.edv-r i{background:#e2604a}
.edc-a{flex-wrap:wrap;row-gap:2px}.edc-a button{white-space:nowrap}
.edc-b{display:block;margin-top:6px;background:none;border:none;padding:0;cursor:pointer;font:600 13px/1.3 Inter,system-ui,sans-serif;color:var(--wa)}
/* 18 октября, слово хозяина: «фото в розовом фоне — уродски». Фото человека — само по себе, без пузыря; подпись — своим пузырём под ним. */
.cmsg.me > .cmsg-imgs{flex:0 0 100%;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin:0 0 6px;background:none;padding:0}
.cmsg.me > .cmsg-imgs img.cmsg-att{border-radius:16px;display:block}
.cmsg.me > .cmsg-imgs.cmsg-one img.cmsg-att{width:auto;max-width:min(200px,55vw);max-height:220px;object-fit:cover;margin:0}
.cmsg.me .cmsg-b:empty{display:none}
/* БЖУ полными словами (18 октября). */
.edc-n small{font-weight:400;color:var(--ink-3);font-size:12.5px}
.edc-m{display:flex;flex-wrap:wrap;gap:2px 12px}
.edc-m span{white-space:nowrap}
.edc-m i{margin:0 4px 0 0!important}
.edc-m b{font-weight:600;color:var(--ink-2)!important}

/* 18 октября: «Взять эту новость себе» — в ленте у новости вместо эмодзи. Цвета из темы: светлая — розовый, тёмная — свой акцент. */
.ln-take{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-right:6px;padding:11px 14px;border:0;border-radius:999px;cursor:pointer;
  /* 18 октября, слово хозяина: «прозрачным, не таким вызывающим» — лёгкая заливка цвета темы и тонкая рамка вместо сплошного градиента. */
  color:var(--wa);background:color-mix(in srgb,var(--wa) 9%,transparent);border:1px solid color-mix(in srgb,var(--wa) 38%,transparent);box-shadow:none;font:400 16px/1 Forum,serif;letter-spacing:.2px;white-space:nowrap}
.ln-take span{overflow:hidden;text-overflow:ellipsis}.ln-take svg{flex:none}
.ln-take:active{transform:scale(.98)}
/* 18 октября: строка «Хотите кнопку суперрепоста на своём сайте?» в окне суперрепоста. */
.mk-site{display:flex;align-items:center;gap:10px;margin-top:4px;padding:11px 12px;border-radius:12px;text-decoration:none;
  background:color-mix(in srgb,var(--wa) 9%,transparent);border:1px dashed color-mix(in srgb,var(--wa) 45%,transparent);color:var(--ink)}
.mk-site i{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--wa),var(--wa-deep));color:#fff;font-style:normal}
.mk-site span{flex:1;min-width:0;font:500 13.5px/1.3 Inter,system-ui,sans-serif}.mk-site span small{display:block;color:var(--ink-3);font-size:12px;font-weight:400;margin-top:2px}
.mk-site b{flex:none;font:700 18px Inter,system-ui,sans-serif;color:var(--wa)}
/* 18 октября: оффер для сайтов — мини-новость с кнопкой «Суперрепост». */
.lnd-of-sr{padding:14px}
.lnd-sr-card{width:min(240px,86%);display:flex;flex-direction:column;gap:7px;padding:12px;border-radius:12px;background:var(--panel,#fff);box-shadow:0 6px 20px -8px rgba(0,0,0,.25)}
.lnd-sr-card u{display:block;height:7px;border-radius:4px;background:color-mix(in srgb,var(--ink,#222) 14%,transparent)}
.lnd-sr-card u:nth-child(2){width:72%}
.lnd-sr-card u.к{height:58px;border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--wa) 35%,transparent),color-mix(in srgb,var(--wa-deep) 55%,transparent))}
.lnd-sr-card .ln-take{flex:none;margin:2px 0 0;padding:8px 10px;font-size:14px;pointer-events:none}
[data-theme="dark"] .lnd-sr-card{background:#1C1626}
/* 18 октября, слово хозяина: «Новые публикации ↑» — шрифтом Forum. */
#ln-fresh{font-family:Forum,serif!important;font-weight:400!important;font-size:17px!important;letter-spacing:.2px}
/* 19 октября, слово хозяина: «сделай креативы одинаковыми, чтобы в рамке норм смотрелись». Все карточки в карусели офферов —
   одной сетки: картинка 16:9, заголовок в 2 строки, текст в 5 строк, кнопка всегда внизу. Рамка не пустеет и не прыгает. */
.lnd-of-sl .lnd-plus{display:flex;flex-direction:column;gap:8px}
.lnd-of-sl .lnd-plus>img,.lnd-of-sl .lnd-of-pic{width:100%;aspect-ratio:16/9;height:auto;flex:none;overflow:hidden;box-sizing:border-box}
.lnd-of-sl .lnd-plus>b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;line-height:1.3!important;margin:6px 0 0!important}
.lnd-of-sl .lnd-plus>span{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;min-height:7.25em;line-height:1.45}
.lnd-of-sl .lnd-plus-go{margin-top:auto}
.lnd-of-sl .lnd-of-sr{padding:0}
.lnd-of-sl .lnd-sr-card{width:70%;gap:5px;padding:9px}
.lnd-of-sl .lnd-sr-card u{height:5px}
.lnd-of-sl .lnd-sr-card u.к{height:34px}
.lnd-of-sl .lnd-sr-card .ln-take{padding:6px 8px;font-size:13px}
.lnd-of-sl .ln-plus-feed{margin:0;background:transparent}
.lnd-of-sl .lnd-plus>b s{display:inline}
.lnd-of-sr{position:relative}
.lnd-sr-where{position:absolute;top:8px;left:8px;display:flex;gap:5px;z-index:2}
.lnd-sr-where span{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;font:600 10.5px/1 Inter,sans-serif;color:var(--wa);background:color-mix(in srgb,var(--wa) 12%,transparent);border:1px solid color-mix(in srgb,var(--wa) 30%,transparent)}
.lnd-of-sl .lnd-of-sr{padding-top:24px}.lnd-of-sl .lnd-of-sr .lnd-sr-card{width:62%}
/* Привязка почты внутри MAX (19 октября). */
#mx-mail{position:fixed;left:12px;right:12px;top:66px;z-index:900;display:flex;align-items:center;gap:6px;padding:6px 6px 6px 12px;border-radius:14px;background:var(--panel,#fff);border:1px solid color-mix(in srgb,var(--wa) 35%,transparent);box-shadow:0 8px 24px -10px rgba(0,0,0,.35)}
#mx-mail .mx-mail-go{flex:1;text-align:left;border:0;background:none;color:var(--ink);font:600 13px/1.3 Inter,sans-serif;cursor:pointer}
#mx-mail .mx-mail-x{border:0;background:none;color:var(--ink-3);font-size:16px;padding:6px 8px;cursor:pointer}
#mx-mailw input{width:100%;box-sizing:border-box;margin:8px 0 0;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:15px Inter,sans-serif}
#mx-mailw .lnd-plus-go{width:100%;margin-top:10px}
.mx-mail-t{font:13px/1.4 Inter,sans-serif;color:var(--ink-3);margin-top:6px}
/* Внутри MAX под каруселью — только Поделиться, Скачать и ролик (19 октября). Полоска почты — внизу, не закрывает экран. */
html.in-max .car-acts > *:not(.mx-keep){display:none!important}
html.in-max #mx-mail{top:auto!important;bottom:150px}
/* Плашка «Суперрепост от канала — бесплатно» в окне MAX (19 октября) */
/* Уведомление суперрепоста (19 октября, слово хозяина: «белое уведомление — сделай красивым, мы метим в единороги»).
   Цвета — из темы (в тёмной было белое пятно: --card у нас не задан), под шапкой, не поверх неё; въезжает и уезжает. */
.mx-kanal{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 70px);transform:translateX(-50%);z-index:99999;width:max-content;max-width:calc(100vw - 32px);display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:16px;background:var(--bg);color:var(--ink);border:1px solid color-mix(in srgb,var(--wa) 45%,transparent);box-shadow:0 12px 32px rgba(0,0,0,.22),0 0 0 4px color-mix(in srgb,var(--wa) 10%,transparent);font:500 14px/1.35 Inter,system-ui,sans-serif;animation:mxIn .45s cubic-bezier(.2,.9,.3,1.2) both;transition:opacity .4s,transform .4s}
.mx-kanal .mk-i{flex:none;width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:17px;background:linear-gradient(135deg,var(--wa),color-mix(in srgb,var(--wa) 60%,#F0C27F));color:#fff}
.mx-kanal .mk-t{display:flex;flex-direction:column;min-width:0}.mx-kanal .mk-t b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mx-kanal .mk-t span{color:var(--ink-2);font-size:12.5px}
.mx-kanal.off{opacity:0;transform:translateX(-50%) translateY(-12px)}
@keyframes mxIn{from{opacity:0;transform:translateX(-50%) translateY(-14px) scale(.96)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}

/* Плашка «✨ Из поста… Сделать» — вернуться к окну суперрепоста (19 октября) */
#mx-again{position:fixed;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top,0px) + 68px);z-index:60;display:flex;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:8px 8px 8px 12px;border-radius:999px;border:1.5px solid var(--wa);background:var(--bg,#fff);color:var(--ink);font:500 14px Inter,system-ui,sans-serif;box-shadow:0 6px 20px rgba(0,0,0,.18);cursor:pointer}
#mx-again i{font-style:normal}#mx-again span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#mx-again b{flex:none;background:var(--wa);color:#fff;border-radius:999px;padding:5px 12px;font:600 13px Inter,system-ui,sans-serif}
body:has(.mx-kanal) #mx-again{opacity:0;pointer-events:none}#mx-again{transition:opacity .3s}

/* Стрелки стилей сториса — для компьютера (19 октября; вторая редакция — тонкий шеврон на стекле, снаружи картинки) */
.ln-shs-ar{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border-radius:50%;padding:0;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);background:color-mix(in srgb,var(--bg) 70%,transparent);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 18px rgba(0,0,0,.18);opacity:.85;transition:opacity .2s,transform .2s,background .2s,color .2s,border-color .2s}
.ln-shs-ar:hover{opacity:1;background:var(--wa);border-color:var(--wa);color:#fff;transform:translateY(-50%) scale(1.06)}
.ln-shs-pvw{position:relative;display:flex;justify-content:center}
.ln-shs-ar-l{left:-56px}.ln-shs-ar-r{right:-56px}
@media (max-width:520px){.ln-shs-ar-l{left:6px}.ln-shs-ar-r{right:6px}}
@media (hover:none){.ln-shs-ar{display:none}}
.ln-shs-dt i{cursor:pointer}

/* 19 октября, слово хозяина: «шрифт внутри кнопок — Forum». Окно суперрепоста, плашка поста. */
.mk-b{font:400 18px Forum,Georgia,serif!important;letter-spacing:.3px}
#mx-again b{font:400 16px Forum,Georgia,serif;letter-spacing:.3px}

/* Плашка «Из поста» в потоке над полем ввода (19 октября, вторая редакция) */
#mx-again.in-flow{position:static;transform:none;margin:0 auto 8px;width:max-content;max-width:100%;box-shadow:none;padding:6px 6px 6px 12px;border-width:1px;border-color:color-mix(in srgb,var(--wa) 55%,transparent);background:color-mix(in srgb,var(--wa) 8%,var(--bg));font-size:13px}
#mx-again.in-flow b{padding:4px 12px}

/* Уведомление в потоке: над плашкой поста, ничего не закрывает; плашку на это время прячем */
.mx-kanal.in-flow{position:static;transform:none;margin:0 auto 8px;animation:mxInF .4s cubic-bezier(.2,.9,.3,1.2) both;box-shadow:0 6px 18px rgba(0,0,0,.14)}
.mx-kanal.in-flow.off{opacity:0;transform:translateY(6px)}
@keyframes mxInF{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.aiyy-input-wrap:has(.mx-kanal.in-flow) #mx-again{display:none}

/* ===== ОКНО «СДЕЛАТЬ ИЗ ПОСТА» — СПИСКОМ (19 октября, утверждённый эскиз: вариант 2 + Рилс, значки-картинки) ===== */
.mk-sh{gap:10px;padding:10px 16px 18px;background:var(--bg)!important}
.mk-gr{width:40px;height:5px;border-radius:9px;background:var(--line);margin:0 auto 4px}
.mk-sh .lnu-hd b{font:400 23px Forum,Georgia,serif}
.mk-sh .lnu-close{width:32px;height:32px;border-radius:50%;border:0;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink-2);cursor:pointer}
.mk-list{display:flex;flex-direction:column;gap:8px}
.mk-r{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:10px 12px 10px 10px;border-radius:18px;border:1px solid var(--line);background:color-mix(in srgb,var(--ink) 4%,var(--bg));color:var(--ink);cursor:pointer;transition:border-color .18s,background .18s,transform .12s}
.mk-r:hover{border-color:color-mix(in srgb,var(--wa) 55%,var(--line));background:color-mix(in srgb,var(--wa) 7%,var(--bg))}
.mk-r:active{transform:scale(.985)}
.mk-pv{width:58px;height:58px;border-radius:14px;flex:none;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--wa) 26%,var(--bg)),color-mix(in srgb,var(--ink) 8%,var(--bg)))}
.mk-tx{display:flex;flex-direction:column;min-width:0}
.mk-tx b{font:400 20px Forum,Georgia,serif;display:flex;align-items:center;gap:7px}
.mk-tx b em{font:600 10.5px Inter,system-ui,sans-serif;font-style:normal;padding:1px 7px;border-radius:99px;background:color-mix(in srgb,var(--wa) 18%,transparent);color:var(--wa)}
.mk-tx>span{color:var(--ink-2);font:400 12.5px/1.35 Inter,system-ui,sans-serif;margin-top:1px}
.mk-ch{margin-left:auto;flex:none;color:var(--ink-2);opacity:.6}
.mk-st{width:24px;height:42px;border-radius:5px;background:linear-gradient(180deg,#5a4a52,#2d2529);box-shadow:0 4px 10px rgba(0,0,0,.35);padding:4px;display:flex;flex-direction:column;justify-content:flex-end}
.mk-st u{display:block;height:2px;border-radius:2px;background:#ECEAE4;margin-top:2px;opacity:.85}.mk-st u:last-child{width:60%}
.mk-sl{position:absolute;width:28px;height:28px;border-radius:5px;background:#efe8e1;box-shadow:0 4px 10px rgba(0,0,0,.3)}
.mk-sl.a{transform:translate(-7px,3px) rotate(-8deg);opacity:.6}.mk-sl.b{transform:translate(7px,3px) rotate(8deg);opacity:.75}.mk-sl.c{background:linear-gradient(160deg,#fff,#efe3d8)}
.mk-rl{width:26px;height:44px;border-radius:5px;background:linear-gradient(180deg,#3b2f38,#1d1719);box-shadow:0 4px 10px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;position:relative}
.mk-rl:after{content:"";position:absolute;left:3px;right:3px;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--wa) 55%,rgba(255,255,255,.3) 55%)}
.mk-rl s{width:0;height:0;border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent;margin-left:2px}
.mk-qz{width:40px}.mk-qz u{display:block;height:8px;border-radius:4px;margin:3px 0;background:color-mix(in srgb,var(--ink) 12%,var(--bg));border:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}
.mk-qz u.ok{background:rgba(143,209,158,.25);border-color:#6fbf86}

/* «Собираю…» после нажатия в окне поста (19 октября) */
.mx-spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:carspin .7s linear infinite;display:block}
.mx-busy .mk-t b{font-family:Forum,Georgia,serif;font-weight:400;font-size:17px}

/* Окно «В новости 1 фото — поищу» (19 октября) — в стиле окна «Сделать из поста» */
.mf-tx{color:var(--ink-2);font:400 14px/1.45 Inter,system-ui,sans-serif;margin:-2px 0 2px}
.mf-k{display:flex;gap:10px;margin-top:6px}
.mf-k button{flex:1;height:50px;border-radius:16px;border:0;font:400 19px Forum,Georgia,serif;cursor:pointer}
.mf-go{background:var(--wa);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--wa) 30%,transparent)}
.mf-no{background:color-mix(in srgb,var(--ink) 7%,var(--bg));color:var(--ink);border:1px solid var(--line)!important}
.mf-k button:disabled{opacity:.55}
.mf-wait{display:flex;align-items:center;justify-content:center;gap:10px;padding:26px 0;color:var(--ink-2);font:500 14px Inter,system-ui,sans-serif}
.mf-spin{border-color:color-mix(in srgb,var(--wa) 30%,transparent)!important;border-top-color:var(--wa)!important}
.mf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:46vh;overflow-y:auto;padding:2px}
.mf-c{position:relative;aspect-ratio:3/4;border-radius:14px;overflow:hidden;padding:0;border:2px solid transparent;background:color-mix(in srgb,var(--ink) 8%,var(--bg));cursor:pointer;transition:transform .12s,border-color .15s}
.mf-c img{width:100%;height:100%;object-fit:cover;display:block}
.mf-c i{position:absolute;top:7px;right:7px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.35);border:2px solid #fff;color:transparent;font:700 13px/20px Inter,sans-serif;font-style:normal;text-align:center}
.mf-c.on{border-color:var(--wa);transform:scale(.97)}.mf-c.on i{background:var(--wa);border-color:var(--wa);color:#fff}

/* Вход через MAX (19 октября) — цвет MAX, шрифт Forum. */
.acc-mx{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;padding:13px 12px;border:none;border-radius:12px;cursor:pointer;
  background:linear-gradient(135deg,#2E8BFF,#5B4CFF 55%,#8B3DFF);color:#fff;text-decoration:none;font:400 19px Forum,Georgia,serif;margin:4px 0 10px;box-shadow:0 6px 18px rgba(91,76,255,.28)}
.acc-mx-i{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:#fff;color:#5B4CFF;font:700 14px Inter,system-ui,sans-serif}
.acc-mx-w{display:flex;align-items:center;gap:10px;font-size:14.5px;line-height:1.4;color:var(--ink);margin:2px 0 10px}
#acc-mx-code{font-size:13px;color:var(--ink-3);margin:0 0 10px}
.acc-mx-w .mx-spin{flex:none;border-color:rgba(91,76,255,.25);border-top-color:#5B4CFF}
.acc-sheet .acc-send2{width:100%;margin-top:8px;border:1.5px solid var(--line);color:var(--ink);font-weight:600}

/* ЗНАК SUPEREPOST НА ГЛАВНОМ (19 октября): цветное дерево, ветки в цвет темы; слово «supe·repost». На саха — прежнее дерево и «АЙЫЫ СИРЭ». */
.sr-hero{display:inline-block;cursor:pointer;line-height:0}.sr-hero[hidden]{display:none}
.sr-hero img{width:112px;height:112px}.sr-hero .sr-hero-d{display:none}
html[data-theme="dark"] .sr-hero .sr-hero-d{display:inline}html[data-theme="dark"] .sr-hero .sr-hero-l{display:none}
.aiyy-tag-1.sr-word{font-family:'Unbounded','Inter',sans-serif;font-weight:800;font-size:26px;letter-spacing:-.5px;color:var(--ink)}
.sr-word-g{background:linear-gradient(90deg,#2E8BFF,#9A3DFF 45%,#FF5E7A 80%,#FFB23C);-webkit-background-clip:text;background-clip:text;color:transparent}
/* 19 октября, слово хозяина: подпись под знаком — шрифтом Forum. */
.aiyy-tag-2.sr-sub{font-family:'AiyyForum','Forum','Times New Roman',serif;font-size:19px;font-weight:400;color:var(--ink-2);margin-top:6px;letter-spacing:.01em}
/* Подсказка под подписью и окно подключения канала (19 октября). */
.sr-hint{display:block;margin:10px auto 0;border:0;background:none;color:var(--ink-3);font:500 12.5px Inter,sans-serif;white-space:nowrap;cursor:pointer;padding:4px 6px}
.sr-hint:hover{color:var(--ink-2)}
.sr-pk-t{text-align:center;font:14px/1.45 Inter,sans-serif;color:var(--ink-2);margin:0 0 14px}
.sr-pk{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;padding:13px;border-radius:12px;margin-top:8px;color:#fff;text-decoration:none;font:700 15px Inter,sans-serif}
.sr-pk-mx{background:linear-gradient(90deg,#2E8BFF,#7B3CFF)}.sr-pk-tg{background:#1F8FD6}
.sy-sh a.pm-x{text-align:center;text-decoration:none}
.sr-hero{position:relative}.sr-hero .sr-hero-c{display:none;width:112px;height:112px}
.sr-hero.sr-anim img{display:none!important}.sr-hero.sr-anim .sr-hero-c{display:inline-block}
/* NEWS — только в якутской версии (19 октября). */
html.ui-nsa #aiyy-newshint{display:none!important} /* 19 октября, позже: «news верни обратно» — кнопка NEWS снова у всех, убрана только подсказка */
.ln-langtip{display:block;width:100%;box-sizing:border-box;margin:0 0 14px;padding:12px 14px;border:1.5px dashed var(--wa);border-radius:14px;background:transparent;color:var(--ink-2);font:500 14px/1.4 Inter,sans-serif;text-align:left;cursor:pointer}
.ln-langtip:hover{color:var(--ink)}

/* Кнопка под новостью в ленте — словесный знак superepost, как в логотипе (19 октября, слово хозяина). */
.ln-take-w{font-family:'Unbounded','Inter',sans-serif;font-weight:800;font-size:17px;letter-spacing:-.3px;color:var(--ink)}
.ln-take-w i{font-style:normal}
/* Эмодзи картинками (19 октября): ростом со строку, на одной линии с буквами. */
img.emj{display:inline-block;width:1.2em;height:1.2em;margin:0 .05em;vertical-align:-.22em;border:0;box-shadow:none;background:none;border-radius:0;pointer-events:none}
