/* bundle-prilozhenie.css — СГЕНЕРИРОВАН site-src/build.mjs: aura + base + site + chrome + favorites + fonts + prilozhenie. Руками не править. */
/* aura.css — общий слой «Живой ауры» (редизайн сайта, этапы 0–7, 12–13.10.2026). Источник значений — главная (home.css).
   Правило: токены объявляются только здесь; в home/cabinet/course/kak-dyshat/sos/chrome.css — только своё.
   1) :root --au-* — канонические значения.
   2) Там же — имена главной (--fg, --card, --f-display…) и старые имена прежнего tokens.css (--accent, --border, --bg-elev…,
      на них держатся base/forms/charts/favorites/nav/site.css): с этапа 7 весь сайт в «ауре», tokens.css удалён.
   Правила дизайна и где каким цветом пользоваться — marketing/brand/brandbook.md. */

/* Двойной тап не зумит страницу (iOS считал быстрые «+/−» степперов увеличением); щипок остаётся.
   Селектор * (специфичность 0) — своё touch-action у элементов побеждает. JS-половина — site-chrome.js. */
*{touch-action:manipulation}

:root{
  /* фон и текст */
  --au-ink:#060a18; --au-ink-2:#0b1430;
  --au-fg:#f1f4ff; --au-muted:#8f9ac0; --au-dim:#5d6894;
  /* стекло и линии */
  --au-card:rgba(12,18,40,.62); --au-card-solid:rgba(11,17,38,.96); --au-card-line:rgba(255,255,255,.09);
  --au-glass:rgba(255,255,255,.06); --au-glass-2:rgba(255,255,255,.12); --au-line:rgba(255,255,255,.1);
  --au-on-accent:#071022;
  /* подложка липкой шапки (chrome.css): цвет фона темы, полупрозрачный — под стекло; светлая тема меняет --au-ink */
  --au-bar:color-mix(in srgb,var(--au-ink) 74%,transparent); --au-bar-solid:color-mix(in srgb,var(--au-ink) 96%,transparent);
  /* акцент по умолчанию («Успокоиться») и цвета фаз */
  --au-accent:#7fd1ff; --au-go:#5ec8ff;
  --au-in:#7fd1ff; --au-hold:#c8a8ff; --au-out:#9ee9c5; --au-rest:#9fb0dc;
  /* служебные */
  --au-warn:#ffb547; --au-bad:#ff7d8f; --au-ok:#5ee0b0; --au-sos:#ff8f9e; --au-noise:#ff8fc6;
  /* шрифты (fonts.css) */
  --au-display:"Unbounded","Arial Black",system-ui,sans-serif;
  --au-body:"Onest","Segoe UI",system-ui,sans-serif;
  /* движение */
  --au-ease:cubic-bezier(.4,0,.2,1); --au-spring:cubic-bezier(.32,.72,0,1);
  /* фон страниц чтения и онбординга */
  --au-bg:radial-gradient(1200px 800px at 50% 0%,var(--au-ink-2),var(--au-ink) 70%);

  /* имена главной */
  --ink:var(--au-ink); --ink-2:var(--au-ink-2);
  --fg:var(--au-fg); --muted:var(--au-muted); --dim:var(--au-dim);
  --card:var(--au-card); --card-solid:var(--au-card-solid); --card-line:var(--au-card-line);
  --glass:var(--au-glass); --glass-2:var(--au-glass-2); --line:var(--au-line);
  --on-accent:var(--au-on-accent);
  --f-display:var(--au-display); --f-body:var(--au-body);

  /* старые имена (tokens.css до этапа 7) — значениями «ауры» */
  --accent:var(--au-accent); --accent-soft:rgba(127,209,255,.14); --accent-border:rgba(127,209,255,.3);
  --accent-fg:var(--au-on-accent);
  --bg-1:var(--au-ink); --bg-2:var(--au-ink-2); --bg-elev:var(--au-glass); --bg-elev-2:var(--au-glass-2);
  --border:var(--au-line); --border-soft:rgba(255,255,255,.06);
  --inhale:var(--au-in); --hold:var(--au-hold); --exhale:var(--au-out);
  --ok:var(--au-ok); --warn:var(--au-warn); --danger:var(--au-bad);
  --shadow:0 30px 80px -20px rgba(0,0,0,.8);
  --radius-sm:10px; --radius:16px; --radius-lg:22px;
  --nav-h:54px;
  color-scheme:dark;
}

/* страницы генератора, «Программы» и статичные страницы приложения: акцент страницы («Успокоиться») и кегль текста */
body[data-page="content"],body[data-page="programs"],
body[data-page="contacts"],body[data-page="privacy"],body[data-page="auth"],body[data-page="offline"]{
  --mood:var(--au-go); --phase:var(--au-in);
  --body-fs:16px; --body-lh:1.6;
}

/* фон онбординга и курсов (фон сайта — фиксированный body::before из base.css) */
body[data-type="onboarding"]::before,body[data-type="course"]::before,body[data-type="courses"]::before{
  background:var(--au-bg);background-color:var(--au-ink)}

/* «Мои практики», история, награды (этап 6, 13.10.2026; раньше — в cabinet.css): имена старых base/forms/charts.css под «ауру» */
html:has(body.aura-app){background:var(--au-ink)}
body.aura-app{
  --bg-elev:rgba(255,255,255,.05); --bg-elev-2:rgba(255,255,255,.1);
  --border:var(--au-line); --border-soft:rgba(255,255,255,.07);
  --card-solid:#0b1123;
  --radius-sm:12px; --radius:16px; --radius-lg:24px;
}

/* Тосты живут здесь: aura.css — единственный файл, который есть на всех страницах (главная без base.css, страницы чтения без nav.css). */
/* Тосты — как тост главной (.htoast): тёмное стекло, Onest, радиус 16, одной ширины.
   Сверху под шапкой на всех страницах (этап 6 редизайна, 13.10.2026): снизу их перекрывали кнопка чата и вкладки PWA. */
.toast-stack{
  position:fixed;
  left:50%;transform:translateX(-50%);
  top:calc(env(safe-area-inset-top,0px) + 72px);
  z-index:70;
  display:flex;flex-direction:column;gap:8px;
  width:min(calc(100vw - 32px),380px);
  pointer-events:none;
}
.toast{
  pointer-events:auto;
  background:rgba(14,20,44,.96);
  border:1px solid var(--au-line);
  color:var(--au-fg);
  padding:12px 16px;
  border-radius:16px;
  font:500 14px/1.4 var(--au-body);
  box-shadow:0 14px 40px rgba(0,0,0,.45);
  animation:toast-rise .45s var(--au-spring);
}
@keyframes toast-rise{
  from{opacity:0;transform:translateY(-10px)}
  to{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){ .toast{ animation:none; } }

/* Toast «Открыто: <ачивка>» — значок в стеклянном круге с ободком цвета ступени. */
.toast.toast-achievement{
  padding:10px 18px 10px 10px;
}
.toast-ach{ display:flex;align-items:center;gap:12px; }
.toast-ach-icon{
  width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--au-glass-2);
  box-shadow:inset 0 0 0 1.5px currentColor;
  color:#f6c453;
  flex-shrink:0;
}
.toast-ach-icon svg{ width:20px;height:20px;fill:currentColor; }
.toast-ach-icon svg path[fill="none"]{ fill:none; }
.toast-ach-bronze   .toast-ach-icon{ color:#c79268; }
.toast-ach-silver   .toast-ach-icon{ color:#c8d0dc; }
.toast-ach-gold     .toast-ach-icon{ color:#f6c453; }
.toast-ach-platinum .toast-ach-icon{ color:#7dd3fc; }
.toast-ach-kicker{
  font:600 10.5px/1.2 var(--au-body);
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--au-dim);
  margin-bottom:2px;
}
.toast-ach-title{ font:700 14px/1.3 var(--au-display);letter-spacing:-.01em; }

/* Тост «Доступна новая версия» — на любой странице. Вид общий, кнопка — акцентная пилюля. */
.toast.toast-update{display:flex;align-items:center;justify-content:space-between;gap:12px}
.toast.toast-update button{flex:none;min-height:34px;padding:0 14px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-fg);font:600 13px/1 var(--au-body);white-space:nowrap;cursor:pointer}
.toast.toast-update button:hover{background:var(--accent);filter:brightness(1.08)}

/* base.css — общие стили нетаймерных страниц: страницы генератора (в бандлах), «Программы», «Мои практики», история,
   награды, вход, контакты, политика, офлайн. На главной не подключается (там home.css). */

*{box-sizing:border-box}
html,body{height:100%}
html{
  scroll-padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 16px);
  background:var(--bg-1);
}
body[data-page]:not([data-page="timer"]){
  margin:0;
  /* height:auto обязателен: html,body{height:100%} выше фиксирует body на
     высоту вьюпорта, и весь длинный контент (dashboard, history) рендерится
     ОВЕРФЛОУ-ом за пределами body box → padding-bottom применяется, но к
     концу content-box, который НИЖЕ всей overflow-области → nav перекрывает
     контент. С height:auto body растёт по контенту, padding-bottom занимает
     честные 150px в конце документа, nav висит над ними. */
  height:auto;
  min-height:100dvh;
  font-family:var(--au-body);
  color:var(--fg);
  background:transparent;
  -webkit-tap-highlight-color:transparent;
  /* Копирайт-футер в потоке (см. .af-inline в nav.css) и сам завершает контент.
     Нижняя панель есть только в приложении (nav.js ставит body.has-nav) — тогда
     ниже нужен зазор до неё. */
  padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px);
  position:relative;
  isolation:isolate;
}
body[data-page]:not([data-page="timer"]).has-nav{
  padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 24px);
}
/* Фон «Живой ауры» — фиксированная подложка во вьюпорте (radial-gradient не «выгорает» на длинных страницах).
   У «Моих практик» свой — cabinet.css (body.aura-app[data-page]::before, та же специфичность, файл позже). */
body[data-page]:not([data-page="timer"])::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:var(--au-bg);
  background-color:var(--au-ink);
}

main#page{
  max-width:920px;
  margin:0 auto;
  padding:calc(20px + env(safe-area-inset-top,0px)) 20px 24px;
}

main#page h1{
  margin:0 0 6px;
  font-size:clamp(22px, 4.4vw, 30px);
  font-weight:600;
  letter-spacing:.01em;
}
main#page h2{
  margin:28px 0 12px;
  font-size:clamp(15px, 2.4vw, 17px);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--muted);
}
main#page p{margin:0 0 12px;color:var(--muted);line-height:1.55}
main#page a:not(.es-cta){color:var(--accent);text-decoration:none;border-bottom:1px solid transparent}
main#page a:not(.es-cta):hover{border-bottom-color:var(--accent)}

.card{
  background:var(--bg-elev);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:18px 20px;
  margin-bottom:12px;
}

.empty{
  text-align:center;
  padding:48px 24px;
  border:1px dashed var(--border);
  border-radius:var(--radius-lg);
  color:var(--muted);
}

/* Общий empty-state с иконкой и CTA (Phase 6). */
.empty-state{
  text-align:center;
  padding:36px 24px;
  border:1px dashed var(--border);
  border-radius:var(--radius-lg);
  color:var(--muted);
  background:var(--bg-elev);
}
.empty-state .es-text{ font-size:13.5px;line-height:1.55;max-width:340px;margin:0 auto; }

/* Skeleton-loaders (Phase 6, награды): <span class="skeleton" style="width:60%;height:1em"></span> */
.skeleton{
  display:inline-block;
  background:linear-gradient(90deg, var(--bg-elev) 0%, var(--bg-elev-2) 50%, var(--bg-elev) 100%);
  background-size:200% 100%;
  border-radius:var(--radius-sm);
  animation:skeleton-shimmer 1.4s ease-in-out infinite;
  vertical-align:middle;
}
.skeleton-block{ width:100%;height:100%;border-radius:inherit; }
@keyframes skeleton-shimmer{
  0%   { background-position:200% 0; }
  100% { background-position:-200% 0; }
}
@media (prefers-reduced-motion: reduce){
  .skeleton{ animation:none; }
}

/* Универсальные строки списков (recent / history). */
.row-list{ padding:0; }
.row-list .row{
  display:grid;
  grid-template-columns: 1fr auto auto;
  gap:10px;
  align-items:center;
  padding:10px 16px;
  border-bottom:1px solid var(--border-soft);
  font-size:14px;
}
.row-list .row:last-child{ border-bottom:0; }
.row-list .row .when{ color:var(--muted); font-variant-numeric:tabular-nums; }
.row-list .row .pat{ font-weight:600; }
.row-list .row .stats{ color:var(--muted); font-variant-numeric:tabular-nums; }
.row-list .row .bad{ color:var(--warn); }

/* Чипы фильтров (history). */
.chip-row{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-bottom:12px;
}
.chip{
  display:inline-flex;align-items:center;gap:6px;
  height:34px;padding:0 12px;border-radius:999px;
  background:var(--bg-elev);border:1px solid var(--border);
  font-size:13px;color:var(--fg);
  cursor:pointer;user-select:none;
  white-space:nowrap;
}
.chip[aria-pressed="true"]{
  background:var(--accent-soft);
  border-color:var(--accent-border);
  color:var(--accent);
}
.chip select, .chip input[type="date"]{
  background:transparent;border:0;outline:0;color:inherit;
  font:inherit;
  padding:0;margin:0;
  cursor:pointer;
}
.chip input[type="date"]{ min-width:120px; }

.row-actions{ display:flex;gap:6px; }
.row-actions button{
  min-height:30px;
  padding:0 10px;
  font-size:12.5px;
  border-radius:var(--radius-sm);
}
.row-actions .danger{ color:var(--danger); border-color:rgba(255,155,155,.35); }
.row-actions .danger:hover{ background:rgba(255,90,90,.12); }

/* Модальный диалог (delete / notes). */
.modal-backdrop{
  position:fixed;inset:0;z-index:80;
  background:rgba(2,6,14,.62);
  backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  animation:fade .15s ease;
}
.modal{
  background:var(--bg-1);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:20px 22px;
  width:min(440px, 100%);
  box-shadow:var(--shadow);
}
.modal h3{ margin:0 0 6px; font-size:17px; font-weight:600; }
.modal p{ margin:0 0 14px; color:var(--muted); font-size:14px; }
.modal textarea{
  width:100%;min-height:96px;
  background:var(--bg-elev);
  border:1px solid var(--border);
  border-radius:var(--radius);
  color:var(--fg);
  font:inherit;font-size:14px;
  padding:10px 12px;resize:vertical;
}
.modal .modal-actions{ display:flex;gap:8px;justify-content:flex-end;margin-top:14px; }
@keyframes fade{ from{opacity:0} to{opacity:1} }

/* Курсор-пагинация: кнопка «Показать ещё». */
.load-more{
  display:block;
  width:100%;margin:10px 0 0;
  background:transparent;
  border:1px dashed var(--border);
}
.load-more:disabled{ opacity:.5;cursor:default; }

button{
  font-family:inherit;
  min-height:42px;
  background:var(--bg-elev);
  color:var(--fg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:0 14px;
  font-size:14px;cursor:pointer;
  transition:background .15s ease, border-color .15s ease;
}
button.primary{background:var(--accent);color:var(--accent-fg);border-color:transparent}
button:focus-visible,
a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}
input:focus-visible,
select:focus-visible,
textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
/* Chip с инпутом внутри — подсвечиваем сам chip, а не голый input. */
.chip:focus-within{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent-border)}
@media (hover:hover){
  button:hover{background:var(--bg-elev-2);border-color:var(--accent-border)}
  button.primary:hover{filter:brightness(1.08)}
}


/* site.css — контентные страницы (техники, хабы, статьи, автор, 404) и
   маркетинговые элементы вкладки «Программы». Подключается после tokens/base.
   Всё, что помечено классом .mk (крошки, футер, SEO-тексты), скрыто в
   установленном приложении: html.is-app (ставит inline-скрипт в <head>)
   или display-mode standalone — пользователь PWA видит только приложение. */

html.is-app .mk{display:none !important}
@media (display-mode: standalone), (display-mode: fullscreen), (display-mode: minimal-ui){
  .mk{display:none !important}
}

/* «Живая аура» на страницах генератора (этап 2 редизайна, 12.10.2026; образец — marketing/redesign-pages/page.css,
   правила — брендбук §6 «Страницы чтения»). Токены — aura.css (область body[data-page="content"]), фон — base.css.
   Сбросы кнопок и ссылок — только через :where(), иначе перебивают классы виджетов. */
body[data-page]:is([data-page="content"],[data-page="programs"]){font-family:var(--f-body);-webkit-font-smoothing:antialiased}
body[data-page="content"]{
  padding-bottom:0;
  font-size:var(--body-fs);
  line-height:var(--body-lh);
}
:where(body[data-page="content"]) :focus-visible{outline:2px solid var(--mood);outline-offset:3px;border-radius:10px}
/* то, что шире колонки (аура круга с этапа 3), режем по краю .page на телефоне и планшете; у html overflow-x:clip
   не ставить — Chrome перестаёт отдавать координаты элементов (клики puppeteer в check.mjs падали) */
@media (max-width:999px){.page{overflow-x:clip}}

/* ---------- шапка, шторка «Меню», cookie — в chrome.css ---------- */

/* ---------- хлебные крошки ---------- */
.crumbs{max-width:1240px;margin:0 auto;padding:6px 16px 0}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0;font:500 13px/1.4 var(--f-body);color:var(--dim)}
.crumbs li{display:inline-flex;align-items:center}
.crumbs li+li::before{content:"";width:5px;height:5px;margin:0 10px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);opacity:.7}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--fg)}
.crumbs [aria-current]{color:var(--muted);opacity:.75}
@media (min-width:900px){.crumbs{padding:4px clamp(16px,2.4vw,36px) 0}}
body[data-page="programs"] .crumbs{max-width:920px;padding-top:calc(14px + env(safe-area-inset-top,0px))}
body[data-page="programs"] main#page{padding-top:16px}

/* ---------- раскладка ---------- */
.page{max-width:1240px;margin:0 auto;padding:18px 16px 8px;min-width:0}
.page-article .art-head,.page-article .art-body{min-width:0}
.art-head{max-width:760px;margin-bottom:26px}
.art-head h1{margin:0;font:800 clamp(25px,7vw,30px)/1.08 var(--f-display);letter-spacing:-.035em;color:var(--fg);text-wrap:balance}
.lead{margin:14px 0 0;max-width:62ch;font-size:var(--body-fs);line-height:1.55;color:color-mix(in srgb,var(--fg) 82%,var(--muted))}
.byline{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:16px 0 0;font:500 13px/1.4 var(--f-body);color:var(--dim)}
.byline a{color:var(--muted);text-decoration:underline;text-decoration-color:rgba(255,255,255,.22);text-underline-offset:3px}
.byline time{color:var(--muted)}
.art-timer{margin:-6px 0 28px}
.nw{white-space:nowrap}
@media (min-width:700px){
  .art-head h1{font-size:clamp(30px,3.3vw,44px);line-height:1.05;letter-spacing:-.04em}
  .lead{font-size:calc(var(--body-fs) + 1.5px)}
}
@media (min-width:900px){.page{padding:26px clamp(16px,2.4vw,36px) 8px}}
/* телефон: «В избранное» — круглая пилюля со звездой в конце строки автора (favorites.css) */
/* телефон: первый экран плотнее — «Старт» виджета должен оставаться в окне (check.mjs) */
@media (max-width:599px){
  .page{padding-top:12px}
  .art-head h1{font-size:clamp(24px,6.4vw,30px)}
  .lead{margin-top:10px}
  .byline{margin-top:10px;gap:8px 10px;flex-wrap:nowrap;justify-content:space-between}

  .crumbs li+li::before{margin:0 7px}
  /* крошки — одна строка: вторая сдвигала «Старт» за первый экран; длинное имя текущей страницы — с многоточием */
  .crumbs ol{flex-wrap:nowrap;white-space:nowrap}
  .crumbs li{flex:none}
  .crumbs li[aria-current]{display:block;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .crumbs li[aria-current]::before{display:inline-block;vertical-align:1px}
}
@media (min-width:1000px){
  .page-article.has-timer{
    display:grid;
    grid-template-columns:minmax(0,1fr) 380px;
    grid-template-areas:"head timer" "body timer";
    column-gap:clamp(36px,4.5vw,72px);
    align-items:start;
  }
  .page-article.has-timer .art-head{grid-area:head}
  .page-article.has-timer .art-body{grid-area:body}
  .page-article.has-timer .art-timer{grid-area:timer;position:sticky;top:calc(var(--sh-h,0px) + 16px);margin:6px 0 0}
  .page-article.has-timer .art-head{margin-bottom:34px}
  /* Свёртка длинных блоков, когда виджет выше окна (fitAside в timer.js).
     top у .art-timer JS меняет с прокруткой — «умный sticky». */
  .page-article.has-timer .tw-folded{display:none !important}

}

.tw-fold-ic{width:8px;height:8px;margin-top:-4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.tw-fold[aria-expanded="true"] .tw-fold-ic{margin-top:4px;transform:rotate(-135deg)}

/* ---------- текст ---------- */
.prose{max-width:68ch;color:var(--muted)}
.prose > :first-child{margin-top:0}
.prose p,.prose li{margin:0 0 1em}
.prose ul,.prose ol{margin:0 0 1.1em;padding-left:1.25em}
.prose li{margin-bottom:.45em}
.prose li::marker{color:var(--dim)}
.prose strong,.prose b{color:var(--fg);font-weight:600}
.prose a{color:var(--fg);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--au-in) 55%,transparent);text-decoration-thickness:1.5px;text-underline-offset:3px}
.prose a:hover{text-decoration-color:var(--au-in)}
.prose blockquote{margin:0 0 1.1em;padding:2px 0 2px 18px;border-left:2px solid var(--au-hold);color:var(--fg)}
.prose hr{border:0;height:1px;background:var(--line);margin:2em 0}
.prose h2,.prose .sec-h{margin:2.1em 0 .6em;font:700 clamp(21px,2.4vw,26px)/1.2 var(--f-display);letter-spacing:-.02em;color:var(--fg);text-wrap:balance;scroll-margin-top:16px}
.prose h3{margin:1.7em 0 .5em;font:700 18px/1.3 var(--f-display);letter-spacing:-.015em;color:var(--fg);text-wrap:balance}
/* схемы техник (assets/img/skhemy/, генерирует make_skhemy.py) */
.prose .scheme{margin:.4em 0 1.6em;padding:18px 18px 14px;border-radius:24px;border:1px solid var(--card-line);background:var(--card)}
.prose .scheme img{display:block;max-width:100%;height:auto;margin:0 auto}
.scheme picture{display:block}
.prose .scheme-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
@media (max-width:640px){.prose .scheme--wide img{max-width:none;width:620px}}
.prose .scheme figcaption{margin-top:10px;font-size:13.5px;line-height:1.45;color:var(--dim);text-align:left}
/* таблицы (markdown → div.table-wrap) */
.table-wrap{margin:0 0 1.4em;overflow-x:auto;border-radius:20px;border:1px solid var(--card-line);background:var(--card);-webkit-overflow-scrolling:touch}
.table-wrap table{width:100%;border-collapse:collapse;font-size:calc(var(--body-fs) - 1.5px);line-height:1.45;font-variant-numeric:tabular-nums}
.table-wrap th{padding:12px 16px;text-align:left;vertical-align:bottom;font:600 11.5px/1.3 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--line)}
.table-wrap td{padding:12px 16px;text-align:left;vertical-align:top;border-top:1px solid rgba(255,255,255,.05);color:var(--muted)}
.table-wrap tr:first-child td{border-top:0}
.table-wrap td:first-child{color:var(--fg);font-weight:600}
/* [[note]] / [[warn]] */
.callout{position:relative;margin:0 0 1.4em;padding:16px 18px 16px 52px;border-radius:20px;border:1px solid var(--card-line);background:var(--card);color:var(--muted)}
.callout > :last-child{margin-bottom:0}
.callout::before{content:"";position:absolute;left:18px;top:19px;width:20px;height:20px;border-radius:50%;background:var(--cc);opacity:.18}
.callout::after{content:"";position:absolute;left:25px;top:26px;width:6px;height:6px;border-radius:50%;background:var(--cc);box-shadow:0 0 10px var(--cc)}
.callout-note{--cc:var(--au-in);border-color:color-mix(in srgb,var(--au-in) 22%,transparent)}
.callout-warn{--cc:var(--au-warn);border-color:color-mix(in srgb,var(--au-warn) 30%,transparent);background:color-mix(in srgb,var(--au-warn) 5%,var(--card))}

/* [[launch]] и запуск из виджета — строка-пилюля в стиле ленты главной: круг ▶ цвета настроения, текст, ритм справа */
.prose p:has(> .launch){margin:0 0 1.2em}
.launch{display:flex;align-items:center;gap:14px;max-width:560px;min-height:58px;padding:8px 10px 8px 8px;border-radius:999px;
  border:1px solid var(--line);background:var(--card);color:var(--fg) !important;text-decoration:none !important;
  font-weight:600;font-size:15px;line-height:1.3;transition:border-color .2s,background .2s}
.launch:hover{border-color:color-mix(in srgb,var(--mood) 55%,transparent)}
.launch-play{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--mood);color:var(--on-accent);font-size:13px;box-shadow:0 8px 22px -8px var(--mood)}
.launch-rhythm{margin-left:auto;flex:none;padding:7px 12px;border-radius:999px;background:var(--glass);font:700 13px/1 var(--f-display);color:var(--muted);letter-spacing:-.01em;font-variant-numeric:tabular-nums}

/* ---------- блоки статьи ---------- */
.howto,.safety,.faq,.sources,.neighbors{margin-top:2.6em}
.prose .howto h2,.prose .safety h2,.prose .faq h2,.prose .neighbors .sec-h{margin-top:0}
/* шаги — номер Unbounded в круге стекла */
.steps{list-style:none;counter-reset:st;margin:0;padding:0 !important;display:grid;gap:10px}
.prose .steps li{counter-increment:st;position:relative;margin:0;padding:14px 16px 14px 62px;border-radius:20px;background:var(--card);border:1px solid var(--card-line)}
.steps li::before{content:counter(st);position:absolute;left:14px;top:12px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  font:700 14px/1 var(--f-display);color:var(--fg);background:var(--glass-2)}
/* безопасность — стекло с тёплой линией и точкой-огоньком */
.safety{padding:20px 20px 4px;border-radius:24px;border:1px solid color-mix(in srgb,var(--au-warn) 28%,transparent);background:color-mix(in srgb,var(--au-warn) 4%,var(--card))}
.prose .safety h2{display:flex;align-items:center;gap:10px}
.safety h2::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--au-warn);box-shadow:0 0 12px var(--au-warn)}
.disclaimer{font-size:13.5px;line-height:1.5;color:var(--dim)}
/* FAQ — строки-аккордеоны с «+» */
.faq details{margin-bottom:8px;border-radius:20px;background:var(--card);border:1px solid var(--card-line);transition:border-color .2s}
.faq details[open]{border-color:rgba(255,255,255,.14)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:15px 16px 15px 18px;color:var(--fg);font:600 calc(var(--body-fs) - .5px)/1.4 var(--f-body)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;margin-left:auto;width:30px;height:30px;border-radius:50%;
  background:var(--glass) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238f9ac0' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/16px no-repeat;
  transition:transform .3s var(--au-ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq-a{padding:0 18px 4px}
/* источники: заголовок — подпись-капс, список мелко; свёртку делает site-chrome.js (max-height до середины третьего пункта) */
.prose .sources .sec-h{margin:0 0 12px;font:600 12px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.sources ol{margin:0;padding-left:1.3em;font-size:13.5px;line-height:1.5;color:var(--dim)}
.prose .sources li{margin:0 0 .55em}
.sources a{color:var(--muted);word-break:break-word;text-decoration-color:rgba(255,255,255,.15)}
.sources.is-foldable ol{overflow:hidden;transition:max-height .35s ease}
.sources.is-collapsed ol{
  -webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 2.6em),transparent);
  mask-image:linear-gradient(to bottom,#000 calc(100% - 2.6em),transparent);
}
.sources-toggle{
  display:inline-flex;align-items:center;gap:8px;min-height:0;height:34px;margin:8px 0 0;padding:0 14px;
  font:600 13px/1 var(--f-body);color:var(--muted);cursor:pointer;
  background:none;border:1px solid var(--line);border-radius:999px;
}
.sources-toggle::after{content:"";width:6px;height:6px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.sources-toggle[aria-expanded="true"]::after{margin-top:3px;transform:rotate(-135deg)}
.sources-toggle:hover{color:var(--fg);border-color:rgba(255,255,255,.22)}
.sources-toggle[hidden]{display:none}
@media (prefers-reduced-motion: reduce){ .sources.is-foldable ol,.sources-toggle::after{transition:none} }

/* автор */
.author-card{display:flex;gap:16px;align-items:flex-start;margin:2.6em 0 0;padding:18px;border-radius:24px;background:var(--card);border:1px solid var(--card-line)}
.ac-avatar{
  flex:0 0 56px;width:56px;height:56px;border-radius:50%;overflow:hidden;
  display:grid;place-items:center;font:700 22px/1 var(--f-display);color:var(--on-accent);
  background:radial-gradient(circle at 34% 30%,#e3f8ff 0,#5ec8ff 42%,#5a63ff 100%);
}
.ac-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.ac-body{min-width:0}
.ac-name{font-weight:600;font-size:15px;color:var(--fg)}
.ac-name a{color:var(--fg);text-decoration:none}
.prose .ac-bio,.prose .ac-date{margin:6px 0 0}
.ac-bio{font-size:14px;line-height:1.5;color:var(--muted)}
.ac-date{font-size:12.5px;color:var(--dim)}

/* портрет на /avtor/: под заголовком на телефоне, справа от текста на десктопе */
.author-portrait{margin:0 0 26px;max-width:360px}
.author-portrait img{display:block;width:100%;height:auto;border-radius:24px;background:var(--card);border:1px solid var(--card-line)}
.author-portrait figcaption{margin-top:10px;font-size:13.5px;color:var(--dim)}
@media (min-width:900px){
  .page-plain.has-portrait{
    display:grid;grid-template-columns:minmax(0,1fr) 320px;
    grid-template-areas:"head portrait" "body portrait";column-gap:56px;align-items:start;
  }
  .page-plain.has-portrait .art-head{grid-area:head}
  .page-plain.has-portrait .prose{grid-area:body}
  .page-plain.has-portrait .author-portrait{grid-area:portrait;margin:6px 0 0}
}

/* ---------- «Похожие» и карточки хабов [[children]] — карточка выбора главной: шар + ритм + название ----------
   Цвет шара — настроение ритма страницы-ребёнка: класс .m-<настроение> ставит генератор (moodOf в pages.mjs). */
@keyframes tc-morph{0%,100%{border-radius:58% 42% 55% 45%/48% 60% 40% 52%;rotate:0deg}33%{border-radius:42% 58% 38% 62%/60% 40% 58% 42%;rotate:8deg}66%{border-radius:52% 48% 62% 38%/42% 54% 46% 58%;rotate:-6deg}}
.tcards{list-style:none;margin:0 0 1.6em;padding:0 !important;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:10px}
.prose .tcards .tcard{margin:0}
.tcard{--c0:#e3f8ff;--c1:#5ec8ff;--c2:#5a63ff}
.tcard.m-sleep{--c0:#efe6ff;--c1:#8c7bff;--c2:#3a2aa8}
.tcard.m-focus{--c0:#fff4cf;--c1:#ffb547;--c2:#ff5e7a}
.tcard.m-prana{--c0:#ffe9c2;--c1:#ff8f6b;--c2:#c84dff}
.tcard.m-energy{--c0:#fffbd6;--c1:#ffe14a;--c2:#ff7b1f}
.tcard.m-custom{--c0:#e2fff3;--c1:#5fe0b0;--c2:#2b8cff}
.tcard.m-noise{--c0:#ffe6f4;--c1:#ff8fc6;--c2:#5b6cff}
.tcard a{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:14px;row-gap:3px;height:100%;
  padding:14px 16px 16px 14px;border-radius:22px;background:var(--card);border:1px solid var(--card-line);
  color:inherit;text-decoration:none !important;transition:border-color .25s,transform .25s var(--au-ease)}
.tcard a:hover{border-color:color-mix(in srgb,var(--c1) 50%,transparent);transform:translateY(-2px)}
.tcard a::before{content:"";grid-row:1/3;width:44px;height:44px;border-radius:58% 42% 55% 45%/48% 60% 40% 52%;
  background:radial-gradient(circle at 34% 30%,var(--c0) 0,var(--c1) 42%,var(--c2) 100%);
  box-shadow:inset -4px -5px 10px rgba(0,0,0,.25),0 8px 20px -8px var(--c1);animation:tc-morph 9s ease-in-out infinite}
.tcard:nth-child(3n+2) a::before{animation-delay:-3s}
.tcard:nth-child(3n) a::before{animation-delay:-6s}
.tc-title{grid-column:2;color:var(--fg);font:600 16px/1.3 var(--f-body)}
.tc-rhythm{grid-column:2;grid-row:1;order:-1;font:700 12px/1.4 var(--f-display);letter-spacing:.02em;color:var(--c1);font-variant-numeric:tabular-nums}
.tc-rhythm:empty{display:none}
.tc-text{grid-column:1/-1;margin-top:8px;font-size:13.5px;line-height:1.45;color:var(--muted)}
.page-hub .prose{max-width:none}
.page-hub .prose > :not(.tcards):not(.table-wrap):not(.faq){max-width:68ch}
.page-hub .prose > .table-wrap,.page-hub .prose > .faq{max-width:820px}
.page-hub .prose > h2 + .tcards,.page-hub .prose > p + .tcards{margin-top:14px}
.neighbors .tcards{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
@media (prefers-reduced-motion:reduce){.tcard a::before{animation:none}.tcard a{transition:none}}

.hold-result{
  padding:14px 16px;border-radius:var(--radius-lg);text-align:center;
  background:var(--accent-soft);border:1px solid var(--accent-border);
}
.hold-result .hr-big{font-size:28px;font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums}
.hold-result .hr-band{margin-top:4px;color:var(--fg)}
.hold-result .hr-best{margin-top:6px;color:var(--muted);font-size:14px}

.hold-log summary{cursor:pointer;color:var(--muted);font-size:14px;padding:4px 0}

/* Оверлей задержки: весь экран — одна кнопка «стоп». Тёмный, крупные цифры. */
.hold-overlay{
  position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));
  background:var(--au-ink);color:var(--au-fg);text-align:center;cursor:pointer;
  -webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;touch-action:manipulation;
}
.hold-overlay[hidden]{display:none}
.hold-overlay:focus{outline:none}
.ho-phase{font-size:17px;color:var(--au-muted);letter-spacing:.04em}
.ho-count{font-size:clamp(72px, 26vw, 168px);font-weight:300;line-height:1;font-variant-numeric:tabular-nums}
.hold-overlay.is-hold .ho-count{color:var(--au-hold)}
.hold-overlay.is-rest .ho-count{color:var(--au-out)}
.ho-sub{font-size:19px;max-width:28ch;min-height:1.4em}
.ho-tap{font-size:15px;color:var(--au-muted);max-width:30ch;min-height:1.3em}
.ho-cancel{
  position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:14px;
  padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);
  background:transparent;color:var(--au-muted);font:inherit;font-size:14px;cursor:pointer;
}
html.hold-running, html.hold-running body{overflow:hidden}

.hold-overlay.is-pumps .ho-count{color:var(--au-in)}
.tool-overlay .ho-count{transition:color .3s}
.mt-ex li{display:flex;justify-content:space-between;gap:10px;padding:5px 10px;border-radius:10px;font-size:14px;color:var(--muted);counter-increment:mx}
.mt-ex li.is-done{opacity:.5}
.mt-ex li.is-cur{background:var(--accent-soft);outline:1px solid var(--accent-border)}

/* «10:00» — пять знаков: мельче, чем секунды дыхания, чтобы не вылезать за шар */

/* Медитация: оверлей тише и темнее — цифры не должны светить в закрытые веки. */
.gong-overlay{background:#010306}
.gong-overlay .ho-count{color:var(--au-dim);font-weight:200}
.gong-overlay .ho-phase, .gong-overlay .ho-tap{color:#474f73}
.gong-overlay .ho-sub{color:#6f79a3;font-size:17px}
.gong-overlay.is-paused .ho-count{color:var(--au-muted)}

/* Тратака: свеча — точка взгляда. Всё рисуется CSS, картинок нет. В режиме со свечой
   цифры и подписи приглушены ещё сильнее: смотреть надо на пламя, а не на таймер. */
.gong-overlay.has-candle{background:#000}
.gong-overlay.has-candle .ho-count{color:#3b4262;font-size:clamp(28px,7vw,44px)}
.gong-overlay.has-candle .ho-phase, .gong-overlay.has-candle .ho-tap{color:#333a58}
.gong-overlay.has-candle .ho-sub{color:#4d5680}
.gn-candle{position:relative;width:64px;height:150px;margin:0 auto 18px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.gn-flame{width:26px;height:58px;border-radius:50% 50% 46% 46%/62% 62% 38% 38%;
  background:radial-gradient(ellipse at 50% 72%,#fff6d8 0%,#ffd77a 28%,#ffa32b 55%,#ff6a10 78%,rgba(255,90,10,0) 100%);
  box-shadow:0 0 34px 12px rgba(255,150,40,.34),0 0 90px 30px rgba(255,120,20,.16);
  transform-origin:50% 100%;animation:gn-flicker 2.6s ease-in-out infinite}
.gn-wick{width:3px;height:9px;background:#3a2a1c;border-radius:2px;margin-top:-3px}
.gn-wax{width:34px;height:74px;border-radius:5px 5px 3px 3px;
  background:linear-gradient(180deg,#e8e0cf 0%,#cfc4ad 55%,#a89b82 100%);
  box-shadow:0 0 26px 6px rgba(255,170,70,.12)}
@keyframes gn-flicker{
  0%,100%{transform:scale(1) skewX(0deg);opacity:.96}
  25%{transform:scale(1.05,.97) skewX(1.6deg);opacity:1}
  50%{transform:scale(.97,1.05) skewX(-1.2deg);opacity:.93}
  75%{transform:scale(1.03,1) skewX(.8deg);opacity:.99}
}
@media (prefers-reduced-motion: reduce){ .gn-flame{animation:none} }

.pm-full .hold-log{display:none}


.nz-ic{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--border);font-size:15px;flex:0 0 auto}
.nz-layer.on .nz-ic{border-color:var(--accent)}
.nz-drift{display:block;height:2px;border-radius:1px;background:var(--accent);opacity:.45;transform-origin:left;transform:scaleX(0);transition:transform 1s linear}

.nz-sleep{justify-content:flex-start;margin:4px 0 0}

.nz-bc-ic{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--accent);flex:0 0 auto}
.nz-bc-ic svg{width:20px;height:20px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nz-dark{position:fixed;inset:0;z-index:1000;background:#000;color:#1c2136;display:flex;align-items:flex-end;justify-content:center;padding:0 20px calc(40px + env(safe-area-inset-bottom,0px));font-size:14px;cursor:pointer}

/* ---------- футер: общие правила — chrome.css ---------- */
body[data-page="programs"] .site-footer{max-width:920px;margin-top:28px;padding-bottom:12px}

/* ---------- вкладка «Программы» ---------- */
.pg-goal-text{margin:-4px 0 12px !important;font-size:14.5px}
.pg-seo{margin-top:36px}
main#page .pg-seo h2{text-transform:none;letter-spacing:0;font-size:22px;color:var(--fg)}

.st-list .st-li-dur{flex:0 0 3.2em;text-align:right;font-variant-numeric:tabular-nums}
/* Экран практики: тёмный, как у медитации, но с текстом шага — его читают до закрытия глаз. */
.steps-overlay{background:#010306;gap:10px}
.steps-overlay .ho-phase{font-size:14px;color:#474f73}
.st-name{font-size:clamp(24px, 7vw, 36px);line-height:1.15;color:#c3c9e3;font-weight:500;max-width:22ch}
.steps-overlay .ho-sub{font-size:22px;color:#9fa9d1;min-height:1.3em;max-width:24ch}
.steps-overlay.is-up .ho-sub{color:#e0a85a}
.steps-overlay.is-down .ho-sub{color:#7fc9a4}
.steps-overlay .ho-count{font-size:clamp(44px, 14vw, 88px);color:var(--au-dim);font-weight:200}
.steps-overlay.is-paused .ho-count{color:var(--au-muted)}
.st-text{font-size:16px;line-height:1.4;color:#6f79a3;max-width:34ch}
.st-bar{width:min(320px, 80vw);height:3px;border-radius:2px;background:rgba(255,255,255,.08);overflow:hidden}
.st-bar span{display:block;height:100%;width:0;background:#474f73}
.steps-overlay .ho-tap{font-size:13px;color:#3d4466}
.st-next{margin-top:6px;padding:10px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.18);
  background:transparent;color:var(--au-muted);font:inherit;font-size:15px;cursor:pointer}
@media (max-height:640px){ .st-text{display:none} }

.st-list{align-self:stretch}
  /* только верх: auto по бокам из .ns-text держит блок по центру */

/* ---------- картотека (детский сад, 25.09): карточки на экране и печать по 4 на лист А4 ---------- */
.kgrid{display:grid;gap:12px;margin:1.2em 0 1.6em}
.kcard{position:relative;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border-soft);background:var(--bg-elev)}
.kcard::before{content:attr(data-group);display:block;margin-bottom:6px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.kcard > :first-child{margin-top:0}
.kcard p{white-space:pre-line}   /* поля карточки — с новой строки, как в исходнике */
.kcard > :last-child{margin-bottom:0}
.kprint-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.kprint-bar span{font-size:14px;color:var(--muted)}
.kprint-btn{padding:10px 16px;border-radius:999px;border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--fg);font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.kprint-btn:hover{background:var(--glass-2)}
.kdl{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:10px 0 16px}
.kdl span{font-size:14px;color:var(--muted)}
.prose .kdl a,.kdl a{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--glass);color:var(--fg);font-size:14px;font-weight:600;text-decoration:none}
.kdl a::before{content:"";width:10px;height:10px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0v7M2 4.5 5 7.5 8 4.5M1 9.5h8' stroke='%23000' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0v7M2 4.5 5 7.5 8 4.5M1 9.5h8' stroke='%23000' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") center/contain no-repeat}
.prose .kdl a:hover,.kdl a:hover{background:var(--glass-2)}
@media print{
  .site-header, .site-footer, .crumbs, .hub-nav, .sh-nav, .art-timer, .neighbors, .fav-btn, .kprint-bar, .kdl{display:none !important}
  /* печать страниц чтения — на белом (этап 2 редизайна): тёмный фон «ауры» и светлый текст не печатаем */
  html{background:#fff !important;color-scheme:light !important}
  body[data-page="content"]{color-scheme:light !important;--fg:#060a18;--muted:#2b3048;--dim:#4a5170;--card:#fff;--card-line:#c9cdd9;--line:#c9cdd9;--glass:#f1f3f8;--glass-2:#e6e9f1;background:#fff !important;color:#2b3048}
  body[data-page="content"]::before{display:none !important}
  .kcard{break-inside:avoid;background:#fff;color:#000;border-color:#999}
  .kcard *{color:#000 !important}
  /* «Распечатать картотеку»: только карточки, 2 × 2 на лист, пунктир — линия реза */
  html.print-cards body{background:#fff !important;min-height:0 !important;padding:0 !important;margin:0 !important}
  html.print-cards body > :not(main){display:none !important}
  html.print-cards main > :not(.art-body), html.print-cards .art-body > :not(.kgrid){display:none !important}
  html.print-cards main, html.print-cards .art-body{display:block !important;margin:0 !important;padding:0 !important;max-width:none !important;min-height:0 !important}
  html.print-cards .kgrid{display:block;margin:0}
  html.print-cards .kcard{display:inline-block;box-sizing:border-box;width:49.5%;height:134mm;margin:0;padding:9mm 8mm 12mm;vertical-align:top;overflow:hidden;
    border:1px dashed #888;border-radius:0;font-size:12.5pt;line-height:1.45;color:#000;background:#fff}
  html.print-cards .kcard *{color:#000 !important}
  html.print-cards .kcard::before{font-size:9pt;color:#444;margin-bottom:4mm}
  html.print-cards .kcard::after{content:"пранаяма.рф";position:absolute;right:8mm;bottom:5mm;font-size:8.5pt;color:#666}
  html.print-cards .kcard strong{font-size:14pt}
}
@page{size:A4;margin:10mm}
/* иконки групп и тем картотеки (решение владельца 25.09: программные SVG); content-картинка печатается и без «фона» */
.kcard::before{display:flex;align-items:center;gap:8px}
.kcard[data-group="Младшая группа · 2–4 года"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2222%22 height=%2222%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%234a9fd8%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%228%22 cy=%2215%22 r=%224%22/%3E%3Ccircle cx=%2215.5%22 cy=%228%22 r=%223%22/%3E%3Ccircle cx=%2217.5%22 cy=%2216.5%22 r=%222%22/%3E%3C/svg%3E") attr(data-group)}
.kcard[data-group="Средняя группа · 4–5 лет"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2222%22 height=%2222%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%234a9fd8%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cellipse cx=%2212%22 cy=%229%22 rx=%225%22 ry=%226%22/%3E%3Cpath d=%22M12 15l-1.2 2h2.4zM12 17c-1 1.5 1 2.5 0 5%22/%3E%3C/svg%3E") attr(data-group)}
.kcard[data-group="Старшая и подготовительная · 5–7 лет"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2222%22 height=%2222%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%234a9fd8%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9.5 11h5v10h-5zM12 3c1.8 2.2 1.8 4 0 6-1.8-2-1.8-3.8 0-6z%22/%3E%3C/svg%3E") attr(data-group)}
.kcard[data-group="Осень · грибы · листья"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2222%22 height=%2222%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%234a9fd8%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 19C5 11 11 5 19 5c0 8-6 14-14 14zM5 19l8-8%22/%3E%3C/svg%3E") attr(data-group)}
.kcard[data-group="Овощи и фрукты"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2222%22 height=%2222%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%234a9fd8%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 8c-3-2-8-1-8 5 0 4 3 8 5 8 1 0 2-.5 3-.5s2 .5 3 .5c2 0 5-4 5-8 0-6-5-7-8-5zM12 8c0-2 1-4 3-5%22/%3E%3C/svg%3E") attr(data-group)}
.kcard[data-group="Транспорт и ПДД"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2222%22 height=%2222%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%234a9fd8%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%228%22 y=%222.5%22 width=%228%22 height=%2219%22 rx=%223%22/%3E%3Ccircle cx=%2212%22 cy=%227%22 r=%221.6%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%221.6%22/%3E%3Ccircle cx=%2212%22 cy=%2217%22 r=%221.6%22/%3E%3C/svg%3E") attr(data-group)}
.kcard[data-group="Животные"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2222%22 height=%2222%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%234a9fd8%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 13c-3 0-5.5 3-5.5 5 0 1.8 2.2 2 5.5 2s5.5-.2 5.5-2c0-2-2.5-5-5.5-5z%22/%3E%3Ccircle cx=%225.5%22 cy=%2210.5%22 r=%221.8%22/%3E%3Ccircle cx=%229.5%22 cy=%226%22 r=%221.8%22/%3E%3Ccircle cx=%2214.5%22 cy=%226%22 r=%221.8%22/%3E%3Ccircle cx=%2218.5%22 cy=%2210.5%22 r=%221.8%22/%3E%3C/svg%3E") attr(data-group)}
.kcard[data-group="Зима · снег"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2222%22 height=%2222%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%234a9fd8%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 2.5v19M3.8 7.2l16.4 9.6M3.8 16.8l16.4-9.6M9.5 4l2.5 2 2.5-2M9.5 20l2.5-2 2.5 2%22/%3E%3C/svg%3E") attr(data-group)}
@media print{
  html.print-cards .kcard[data-group="Младшая группа · 2–4 года"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2230%22 height=%2230%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%228%22 cy=%2215%22 r=%224%22/%3E%3Ccircle cx=%2215.5%22 cy=%228%22 r=%223%22/%3E%3Ccircle cx=%2217.5%22 cy=%2216.5%22 r=%222%22/%3E%3C/svg%3E") attr(data-group)}
  html.print-cards .kcard[data-group="Средняя группа · 4–5 лет"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2230%22 height=%2230%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cellipse cx=%2212%22 cy=%229%22 rx=%225%22 ry=%226%22/%3E%3Cpath d=%22M12 15l-1.2 2h2.4zM12 17c-1 1.5 1 2.5 0 5%22/%3E%3C/svg%3E") attr(data-group)}
  html.print-cards .kcard[data-group="Старшая и подготовительная · 5–7 лет"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2230%22 height=%2230%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9.5 11h5v10h-5zM12 3c1.8 2.2 1.8 4 0 6-1.8-2-1.8-3.8 0-6z%22/%3E%3C/svg%3E") attr(data-group)}
  html.print-cards .kcard[data-group="Осень · грибы · листья"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2230%22 height=%2230%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 19C5 11 11 5 19 5c0 8-6 14-14 14zM5 19l8-8%22/%3E%3C/svg%3E") attr(data-group)}
  html.print-cards .kcard[data-group="Овощи и фрукты"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2230%22 height=%2230%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 8c-3-2-8-1-8 5 0 4 3 8 5 8 1 0 2-.5 3-.5s2 .5 3 .5c2 0 5-4 5-8 0-6-5-7-8-5zM12 8c0-2 1-4 3-5%22/%3E%3C/svg%3E") attr(data-group)}
  html.print-cards .kcard[data-group="Транспорт и ПДД"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2230%22 height=%2230%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%228%22 y=%222.5%22 width=%228%22 height=%2219%22 rx=%223%22/%3E%3Ccircle cx=%2212%22 cy=%227%22 r=%221.6%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%221.6%22/%3E%3Ccircle cx=%2212%22 cy=%2217%22 r=%221.6%22/%3E%3C/svg%3E") attr(data-group)}
  html.print-cards .kcard[data-group="Животные"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2230%22 height=%2230%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 13c-3 0-5.5 3-5.5 5 0 1.8 2.2 2 5.5 2s5.5-.2 5.5-2c0-2-2.5-5-5.5-5z%22/%3E%3Ccircle cx=%225.5%22 cy=%2210.5%22 r=%221.8%22/%3E%3Ccircle cx=%229.5%22 cy=%226%22 r=%221.8%22/%3E%3Ccircle cx=%2214.5%22 cy=%226%22 r=%221.8%22/%3E%3Ccircle cx=%2218.5%22 cy=%2210.5%22 r=%221.8%22/%3E%3C/svg%3E") attr(data-group)}
  html.print-cards .kcard[data-group="Зима · снег"]::before{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2230%22 height=%2230%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 2.5v19M3.8 7.2l16.4 9.6M3.8 16.8l16.4-9.6M9.5 4l2.5 2 2.5-2M9.5 20l2.5-2 2.5 2%22/%3E%3C/svg%3E") attr(data-group)}
}


/* ---------- «Что нового» (marketing/novosti/, этап 3, 26.10.2026): метки рубрик — общие для home.css и site.css, менять в обоих.
   Цвет рубрики --rc: наука --au-in, тренд --au-warn, «Новое на сайте» --au-out, «К дате» --au-noise; надёжность --au-ok / --au-warn. ---------- */
.nv-r-nauka{--rc:var(--au-in)}
.nv-r-trend{--rc:var(--au-warn)}
.nv-r-sajt{--rc:var(--au-out)}
.nv-r-data{--rc:var(--au-noise)}
.nv-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--rc,var(--au-in));box-shadow:0 0 10px var(--rc,var(--au-in))}
.nv-meta{display:flex;align-items:center;gap:8px;min-width:0;font:600 12px/1.2 var(--f-body);color:var(--muted)}
.nv-meta time{margin-left:auto;font-weight:500;white-space:nowrap}
.nv-ev{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);font:600 12.5px/1 var(--f-body);color:var(--muted);white-space:nowrap}
.nv-ev::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ec,var(--au-warn))}
.nv-ev.is-nadezhno{--ec:var(--au-ok)}
.nv-ev.is-ostorozhno{--ec:var(--au-warn)}

/* ---------- лента /novosti/ ---------- */
.page-news .art-head{max-width:880px}
.nv-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.nv-filter button{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:600 14px/1 var(--f-body);cursor:pointer}
.nv-filter button:hover{background:rgba(255,255,255,.06)}
.nv-filter button[aria-pressed="true"]{background:var(--card);border-color:color-mix(in srgb,var(--rc,var(--au-in)) 55%,transparent);color:var(--fg)}
.nv-filter button[hidden]{display:none}
.nv-filter .nv-dot{box-shadow:none}
.nv-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;max-width:880px;margin:0;padding:0;list-style:none}
.nv-list > li[hidden]{display:none}
.nv-card{display:flex;flex-direction:column;gap:10px;height:100%;box-sizing:border-box;padding:18px;border-radius:22px;text-decoration:none;color:var(--fg);background:var(--card);border:1px solid var(--card-line)}
.nv-card:hover{background:rgba(255,255,255,.07)}
.nv-card .nv-t{font:700 17px/1.3 var(--f-display);letter-spacing:-.015em;text-wrap:balance}
.nv-card .nv-d{font-size:14.5px;line-height:1.5;color:var(--muted)}
.nv-card .nv-foot{display:flex;align-items:center;gap:10px;margin-top:auto;font:600 13px/1 var(--f-body)}
.nv-card .nv-go{margin-left:auto;color:var(--accent)}
.nv-empty{max-width:68ch;color:var(--muted)}
@media (min-width:900px){
  .nv-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .nv-list > li.is-top{grid-column:1 / -1}
  .nv-list > li.is-top .nv-card{padding:24px;background:radial-gradient(520px 240px at 100% 0%,color-mix(in srgb,var(--rc) 16%,transparent),transparent 70%),var(--card)}
  .nv-list > li.is-top .nv-t{font-size:22px}
  .nv-list > li.is-top .nv-d{font-size:15.5px;max-width:68ch}
}
.nv-about{max-width:68ch;margin:34px 0 0;color:var(--muted)}

/* ---------- страница заметки ---------- */
.nv-chip{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);font:600 13px/1 var(--f-body);color:var(--muted);text-decoration:none}
.nv-chip:hover{color:var(--fg)}
.page-note .art-head{max-width:820px}
.page-note .byline .nv-read{color:var(--dim)}
/* ПК: текст слева, колонка «коротко + практика» справа (как колонка виджета статей) */
@media (min-width:1000px){
  .page-note{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"head head" "body side";column-gap:56px;align-items:start}
  .page-note .art-head{grid-area:head;margin-bottom:30px}
  .page-note .art-body{grid-area:body;min-width:0}
  .page-note .nv-side{grid-area:side;position:sticky;top:calc(var(--sh-h,0px) + 16px)}
  .page-note .nv-prac-in{display:none}
}
.nv-side{display:flex;flex-direction:column;gap:12px;margin:0 0 28px}
.nv-box{padding:18px 20px;border-radius:22px;background:var(--card);border:1px solid var(--card-line)}
.nv-k{margin:0 0 12px;font:600 11px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.nv-scale{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0 0 14px;padding:0;list-style:none}
.nv-scale li{padding:9px 4px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid transparent;text-align:center;font:600 12.5px/1.1 var(--f-body);color:var(--dim)}
.nv-scale li.on{background:color-mix(in srgb,var(--ec) 14%,transparent);border-color:color-mix(in srgb,var(--ec) 45%,transparent);color:var(--fg)}
.nv-box.is-nadezhno{--ec:var(--au-ok)}
.nv-box.is-ostorozhno{--ec:var(--au-warn)}
.nv-facts{margin:0;display:grid;gap:10px}
.nv-facts div{display:grid;gap:2px}
.nv-facts dt{font:600 12.5px/1.3 var(--f-body);color:var(--fg)}
.nv-facts dd{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.nv-verdict{padding:16px 18px;border-radius:18px;background:color-mix(in srgb,var(--au-warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--au-warn) 35%,transparent);color:var(--fg);font-weight:600;line-height:1.45}
/* практика: карточка с шаром и одной кнопкой */
.nv-prac{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border-radius:22px;background:var(--card);border:1px solid var(--card-line)}
.nv-prac .blob{width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff 0,var(--pc,var(--au-in)) 42%,color-mix(in srgb,var(--pc,var(--au-in)) 30%,#060a18) 100%);box-shadow:inset -5px -7px 14px rgba(0,0,0,.25),0 8px 22px -8px var(--pc,var(--au-in))}
.nv-prac .nv-pt{font:700 17px/1.3 var(--f-display);letter-spacing:-.015em;color:var(--fg)}
.nv-prac .nv-pm{font-size:14px;line-height:1.45;color:var(--muted)}
:where(.nv-prac) a.nv-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;margin-top:4px;border-radius:999px;background:var(--pc,var(--au-go));color:var(--au-on-accent);font:700 15px/1 var(--f-display);text-decoration:none;box-shadow:0 14px 40px -14px var(--pc,var(--au-go))}
:where(.nv-prac) a.nv-btn:hover{filter:brightness(1.07)}
:where(.nv-prac) a.nv-sub{color:var(--accent);font:600 14px/1.3 var(--f-body);text-decoration:none;padding:6px 0}
:where(.nv-prac) a.nv-sub:hover{text-decoration:underline}
.nv-prac-in{margin:18px 0 20px}
.nv-src{margin:0;padding-left:20px;font-size:14px;line-height:1.5;color:var(--muted)}
.nv-src li{margin:0 0 10px}
.nv-src a{overflow-wrap:anywhere}
.nv-disc{margin:26px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:13.5px;color:var(--dim)}
.nv-more{margin:44px 0 0}
.nv-more .nv-k{margin-bottom:14px}
.nv-more ul{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:0;padding:0;list-style:none}
@media (min-width:700px){.nv-more ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nv-more .nv-card{padding:16px;border-radius:18px}
.nv-more .nv-card .nv-t{font-size:14.5px}
/* внутри .prose статьи: её ссылки и списки не должны трогать карточки */
.prose a.nv-card,.prose a.nv-chip,.prose a.nv-sub{text-decoration:none}
.prose a.nv-card{color:var(--fg)}
.prose a.nv-btn{color:var(--au-on-accent);text-decoration:none}
.prose .nv-more ul,.prose ul.nv-scale,.prose ol.nv-src{margin-top:0}
.prose .nv-more ul,.prose ul.nv-scale{padding:0}
.prose .nv-more li,.prose .nv-scale li{margin:0}
@media (max-width:999px){.nv-prac-side{display:none}}

/* chrome.css — шапка сайта, шторка «Меню» и cookie-плашка (вариант Б, 25.09).
   Общие для посадочных, главной и кабинета; логика — site-chrome.js.
   ПК (≥900px): логотип · разделы · «Мои практики». Уже — логотип · «Таймер» · «Меню». */

.site-header{
  position:relative;
  max-width:1120px;margin:0 auto;
  display:flex;align-items:center;gap:8px;
  padding:calc(8px + env(safe-area-inset-top,0px)) 16px 4px;
}
.sh-brand{display:inline-flex;flex:0 0 auto;margin-right:auto;border-radius:var(--radius-sm)}
.sh-brand picture,.sf-about picture{display:contents}
.sh-brand source,.sf-about source{display:none}
.sh-brand img{display:block;height:28px;width:auto;max-width:100%;opacity:.92}
.sh-cta,.sh-menu,.sh-my{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;
  height:44px;padding:0 14px;border-radius:12px;
  font:inherit;font-size:15px;font-weight:500;text-decoration:none;cursor:pointer;
}
.sh-nav,.sh-my{display:none}
.sh-cta{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-border)}
.sh-cta:hover{background:rgba(127,209,255,.24)}
.sh-menu{color:var(--fg);background:var(--bg-elev);border:1px solid var(--border);padding:0 12px}
.sh-menu:hover{background:var(--bg-elev-2)}
.sh-menu svg,.sh-my svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

@media (min-width:900px){
  .site-header{gap:18px;padding:calc(16px + env(safe-area-inset-top,0px)) 24px 12px}
  .sh-brand{margin-right:0}
  .sh-nav{display:flex;gap:4px;margin:0 auto}
  .sh-nav a{color:var(--muted);text-decoration:none;font-size:15px;font-weight:500;padding:8px 12px;border-radius:var(--radius-sm)}
  .sh-nav a:hover,.sh-nav a[aria-current]{color:var(--fg);background:var(--bg-elev)}
  /* «Как дышать?» — тёмная пилюля с вращающейся радужной обводкой (палитра главной) */
  .site-header .sh-nav a.sh-lead{position:relative;isolation:isolate;margin-right:6px;
    padding:8px 14px;border-radius:999px;color:#fff;font-weight:600;background:rgba(8,14,32,.72)}
  .site-header .sh-nav a.sh-lead::before,.site-header .sh-nav a.sh-lead::after{content:"";position:absolute;border-radius:inherit;pointer-events:none;
    background:conic-gradient(from var(--sl-a,0deg),#ff9fd2,#ffd27a,#9ee9c5,#7fb8ff,#c8a8ff,#ff9fd2);animation:sl-spin 7s linear infinite}
  .site-header .sh-nav a.sh-lead::before{inset:0;padding:1.5px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
  .site-header .sh-nav a.sh-lead::after{inset:-3px;z-index:-1;filter:blur(10px);opacity:.38;transition:opacity .3s}
  .site-header .sh-nav a.sh-lead:hover,.site-header .sh-nav a.sh-lead[aria-current]{color:#fff;background:rgba(14,22,46,.82)}
  .site-header .sh-nav a.sh-lead:hover::after,.site-header .sh-nav a.sh-lead[aria-current]::after{opacity:.62}
  .sh-my{display:inline-flex;color:var(--fg);background:var(--bg-elev);border:1px solid var(--border)}
  .sh-my:hover,.sh-my[aria-current]{border-color:var(--accent-border);background:var(--accent-soft)}
  .sh-my svg{stroke:var(--accent)}
  .sh-cta,.sh-menu{display:none}
}
@property --sl-a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes sl-spin{to{--sl-a:360deg}}
@media (prefers-reduced-motion:reduce){.site-header .sh-nav a.sh-lead::before,.site-header .sh-nav a.sh-lead::after{animation:none}}
/* шесть разделов в шапке — на узком ПК плотнее */
@media (min-width:900px) and (max-width:1099px){
  .site-header{gap:10px}
  .sh-nav a{padding:8px 8px;font-size:14px}
}
@media (max-width:359px){
  .sh-cta,.sh-menu{padding:0 10px}
  .sh-brand img{height:24px}
}
/* ---------- шапка «Живая аура» на всех страницах, кроме главной (этап 2 редизайна, 12.10.2026) ----------
   Как на главной: пилюли на стекле, «Курсы» в строке разделов. Телефон — логотип, «Таймер», круглое «Меню».
   900–1279 px — «Мои практики» и «Меню» круглыми значками, разделы мельче и nowrap; от 1280 — с подписями.
   Значения — прямо --au-*: у контактов и политики области «ауры» ещё нет (этап 6). У главной — свои правила в home.css. */
body:not([data-page="timer"]) .site-header{max-width:1240px;min-height:56px;padding:env(safe-area-inset-top,0px) 16px 0;gap:8px;font-family:var(--au-body)}
body:not([data-page="timer"]) .sh-brand img{height:24px;opacity:1}
body:not([data-page="timer"]) .sh-cta{height:40px;padding:0 16px;border-radius:999px;background:var(--au-glass);border:1px solid var(--au-line);color:var(--au-fg);font:600 14px/1 var(--au-body)}
body:not([data-page="timer"]) .sh-cta:hover{background:var(--au-glass-2)}
body:not([data-page="timer"]) .sh-my,body:not([data-page="timer"]) .sh-menu{height:44px;min-width:44px;padding:0;justify-content:center;border-radius:999px;
  background:var(--au-glass);border:1px solid var(--au-line);color:var(--au-fg);font:600 0/1 var(--au-body);gap:0}
body:not([data-page="timer"]) .sh-my:hover,body:not([data-page="timer"]) .sh-menu:hover{background:var(--au-glass-2);border-color:var(--au-line)}
body:not([data-page="timer"]) .sh-my[aria-current]{border-color:color-mix(in srgb,var(--au-in) 45%,transparent);background:var(--au-glass-2)}
body:not([data-page="timer"]) .sh-my svg,body:not([data-page="timer"]) .sh-menu svg{width:20px;height:20px;stroke:currentColor}
@media (min-width:900px){
  body:not([data-page="timer"]) .site-header{min-height:72px;gap:12px;padding:env(safe-area-inset-top,0px) clamp(16px,2.4vw,36px) 0}
  body:not([data-page="timer"]) .sh-brand img{height:22px}
  body:not([data-page="timer"]) .sh-nav{margin:0 auto 0 4px;gap:0}
  body:not([data-page="timer"]) .sh-nav a{color:var(--au-muted);font:500 13.5px/1 var(--au-body);padding:9px 6px;border-radius:999px;white-space:nowrap}
  body:not([data-page="timer"]) .sh-nav a:hover,body:not([data-page="timer"]) .sh-nav a[aria-current]{color:var(--au-fg);background:none}
  body:not([data-page="timer"]) .site-header .sh-nav a.sh-lead{margin-right:4px;padding:9px 12px;font-weight:600;color:#fff}
  html:not(.is-app) body:not([data-page="timer"]) .sh-menu{display:inline-flex}
  html:not(.is-app) body:not([data-page="timer"]) .sh-cta{display:none}
}
@media (min-width:1100px){
  body:not([data-page="timer"]) .sh-brand img{height:26px}
  body:not([data-page="timer"]) .sh-nav{margin-left:8px}
  body:not([data-page="timer"]) .sh-nav a{font-size:15px;padding:9px 10px}
}
/* Ширина строки (27.10.2026): с переключателем темы шапка не влезала в колонку на 900–959 и ≥ 1280 px («Меню» уезжало
   за край). Колонка на ПК ≈ 1175 px, на 900 — 856: зазоры, отступы разделов и переключатель здесь — впритык, не раздувать. */
@media (min-width:900px) and (max-width:1099px){
  body:not([data-page="timer"]) .site-header{gap:8px}
  body:not([data-page="timer"]) .sh-nav a{font-size:13px;padding:9px 5px}
  body:not([data-page="timer"]) .sh-theme{--w:68px}
}
@media (min-width:1280px){
  body:not([data-page="timer"]) .site-header{min-height:76px;gap:12px}
  body:not([data-page="timer"]) .sh-brand img{height:30px}
  body:not([data-page="timer"]) .sh-nav{margin-left:4px}
  body:not([data-page="timer"]) .sh-nav a{font-size:14.5px;padding:9px 9px}
  body:not([data-page="timer"]) .sh-my,body:not([data-page="timer"]) .sh-menu{font-size:14px;gap:8px;padding:0 13px}
  body:not([data-page="timer"]) .sh-my svg{stroke:var(--au-in)}
}
/* ---------- липкая шапка (27.10.2026; кроме главной и PWA — у главной полоса .sh-float в home.css) ----------
   Наверху страницы — как была (прозрачная, пилюли на ауре). Классы ставит site-chrome.js (initStickyHeader).
   ПК ≥ 900: всегда видна. top = 56 − полная высота, поэтому, прилипнув, шапка показывает нижние 56 px, а содержимое
   сдвигается вниз transform'ом на половину разницы (--sh-dy) — раскладка страницы не меняется, CLS 0.
   Телефон: прокрутка вниз — уезжает (.is-hidden), вверх — возвращается.
   Подложка во всю ширину окна: шапка шириной 100%, колонка 1240 px — через padding-inline. */
html:not(.is-app) body:not([data-page="timer"]) .site-header{
  --sh-full:56px;--sh-dy:0px;--sh-pad:16px;
  position:sticky;top:calc(56px - var(--sh-full));z-index:80;
  max-width:none;padding-inline:max(var(--sh-pad),calc((100% - 1240px) / 2 + var(--sh-pad)));
  transition:transform .3s var(--au-ease),background-color .25s,box-shadow .25s}
html:not(.is-app) body:not([data-page="timer"]) .site-header>*{transition:transform .25s var(--au-ease)}
html:not(.is-app) body:not([data-page="timer"]) .site-header.is-stuck{
  background:var(--au-bar);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);box-shadow:0 1px 0 var(--au-line)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  html:not(.is-app) body:not([data-page="timer"]) .site-header.is-stuck{background:var(--au-bar-solid)}}
html:not(.is-app) body:not([data-page="timer"]) .site-header.is-stuck>*{transform:translateY(var(--sh-dy))}
html:not(.is-app) body:not([data-page="timer"]) .site-header.is-hidden:not(:focus-within){transform:translateY(calc(-100% - 4px));box-shadow:none}
@media (min-width:900px){
  html:not(.is-app) body:not([data-page="timer"]) .site-header{--sh-full:72px;--sh-dy:8px;--sh-pad:clamp(16px,2.4vw,36px)}
  html:not(.is-app) body:not([data-page="timer"]) .site-header .sh-brand img{transform-origin:0 50%;transition:transform .25s var(--au-ease)}
  html:not(.is-app) body:not([data-page="timer"]) .site-header.is-stuck .sh-brand img{transform:scale(.82)}
}
@media (min-width:1280px){
  html:not(.is-app) body:not([data-page="timer"]) .site-header{--sh-full:76px;--sh-dy:10px}
}
@media (prefers-reduced-motion:reduce){
  html:not(.is-app) body:not([data-page="timer"]) .site-header,html:not(.is-app) body:not([data-page="timer"]) .site-header *{transition:none}
}
/* якоря не прячутся под шапку; --sh-h — видимая высота шапки (site-chrome.js) */
html:not(.is-app){scroll-padding-top:var(--sh-h,0px)}
/* Полноэкранные режимы виджета в колонке статьи (.art-timer — sticky, свой слой) — поверх шапки, как до неё. */
.art-timer:has(.tw-max,.pm-full,.tw-tool.sh-on,.nz-dark:not([hidden])){z-index:1000}
/* В установленном приложении разделы на ПК не нужны — остаётся «Меню». */
html.is-app .sh-nav,html.is-app .sh-my{display:none}
html.is-app .sh-menu{display:inline-flex}
html.is-app .sh-cta{display:inline-flex}
/* В PWA шапка не липкая и без z-index: ночной герой курсов (.lp-hero/.lp-ihero — relative, заезжает под шапку
   отрицательным margin-top) перекрывал её, и с прелендинга/занятий было не уйти. */
html.is-app body:has(.lp-n.lp-hero,.lp-n.lp-ihero) .site-header{z-index:80}
/* Страницы приложения («Мои практики», история, награды, контакты): в PWA внизу
   4 вкладки, поэтому в шапке только логотип и еле заметный значок © (попап — nav.js). */
.sh-copy{display:none}
html.is-app .sh-app .sh-menu,html.is-app .sh-app .sh-cta{display:none}
html.is-app .sh-app .sh-copy{
  display:grid;place-items:center;width:44px;height:44px;min-height:0;padding:0;flex:0 0 auto;
  background:none;border:0;border-radius:12px;color:rgba(138,163,196,.45);font:inherit;font-size:17px;line-height:1;cursor:pointer}
html.is-app .sh-app .sh-copy:hover{color:var(--muted)}
html.is-app .mk{display:none !important}

/* ---------- шторка «Меню» ---------- */
/* «Живая аура» (этап 6 редизайна, 13.10.2026): окно сайта card-solid, радиус 26; телефон — выезжает сверху,
   ПК от 900 px — панель справа во всю высоту (как шторка главной). Значения — --au-* напрямую:
   у контактов, политики и главной своя область токенов, шторка одна на все страницы. */
.menu-sheet{position:fixed;inset:0;z-index:1100;background:rgba(3,6,16,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.menu-sheet[hidden]{display:none}
html.menu-open,html.menu-open body{overflow:hidden}
.ms-panel{
  max-width:560px;margin:0 auto;
  display:flex;flex-direction:column;gap:18px;
  padding:calc(12px + env(safe-area-inset-top,0px)) 16px 22px;
  background:var(--au-card-solid);border:1px solid var(--au-card-line);border-top:0;
  border-radius:0 0 26px 26px;box-shadow:0 30px 80px -20px rgba(0,0,0,.8);
  font-family:var(--au-body);color:var(--au-fg);
  animation:ms-in .5s var(--au-spring);
}
@keyframes ms-in{from{transform:translateY(-16px);opacity:0}to{transform:none;opacity:1}}
@media (min-width:900px){
  .ms-panel{position:fixed;top:12px;right:12px;bottom:12px;width:420px;max-width:none;margin:0;padding:16px 20px 22px;
    overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--au-card-line);border-radius:26px;animation-name:ms-side}
  @keyframes ms-side{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
}
.ms-top{display:flex;align-items:center;justify-content:space-between;height:44px}
.ms-top .sh-brand{margin:0}
.ms-close{width:44px;height:44px;border-radius:12px;border:1px solid var(--au-line);background:var(--au-glass);color:var(--au-fg);
  display:flex;align-items:center;justify-content:center;cursor:pointer}
.ms-close:hover{background:var(--au-glass-2)}
.ms-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
/* Состав (вариант Б + «Продолжить курс», 28.10.2026): баннер курса → «Что нужно сейчас?» 2×2 → «Приложение на телефон»
   → «Моё» в строку → «Разделы» чипами + «Все разделы» (<details>). Разметка — menuSheet() в parts.mjs. */
.ms-panel{gap:16px}
.ms-h{margin:2px 0 -4px;font:700 21px/1.15 var(--au-display);letter-spacing:-.01em;color:var(--au-fg)}
.ms-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ms-goal{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:100px;padding:14px;border-radius:22px;
  background:var(--au-glass);border:1px solid var(--au-card-line);color:var(--au-fg);text-decoration:none}
.ms-goal:hover{background:var(--au-glass-2)}
.ms-goal > span{display:flex;flex-direction:column;gap:4px}
.ms-goal .nw{white-space:nowrap}
.ms-goal b{font:600 15px/1.2 var(--au-display);letter-spacing:-.01em}
.ms-goal small{font:400 12.5px/1.35 var(--au-body);color:color-mix(in srgb,var(--au-fg) 70%,transparent)}
.ms-goal svg{width:24px;height:24px;fill:none;stroke:var(--gc,var(--au-fg));stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ms-goal .sos-blob{width:24px;height:24px}
.ms-goal[data-mi="sleep"]{--gc:var(--au-hold)}
.ms-goal[data-mi="kak"]{--gc:var(--au-in)}
.ms-goal[data-mi="kursy"]{--gc:var(--au-out)}
.ms-goal.ms-sos{border-color:rgba(255,143,158,.5);background:linear-gradient(160deg,rgba(255,143,158,.2),rgba(255,255,255,.03))}
.ms-goal.ms-sos:hover{background:linear-gradient(160deg,rgba(255,143,158,.28),rgba(255,255,255,.05))}
/* «Приложение на телефон» — всегда, кроме PWA (решение владельца); «Поставить» — системное окно или /prilozhenie/ */
.ms-app{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;border-radius:20px;color:var(--au-fg);text-decoration:none;
  background:linear-gradient(120deg,rgba(127,209,255,.18),rgba(200,168,255,.14));border:1px solid rgba(127,209,255,.35)}
.ms-app:hover{background:linear-gradient(120deg,rgba(127,209,255,.26),rgba(200,168,255,.2))}
.ms-app > svg{flex:0 0 auto;width:26px;height:26px;fill:none;stroke:var(--au-in);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ms-app > span:not(.ms-app-btn){display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.ms-app b{font:600 14.5px/1.25 var(--au-body)}
.ms-app small{font:400 12.5px/1.35 var(--au-body);color:color-mix(in srgb,var(--au-fg) 70%,transparent)}
.ms-app-btn{flex:0 0 auto;padding:10px 14px;border-radius:999px;background:var(--au-accent);color:var(--au-on-accent);font:700 13px/1 var(--au-body)}
html.is-app .ms-app{display:none}
.ms-sec{display:flex;flex-direction:column;gap:8px}
.ms-label{display:flex;align-items:center;gap:8px;margin:0;font:600 11.5px/1.2 var(--au-body);letter-spacing:.14em;text-transform:uppercase;color:var(--au-dim)}
.ms-my{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ms-my a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 6px;border-radius:999px;
  background:var(--au-glass);border:1px solid var(--au-card-line);color:var(--au-fg);text-decoration:none;font:500 13.5px/1.1 var(--au-body)}
.ms-my a:hover{background:var(--au-glass-2)}
.ms-my svg{flex:0 0 auto;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ms-chips{display:flex;flex-wrap:wrap;gap:8px}
.ms-chips > a,.ms-all > summary{display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 14px;border-radius:999px;background:var(--au-glass);
  border:1px solid var(--au-line);color:var(--au-fg);text-decoration:none;font:500 14px/1 var(--au-body)}
.ms-chips > a:hover{background:var(--au-glass-2);border-color:var(--au-in)}
/* «Все разделы» — раскрываются на месте; открытые — во всю ширину, сверху «Свернуть разделы» */
.ms-all > summary{list-style:none;cursor:pointer;color:var(--au-accent)}
.ms-all > summary::-webkit-details-marker{display:none}
.ms-all > summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--au-ease)}
.ms-all > summary:hover{background:var(--au-glass-2)}
.ms-all-off,.ms-all[open] .ms-all-on{display:none}
.ms-all[open] .ms-all-off{display:inline}
.ms-all[open]{flex-basis:100%}
.ms-all[open] > summary{display:flex;justify-content:center;width:100%;border-color:rgba(127,209,255,.35);background:rgba(127,209,255,.08)}
.ms-all[open] > summary svg{transform:rotate(180deg)}
.ms-more{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.ms-group{display:flex;flex-direction:column;padding:12px 14px 4px;border-radius:20px;background:var(--au-glass);border:1px solid var(--au-card-line)}
.ms-group .ms-label{margin-bottom:4px}
.ms-group .ms-label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dot);box-shadow:0 0 8px var(--dot)}
.ms-practice{--dot:var(--au-in)}
.ms-rest{--dot:var(--au-hold)}
.ms-know{--dot:var(--au-out)}
.ms-group a{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 2px;border-top:1px solid var(--au-line);
  color:var(--au-fg);text-decoration:none;font:400 15px/1.2 var(--au-body)}
.ms-group .ms-label + a{border-top:0}
.ms-group a::after{content:"›";color:var(--au-dim);font-size:18px}
.ms-group a:hover{color:var(--au-accent)}
/* Баннер курса (site-chrome.js paintCourse по снимку pr_course_snap из courses.js): идёт — «Продолжить курс»,
   пауза — «Вернуться к курсу», сегодняшний день пройден — тихая строка. --c — цвет курса. */
.ms-course[hidden]{display:none}
.ms-crs{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:24px;color:var(--au-fg);text-decoration:none;
  background:linear-gradient(150deg,color-mix(in srgb,var(--c) 24%,transparent),rgba(127,209,255,.08));border:1px solid color-mix(in srgb,var(--c) 45%,transparent)}
.ms-crs:hover{background:linear-gradient(150deg,color-mix(in srgb,var(--c) 32%,transparent),rgba(127,209,255,.1))}
.ms-crs-k{font:600 11px/1.2 var(--au-body);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--c) 55%,var(--au-fg))}
.ms-crs-row{display:flex;align-items:center;gap:12px}
.ms-crs-row > span:first-child{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.ms-crs b{font:700 18px/1.15 var(--au-display);letter-spacing:-.01em}
.ms-crs small{font:400 13px/1.35 var(--au-body);color:color-mix(in srgb,var(--au-fg) 78%,transparent)}
.ms-crs-play{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--c);color:var(--au-on-accent)}
.ms-crs-play svg{width:20px;height:20px;margin-left:3px;fill:currentColor}
.ms-crs-bar{display:flex;align-items:center;gap:10px}
.ms-crs-bar > i{flex:1;height:6px;border-radius:99px;background:var(--au-glass-2);overflow:hidden}
.ms-crs-bar > i > i{display:block;height:100%;border-radius:inherit;background:var(--c)}
.ms-crs-bar small{font-size:12px}
.ms-crs-done{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 14px;border-radius:18px;border:1px solid var(--au-line);
  color:color-mix(in srgb,var(--au-fg) 78%,transparent);text-decoration:none;font:400 14px/1.35 var(--au-body)}
.ms-crs-done:hover{background:var(--au-glass)}
.ms-crs-done i{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}
.ms-crs-done b{font-weight:600;color:var(--au-fg)}
@media (prefers-reduced-motion:reduce){.ms-panel{animation:none}}
/* «Мне плохо сейчас» заметнее (21.10.2026, marketing/home-sos/DECISIONS.md, Р4–Р5): карточка «Мне плохо» в «Меню»
   (с 28.10.2026 — первая в «Что нужно сейчас?»), карточка под виджетом статей тревоги, паники, сна и злости (sosCard) и первой в «Практиках»
   «Моих практик» (П1). Тихая строка (sosLine) осталась только на главной под «Ещё на сайте».
   Шар — палитра SOS из брендбука (--au-sos). */
.sos-blob{--c0:#ffe6ea;--c1:#ff8f9e;--c2:#ff3d6e;display:block;flex:none;width:22px;height:22px;border-radius:58% 42% 55% 45%/48% 60% 40% 52%;
  background:radial-gradient(circle at 34% 30%,var(--c0) 0,var(--c1) 42%,var(--c2) 100%);box-shadow:inset -4px -5px 10px rgba(0,0,0,.25),0 6px 18px -6px var(--c1);
  animation:sosMorph 4.5s ease-in-out infinite}
@keyframes sosMorph{50%{border-radius:45% 55% 42% 58%/58% 44% 56% 42%;transform:scale(1.06)}}
.sos-cardline{display:flex;align-items:center;gap:14px;margin:0 0 20px;padding:14px 16px;border-radius:20px;text-decoration:none!important;
  border:1px solid rgba(255,143,158,.45);background:linear-gradient(140deg,rgba(255,143,158,.16),rgba(12,18,40,.6));color:var(--au-fg)!important}
.sos-cardline:hover{background:linear-gradient(140deg,rgba(255,143,158,.24),rgba(12,18,40,.6))}
.sos-cardline .sos-blob{width:44px;height:44px}
.sos-cardline > span{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.sos-cardline b{font:700 16px/1.2 var(--au-display);color:var(--au-fg)}
.sos-cardline small{font:400 13.5px/1.35 var(--au-body);color:var(--au-muted)}
.sos-cardline i.ar{font-style:normal;font-size:22px;color:var(--au-sos);flex:none}
.sos-cardline:focus-visible{outline:2px solid var(--au-sos);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.sos-blob{animation:none}}
.sos-line{margin:14px 0 0;font-size:14px;line-height:1.45;color:var(--muted)}
.sos-line a{color:var(--fg);font-weight:600;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px}
.sos-line a:hover{text-decoration-color:currentColor}
/* Тихая строка курса (courseLine в parts.mjs): хабы и посадочные кластера, результат опросников. */
.crs-line{margin:14px 0 0;font-size:14px;line-height:1.45;color:var(--muted)}
.crs-line::before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--c,#7fd1ff);box-shadow:0 0 10px var(--c,#7fd1ff);vertical-align:1px}
.crs-line a{color:var(--fg);font-weight:600;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px}
.crs-line a:hover{text-decoration-color:currentColor}
.prose .crs-line{margin:-8px 0 20px}
.qz-crs{margin:12px 0 0}

/* ---------- футер сайта (siteFooter в parts.mjs) — «Живая аура», 11.10.2026 ----------
   Разделы (три стеклянные карточки с каплей цвета фазы) → строка бренда → юр. строка.
   Черты сверху нет: вместо неё аура трёх цветов фаз. Токены — из aura.css (.site-footer — область «ауры»), своё — только --sf-link. */
.site-footer{--sf-link:#d9def3;
  position:relative;isolation:isolate;display:flex;flex-direction:column;gap:20px;
  max-width:1120px;margin:64px auto 0;padding:0 20px calc(28px + env(safe-area-inset-bottom,0px));font-family:var(--f-body);color:var(--fg)}
/* Аура гаснет к краям со всех сторон (маска — пересечение горизонтали и вертикали), иначе край блока виден прямой линией. */
.site-footer::before{content:"";position:absolute;z-index:-1;inset:-80px 0 auto;height:min(100%,600px);pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent),linear-gradient(transparent,#000 22%,#000 40%,transparent 92%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent),linear-gradient(transparent,#000 22%,#000 40%,transparent 92%);
  mask-composite:intersect;
  background:radial-gradient(closest-side,rgba(94,200,255,.15),transparent) 22% 32%/46% 70% no-repeat,
    radial-gradient(closest-side,rgba(140,123,255,.16),transparent) 50% 24%/46% 70% no-repeat,
    radial-gradient(closest-side,rgba(95,224,176,.11),transparent) 78% 34%/46% 70% no-repeat}
/* Блок разделов (hubNav) — посадочные, главная, «Мои практики», «Программы». */
.hub-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hn-group{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;padding:18px 14px 14px;border-radius:26px;overflow:hidden;
  background:var(--card);border:1px solid var(--card-line);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}
.hn-group::before{content:"";position:absolute;inset:0 0 auto;height:120px;pointer-events:none;
  background:radial-gradient(260px 120px at 20% 0%,color-mix(in srgb,var(--c1) 22%,transparent),transparent 75%)}
.hn-top{position:relative;display:flex;align-items:center;gap:12px;padding:0 6px}
.hn-blob{flex:none;width:34px;height:34px;border-radius:58% 42% 55% 45%/48% 60% 40% 52%;
  background:radial-gradient(circle at 34% 30%,var(--c0) 0,var(--c1) 42%,var(--c2) 100%);
  box-shadow:inset -4px -6px 12px rgba(0,0,0,.25),0 8px 22px -8px var(--c1);animation:hn-morph 9s ease-in-out infinite;animation-delay:var(--dl,0s)}
@keyframes hn-morph{0%,100%{border-radius:58% 42% 55% 45%/48% 60% 40% 52%;rotate:0deg}33%{border-radius:42% 58% 38% 62%/60% 40% 58% 42%;rotate:8deg}66%{border-radius:52% 48% 62% 38%/42% 54% 46% 58%;rotate:-6deg}}
.hn-label{margin:0;font:700 15px/1.2 var(--f-display);letter-spacing:.01em;color:var(--fg)}
.hn-label small{display:block;margin-top:3px;font:500 12.5px/1.3 var(--f-body);letter-spacing:0;color:var(--muted)}
.hub-nav ul{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:2px}
.hub-nav li{margin:0}
.hub-nav a{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border-radius:14px;
  font:500 15px/1.3 var(--f-body);color:var(--sf-link);text-decoration:none;transition:background .2s,color .2s}
.hub-nav a::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--c1);opacity:.45;transition:opacity .2s,transform .2s}
.hub-nav a::after{content:"→";margin-left:auto;color:var(--c1);opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}
.hub-nav a:hover,.hub-nav a:focus-visible{background:color-mix(in srgb,var(--c1) 13%,transparent);color:var(--fg)}
.hub-nav a:hover::before,.hub-nav a:focus-visible::before{opacity:1;transform:scale(1.3)}
.hub-nav a:hover::after,.hub-nav a:focus-visible::after{opacity:1;transform:none}
.hn-practice{--c0:#e3f8ff;--c1:#5ec8ff;--c2:#5a63ff;--dl:0s}
.hn-rest{--c0:#efe6ff;--c1:#8c7bff;--c2:#3a2aa8;--dl:-3s}
.hn-know{--c0:#e2fff3;--c1:#5fe0b0;--c2:#2b8cff;--dl:-6s}
/* строка бренда */
.sf-brand{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;padding:22px 24px;border-radius:28px;
  background:linear-gradient(120deg,rgba(94,200,255,.12),rgba(140,123,255,.10) 55%,rgba(95,224,176,.08)),var(--card);
  border:1px solid var(--card-line);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}
.sf-about{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 280px}
.sf-about img{display:block;align-self:flex-start;height:26px;width:auto;max-width:100%}
.sf-about p{margin:0;max-width:44ch;font-size:14px;line-height:1.45;color:var(--muted)}
.sf-acts{display:flex;flex-wrap:wrap;gap:10px}
/* кнопки (28.10.2026): «Бесплатные курсы» — стекло с фиолетом задержки, «Мобильное приложение» — главная, голубая */
.sf-go,.sf-crs{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;border-radius:999px;white-space:nowrap;text-decoration:none}
.sf-go svg,.sf-crs svg{flex:none;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sf-go{padding:0 26px 0 20px;background:var(--au-go);color:var(--on-accent);font:700 15px/1 var(--f-display);
  box-shadow:0 14px 40px -14px var(--au-go);transition:transform .15s,box-shadow .3s}
.sf-go:hover{box-shadow:0 16px 46px -10px var(--au-go)}
.sf-go:active,.sf-crs:active{transform:scale(.97)}
.sf-crs{padding:0 22px 0 18px;color:var(--fg);font:600 14.5px/1 var(--f-body);
  background:linear-gradient(120deg,color-mix(in srgb,var(--au-hold) 16%,transparent),color-mix(in srgb,var(--au-hold) 6%,transparent)),var(--glass);
  border:1px solid color-mix(in srgb,var(--au-hold) 34%,transparent);transition:border-color .25s,background .25s,transform .15s}
.sf-crs svg{color:var(--au-hold)}
.sf-crs:hover{border-color:color-mix(in srgb,var(--au-hold) 60%,transparent);background:color-mix(in srgb,var(--au-hold) 20%,transparent)}
.site-footer :focus-visible{outline:2px solid var(--au-go);outline-offset:3px}
.sf-legal{margin:0;padding:0 6px;font-size:12.5px;line-height:1.6;color:var(--dim)}
.sf-legal a{color:var(--muted);text-decoration:underline;text-decoration-color:rgba(255,255,255,.18);text-underline-offset:3px}
.sf-legal a:hover{color:var(--fg)}
@media (max-width:860px){.hub-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.hn-practice{grid-column:1/-1}.hn-practice ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){
  .site-footer{padding-inline:14px;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))} /* кнопка ИИ-чата не закрывает юр. строку */
  .hub-nav{grid-template-columns:minmax(0,1fr)}
  .hn-practice{grid-column:auto}.hn-practice ul{grid-template-columns:minmax(0,1fr)}
  .sf-brand{padding:18px;border-radius:24px}
  .sf-acts,.sf-go,.sf-crs{width:100%}
}
@media (prefers-reduced-motion:reduce){.hn-blob{animation:none}.hub-nav a,.hub-nav a::before,.hub-nav a::after,.sf-go,.sf-crs{transition:none}}

/* ---------- cookie-плашка (этап 2 редизайна, 12.10.2026; вниз — 28.10.2026) ----------
   Телефон и планшет — внизу экрана (сверху закрывала лого и меню); кнопка чата на это время стоит над ней
   (html.ck-on, высоту --ck-h пишет site-chrome.js). ПК от 1000 px — карточка слева внизу, как #ckf главной
   (у главной своя плашка, эту site-chrome.js там не рисует). */
.cookie-bar{
  position:fixed;z-index:90;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));
  max-width:560px;min-height:52px;margin:0 auto;box-sizing:border-box;
  display:flex;align-items:center;gap:10px;
  padding:6px 6px 6px 14px;border-radius:16px;
  background:var(--au-card-solid);border:1px solid var(--au-card-line);box-shadow:0 -10px 40px -16px rgba(0,0,0,.8);
  font:400 12.5px/1.35 var(--au-body);color:var(--au-muted);
  animation:ck-in .5s var(--au-spring) both;
}
/* курс нидры: над нижним мини-плеером .nd-mini (870), под шторкой и плеером курса (879+) — nidra.css */
body:has(.nd-course) .cookie-bar{z-index:875}
@keyframes ck-in{from{opacity:0;transform:translateY(calc(100% + 24px))}to{opacity:1;transform:none}}
@media (max-width:999px){
  html.ck-on .chat-dock{bottom:calc(var(--ck-h,52px) + 20px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){.cookie-bar{animation:none}}
.cookie-bar span{flex:1 1 auto;min-width:0}
.cookie-bar a{color:var(--au-fg);text-underline-offset:2px}
.cookie-bar button{flex:0 0 auto;height:38px;min-height:0;padding:0 16px;border-radius:999px;border:1px solid var(--au-line);
  background:var(--au-glass-2);color:var(--au-fg);font:600 13px/1 var(--au-body);cursor:pointer}
.cookie-bar button:hover{background:rgba(255,255,255,.18)}
@media (min-width:1000px){
  .cookie-bar{right:auto;left:clamp(16px,2.4vw,36px);bottom:20px;width:370px;max-width:none;margin:0;padding:10px 10px 10px 16px;border-radius:18px;font-size:13px}
}
@media print{.menu-sheet,.cookie-bar,.sh-menu,.sh-my{display:none !important}}

/* ---------- ИИ-чат «Данил Прана»: кнопка вызова (лаунчер в site-chrome.js) ----------
   Связка B → D со свечением A (прототип утверждён 10.10.2026): пилюля «Спросить Данила»,
   через 12 с — круг с фото, дышащее свечение, кольцо ауры и плашка «ИИ», пузырь-сообщение.
   Панель чата — chat.css, грузится по клику. Токены чата — «Живая аура» (aura.css, этап 6 редизайна). */
.chat-dock,.chat-panel,.chat-ask{
  --c-aura:conic-gradient(from 200deg,#ff9fd2,#ffd27a,#9ee9c5,#7fb8ff,#c8a8ff,#ff9fd2);
  --c-ink:var(--au-ink);--c-solid:#0a1022;--c-fg:var(--au-fg);--c-muted:var(--au-muted);--c-dim:var(--au-dim);
  --c-line:var(--au-line);--c-glass:var(--au-glass);--c-glass-2:var(--au-glass-2);--c-accent:var(--au-accent);
  --c-go:var(--au-go);--c-card:var(--au-card);--c-card-line:var(--au-card-line);
  --c-display:var(--au-display);--c-body:var(--au-body);
  --c-pink:#ff8fc6;--c-on:#071022;--c-spring:cubic-bezier(.32,.72,0,1);--c-ease:cubic-bezier(.4,0,.2,1);
}
.chat-dock{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));
  z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none;
  transition:opacity .3s var(--c-ease),transform .3s var(--c-ease)}
.chat-dock > *{pointer-events:auto}
@media (min-width:900px){.chat-dock{right:24px;bottom:24px}}
.chat-dock.is-off,html.chat-open .chat-dock,html.hold-running .chat-dock,body.focus .chat-dock,html.menu-open .chat-dock{
  opacity:0;transform:translateY(16px);visibility:hidden;transition:opacity .3s,transform .3s,visibility 0s .3s}
.chat-dock[hidden],.chat-dock.is-gone{display:none}
/* ПК с липкой колонкой таймера справа (≥ 1000 px): кнопка чата — слева внизу, иначе «Начать» колонки почти всё время под ней
   и кнопка прячется (AVOID в site-chrome.js) на всю статью. Решение владельца 13.10.2026 (этап 7 редизайна, вариант Б). */
@media (min-width:1000px){
  body:has(.page-article.has-timer) .chat-dock{right:auto;left:24px;align-items:flex-start}
  body:has(.page-article.has-timer) .chat-bubble{border-radius:20px 20px 20px 6px;transform-origin:0 100%}
}
/* крестик кнопки: на телефоне виден всегда, с мышью — при наведении и фокусе */
.chat-lw{position:relative}
.chat-x{position:absolute;z-index:3;top:-7px;left:-7px;width:22px;height:22px;min-height:0;min-width:0;padding:0;margin:0;box-sizing:border-box;border-radius:50%;
  border:1px solid var(--c-line);background:var(--c-solid);color:var(--c-muted);font:400 15px/20px system-ui,sans-serif;text-align:center;cursor:pointer;
  box-shadow:0 4px 10px -4px rgba(0,0,0,.6);transition:opacity .3s var(--c-ease),color .2s}
.chat-x::before{content:"";position:absolute;inset:-7px;border-radius:50%}
.chat-x:hover{color:var(--c-fg)}
.chat-x:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}
.chat-launch.is-hide + .chat-x{opacity:0;pointer-events:none}
@media (hover:hover) and (pointer:fine){
  .chat-x{opacity:0}
  .chat-lw:hover .chat-launch:not(.is-hide) + .chat-x,.chat-x:focus-visible{opacity:1}
}

.chat-launch{position:relative;display:flex;align-items:center;gap:10px;height:58px;padding:6px 18px 6px 6px;margin:0;
  border-radius:999px;background:rgba(12,18,40,.78);border:1px solid var(--c-line);color:var(--c-fg);font:inherit;cursor:pointer;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px -10px rgba(0,0,0,.6);
  transition:height .7s var(--c-spring),padding .7s var(--c-spring),gap .7s var(--c-spring),background-color .5s var(--c-ease),
    border-color .5s var(--c-ease),box-shadow .5s var(--c-ease),opacity .4s var(--c-ease),transform .4s var(--c-ease)}
.chat-launch.is-hide{opacity:0;transform:translateY(16px) scale(.9);pointer-events:none}
.chat-launch .cl-ph{position:relative;flex:none;width:44px;height:44px;transition:width .7s var(--c-spring),height .7s var(--c-spring)}
.chat-launch .cl-ph::before{content:"";position:absolute;inset:-12px;border-radius:50%;background:var(--c-aura);filter:blur(13px);opacity:0;transition:opacity .8s var(--c-ease)}
.chat-launch .cl-ph::after{content:"";position:absolute;inset:-2px;border-radius:50%;background:var(--c-aura);transition:inset .7s var(--c-spring)}
.chat-ava{position:absolute;inset:0;z-index:1;box-sizing:border-box;border-radius:50%;background:#1b2740 url(/assets/img/chat/danil.jpg) center/cover;
  filter:grayscale(1) contrast(1.05);border:2px solid var(--c-ink);transition:border-width .5s}
.chat-launch .cl-tx{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;text-align:left;white-space:nowrap;overflow:hidden;
  max-width:160px;transition:max-width .7s var(--c-spring),opacity .35s var(--c-ease)}
.chat-launch .cl-tx b{font-weight:600;font-size:15px}
.chat-launch .cl-tx small{font-size:11.5px;color:var(--c-muted)}
.chat-launch .cl-ai{position:absolute;z-index:2;right:-3px;bottom:-3px;font:700 9px/1 system-ui,sans-serif;letter-spacing:.04em;padding:3px 5px;
  border-radius:999px;background:var(--c-fg);color:var(--c-on);border:2px solid var(--c-ink);opacity:0;transform:scale(.4);
  transition:opacity .3s var(--c-ease) .45s,transform .45s var(--c-spring) .45s}
.chat-launch .cl-dot{position:absolute;z-index:2;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;border-radius:999px;
  background:var(--c-pink);color:var(--c-on);font:700 11px/16px system-ui,sans-serif;text-align:center;border:2px solid var(--c-ink);
  opacity:0;transform:scale(.3);transition:opacity .25s,transform .4s var(--c-spring)}
.chat-launch.is-orb{height:64px;padding:0;gap:0;background-color:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.chat-launch.is-orb .cl-ph{width:64px;height:64px}
.chat-launch.is-orb .cl-ph::before{opacity:.6;animation:chat-breath 10s var(--c-ease) infinite .8s}
.chat-launch.is-orb .cl-ph::after{inset:-4px;animation:chat-spin 18s linear infinite}
.chat-launch.is-orb .chat-ava{border-width:3px}
.chat-launch.is-orb .cl-tx{max-width:0;opacity:0}
.chat-launch.is-orb .cl-ai{opacity:1;transform:none}
.chat-launch.is-unread .cl-dot{opacity:1;transform:none}
.chat-launch.is-loading .cl-ph::after{animation:chat-spin 1.2s linear infinite}
.chat-launch:focus-visible{outline:2px solid var(--c-accent);outline-offset:4px}

.chat-bubble{position:relative;max-width:min(256px,calc(100vw - 32px));padding:12px 38px 12px 14px;box-sizing:border-box;border-radius:20px 20px 6px 20px;
  background:var(--c-fg);color:var(--c-on);font-size:14px;line-height:1.38;text-align:left;box-shadow:0 14px 34px -12px rgba(0,0,0,.75);cursor:pointer;
  transform-origin:100% 100%;opacity:0;transform:translateY(10px) scale(.92);pointer-events:none;transition:opacity .35s var(--c-ease),transform .5s var(--c-spring)}
.chat-bubble.is-show{opacity:1;transform:none;pointer-events:auto}
.chat-bubble[hidden]{display:none}
.chat-bubble:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}
.chat-bubble .cb-from{display:block;font-size:11px;font-weight:600;color:#56608a;margin-bottom:3px}
.chat-bubble b{font-weight:700}
.chat-bubble .cb-x{position:absolute;top:2px;right:2px;width:36px;height:36px;border:0;background:none;border-radius:50%;color:#56608a;font:400 20px/1 system-ui,sans-serif;cursor:pointer}
.cb-typing,.chat-typing{display:inline-flex;gap:4px;padding:4px 0}
.cb-typing i,.chat-typing i{width:7px;height:7px;border-radius:50%;background:#7c87ad;animation:chat-dots 1s infinite}
.cb-typing i:nth-child(2),.chat-typing i:nth-child(2){animation-delay:.15s}
.cb-typing i:nth-child(3),.chat-typing i:nth-child(3){animation-delay:.3s}
.chat-bubble .cb-msg,.chat-bubble .cb-reply{display:none}
.chat-bubble.is-typed .cb-typing{display:none}
.chat-bubble.is-typed .cb-msg{display:block}
.chat-bubble.is-typed .cb-reply{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.chat-bubble .cb-reply button{min-height:36px;padding:0 12px;border:0;border-radius:999px;background:#e2e7f7;color:var(--c-on);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.chat-bubble .cb-reply button:hover{background:#d3daf2}

/* точки входа: строка в конце статьи и на 404 (вставляет site-chrome.js) */
.chat-ask{margin:28px 0 8px}
.chat-ask button{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:6px 18px 6px 6px;border-radius:999px;cursor:pointer;
  background:var(--c-glass);border:1px solid var(--c-line);color:var(--c-fg);font:inherit;font-size:15px;line-height:1.3;text-align:left}
.chat-ask button:hover{background:var(--c-glass-2)}
.chat-ask .ca-ph{position:relative;flex:none;width:36px;height:36px}
.chat-ask .ca-ph::before{content:"";position:absolute;inset:-2px;border-radius:50%;background:var(--c-aura)}
.chat-ask b{color:var(--c-accent);font-weight:600}

@keyframes chat-spin{to{transform:rotate(360deg)}}
@keyframes chat-breath{0%,100%{transform:scale(.86);opacity:.38}40%{transform:scale(1.14);opacity:.72}}
@keyframes chat-dots{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-3px);opacity:1}}
@media (prefers-reduced-motion:reduce){
  .chat-launch,.chat-launch *,.chat-launch .cl-ph::before,.chat-launch .cl-ph::after,.chat-bubble,.chat-dock{animation:none !important;transition-duration:.01ms !important}
}
@media print{.chat-dock,.chat-ask{display:none !important}}

/* ---------- переключатель темы в шапке (20.10.2026, прототип marketing/light-theme/) ----------
   Пилюля-сцена: ночь (по умолчанию) — чернила «ауры» со звёздами, луна справа; день (html[data-theme="light"]) —
   небо «Успокоиться» с облаками, солнце слева. За ручкой — мягкие круги, как у кольца дыхания. Цвета сцены
   светлый слой не перекрашивает (KEEP_SEL в site-src/lib/theme-light.mjs). Поведение — site-chrome.js. */
.sh-theme{all:unset;box-sizing:border-box;position:relative;flex:none;display:block;width:var(--w);height:40px;border-radius:999px;
  overflow:hidden;isolation:isolate;cursor:pointer;-webkit-tap-highlight-color:transparent;
  --w:78px;--k:30px;--pad:5px;--x:calc(var(--w) - var(--k) - var(--pad) * 2);
  box-shadow:inset 0 2px 6px rgba(8,16,48,.38),inset 0 -1px 0 rgba(255,255,255,.35),0 0 0 1px var(--au-line),0 6px 16px -10px rgba(8,16,48,.5)}
.sh-theme:focus-visible{outline:2px solid var(--au-accent);outline-offset:3px}
.sh-theme .tt-sky{position:absolute;inset:0;transition:opacity .55s var(--au-ease)}
.sh-theme .tt-day{opacity:0;
  background:radial-gradient(circle at calc(var(--pad) + var(--k) / 2) 50%,transparent 0 19px,rgba(255,255,255,.2) 19px 26px,transparent 26px 32px,rgba(255,255,255,.13) 32px 40px,transparent 40px 47px,rgba(255,255,255,.08) 47px 56px,transparent 56px),
    linear-gradient(170deg,#3fa9f5 0%,#6fc6ff 55%,#a8e0ff 100%)}
.sh-theme .tt-night{
  background:radial-gradient(circle at calc(100% - var(--pad) - var(--k) / 2) 50%,transparent 0 19px,rgba(160,175,255,.12) 19px 26px,transparent 26px 32px,rgba(160,175,255,.08) 32px 40px,transparent 40px 47px,rgba(160,175,255,.05) 47px 56px,transparent 56px),
    linear-gradient(170deg,#060a18 0%,#121b3d 60%,#26305e 100%)}
.sh-theme .tt-sky svg{position:absolute;display:block}
.sh-theme .tt-clouds{right:-4px;bottom:-3px;width:52px;height:26px;transform:translateY(120%);transition:transform .55s var(--au-spring)}
.sh-theme .tt-stars{left:6px;top:5px;width:40px;height:30px;transition:transform .55s var(--au-spring)}
.sh-theme .tt-knob{position:absolute;z-index:2;top:50%;left:var(--pad);width:var(--k);height:var(--k);margin-top:calc(var(--k) / -2);border-radius:50%;
  transform:translateX(var(--x));transition:transform .55s var(--au-spring),scale .2s}
.sh-theme:hover .tt-knob{scale:1.06}
.sh-theme .tt-sun,.sh-theme .tt-moon{position:absolute;inset:0;border-radius:50%;transition:opacity .4s,transform .55s var(--au-spring)}
.sh-theme .tt-sun{opacity:0;transform:rotate(40deg);background:radial-gradient(circle at 34% 30%,#fff3c4 0,#ffd14a 45%,#ffad1f 100%);
  box-shadow:0 0 0 3px rgba(255,255,255,.32),0 0 12px 2px rgba(255,236,170,.75),inset -2px -3px 4px rgba(214,120,0,.35)}
.sh-theme .tt-moon{
  background:radial-gradient(circle at 64% 30%,#a9b0d2 0 3.2px,transparent 3.8px),radial-gradient(circle at 36% 58%,#aab1d4 0 4.6px,transparent 5.2px),
    radial-gradient(circle at 70% 70%,#b3b9da 0 2.6px,transparent 3.2px),radial-gradient(circle at 34% 28%,#ffffff 0,#e4e8f8 50%,#c3c9e4 100%);
  box-shadow:0 0 0 3px rgba(200,208,255,.12),0 0 14px 1px rgba(170,185,255,.35),inset -2px -3px 4px rgba(80,90,140,.35)}
html[data-theme="light"] .sh-theme .tt-day{opacity:1}
html[data-theme="light"] .sh-theme .tt-night{opacity:0}
html[data-theme="light"] .sh-theme .tt-clouds{transform:none}
html[data-theme="light"] .sh-theme .tt-stars{transform:translateY(6px)}
html[data-theme="light"] .sh-theme .tt-knob{transform:none}
html[data-theme="light"] .sh-theme .tt-sun{opacity:1;transform:none}
html[data-theme="light"] .sh-theme .tt-moon{opacity:0;transform:rotate(-40deg)}
@media (max-width:899px){.sh-theme{--w:66px;--k:26px;height:36px}.sh-theme .tt-clouds{width:44px;height:22px}}
@media (prefers-reduced-motion:reduce){.sh-theme *{transition:none!important}}
@media print{.sh-theme{display:none}}
/* в практике на главной шапка приглушена — переключатель вместе с ней */
body.focus .site-header .sh-theme{opacity:.35;transition:opacity .4s}

/* Ролик о проекте — плеер-«фасад» (site-src/lib/promo.mjs, запуск — site-chrome.js initPromo).
   До нажатия только обложка; <video> появляется по клику. .prv* всегда тёмные (KEEP_SEL в theme-light.mjs),
   подписи .vh-* — по теме. Скругление = углы сцены ролика (40 из 1536×810), чуть с запасом. */
.vh{margin:0 auto}
.vh-home{max-width:960px;padding:0 var(--gut,16px) 6px}
/* разделитель первого экрана — над роликом (как раньше у «Ещё на сайте»: на всю ширину блока 760 px), у «Ещё на сайте» под роликом его нет */
.vh-home::before{content:"";display:block;width:min(760px,100vw);margin:0 0 30px 50%;transform:translateX(-50%);border-top:1px solid var(--line)}
.vh-home + .home-more{border-top:0}
.vh-about{margin:4px 0 1.7em}
.vh-k{margin:0 0 10px;text-align:center;font:600 11px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--au-in)}
.vh-t{margin:0 0 18px;text-align:center;font:800 clamp(24px,3.6vw,34px)/1.1 var(--f-display);letter-spacing:-.035em;color:var(--fg);text-wrap:balance}
.prv{position:relative;margin:0}
.prv .prv-box{position:relative;aspect-ratio:1280/675;border-radius:2.9%/5.5%;overflow:hidden;background:#060a18;isolation:isolate;
  box-shadow:0 0 0 1px rgba(255,255,255,.1),0 34px 90px -36px rgba(0,0,0,.85),0 0 70px -24px rgba(94,200,255,.28)}
.prv picture{display:contents}
.prv .prv-img{display:block;width:100%;height:100%;object-fit:cover}
.prv video{position:absolute;inset:0;width:100%;height:100%;display:block;background:#060a18;object-fit:contain;cursor:pointer}
.prv .prv-play{position:absolute;left:70%;top:50%;z-index:2;width:clamp(64px,10vw,100px);height:clamp(64px,10vw,100px);min-height:0;margin:0;padding:0;
  transform:translate(-50%,-50%);border:0;border-radius:50%;cursor:pointer;display:grid;place-items:center;color:#f1f4ff;
  background:radial-gradient(closest-side,rgba(5,9,22,.5) 55%,rgba(5,9,22,.22) 100%);-webkit-backdrop-filter:blur(10px) saturate(1.6);backdrop-filter:blur(10px) saturate(1.6);
  box-shadow:inset 1.5px 1.5px 0 -.5px rgba(255,255,255,.6),inset -1px -1px 0 -.5px rgba(255,255,255,.25),0 14px 40px -12px rgba(0,0,0,.7);transition:transform .25s}
.prv .prv-play::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px solid rgba(127,209,255,.55);animation:prv-breath 6s ease-in-out infinite}
.prv .prv-play svg{width:38%;height:38%;margin-left:6%;fill:currentColor;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}
.prv .prv-play:hover{transform:translate(-50%,-50%) scale(1.06)}
.prv .prv-play:focus-visible{outline:2px solid #7fd1ff;outline-offset:6px}
@keyframes prv-breath{0%,100%{transform:scale(1);opacity:.35}33%{transform:scale(1.14);opacity:.8}}
.prv .prv-dur{position:absolute;left:3%;bottom:5%;z-index:2;padding:5px 10px;border-radius:99px;background:rgba(5,9,22,.6);color:#c7cfea;font:600 12px/1 var(--f-body);font-variant-numeric:tabular-nums}
.prv.on .prv-play,.prv.on .prv-dur,.prv.on .prv-img{display:none}
.prv .prv-ctl{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:center;gap:10px;padding:28px 3% 4.5%;
  background:linear-gradient(transparent,rgba(3,5,12,.7));transition:opacity .3s}
.prv.idle .prv-ctl{opacity:0}
.prv .prv-b{flex:none;width:40px;height:40px;min-height:0;margin:0;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(8,12,28,.72);
  color:#f1f4ff;display:grid;place-items:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.prv .prv-b:hover{background:rgba(30,40,80,.85)}
.prv .prv-b:focus-visible,.prv .prv-bar:focus-visible{outline:2px solid #7fd1ff;outline-offset:2px}
.prv .prv-b svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.prv .prv-b svg .f{fill:currentColor;stroke:none}
.prv .prv-bar{flex:1;height:18px;display:flex;align-items:center;cursor:pointer;position:relative}
.prv .prv-bar::before{content:"";position:absolute;left:0;right:0;height:4px;border-radius:4px;background:rgba(255,255,255,.18)}
.prv .prv-bar i{position:relative;height:4px;width:0;border-radius:4px;background:linear-gradient(90deg,#7fd1ff,#c8a8ff 60%,#9ee9c5)}
.prv .prv-time{flex:none;min-width:34px;color:#c7cfea;font:600 13px/1 var(--f-body);font-variant-numeric:tabular-nums}
.prv .prv-box:fullscreen{border-radius:0}
.vh-tr{margin-top:14px;padding:12px 16px;border-radius:16px;background:var(--card);border:1px solid var(--card-line)}
.vh-tr summary{cursor:pointer;color:var(--fg);font-weight:600}
.vh-tr p{margin:.7em 0 0;font-size:15px}
/* видео-инструкция /kak-dyshat/ (kdVideo в lib/promo.mjs): сцена 1680×920 со скруглением 42 → свои углы; главы — кнопки перемотки */
.vh-kd{max-width:900px;margin:0 auto 8px}
.vh-kd .prv .prv-box{border-radius:2.5%/4.6%}
.vh-ch{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none}
.vh-ch button{display:inline-flex;align-items:center;gap:8px;min-height:36px;margin:0;padding:6px 14px 6px 10px;border-radius:99px;
  border:1px solid var(--card-line);background:var(--card);color:var(--fg);font:500 14px/1.2 var(--f-body);cursor:pointer}
.vh-ch button:hover{border-color:var(--au-in)}
.vh-ch button:focus-visible{outline:2px solid var(--au-in);outline-offset:2px}
.vh-ch button span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}
@media (max-width:560px){.prv .prv-b{width:32px;height:32px}.prv .prv-b svg{width:15px;height:15px}.prv .prv-ctl{gap:7px;padding:20px 3% 3%}.prv .prv-time{font-size:11px;min-width:28px}.prv .prv-dur{display:none}}
@media (prefers-reduced-motion:reduce){.prv .prv-play::after{animation:none}.prv .prv-play{transition:none}}
@media print{.vh{display:none}}

/* favorites.css — «Избранное»: кнопка ☆, попап входа, плашка после практики, полка.
   Входит в bundle-landing/bundle-content (сборка), подключается на /programmy/ и сводке. */

.fav-ico{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}

/* base.css задаёт всем кнопкам min-height:42px — здесь он не нужен. */
.fav-btn,.fav-sheet-x,.fav-later,.fav-nudge-btn,.fav-nudge-x,.fav-rm,.fav-link{min-height:0}

/* ---- кнопка в byline: тихая, но на виду (раскладка строки автора — site.css) ---- */
.fav-btn{display:inline-flex;align-items:center;gap:6px;margin:0;padding:4px 11px 4px 9px;
  font:inherit;font-size:13px;line-height:1.3;color:var(--muted);background:transparent;
  border:1px solid var(--border);border-radius:999px;cursor:pointer;
  transition:color .15s ease,border-color .15s ease,background .15s ease}
.fav-btn:hover{color:var(--fg);border-color:var(--accent-border)}
.fav-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fav-btn.is-on{color:var(--fg);border-color:rgba(255,195,92,.4);background:rgba(255,195,92,.08)}
.fav-btn.is-on .fav-ico{fill:var(--warn);stroke:var(--warn)}
@media (prefers-reduced-motion:no-preference){
  .fav-btn.is-on .fav-ico{animation:fav-pop .28s ease}
}
/* «Живая аура» (этап 2 редизайна, 12.10.2026): в строке автора — пилюля главной (.pill), сохранённое — цвет настроения. */
.byline .fav-btn{gap:7px;height:34px;padding:0 14px;border-color:var(--line,var(--border));font:600 13px/1 var(--f-body,inherit);white-space:nowrap}
.byline .fav-btn:hover{border-color:rgba(255,255,255,.22)}
.byline .fav-btn.is-on{color:var(--on-accent,#071022);background:var(--mood,var(--accent));border-color:transparent}
.byline .fav-btn.is-on .fav-ico{fill:currentColor;stroke:currentColor}
/* Телефон: круглая пилюля со звездой в конце строки автора — отдельная строка сдвинула бы
   таймер и кнопку «Старт» из первого экрана. Подпись остаётся для скринридеров. */
@media (max-width:599px){
  .byline .fav-btn{flex:none;width:32px;height:32px;padding:0;justify-content:center;margin:-4px 0}  /* высота строки не растёт */
  .byline .fav-btn .fav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@keyframes fav-pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:scale(1)}}

/* ---- звезда на карточке программы ---- */
.pg-item{position:relative;display:flex}
.pg-item > .pg-card{flex:1 1 auto}
.pg-item .pg-meta{padding-right:34px}
.fav-btn--card{position:absolute;right:8px;bottom:8px;width:32px;height:32px;justify-content:center;padding:0;border-color:transparent;border-radius:50%}
.fav-btn--card .fav-ico{width:18px;height:18px}
.fav-btn--card:hover{background:var(--bg-elev-2);border-color:transparent}
.fav-btn--card.is-on{background:transparent;border-color:transparent}

/* ---- тост на страницах без shared.js ---- */
.fav-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:1200;
  transform:translate(-50%,12px);opacity:0;pointer-events:none;max-width:calc(100% - 32px);
  padding:12px 16px;border-radius:16px;background:rgba(14,20,44,.96);color:var(--au-fg);
  border:1px solid var(--au-line);box-shadow:0 14px 40px rgba(0,0,0,.45);font:500 14px/1.4 var(--au-body);
  transition:opacity .2s ease,transform .2s ease}
.fav-toast.is-on{opacity:1;transform:translate(-50%,0)}

/* ---- попап (bottom sheet на телефоне, карточка на ПК) ---- */
.fav-sheet-bd{position:fixed;inset:0;z-index:1300;display:flex;align-items:flex-end;justify-content:center;
  background:rgba(3,8,18,.55);opacity:0;transition:opacity .22s ease}
.fav-sheet-bd.is-on{opacity:1}
.fav-sheet{position:relative;width:100%;max-width:440px;max-height:92vh;overflow:auto;
  padding:22px 20px calc(18px + env(safe-area-inset-bottom));
  background:var(--bg-2);color:var(--fg);border:1px solid var(--border);border-bottom:0;
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow);
  transform:translateY(24px);transition:transform .22s ease}
.fav-sheet-bd.is-on .fav-sheet{transform:none}
@media (min-width:600px){
  .fav-sheet-bd{align-items:center}
  .fav-sheet{border-bottom:1px solid var(--border);border-radius:var(--radius-lg);padding-bottom:20px}
}
.fav-sheet-x{position:absolute;top:8px;right:8px;width:36px;height:36px;border:0;border-radius:50%;
  background:transparent;color:var(--muted);font-size:24px;line-height:1;cursor:pointer}
.fav-sheet-x:hover{background:var(--bg-elev-2);color:var(--fg)}
.fav-sheet-kicker{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;font-size:13px;color:var(--warn)}
.fav-sheet-kicker .fav-ico{fill:var(--warn);stroke:var(--warn)}
.fav-sheet h2{margin:0 36px 14px 0;font-size:20px;line-height:1.25;font-weight:700}
.fav-sub{margin:0 0 14px;font-size:14px;line-height:1.5;color:var(--muted)}
.fav-perks{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:12px}
.fav-perks li{display:flex;gap:12px;align-items:flex-start}
.fav-perks svg{width:22px;height:22px;flex:0 0 auto;margin-top:1px;fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.fav-perks b{display:block;font-size:15px;font-weight:600;margin-bottom:2px}
.fav-perks span{display:block;font-size:13.5px;line-height:1.45;color:var(--muted)}
.fav-form{display:flex;gap:8px;flex-wrap:wrap}
.fav-input{flex:1 1 200px;min-width:0;padding:11px 13px;font:inherit;font-size:16px;color:var(--fg);
  background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-sm)}
.fav-input:focus{outline:none;border-color:var(--accent)}
.fav-code{letter-spacing:6px;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:20px;text-align:center}
.fav-primary{flex:0 0 auto;padding:11px 18px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;
  color:var(--accent-fg);background:var(--accent);border:0;border-radius:var(--radius-sm)}
.fav-primary:disabled{opacity:.6;cursor:default}
.fav-err{margin:8px 0 0;font-size:13.5px;color:var(--danger)}
.fav-later{display:block;margin:12px auto 0;padding:6px 10px;font:inherit;font-size:14px;color:var(--muted);
  background:none;border:0;cursor:pointer;text-decoration:underline;text-decoration-color:var(--border)}
.fav-legal{margin:10px 0 0;font-size:11.5px;line-height:1.4;color:var(--muted);text-align:center}
.fav-legal a{color:var(--muted)}
.fav-done{text-align:center;padding-top:6px}
.fav-done > .fav-ico{width:40px;height:40px;fill:var(--warn);stroke:var(--warn);margin-bottom:8px}
.fav-done h2{margin-right:0}
.fav-done .fav-primary{margin-top:4px}

/* ---- после практики ---- */
.fav-nudge{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:1100;
  display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 24px);
  padding:10px 8px 10px 16px;border-radius:16px;background:rgba(14,20,44,.96);color:var(--au-fg);
  border:1px solid var(--au-line);box-shadow:0 14px 40px rgba(0,0,0,.45);font:500 14px/1.35 var(--au-body);
  transform:translate(-50%,16px);opacity:0;transition:opacity .22s ease,transform .22s ease}
.fav-nudge.is-on{opacity:1;transform:translate(-50%,0)}
.fav-nudge-btn{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:8px 12px;font:inherit;
  font-size:14px;font-weight:600;color:var(--accent-fg);background:var(--accent);border:0;border-radius:var(--radius-sm);cursor:pointer}
.fav-nudge-x{flex:0 0 auto;width:30px;height:30px;border:0;border-radius:50%;background:none;color:var(--muted);font-size:20px;cursor:pointer}
html.is-app .fav-nudge{bottom:calc(var(--nav-h) + 12px + env(safe-area-inset-bottom))}

/* ---- полка ---- */
.fav-shelf-host{margin:18px 0 26px}
.fav-shelf-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.fav-shelf-h{display:flex;align-items:center;gap:8px;margin:0;font-size:18px}
.fav-shelf-h .fav-ico{width:18px;height:18px;fill:var(--warn);stroke:var(--warn)}
.fav-all{font-size:13.5px;white-space:nowrap}
.fav-shelf{list-style:none;margin:0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.fav-item{position:relative;display:flex}
.fav-item > a{flex:1 1 auto;display:block;padding:11px 38px 11px 13px;border-radius:var(--radius);
  background:var(--bg-1);border:1px solid var(--border);color:inherit;text-decoration:none}
main#page .fav-item > a,main#page .fav-item > a:hover{border-bottom:1px solid var(--border)}
.fav-item > a:hover{border-color:var(--accent-border);background:var(--bg-elev)}
.fav-kind{display:block;font-size:11.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.fav-title{display:block;font-size:15px;font-weight:600;color:var(--fg);line-height:1.3}
.fav-rm{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;border-radius:50%;
  background:none;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;opacity:.7}
.fav-rm:hover{opacity:1;background:var(--bg-elev-2);color:var(--fg)}
.fav-empty{margin:0;font-size:14px;color:var(--muted)}
.fav-local{margin:10px 0 0;font-size:13px;color:var(--muted)}
.fav-link{padding:0;font:inherit;color:var(--accent);background:none;border:0;cursor:pointer;text-decoration:underline}

/* Шрифты редизайна «Живая аура» — самохостинг (офлайн-PWA, без Google Fonts).
   Unbounded (500–800) — заголовки, цифры, кнопки; Onest (400–700) — текст. Лицензия SIL OFL 1.1.
   Сабсеты из вариативных TTF google/fonts (ось веса урезана до 400–700 / 500–800), этап 1 аудита, 23.10.2026:
   *-base — кириллица + базовая латиница, цифры, пунктуация (грузится на каждой странице, preload в <head>);
   *-ext  — латиница с диакритикой (ā, ṇ, č в санскритских словах), грузится только там, где она есть.
   Как пересобрать — marketing/seo-audit/fonts.md. Файлы шрифтов не версионируются stamp-assets.sh:
   при замене — новое имя файла. */
@font-face{font-family:"Onest";font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/assets/fonts/onest-base.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0301,U+0304,U+0308,U+0329,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2000-206F,U+20AC,U+2116,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Onest";font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/assets/fonts/onest-ext.woff2) format("woff2");
  unicode-range:U+0100-0130,U+0132-0151,U+0154-024F,U+0259,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:500 800;font-display:swap;
  src:url(/assets/fonts/unbounded-base.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0301,U+0304,U+0308,U+0329,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2000-206F,U+20AC,U+2116,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:500 800;font-display:swap;
  src:url(/assets/fonts/unbounded-ext.woff2) format("woff2");
  unicode-range:U+0100-0130,U+0132-0151,U+0154-024F,U+0259,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF}

/* prilozhenie.css — лендинг установки приложения (PWA) /prilozhenie/ (marketing/pwa-landing/, этап 1, 28.10.2026).
   Перенос утверждённого прототипа v2 (marketing/pwa-landing/prototype/tpl.html): разметка — site-src/templates/prilozhenie.mjs,
   поведение — prilozhenie.js. Классы только pa-* (глобальные .go/.cc/.cm заняты главной), анимации — pa-*.
   Ночные сцены (.pa-n: герой, день, путь, ярлыки, финал, липкая кнопка) тёмные в обеих темах — .pa-n в KEEP_SEL
   (site-src/lib/theme-light.mjs): каждое правило ночной сцены пишем с .pa-n в селекторе, иначе светлый слой его перекрасит.
   Курсы, установка, вопросы — «Живая аура», светлую тему собирает сборка. Прокрутка героя и ленты уровней — только ПК ≥ 900
   и без prefers-reduced-motion; на телефоне — простые версии. */
.pa{
  --pa-c1:#7fd1ff; --pa-c2:#9ee9c5; --pa-c3:#c8a8ff; --pa-c4:#ffb38a;
  --acc:#6fd0ff; --acc-t:#9fe0ff; --on-acc:#04101f; --acc-soft:rgba(111,208,255,.14); --acc-line:rgba(111,208,255,.45);
  --f-d:var(--f-display); --f-b:var(--f-body); --ease:var(--au-ease); --spring:var(--au-spring); --br:10s;
  --pa-hh:56px;
  container:pa/inline-size;display:block;overflow-x:clip;font:400 16px/1.55 var(--f-b);color:var(--fg)}
@media (min-width:900px){.pa{--pa-hh:72px}}
@media (min-width:1280px){.pa{--pa-hh:76px}}
.pa-n{
  --ink:#060a18; --ink-2:#0b1430; --fg:#f1f4ff; --muted:#a9b2d6; --dim:#6f7aa6;
  --card:rgba(10,15,36,.5); --card-line:rgba(255,255,255,.14);
  --glass:rgba(255,255,255,.08); --line:rgba(255,255,255,.16);
  --pa-c1:#7fd1ff; --pa-c2:#9ee9c5; --pa-c3:#c8a8ff; --pa-c4:#ffb38a;
  --acc:#6fd0ff; --acc-t:#9fe0ff; --on-acc:#04101f; --acc-soft:rgba(111,208,255,.16); --acc-line:rgba(111,208,255,.5);
  color:var(--fg);color-scheme:dark;background:#060a18}
.pa h1,.pa h2,.pa h3{font-family:var(--f-d);margin:0;text-wrap:balance}
.pa p{margin:0}
.pa p,.pa li{text-wrap:pretty}
.pa img{display:block;max-width:100%}
.pa .snt{display:block}
.pa :focus-visible{outline:2px solid var(--acc);outline-offset:3px}
:where(.pa) button{min-height:0;font:inherit;color:inherit}
.pa-wrap{max-width:1240px;margin:0 auto;padding-inline:max(16px,env(safe-area-inset-left,0px))}
@media (min-width:760px){.pa-wrap{padding-inline:clamp(28px,3.6vw,60px)}}
main#page .pa a.pa-go,.pa a.pa-go{color:#04101f;text-decoration:none}
.pa-psrc a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.pa-hsp{height:var(--pa-hh)}

/* кнопки */
.pa-go{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:62px;padding:0 30px;border:0;border-radius:999px;cursor:pointer;text-decoration:none;
  background:linear-gradient(100deg,#7fd1ff,#8ff0cf);color:#04101f;font:700 17px/1 var(--f-d);letter-spacing:-.01em;position:relative;isolation:isolate;overflow:hidden;white-space:nowrap;
  box-shadow:0 18px 50px -14px rgba(111,208,255,.9),inset 0 1px 0 rgba(255,255,255,.5);transition:transform .2s var(--ease)}
.pa-go::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%) -200% 0/250% 100% no-repeat;animation:pa-sheen 6s var(--ease) infinite 2s;pointer-events:none}
@keyframes pa-sheen{0%,70%{background-position:-200% 0}100%{background-position:200% 0}}
.pa-go:hover{transform:translateY(-2px)}
.pa-go:active{transform:scale(.97)}
.pa-go svg{width:20px;height:20px;flex:none}
.pa-go.pa-ghost{background:var(--glass);color:var(--fg);border:1px solid var(--line);box-shadow:none;backdrop-filter:blur(14px)}
.pa-go.pa-ghost::after{display:none}
.pa-go.pa-sm{height:50px;padding:0 22px;font-size:15px}
.pa-eb{font:600 12px/1.3 var(--f-b);letter-spacing:.2em;text-transform:uppercase;color:var(--acc-t)}
.pa-note{font-size:13.5px;color:var(--muted);line-height:1.45}
.pa-facts{display:flex;gap:8px 18px;font:600 12.5px/1.25 var(--f-b);color:#c9d0ee;flex-wrap:wrap}
.pa-facts span{display:flex;align-items:center;gap:7px;white-space:nowrap}
.pa-facts span::before{content:"";width:5px;height:5px;border-radius:50%;background:#9ee9c5;box-shadow:0 0 10px #9ee9c5}

/* ——— телефон ——— */
.pa-ph{--w:280px;width:var(--w);aspect-ratio:9/19.5;border-radius:calc(var(--w)*.16);padding:calc(var(--w)*.032);position:relative;flex:none;
  background:linear-gradient(150deg,#3a4266,#121831 30%,#0a0f22 60%,#2b3254);
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.14),inset 0 0 0 4px rgba(0,0,0,.5),0 70px 120px -50px rgba(0,0,0,.85),0 0 120px -30px rgba(111,208,255,.35)}
.pa-ph::before{content:"";position:absolute;right:-2px;top:22%;width:3px;height:12%;border-radius:2px;background:#2b3254}
.pa-scr{position:relative;width:100%;height:100%;border-radius:calc(var(--w)*.13);overflow:hidden;background:#070c1d;container-type:inline-size}
.pa-scr::after{content:"";position:absolute;left:50%;top:1.6%;transform:translateX(-50%);width:30%;height:3.6%;border-radius:99px;background:#000;z-index:20}
.pa-scr>img,.pa-scr>picture>img{width:100%;height:100%;object-fit:cover;object-position:top}
.pa-scr>picture{display:block;width:100%;height:100%}

/* живой экран практики */
.pa-run{position:absolute;inset:0;background:radial-gradient(80% 50% at 50% 42%,#101a44,#070c1d 80%);font-family:var(--f-b);color:#eaf0ff;transition:opacity .5s}
.pa-run .pa-lg{position:absolute;left:8%;top:6.5%;font:700 4.6cqi/1 var(--f-d);opacity:.5;letter-spacing:-.02em}
.pa-run .pa-rg{position:absolute;left:50%;top:40%;width:82cqi;aspect-ratio:1;transform:translate(-50%,-50%)}
.pa-run .pa-rg svg{width:100%;height:100%;overflow:visible}
.pa-run .pa-rg .pa-tr{fill:none;stroke:rgba(140,190,230,.22);stroke-width:1.4}
.pa-run .pa-rg .pa-pr{fill:none;stroke:url(#paRgG);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:0 1000;filter:drop-shadow(0 0 3px #7fd1ff)}
.pa-run .pa-orb{position:absolute;left:50%;top:40%;width:44cqi;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(var(--s,.8));
  background:radial-gradient(circle at 36% 30%,rgba(255,255,255,.55),rgba(127,209,255,.35) 18%,rgba(40,70,190,.5) 55%,rgba(10,20,60,.9) 100%);
  box-shadow:inset -6px -10px 24px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.25),0 0 60px rgba(111,208,255,.45),0 0 140px rgba(120,110,255,.35);display:grid;place-content:center;text-align:center}
.pa-run .pa-orb b{display:block;font:800 7.4cqi/1 var(--f-d);color:#9fe0ff;letter-spacing:-.02em}
.pa-run .pa-orb strong{display:block;font:800 22cqi/1 var(--f-d);letter-spacing:-.05em;color:#fff;margin-top:1cqi}
.pa-run .pa-orb small{display:block;font:500 3.6cqi/1 var(--f-b);color:#a9b8e0;margin-top:1.5cqi}
/* мягкие пятна — радиальным градиентом, без filter:blur и mix-blend (дорого на каждом кадре) */
.pa-run .pa-blob{position:absolute;border-radius:50%;animation:pa-au1 var(--br) ease-in-out infinite}
.pa-run .pa-blob.pa-b1{width:64cqi;height:64cqi;left:-10%;top:40%;background:radial-gradient(closest-side,rgba(80,180,255,.5),rgba(80,180,255,.2) 55%,transparent)}
.pa-run .pa-blob.pa-b2{width:72cqi;height:72cqi;right:-16%;top:39%;background:radial-gradient(closest-side,rgba(110,90,255,.55),rgba(110,90,255,.2) 55%,transparent);animation-direction:reverse}
@keyframes pa-au1{0%,100%{transform:scale(.85);opacity:.55}40%{transform:scale(1.15);opacity:1}}
.pa-run .pa-chips{position:absolute;left:0;right:0;top:69%;display:flex;justify-content:center;gap:2.4cqi}
.pa-run .pa-chips span{display:flex;align-items:center;gap:1.6cqi;padding:2.2cqi 3.6cqi;border-radius:99px;border:1px solid rgba(255,255,255,.14);font:600 3.6cqi/1 var(--f-b);transition:background .4s,color .4s}
.pa-run .pa-chips span::before{content:"";width:1.8cqi;height:1.8cqi;border-radius:50%;background:var(--d)}
.pa-run .pa-chips span.pa-on{background:#7fd1ff;color:#06101f;border-color:#7fd1ff}
.pa-run .pa-cyc{position:absolute;left:7%;right:7%;top:76.5%;height:9cqi;border-radius:99px;border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;font:600 3.6cqi/1 var(--f-b);font-variant-numeric:tabular-nums}
.pa-run .pa-ctl{position:absolute;left:5%;right:5%;bottom:5%;display:flex;justify-content:space-between;align-items:center}
.pa-run .pa-ctl i{width:12cqi;height:12cqi;border-radius:50%;border:1px solid rgba(255,255,255,.16);display:grid;place-items:center}
.pa-run .pa-ctl i svg{width:45%;height:45%;stroke:#c9d3f5;fill:none;stroke-width:2}
.pa-run .pa-ctl i.pa-big{width:19cqi;height:19cqi;background:#7fd1ff;border:0;box-shadow:0 0 30px rgba(111,208,255,.6)}
.pa-run .pa-ctl i.pa-big svg{fill:#06101f;stroke:none}
.pa-scr .pa-prog{position:absolute;inset:0;opacity:0;transition:opacity .6s}
.pa-scr .pa-prog img{width:100%;height:100%;object-fit:cover;object-position:top}

/* ═══════════ 1. ГЕРОЙ ═══════════ */
.pa-htrack{position:relative}
@media (min-width:900px){.pa-htrack{height:200vh}}
.pa-hero{position:relative;margin-top:calc(-1 * var(--pa-hh));height:100svh;min-height:700px;max-height:1080px;overflow:hidden;isolation:isolate;--p:0;
  background:radial-gradient(60% 55% at 70% 40%,#16205a 0%,#0a1230 45%,#060a18 85%)}
@media (min-width:900px){.pa-hero{position:sticky;top:0;height:100vh;max-height:none}.pa-htrack{margin-top:calc(-1 * var(--pa-hh))}.pa-htrack .pa-hero{margin-top:0}}
.pa-road{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pa-hero .pa-halo{position:absolute;width:70%;aspect-ratio:1;left:50%;top:62%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(111,208,255,.28),rgba(140,123,255,.12) 50%,transparent);animation:pa-au1 var(--br) ease-in-out infinite;pointer-events:none}
@media (min-width:900px){.pa-hero .pa-halo{width:46%;left:70%;top:46%;transform:translate(calc(-50% - 20cqi * var(--p)),-50%)}}

.pa-hin{position:relative;z-index:4;height:100%;display:grid;grid-template-rows:auto 1fr auto}

.pa-hl{display:grid;align-content:start;gap:14px;padding-top:clamp(4px,1.6vh,24px)}
.pa-kick{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font:600 11.5px/1.2 var(--f-b);letter-spacing:.24em;text-transform:uppercase;color:#bfe9ff}
.pa-kick i{width:22px;height:1px;background:currentColor;opacity:.6}
.pa-h1{font:800 clamp(28px,7.6cqi,46px)/.98 var(--f-d);letter-spacing:-.05em;color:#fff}
.pa-h1 .pa-ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.pa-h1 .pa-ln>span{display:inline-block;animation:pa-lnUp 1.1s var(--spring) both;animation-delay:calc(var(--i)*110ms + .1s)}
@keyframes pa-lnUp{from{transform:translateY(105%);opacity:0}to{transform:none;opacity:1}}
.pa-h1 em{font-style:normal;background:linear-gradient(95deg,#7fd1ff,#9ee9c5 60%,#c8a8ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.pa-hlead{color:#c9d0ee;font-size:15.5px;max-width:27em;animation:pa-fadeUp 1s var(--ease) .7s both}
.pa-hcta{display:none}
@keyframes pa-fadeUp{from{opacity:0;transform:translateY(16px)}}
@media (max-width:899px){.pa-hlead{display:none}}
@media (min-width:900px){
  .pa-hl{position:absolute;left:clamp(28px,3.6vw,60px);top:50%;transform:translateY(calc(-50% - var(--p)*90px));opacity:calc(1 - var(--p)*2.4);width:min(50%,640px);gap:24px;padding:0}
  .pa-h1{font-size:clamp(44px,4.7cqi,76px)}
  .pa-hlead{font-size:18px}
  .pa-hcta{display:grid;gap:16px;justify-items:start;margin-top:6px;animation:pa-fadeUp 1s var(--ease) .9s both}
  .pa-hin .pa-hbot{display:none}
}
.pa-hbot{padding-bottom:max(16px,env(safe-area-inset-bottom,0px));display:grid;gap:12px;position:relative;z-index:5}
.pa-panel{display:grid;gap:12px;padding:14px;border-radius:28px;background:rgba(8,12,30,.55);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(22px) saturate(1.3);box-shadow:0 30px 80px -30px rgba(0,0,0,.7)}
.pa-panel .pa-go{width:100%}
.pa-panel .pa-facts{justify-content:space-between;padding:0 6px}

/* телефон героя + плашки */
.pa-hph{position:absolute;z-index:3;left:50%;top:var(--ph-top,63%);transform:translate(-50%,-50%)}
.pa-hph .pa-ph{--w:min(54cqi,226px)}
.pa-hph .pa-tilt{position:relative;transform:perspective(1300px) rotateY(var(--ry,-14deg)) rotateX(var(--rx,6deg)) rotateZ(var(--rz,2deg)) scale(var(--sc,1));transition:transform .5s var(--ease)}
.pa-hph .pa-fl{animation:pa-float 7s ease-in-out infinite}
@keyframes pa-float{50%{transform:translateY(-12px)}}
@media (min-width:900px){
  .pa-hph{--ph-top:52%;left:72%;transform:translate(calc(-50% - 22cqi * var(--p)),-50%)}
  .pa-hph .pa-ph{--w:clamp(260px,21cqi,320px)}
  .pa-hph .pa-tilt{--ry:calc(-16deg + 16deg * var(--p));--rx:calc(6deg - 6deg * var(--p));--rz:calc(2deg - 2deg * var(--p));--sc:calc(1 + .1 * var(--p));transition:none}
}
.pa-chip{position:absolute;z-index:4;display:flex;align-items:center;gap:12px;padding:10px 16px 10px 10px;border-radius:20px;white-space:nowrap;
  background:rgba(14,20,48,.66);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 20px 50px -16px rgba(0,0,0,.7);
  opacity:calc(1 - var(--p)*2.4);animation:pa-chipIn .9s var(--spring) both;animation-delay:var(--d)}
.pa-chip i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);flex:none;box-shadow:0 0 22px -6px var(--c)}
.pa-chip i svg{width:20px;height:20px}
.pa-chip small{display:block;font:600 10.5px/1.2 var(--f-b);letter-spacing:.14em;text-transform:uppercase;color:#a9b2d6}
.pa-chip b{display:block;font:700 16px/1.2 var(--f-d);letter-spacing:-.02em;color:#fff}
@keyframes pa-chipIn{from{opacity:0;scale:.85}}
.pa-chip.pa-chip1{right:-58%;top:12%;translate:calc(var(--p)*140px) 0}.pa-chip.pa-chip2{right:-66%;top:50%;translate:calc(var(--p)*140px) 0}.pa-chip.pa-chip3{left:-44%;top:78%;translate:calc(var(--p)*-140px) 0}
@media (max-width:899px){.pa-chip{padding:7px 12px 7px 7px;border-radius:16px;gap:8px}.pa-chip i{width:30px;height:30px;border-radius:10px}.pa-chip i svg{width:16px;height:16px}.pa-chip b{font-size:13px}.pa-chip small{font-size:9px}
  .pa-chip.pa-chip1{left:-30%;top:10%}.pa-chip.pa-chip2{right:-28%;top:62%}.pa-chip.pa-chip3{display:none}}
/* финал прокрутки героя: две строки по бокам телефона */
.pa-hend{position:absolute;inset:0;z-index:2;display:none;pointer-events:none}
@media (min-width:900px){.pa-hend{display:grid;grid-template-columns:minmax(0,1fr) clamp(330px,27cqi,400px) minmax(0,1fr);align-items:center;gap:40px;padding-inline:clamp(28px,3.6vw,60px)}}
.pa-hend p{font:800 clamp(30px,3.1cqi,50px)/1.04 var(--f-d);letter-spacing:-.045em;color:#fff;opacity:calc((var(--p) - .55)*3);transform:translateY(calc((1 - var(--p))*40px))}
.pa-hend p:first-child{text-align:right}
.pa-hend p em{font-style:normal;background:linear-gradient(95deg,#7fd1ff,#9ee9c5);-webkit-background-clip:text;background-clip:text;color:transparent}
.pa-hend p small{display:block;font:500 16px/1.45 var(--f-b);letter-spacing:0;color:#a9b2d6;margin-top:14px;max-width:20em}
.pa-hend p:last-child{grid-column:3}
.pa-scrl{position:absolute;left:50%;bottom:22px;z-index:4;transform:translateX(-50%);display:none;align-items:center;gap:10px;font:600 11.5px/1 var(--f-b);letter-spacing:.2em;text-transform:uppercase;color:#a9b2d6;opacity:calc(1 - var(--p)*4)}
.pa-scrl i{width:1px;height:36px;background:linear-gradient(#fff,transparent);animation:pa-sc 2.4s var(--ease) infinite}
@keyframes pa-sc{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (min-width:900px){.pa-scrl{display:flex}}

/* ═══════════ секции ═══════════ */
.pa-sec{padding-block:clamp(72px,10cqi,140px)}
.pa-h2{font:800 clamp(30px,7cqi,76px)/1 var(--f-d);letter-spacing:-.045em}
.pa-h2 em{font-style:normal;background:linear-gradient(90deg,var(--pa-c1),var(--pa-c3) 55%,var(--pa-c2));-webkit-background-clip:text;background-clip:text;color:transparent}
.pa-shead{display:grid;gap:16px;margin-bottom:clamp(32px,5cqi,64px);max-width:940px}
.pa-shead p{color:var(--muted);font-size:17px;max-width:36em}

/* ленты */
.pa-inside{padding-block:clamp(24px,3.4cqi,40px);overflow:hidden;display:grid;gap:12px;border-block:1px solid var(--line);background:var(--glass)}
.pa-lane{display:flex;gap:12px;width:max-content;animation:pa-lane 60s linear infinite}
.pa-lane.pa-r{animation-direction:reverse;animation-duration:72s}
.pa-lane span{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 22px;border-radius:999px;border:1px solid var(--line);background:var(--card);font:700 16px/1 var(--f-d);letter-spacing:-.02em;white-space:nowrap}
.pa-lane span i{width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:0 0 14px var(--c)}
@keyframes pa-lane{to{transform:translateX(-50%)}}

/* 2. день в ритме — липкий телефон */
.pa-day{background:linear-gradient(180deg,#060a18,#080d22 50%,#060a18)}
.pa-sgrid{display:grid}
@media (min-width:760px){.pa-sgrid{grid-template-columns:minmax(0,1fr) 380px;gap:40px}}
.pa-sstick{display:none}
@media (min-width:760px){.pa-sstick{display:block;position:relative}
  .pa-sstick .pa-sin{position:sticky;top:calc(50vh - 290px);height:580px;display:grid;place-items:center}}
.pa-sstick .pa-ph{--w:268px}
.pa-sstick .pa-scr img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transform:scale(1.04);transition:opacity .7s var(--ease),transform .9s var(--ease)}
.pa-sstick .pa-scr img.pa-on{opacity:1;transform:none}
.pa-sstick .pa-glow{position:absolute;inset:10% -10%;border-radius:50%;filter:blur(60px);background:radial-gradient(closest-side,var(--sc,#7fd1ff),transparent);opacity:.45;transition:background .8s;z-index:-1}
.pa-scn{display:grid;gap:18px;align-content:center;padding-block:clamp(48px,8cqi,90px);border-top:1px solid var(--line)}
@media (min-width:760px){.pa-scn{min-height:80vh;border-top:0;padding-block:0;opacity:var(--o,1)}}
.pa-scn:first-child{border-top:0}
.pa-scn .pa-when{display:flex;align-items:center;gap:12px;font:600 12px/1.3 var(--f-b);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.pa-scn .pa-when i{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);box-shadow:0 0 30px -6px var(--c)}
.pa-scn .pa-when svg{width:22px;height:22px}
.pa-scn h3{font:800 clamp(28px,5cqi,58px)/1.03 var(--f-d);letter-spacing:-.045em;max-width:15ch}
.pa-scn h3 em{font-style:normal;color:var(--c)}
.pa-scn p{font:500 clamp(16px,1.8cqi,19px)/1.5 var(--f-b);color:var(--muted);max-width:30em}
.pa-scn .pa-tags{display:flex;flex-wrap:wrap;gap:8px}
.pa-scn .pa-tags span{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c) 45%,transparent);font:600 13.5px/1.2 var(--f-b);background:color-mix(in srgb,var(--c) 10%,transparent)}
.pa-scn .pa-mph{display:flex;justify-content:center;margin-top:14px}
.pa-scn .pa-mph .pa-ph{--w:220px;transform:perspective(1000px) rotateY(-12deg) rotateX(4deg)}
@media (min-width:760px){.pa-scn .pa-mph{display:none}}

/* 3. путь из 11 уровней */
.pa-ptrack{position:relative;background:radial-gradient(80% 60% at 50% 55%,#121a46,#060a18 80%)}
@media (min-width:900px){.pa-ptrack{height:400vh}}
.pa-path{position:relative;overflow:hidden;padding-block:clamp(72px,10cqi,120px)}
@media (min-width:900px){.pa-path{position:sticky;top:0;height:100vh;padding:0}}
.pa-path .pa-shead{margin-bottom:28px}
@media (min-width:900px){.pa-path .pa-h2{font-size:clamp(32px,3.6cqi,54px)}.pa-path .pa-shead{gap:12px;max-width:820px}.pa-pmeter{position:absolute;right:clamp(28px,3.6vw,60px);top:clamp(36px,7vh,80px)}}
@media (min-width:900px){.pa-path .pa-ptop{padding-top:clamp(36px,7vh,80px);position:relative;z-index:2}.pa-path .pa-shead{margin-bottom:0}}
.pa-ptxt{display:flex;justify-content:space-between;gap:30px;align-items:end;flex-wrap:wrap}
.pa-pmeter{display:grid;gap:6px;justify-items:end;text-align:right}
.pa-pmeter b{font:800 clamp(40px,5cqi,72px)/.9 var(--f-d);letter-spacing:-.05em;font-variant-numeric:tabular-nums;background:linear-gradient(95deg,#7fd1ff,#9ee9c5);-webkit-background-clip:text;background-clip:text;color:transparent}
.pa-pmeter span{font:600 12px/1.2 var(--f-b);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
@media (max-width:899px){.pa-pmeter{display:none}}
.pa-rail{position:relative;padding-inline:16px}
@media (min-width:900px){.pa-rail{position:absolute;left:0;top:44%;height:0;width:var(--rw,3600px);padding:0;transform:translateX(var(--rx,0px));will-change:transform}}
.pa-rail svg.pa-wave{display:none}
@media (min-width:900px){.pa-rail svg.pa-wave{display:block;position:absolute;left:0;top:-120px;width:100%;height:240px;overflow:visible}}
.pa-wave .pa-bgw{fill:none;stroke:rgba(255,255,255,.12);stroke-width:2}
.pa-wave .pa-fgw{fill:none;stroke:url(#paWvG);stroke-width:3.4;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(111,208,255,.7))}
.pa-wave .pa-spark{fill:#fff;filter:drop-shadow(0 0 10px #7fd1ff) drop-shadow(0 0 22px #7fd1ff)}
.pa-lv{position:relative;display:grid;gap:8px;padding:0 0 34px 54px}
.pa-lv::before{content:"";position:absolute;left:19px;top:6px;bottom:-6px;width:2px;background:linear-gradient(var(--c),color-mix(in srgb,var(--c) 20%,transparent))}
.pa-lv:last-child::before{display:none}
.pa-lv .pa-nd{position:absolute;left:6px;top:0;width:28px;height:28px;border-radius:50%;border:2px solid var(--c);background:#060a18;box-shadow:0 0 20px -2px var(--c);display:grid;place-items:center}
.pa-lv .pa-nd::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--c);transform:scale(.3);opacity:.4;transition:all .4s var(--spring)}
.pa-lv.pa-lit .pa-nd::after{transform:none;opacity:1}
.pa-lv .pa-t{font:600 12px/1.2 var(--f-b);letter-spacing:.16em;text-transform:uppercase;color:var(--c)}
.pa-lv h3{font:800 clamp(22px,2.2cqi,30px)/1.06 var(--f-d);letter-spacing:-.035em}
.pa-lv .pa-lvn{font:600 13px/1.2 var(--f-b);color:var(--muted)}
.pa-lv .pa-lvn b{color:var(--fg)}
.pa-lv p{color:var(--muted);font-size:15.5px;max-width:24em}
@media (min-width:900px){
  .pa-lv{position:absolute;width:290px;padding:0;left:var(--x);transform:translateX(-50%);opacity:.3;transition:opacity .5s var(--ease)}
  .pa-lv.pa-lit{opacity:1}
  .pa-lv::before{display:none}
  .pa-lv .pa-nd{left:50%;margin-left:-14px}
  .pa-lv{top:calc(var(--y) + 70px)} .pa-lv .pa-nd{top:-54px}
  .pa-lv.pa-big h3{font-size:clamp(26px,2.6cqi,36px)}
}
.pa-psrc{margin-top:8px;padding-inline:16px}
@media (min-width:900px){.pa-psrc{position:absolute;left:clamp(28px,3.6vw,60px);bottom:26px;max-width:min(440px,28%);margin:0;padding:0}}

/* 4. курсы */
.pa-crs{display:grid;gap:16px;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px}.pa-cr{scroll-snap-align:start}
@media (min-width:760px){.pa-crs{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;overflow:visible;margin:0;padding:0}}
.pa-cr{display:grid;gap:14px;align-content:start;text-decoration:none;color:inherit}
.pa-cr .pa-cv{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 40px 80px -40px rgba(0,0,0,.7);transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .4s var(--ease)}
.pa-cr .pa-cv img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pa-cr:hover .pa-cv img{transform:scale(1.05)}
.pa-cr .pa-cv::before{content:"";position:absolute;inset:0 0 auto;height:26%;background:linear-gradient(180deg,rgba(6,10,24,.6),transparent);z-index:1}
.pa-cr .pa-cv .pa-lab{position:absolute;left:20px;top:18px;z-index:2;font:600 11.5px/1.2 var(--f-b);letter-spacing:.18em;text-transform:uppercase;color:#e6e0ff}
.pa-cr .pa-w{font:900 clamp(32px,3.6cqi,48px)/.9 var(--f-d);letter-spacing:-.05em;text-transform:uppercase;color:var(--c)}
.pa-cr h3{font:700 19px/1.25 var(--f-d);letter-spacing:-.02em}
.pa-cr .pa-m{display:flex;flex-wrap:wrap;gap:6px}
.pa-cr .pa-m span{font:600 12.5px/1 var(--f-b);padding:8px 11px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.pa-cr p{color:var(--muted);font-size:15.5px}
.pa-cfeat{margin-top:clamp(36px,5cqi,56px);display:grid;gap:12px}
@media (min-width:760px){.pa-cfeat{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}
.pa-cfeat>div{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:22px;border:1px solid var(--card-line);background:var(--card)}
.pa-cfeat i{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}
.pa-cfeat i svg{width:20px;height:20px}
.pa-cfeat b{display:block;font:700 16px/1.3 var(--f-d);letter-spacing:-.015em}
.pa-cfeat span{display:block;color:var(--muted);font-size:14.5px;margin-top:4px}

/* 5. ярлыки */
.pa-lpg{display:grid;gap:40px;align-items:center}
@media (min-width:760px){.pa-lpg{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px}}
@media (max-width:759px){.pa-lpv{order:2}}
.pa-lpv{position:relative;display:grid;place-items:center;min-height:460px}
.pa-lpv .pa-ph{--w:270px}
.pa-lptx{display:grid;gap:18px}
.pa-lptx ul{margin:6px 0 0;padding:0;display:grid;gap:10px}
.pa-lptx li{list-style:none;position:relative;padding-left:22px;font:600 17px/1.35 var(--f-b)}
.pa-lptx li::before{content:"";position:absolute;left:0;top:.42em;width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 12px var(--c)}
.pa-lptx li span{color:var(--muted);font-weight:500}
.pa-sc{position:absolute;left:8%;right:12%;top:8%;border-radius:5cqi;background:rgba(36,40,72,.96);box-shadow:0 20px 50px rgba(0,0,0,.6);padding:2cqi 0;z-index:28;
  transform-origin:30% 100%;transform:scale(.5) translateY(30px);opacity:0;transition:all .45s var(--spring)}
.pa-sc div{display:flex;align-items:center;gap:3.4cqi;padding:3.3cqi 5cqi;font:500 4.1cqi/1.15 system-ui;color:#fff;opacity:0;transform:translateY(6px);transition:all .35s var(--ease)}
.pa-sc div i{width:7cqi;height:7cqi;border-radius:50%;flex:none;background:radial-gradient(circle at 35% 30%,#fff,var(--c) 45%,color-mix(in srgb,var(--c) 40%,#000));box-shadow:0 0 12px var(--c)}
.pa-lpv.pa-open .pa-sc{transform:none;opacity:1}
.pa-lpv.pa-open .pa-sc div{opacity:1;transform:none}
.pa-lpv.pa-open .pa-sc div:nth-child(2){transition-delay:.05s}.pa-lpv.pa-open .pa-sc div:nth-child(3){transition-delay:.1s}.pa-lpv.pa-open .pa-sc div:nth-child(4){transition-delay:.15s}.pa-lpv.pa-open .pa-sc div:nth-child(5){transition-delay:.2s}
.pa-lpv.pa-open .pa-mk .pa-home .pa-grid i{filter:blur(2px);opacity:.5}
.pa-lpv .pa-press{position:absolute;width:15cqi;height:15cqi;border-radius:50%;z-index:30;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.9) 0 26%,rgba(255,255,255,.3) 28% 60%,transparent 62%);opacity:0}
.pa-lpv.pa-pressing .pa-press{opacity:1}
.pa-lpv.pa-pressing .pa-press::after{content:"";position:absolute;inset:-20%;border-radius:50%;border:3px solid #7fd1ff;animation:pa-hold 1s linear forwards}
@keyframes pa-hold{from{transform:scale(.6);opacity:.3}to{transform:scale(1.2);opacity:1}}
.pa-lpv .pa-mk .pa-home{opacity:1}
.pa-lpv .pa-mk .pa-home .pa-me{opacity:1;transform:none}
.pa-lpv .pa-mk .pa-home .pa-grid{top:44%}

/* 6. установка */
.pa-ins{display:grid;gap:22px;grid-template-columns:minmax(0,1fr)}
.pa-ins>*,.pa-pan>*{min-width:0}
.pa-pan{display:flex;flex-direction:column;gap:18px}
.pa-pan[hidden],.pa-itop>[hidden]{display:none}
.pa-itop:empty{display:none}
@media (max-width:899px){.pa-pan .pa-demo{order:-1;position:static;margin-top:8px}.pa-pan .pa-olist{margin-top:0}.pa-pan .pa-insnote{margin-top:0}.pa-demo .pa-ph{--w:min(270px,66cqi)}}
@media (min-width:900px){.pa-ins{grid-template-columns:minmax(0,1fr) minmax(0,440px);column-gap:56px}.pa-ins>.pa-tabs,.pa-ins>.pa-itop{grid-column:1}.pa-ins>.pa-pan{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);column-gap:56px;align-items:start}
  .pa-pan .pa-olist{grid-column:1;margin-top:4px}.pa-pan .pa-insnote{grid-column:1;margin-top:0}.pa-pan .pa-demo{grid-column:2;grid-row:1/span 2;margin-top:-140px}}
.pa-ins>.pa-pan[hidden]{display:none}
.pa-tabs{display:flex;gap:6px;padding:6px;border-radius:999px;background:var(--glass);border:1px solid var(--line);width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
.pa-tabs button{height:46px;padding:0 18px;border-radius:999px;border:0;background:transparent;cursor:pointer;font:600 15px/1 var(--f-b);color:var(--muted);display:flex;align-items:center;gap:8px;white-space:nowrap}
.pa-tabs button svg{width:18px;height:18px}
.pa-tabs button[aria-selected="true"]{background:var(--fg);color:var(--ink)}
@media (max-width:520px){.pa-tabs{width:100%}.pa-tabs button{flex:1;justify-content:center;padding:0 8px;font-size:14px}.pa-tabs button svg{display:none}}
.pa-tabs button .pa-you{font:700 10px/1 var(--f-b);letter-spacing:.08em;text-transform:uppercase;padding:4px 6px;border-radius:6px;background:var(--acc);color:var(--on-acc)}
.pa-quick{display:grid;gap:14px;padding:20px;border-radius:26px;border:1px solid var(--acc-line);background:linear-gradient(135deg,var(--acc-soft),transparent)}
.pa-quick b{font:700 19px/1.25 var(--f-d);letter-spacing:-.02em}
.pa-quick .pa-go{justify-self:start}
.pa-warn{display:grid;gap:12px;padding:20px;border-radius:26px;border:1px solid color-mix(in srgb,var(--pa-c4) 55%,transparent);background:color-mix(in srgb,var(--pa-c4) 9%,transparent)}
.pa-warn b{font:700 18px/1.25 var(--f-d);letter-spacing:-.02em}
.pa-warn p{color:var(--muted);font-size:15px}
.pa-olist{margin:26px 0 0;padding:0;display:grid;gap:8px}
.pa-olist li{list-style:none;display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 16px;padding:16px;border-radius:22px;cursor:pointer;border:1px solid transparent;transition:background .3s,border-color .3s}
.pa-olist li .pa-num{grid-row:span 2;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font:800 20px/1 var(--f-d);border:1.5px solid var(--line);color:var(--muted);position:relative;transition:all .3s}
.pa-olist li .pa-num svg{position:absolute;inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px);transform:rotate(-90deg);opacity:0}
.pa-olist li .pa-num svg circle{fill:none;stroke:var(--acc);stroke-width:3;stroke-dasharray:157;stroke-dashoffset:157}
.pa-olist li.pa-on{background:var(--card);border-color:var(--card-line)}
.pa-olist li.pa-on .pa-num{border-color:transparent;color:var(--fg)}
.pa-olist li.pa-on .pa-num svg{opacity:1}
.pa-olist li.pa-on .pa-num svg circle{animation:pa-stp var(--sd,3.2s) linear forwards}
.pa-olist.pa-paused li.pa-on .pa-num svg circle{animation:none;stroke-dashoffset:0}
@keyframes pa-stp{to{stroke-dashoffset:0}}
.pa-olist li b{font:700 18px/1.3 var(--f-d);letter-spacing:-.02em;align-self:end}
.pa-olist li p{color:var(--muted);font-size:15px}
.pa-olist li p kbd{font:600 13.5px/1 var(--f-b);padding:3px 8px;border-radius:7px;border:1px solid var(--line);background:var(--glass);color:var(--fg);white-space:nowrap}
.pa-insnote{margin-top:18px;display:grid;gap:10px;padding:16px 18px;border-radius:18px;background:var(--glass);font-size:14px;color:var(--muted)}
.pa-insnote b{color:var(--fg)}
.pa-insnote kbd{font:600 12.5px/1 var(--f-b);padding:2px 7px;border-radius:6px;border:1px solid var(--line)}
.pa-demo{position:sticky;top:calc(var(--sh-h,72px) + 24px);display:grid;justify-items:center;gap:14px}
.pa-demo .pa-ph{--w:min(300px,74cqi)}
.pa-demo .pa-ctr{display:flex;gap:8px}
.pa-demo .pa-ctr button{height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:13px;color:var(--fg)}
.pa-done{display:grid;gap:14px;padding:24px;border-radius:26px;border:1px solid color-mix(in srgb,var(--pa-c2) 50%,transparent);background:color-mix(in srgb,var(--pa-c2) 10%,transparent)}
.pa-done b{font:800 clamp(22px,3cqi,30px)/1.15 var(--f-d);letter-spacing:-.03em;display:flex;gap:12px;align-items:center}
.pa-done b i{width:40px;height:40px;border-radius:50%;background:var(--pa-c2);display:grid;place-items:center;flex:none}
.pa-done b i svg{width:22px;height:22px;stroke:#04101f;stroke-width:3;fill:none}
.pa-done p{color:var(--muted)}
.pa-done .pa-go{justify-self:start}

/* мок-экраны */
.pa-mk{position:absolute;inset:0;font-family:-apple-system,"Segoe UI",Roboto,system-ui,sans-serif;color:#eaf0ff}
.pa-mk .pa-pgv{position:absolute;left:0;right:0;top:0;bottom:0;overflow:hidden}
.pa-mk .pa-pgv img{width:100%;height:auto}
.pa-mk .pa-sb{position:absolute;left:0;right:0;top:0;height:6.5%;background:#0b1028;display:flex;align-items:flex-end;justify-content:space-between;padding:0 8% 1.2%;font:600 3.4cqi/1 system-ui;z-index:6;color:#fff}
.pa-mk .pa-dim{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .4s;z-index:7}
.pa-mk .pa-tap{position:absolute;left:var(--tx,50%);top:var(--ty,50%);width:13cqi;height:13cqi;margin:-6.5cqi 0 0 -6.5cqi;border-radius:50%;z-index:30;pointer-events:none;
  background:radial-gradient(circle,rgba(255,255,255,.95) 0 28%,rgba(255,255,255,.35) 30% 60%,transparent 62%);box-shadow:0 4px 20px rgba(0,0,0,.4);opacity:0;transition:left .7s var(--ease),top .7s var(--ease),opacity .3s}
.pa-mk .pa-tap.pa-show{opacity:1}
.pa-mk .pa-tap.pa-hit::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #fff;animation:pa-hit .6s var(--ease)}
@keyframes pa-hit{from{transform:scale(.6);opacity:1}to{transform:scale(2.2);opacity:0}}
.pa-mk .pa-home{position:absolute;inset:0;z-index:25;opacity:0;pointer-events:none;transition:opacity .5s;
  background:radial-gradient(90% 60% at 30% 20%,#3b3a8f,transparent 60%),radial-gradient(80% 60% at 80% 90%,#1b6a8a,transparent 60%),#121433}
.pa-mk .pa-home .pa-grid{position:absolute;left:7%;right:7%;top:12%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7cqi 5cqi}
.pa-mk .pa-home .pa-grid i{aspect-ratio:1;border-radius:24%;background:rgba(255,255,255,.14)}
.pa-mk .pa-home .pa-grid i:nth-child(3n){background:rgba(255,255,255,.08)}
.pa-mk .pa-home .pa-me{grid-column:2;display:grid;justify-items:center;gap:1.6cqi;opacity:0;transform:scale(.2);min-width:0}
.pa-mk .pa-home .pa-me img{width:100%;height:auto;aspect-ratio:1;border-radius:24%;box-shadow:0 0 30px rgba(111,208,255,.8)}
.pa-mk .pa-home .pa-me span{font:500 3.2cqi/1 system-ui;color:#fff;white-space:nowrap}
.pa-mk[data-s="4"] .pa-home{opacity:1}
.pa-mk[data-s="4"] .pa-home .pa-me{animation:pa-pop 1s var(--spring) .35s forwards}
@keyframes pa-pop{0%{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(1.15)}100%{opacity:1;transform:scale(1)}}
@keyframes pa-icb{0%,100%{transform:scale(.96)}40%{transform:scale(1.06)}}
.pa-mk[data-s="4"] .pa-home .pa-me img{animation:pa-icb var(--br) ease-in-out 1.4s infinite}
.pa-mk .pa-spark{position:absolute;inset:0;z-index:26;pointer-events:none;width:100%;height:100%}
.pa-and .pa-bar{position:absolute;left:0;right:0;top:6.5%;height:10cqi;background:#1f2440;display:flex;align-items:center;gap:2.5cqi;padding:0 3cqi;z-index:5}
.pa-and .pa-bar .pa-url{flex:1;height:7cqi;border-radius:99px;background:#2d3357;display:flex;align-items:center;gap:1.6cqi;padding:0 3cqi;font:500 3.3cqi/1 system-ui;color:#dfe5ff}
.pa-and .pa-bar .pa-url svg{width:3cqi;height:3cqi}
.pa-and .pa-bar .pa-dots{width:6cqi;display:grid;place-items:center;gap:.8cqi}
.pa-and .pa-bar .pa-dots i{width:1cqi;height:1cqi;border-radius:50%;background:#dfe5ff;display:block}
.pa-and .pa-pgv{top:calc(6.5% + 10cqi)}
.pa-and .pa-menu{position:absolute;right:2%;top:8%;width:62%;padding:2cqi 0;border-radius:3cqi;background:#2a2f4f;box-shadow:0 10px 40px rgba(0,0,0,.6);z-index:8;transform-origin:top right;transform:scale(.6);opacity:0;transition:all .35s var(--spring)}
.pa-and .pa-menu div{padding:2.8cqi 5cqi;font:400 3.6cqi/1.1 system-ui;color:#e6eaff;display:flex;align-items:center;gap:3cqi}
.pa-and .pa-menu div i{width:4cqi;height:4cqi;border-radius:1cqi;border:1.5px solid #9aa6d6;flex:none}
.pa-and .pa-menu div.pa-sel{background:rgba(127,209,255,.18);color:#fff;font-weight:600}
.pa-and .pa-menu div.pa-sel i{border-color:#7fd1ff;background:#7fd1ff}
.pa-and .pa-menu hr{border:0;border-top:1px solid rgba(255,255,255,.1);margin:1cqi 0}
.pa-and .pa-dlg{position:absolute;left:0;right:0;bottom:0;padding:6cqi 6cqi 8cqi;border-radius:6cqi 6cqi 0 0;background:#262b4a;z-index:9;transform:translateY(105%);transition:transform .45s var(--spring);display:grid;gap:4cqi}
.pa-and .pa-dlg .pa-t{font:500 5cqi/1.2 system-ui;color:#fff}
.pa-and .pa-dlg .pa-a{display:flex;gap:3.5cqi;align-items:center}
.pa-and .pa-dlg .pa-a img{width:13cqi;height:13cqi;border-radius:3cqi}
.pa-and .pa-dlg .pa-a b{display:block;font:600 4cqi/1.2 system-ui}
.pa-and .pa-dlg .pa-a small{display:block;font:400 3.3cqi/1.2 system-ui;color:#aab4dc}
.pa-and .pa-dlg .pa-b{display:flex;justify-content:flex-end;gap:3cqi}
.pa-and .pa-dlg .pa-b span{padding:3cqi 5cqi;border-radius:99px;font:600 3.6cqi/1 system-ui;color:#9fe0ff}
.pa-and .pa-dlg .pa-b span.pa-pri{background:#7fd1ff;color:#06101f}
.pa-and[data-s="2"] .pa-menu{transform:none;opacity:1}
.pa-and[data-s="3"] .pa-dlg{transform:none}
.pa-and[data-s="3"] .pa-dim{opacity:1}
.pa-ios .pa-pgv{top:6.5%;bottom:18cqi}
.pa-ios .pa-bot{position:absolute;left:0;right:0;bottom:0;height:22cqi;background:rgba(30,34,60,.92);z-index:5;padding:2.4cqi 4cqi 0}
.pa-ios .pa-bot .pa-url{height:8.5cqi;border-radius:3cqi;background:rgba(255,255,255,.12);display:grid;place-items:center;font:500 3.6cqi/1 system-ui;color:#fff}
.pa-ios .pa-bot .pa-ics{display:flex;justify-content:space-between;padding:2.6cqi 3cqi 0;color:#5aa9ff}
.pa-ios .pa-bot .pa-ics svg{width:5.6cqi;height:5.6cqi;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pa-ios .pa-sheet{position:absolute;left:0;right:0;bottom:0;height:66%;border-radius:5cqi 5cqi 0 0;background:#1d2038;z-index:9;transform:translateY(105%);transition:transform .45s var(--spring);padding:4cqi 4cqi 0;display:grid;align-content:start;gap:3cqi}
.pa-ios .pa-sheet .pa-hd{display:flex;align-items:center;gap:3cqi;padding-bottom:3cqi;border-bottom:1px solid rgba(255,255,255,.1)}
.pa-ios .pa-sheet .pa-hd img{width:10cqi;height:10cqi;border-radius:2.4cqi}
.pa-ios .pa-sheet .pa-hd b{font:600 3.8cqi/1.2 system-ui}
.pa-ios .pa-sheet .pa-hd small{display:block;font:400 3.2cqi/1.2 system-ui;color:#9aa3c9}
.pa-ios .pa-sheet .pa-apps{display:flex;gap:3.4cqi}
.pa-ios .pa-sheet .pa-apps i{width:13cqi;height:13cqi;border-radius:3.2cqi;background:rgba(255,255,255,.12)}
.pa-ios .pa-sheet .pa-lst{border-radius:3cqi;background:rgba(255,255,255,.07);overflow:hidden}
.pa-ios .pa-sheet .pa-lst div{display:flex;justify-content:space-between;align-items:center;padding:3cqi 4cqi;font:400 3.7cqi/1.1 system-ui;border-bottom:1px solid rgba(255,255,255,.07)}
.pa-ios .pa-sheet .pa-lst div:last-child{border:0}
.pa-ios .pa-sheet .pa-lst div i{width:4.6cqi;height:4.6cqi;border:1.5px solid #c9d0ee;border-radius:1.2cqi}
.pa-ios .pa-sheet .pa-lst div.pa-sel{background:rgba(90,169,255,.22);font-weight:600}
.pa-ios .pa-add{position:absolute;inset:6.5% 0 0;border-radius:5cqi 5cqi 0 0;background:#151831;z-index:10;transform:translateY(105%);transition:transform .45s var(--spring);padding:4cqi}
.pa-ios .pa-add .pa-top{display:flex;justify-content:space-between;align-items:center;font:400 3.8cqi/1 system-ui;color:#5aa9ff}
.pa-ios .pa-add .pa-top b{color:#fff;font-weight:600}
.pa-ios .pa-add .pa-top strong{font-weight:700}
.pa-ios .pa-add .pa-card{margin-top:6cqi;border-radius:3cqi;background:rgba(255,255,255,.07);padding:4cqi;display:flex;gap:4cqi;align-items:center}
.pa-ios .pa-add .pa-card img{width:15cqi;height:15cqi;border-radius:3.6cqi}
.pa-ios .pa-add .pa-card div{flex:1;font:400 3.8cqi/1.3 system-ui}
.pa-ios .pa-add .pa-card div small{display:block;color:#9aa3c9;font-size:3.2cqi;border-top:1px solid rgba(255,255,255,.1);margin-top:2cqi;padding-top:2cqi}
.pa-ios .pa-add .pa-tg{margin-top:4cqi;border-radius:3cqi;background:rgba(255,255,255,.07);padding:3.4cqi 4cqi;display:flex;justify-content:space-between;align-items:center;font:400 3.6cqi/1.2 system-ui}
.pa-ios .pa-add .pa-tg i{width:11cqi;height:6.6cqi;border-radius:99px;background:#34c759;position:relative;flex:none}
.pa-ios .pa-add .pa-tg i::after{content:"";position:absolute;right:.5cqi;top:.5cqi;width:5.6cqi;height:5.6cqi;border-radius:50%;background:#fff}
.pa-ios[data-s="2"] .pa-sheet{transform:none}
.pa-ios[data-s="2"] .pa-dim,.pa-ios[data-s="3"] .pa-dim{opacity:1}
.pa-ios[data-s="3"] .pa-add{transform:none}

/* 7. FAQ */
.pa-faq{display:grid;border-top:1px solid var(--line);max-width:920px}
.pa-faq details{border-bottom:1px solid var(--line)}
.pa-faq summary{list-style:none;cursor:pointer;display:flex;gap:18px;justify-content:space-between;align-items:center;padding:22px 0;font:700 clamp(18px,2.2cqi,22px)/1.3 var(--f-d);letter-spacing:-.02em}
.pa-faq summary::-webkit-details-marker{display:none}
.pa-faq summary i{width:36px;height:36px;flex:none;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:transform .3s var(--ease)}
.pa-faq summary i svg{width:16px;height:16px}
.pa-faq details[open] summary i{transform:rotate(45deg);background:var(--acc);color:var(--on-acc);border-color:var(--acc)}
.pa-faq details p{padding:0 50px 22px 0;color:var(--muted);font-size:16px}

/* 8. финал */
.pa-fin{position:relative;overflow:hidden;padding-block:clamp(80px,11cqi,150px);background:radial-gradient(60% 70% at 50% 60%,#16205a,#060a18 75%)}
.pa-fin .pa-wrap{display:grid;justify-items:center;text-align:center;gap:22px;position:relative;z-index:2}
.pa-fhome{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(14px,3cqi,30px);width:min(560px,100%);margin-bottom:18px}
.pa-fhome i{aspect-ratio:1;border-radius:24%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.06)}
.pa-fhome i:nth-child(odd){background:rgba(255,255,255,.04)}
.pa-fhome .pa-me{position:relative;display:grid;justify-items:center;grid-column:3;grid-row:2}
.pa-fhome .pa-me img{width:100%;height:auto;aspect-ratio:1;border-radius:24%;animation:pa-icb var(--br) ease-in-out infinite;box-shadow:0 0 0 1px rgba(255,255,255,.2),0 0 60px rgba(111,208,255,.7)}
.pa-fhome .pa-me::before{content:"";position:absolute;inset:-60%;border-radius:50%;background:radial-gradient(closest-side,rgba(111,208,255,.45),transparent);animation:pa-au1 var(--br) ease-in-out infinite;z-index:-1}
.pa-fhome .pa-me span{position:absolute;top:calc(100% + 6px);font:600 12px/1 var(--f-b);color:#fff;white-space:nowrap}
.pa-fin h2{font:800 clamp(34px,7.6cqi,84px)/1 var(--f-d);letter-spacing:-.05em;max-width:14ch}
.pa-fin h2 em{font-style:normal;background:linear-gradient(90deg,#7fd1ff,#9ee9c5);-webkit-background-clip:text;background-clip:text;color:transparent}
.pa-fin p{color:#c9d0ee;font-size:17px;max-width:30em}
.pa-fin .pa-go{min-width:min(100%,340px)}
.pa-fin .pa-facts{justify-content:center}

/* липкая кнопка */
.pa-stk{position:fixed;left:50%;bottom:20px;transform:translate(-50%,140%);z-index:60;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 10px;border-radius:999px;
  background:rgba(8,12,30,.72);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(20px) saturate(1.4);box-shadow:0 20px 60px -10px rgba(0,0,0,.7);transition:transform .5s var(--spring);width:max-content;max-width:calc(100% - 24px);color:#fff}
.pa-stk.pa-on{transform:translate(-50%,0)}
.pa-stk img{width:42px;height:42px;border-radius:11px;animation:pa-icb var(--br) ease-in-out infinite}
.pa-stk>span{font:600 13px/1.2 var(--f-b);color:#c9d0ee;white-space:nowrap}
.pa-stk>span b{display:block;color:#fff;font:700 14px/1.2 var(--f-d)}
.pa-stk .pa-go{height:46px;padding:0 20px;font-size:14.5px}
@media (max-width:420px){.pa-stk>span{display:none}}

.pa-burst{position:fixed;inset:0;pointer-events:none;z-index:110}

/* серия на плашке растёт — ширина плашки по итоговому тексту (CLS 0) */
.pa-sk{display:grid!important}
.pa-sk>span{grid-area:1/1}
.pa-sk .pa-skg{visibility:hidden}
/* уровни — список */
.pa-lvls{margin:0;padding:0;list-style:none}
.pa-note.pa-big{font-size:17px}
.pa-lp{background:radial-gradient(70% 60% at 30% 50%,#141c48,#060a18 75%)}
.pa-faqs{padding-top:0}
/* приложение уже стоит: «Начать практику» — без стрелки «скачать» */
.pa[data-st="installed"] [data-cta] svg{display:none}

/* светлая тема: ночные сцены (.pa-n) остаются тёмными, дневные блоки — светлые токены (как в прототипе);
   авто-перекраска лендинга выключена (.pa в KEEP_SEL), правим здесь */
html[data-theme="light"] .pa{
  --pa-c1:#1f95e0; --pa-c2:#1fae7a; --pa-c3:#8a63e6; --pa-c4:#e0743c;
  --acc:#1590dc; --acc-t:#0f72b3; --on-acc:#ffffff; --acc-soft:rgba(21,144,220,.1); --acc-line:rgba(21,144,220,.4)}
html[data-theme="light"] .pa .pa-n{
  --pa-c1:#7fd1ff; --pa-c2:#9ee9c5; --pa-c3:#c8a8ff; --pa-c4:#ffb38a;
  --acc:#6fd0ff; --acc-t:#9fe0ff; --on-acc:#04101f; --acc-soft:rgba(111,208,255,.16); --acc-line:rgba(111,208,255,.5)}
html[data-theme="light"] .pa-inside{background:rgba(20,32,80,.045)}
html[data-theme="light"] .pa-cr .pa-cv{box-shadow:0 40px 80px -40px rgba(20,32,80,.45)}

/* без движения: дорога дней и дыхание — один кадр (prilozhenie.js), анимации и прокрутка героя/уровней выключены */
@media (prefers-reduced-motion:reduce){
  .pa *,.pa *::before,.pa *::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
  .pa-htrack,.pa-ptrack{height:auto!important}
  .pa-hero{position:relative!important}
  .pa-path{position:relative!important;height:auto!important;padding-block:clamp(72px,10cqi,120px)!important}
  .pa-rail{position:relative!important;width:auto!important;transform:none!important;padding-inline:16px!important;max-width:1240px;margin:0 auto}
  .pa-rail svg.pa-wave,.pa-pmeter,.pa-hend,.pa-scrl{display:none!important}
  .pa-lv{position:relative!important;left:auto!important;top:auto!important;width:auto!important;transform:none!important;opacity:1!important;padding:0 0 34px 54px!important}
  .pa-lv::before{display:block!important}
  .pa-lv .pa-nd{left:6px!important;top:0!important;margin:0!important}
  .pa-psrc{position:static!important;padding-inline:16px;max-width:1240px;margin:8px auto 0!important}
  .pa-scn{opacity:1!important}
}

/* скорость: блоки ниже первого экрана браузер раскладывает только при подходе (длинная задача первой раскладки — 400 мс на 4× CPU) */
#paCourses,#paLp,#how,.pa-faqs,#paFin{content-visibility:auto;contain-intrinsic-size:auto 1100px}
