/* ============================================================================
   YAZME · СТУДИЯ АВТОРА И ПРАВКА ПЕРСОНАЖА          persona/assets/author.css
   ----------------------------------------------------------------------------
   Префикс .au-* — чтобы не пересекаться со старыми .sd-* (студия до 09.2026),
   .pv-* (общий ui.css) и .sc-* (screens.css). Старые файлы не трогаем: откат —
   это вернуть прежний studio.php, ничего больше.

   НИ ОДНОГО НОВОГО ЦВЕТА. Всё берётся из tokens.css, который pnHead подключает
   раньше этого файла. Единственное исключение — --au-shade и --au-on-shade:
   затемнение ПОВЕРХ фотографии. Оно обязано быть тёмным во всех трёх темах,
   иначе в «Cloud Dancer» белый текст ляжет на светлую вуаль и пропадёт.
   ========================================================================== */
:root{
  /* ПОЯСНИТЕЛЬНЫЙ ТЕКСТ. Сайтовый --t3 в светлой теме «Cloud» даёт контраст
     2,5 к фону — подписи под заголовками и подсказки под полями там почти не
     читаются. В тёмных темах он в порядке (5,6 и 4,2), поэтому подменяем
     только под cloud, а не правим общий токен сайта. */
  --au-sub: var(--t3);
  /* АКЦЕНТНЫЙ ТЕКСТ. --hero-hi — осветлённый оранжевый: он для тёмного фона.
     В светлой «Cloud» он давал контраст 1,3 — подписи «главный охват» и
     «сценарий 1» на светлом фоне пропадали. Там берём тёмный оттенок того же
     фирменного цвета. */
  --au-accent: var(--hero-hi);
  /* Те же грабли у жёлтого, зелёного и красного: на светлом фоне сайтовые
     --mark / --win / --lose дают 2,5–3,6. Затемняем ровно под cloud. */
  --au-mark: var(--mark);
  --au-win:  var(--win);
  --au-lose: var(--lose);
  --au-shade: rgba(10,9,8,.94);
  --au-shade-mid: rgba(10,9,8,.34);
  --au-on-shade: #faf9f5;
  --au-on-shade-dim: rgba(250,249,245,.76);
}
/* В «Полночь» сайтовый --t3 даёт 4,15 — тоже ниже нормы для 12px, поэтому
   пояснения там берут --t2 (8,6). В «Янтаре» --t3 в порядке (5,6) и остаётся. */
html[data-yz-theme="midnight"] .au-body,
html[data-yz-theme="midnight"] .au{ --au-sub: var(--t2); }

html[data-yz-theme="cloud"] .au-body,
html[data-yz-theme="cloud"] .au{
  --au-sub: var(--t2);
  --au-accent: var(--yz-accent-deep, #b05730);
  --au-mark: color-mix(in srgb, var(--mark) 62%, #1b1a18);
  --au-win:  color-mix(in srgb, var(--win)  72%, #1b1a18);
  --au-lose: color-mix(in srgb, var(--lose) 82%, #1b1a18);
}


/* ─────────────────────────── КАРКАС ─────────────────────────── */
.au-body{ padding-bottom: var(--nav-gap, 88px); }   /* запасные 88px: если tokens.css на сервере старше — контент не уедет под меню */
.au{ max-width: var(--col); margin: 0 auto; padding: 0 0 var(--sp6);
     padding-left: var(--sal); padding-right: var(--sar); }

/* ЛИПКОЙ НЕ ДЕЛАЕМ. Шапка сайта .yzt уже sticky с z-index 5000: вторая липкая
   строка уезжала под неё — заголовок пропадал, кнопка справа не нажималась.
   Вырез экрана тоже закрывает .yzt, второй раз var(--sat) добавлять нельзя. */
.au-top{ display:flex; align-items:center; gap:var(--sp3);
  padding:var(--sp3) var(--sp4); background:transparent; }
.au-top .grow{ flex:1; min-width:0; }
.au-top .pv-iconbtn{ width:44px; height:44px; flex:none; }
.au-top h1{ font:700 var(--fs-title)/1.15 var(--f-display); margin:0; letter-spacing:-.01em; }
.au-top .au-over{ display:block; margin-bottom:2px; }

.au-over{ font:600 11px/1 var(--f-ui); letter-spacing:var(--ls-over); text-transform:uppercase; color:var(--au-sub); }
.au-sec{ padding:0 var(--sp4); margin-bottom:var(--sp4); }
.au-sec-h{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp3); margin-bottom:var(--sp3); }
.au-sec-h b{ font:600 15px var(--f-ui); }
.au-sec-h span{ font-size:var(--fs-small); color:var(--au-sub); white-space:nowrap; }
.au-dim{ color:var(--t2); } .au-faint{ color:var(--au-sub); }
.au-up{ color:var(--au-win); font-weight:600; } .au-down{ color:color-mix(in srgb, var(--lose) 72%, var(--t1)); font-weight:600; }
.au-hand{ font:500 var(--fs-hand) var(--f-hand); color:var(--au-accent); }

/* ─────────────────────────── ЖИВОЙ БЛОК ─────────────────────────── */
.au-live{ margin:0 var(--sp4) var(--sp4); border-radius:var(--r-lg); padding:var(--sp5);
  position:relative; overflow:hidden; border:1px solid var(--hero-line);
  background:linear-gradient(160deg, var(--hero-lo), transparent 62%), var(--s1); }
.au-live-top{ display:flex; align-items:center; gap:var(--sp2); margin-bottom:var(--sp3); position:relative; z-index:2; }
.au-dot{ width:8px; height:8px; border-radius:var(--r-full); background:var(--lose); flex:none;
  box-shadow:0 0 0 0 color-mix(in srgb, var(--lose) 55%, transparent); animation:auPulse 2s infinite; }
@keyframes auPulse{ 0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--lose) 55%, transparent)}
  70%{box-shadow:0 0 0 9px transparent} 100%{box-shadow:0 0 0 0 transparent} }
.au-live-n{ display:flex; align-items:baseline; gap:var(--sp3); position:relative; z-index:2; }
.au-live-n b{ font:700 54px/1 var(--f-display); letter-spacing:-.04em; white-space:nowrap; }
.au-live-n span{ font-size:var(--fs-body); color:var(--t2); line-height:1.3; max-width:200px; }
.au-wave{ display:flex; align-items:flex-end; gap:3px; height:34px; margin:var(--sp3) 0 2px; position:relative; z-index:2; }
.au-wave i{ flex:1; height:100%; border-radius:2px; transform-origin:bottom;
  background:linear-gradient(to top, var(--hero), color-mix(in srgb, var(--mark) 72%, transparent));
  animation:auWave 1.6s ease-in-out infinite; }
@keyframes auWave{ 0%,100%{transform:scaleY(.35)} 50%{transform:scaleY(1)} }
.au-faces{ display:flex; align-items:center; margin-top:var(--sp3); position:relative; z-index:2; }
.au-faces img{ width:28px; height:28px; border-radius:var(--r-full); object-fit:cover;
  border:2px solid var(--s1); margin-left:-8px; }
.au-faces img:first-child{ margin-left:0; }
.au-faces em{ font-style:normal; font-size:var(--fs-small); color:var(--t2); margin-left:var(--sp3); }
@media (prefers-reduced-motion: reduce){ .au-wave i, .au-dot{ animation:none; } }

/* ─────────────────────────── ТРИ ЧИСЛА ─────────────────────────── */
.au-week{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp2); margin:0 var(--sp4) var(--sp4); }
.au-week .t{ background:var(--s2); border:1px solid var(--hair); border-radius:16px; padding:var(--sp3) var(--sp2); text-align:center; }
.au-week .t b{ display:block; font:700 22px/1 var(--f-display); margin-bottom:5px; white-space:nowrap; }
.au-week .t span{ font-size:12px; color:var(--au-sub); line-height:1.25; display:block; }
.au-week .t i{ font-style:normal; font-size:12px; font-weight:600; display:block; margin-top:5px; }

/* ─────────────────────────── ГРАФИК ─────────────────────────── */
.au-chart{ margin:0 var(--sp4) var(--sp4); background:var(--s1); border:1px solid var(--hair);
  border-radius:var(--r-md); padding:var(--sp5); }
.au-chart-h{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:var(--sp3); }
.au-chart-h b{ font:600 14px var(--f-ui); }
.au-chart-h span{ font-size:var(--fs-small); color:var(--au-sub); }
.au-chart svg{ width:100%; height:74px; display:block; overflow:visible; }
.au-chart-legend{ display:flex; flex-direction:column; gap:5px; margin-top:var(--sp3); font-size:12px; color:var(--au-sub); }
.au-chart-legend span{ display:flex; align-items:center; gap:6px; }
.au-chart-legend i{ width:7px; height:7px; background:var(--mark); display:block; transform:rotate(45deg); flex:none; }

/* ─────────────────────────── ВОРОНКА ─────────────────────────── */
.au-funnel{ margin:0 var(--sp4) var(--sp4); }
/* ПОДПИСЬ НАД ПОЛОСОЙ, А НЕ ПОВЕРХ НЕЁ. Раньше текст лежал на заливке и при
   коротком значении вылезал за её край: половина букв на оранжевом, половина
   на тёмном — читалось как сбой рендера. */
.au-fn-cap{ display:block; font-size:12px; color:var(--au-sub); margin:var(--sp2) 0 0; text-align:right; }
.au-fn{ display:flex; align-items:center; gap:var(--sp3); padding:var(--sp2) 0; }
.au-fn-bar{ flex:1; border-radius:var(--r-full); background:transparent; border:0;
  position:relative; overflow:visible; min-width:0; }
.au-fn-bar b{ position:static; display:block; font:600 13px var(--f-ui); color:var(--t1);
  white-space:normal; }
.au-fn-bar i{ position:relative; display:block; height:10px; margin-top:6px; min-width:4px;
  border-radius:var(--r-full);
  background:linear-gradient(90deg, var(--hero), color-mix(in srgb,var(--hero) 45%, transparent));
  box-shadow:inset 0 0 0 1px var(--hair); }
.au-fn > em{ font-style:normal; font-size:12px; color:var(--au-sub); width:66px; text-align:right; flex:none; line-height:1.2; }
.au-leak{ display:flex; gap:var(--sp3); align-items:flex-start; margin-top:var(--sp3); padding:var(--sp3);
  border-radius:14px; font-size:var(--fs-small); color:var(--t2);
  background:color-mix(in srgb, var(--mark) 8%, transparent); border:1px solid color-mix(in srgb, var(--mark) 26%, transparent); }
.au-leak b{ color:var(--au-mark); }
.au-leak.ok{ background:color-mix(in srgb, var(--win) 9%, transparent); border-color:color-mix(in srgb, var(--win) 26%, transparent); }
.au-leak.ok b{ color:var(--au-win); }
.au-leak .pv-ic{ width:18px; height:18px; flex:none; margin-top:1px; }

/* ─────────────────────────── КОЛОДА ПЕРСОНАЖЕЙ ─────────────────────────── */
.au-deck{ display:flex; gap:var(--sp3); overflow-x:auto; scroll-snap-type:x mandatory;
  padding:2px var(--sp4) var(--sp4); scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.au-deck::-webkit-scrollbar{ display:none; }
.au-card{ flex:none; width:214px; height:300px; scroll-snap-align:center; border-radius:24px;
  overflow:hidden; position:relative; border:1px solid var(--hair2); background:var(--s2);
  display:block; text-decoration:none; color:inherit; }
.au-card img{ width:100%; height:100%; object-fit:cover; }
.au-card::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, var(--au-shade) 10%, var(--au-shade-mid) 52%, transparent 78%); }
.au-card .cap{ position:absolute; left:14px; right:14px; bottom:13px; z-index:2; text-align:left; color:var(--au-on-shade); }
.au-card .cap b{ display:block; font:600 23px/1 var(--f-serif); margin-bottom:7px; }
.au-card .cap .n{ display:flex; gap:var(--sp3); font-size:12px; color:var(--au-on-shade-dim); }
.au-card .cap .n em{ font-style:normal; color:var(--au-on-shade); font-weight:700;
  font-family:var(--f-display); font-size:12.5px; margin-right:5px; }
.au-card .au-pill{ position:absolute; top:12px; left:12px; z-index:2; }
.au-card.mono{ display:grid; place-items:center; }
.au-card.mono .pv-mono{ margin-bottom:60px; }
.au-pill{ font:600 11px/1 var(--f-ui); letter-spacing:.08em; text-transform:uppercase;
  padding:5px 8px; border-radius:6px; background:var(--au-shade); color:var(--au-on-shade-dim);
  border:1px solid var(--hair2); }
.au-pill.live{ background:color-mix(in srgb, var(--lose) 26%, var(--au-shade)); color:#ffb0a6;
  border-color:color-mix(in srgb, var(--lose) 48%, transparent); }
.au-pill.quiet{ background:color-mix(in srgb, var(--mark) 24%, var(--au-shade)); color:#f0cf7c;
  border-color:color-mix(in srgb, var(--mark) 44%, transparent); }
.au-card.add{ display:grid; place-items:center; border-style:dashed; background:var(--s1); }
.au-card.add > div{ text-align:center; padding:var(--sp4); }
.au-card.add .pv-ic{ width:28px; height:28px; color:var(--hero); margin:0 auto var(--sp3); }
.au-card.add b{ display:block; font:600 14px var(--f-ui); margin-bottom:5px; }
.au-card.add span{ font-size:12px; color:var(--au-sub); line-height:1.35; display:block; }

/* ─────────────────────────── ЦЕЛЬ / ПОЛОСА ─────────────────────────── */
.au-goal{ margin:0 var(--sp4) var(--sp4); border-radius:var(--r-md); padding:var(--sp5);
  border:1px solid color-mix(in srgb, var(--win) 30%, transparent);
  background:linear-gradient(150deg, color-mix(in srgb, var(--win) 10%, transparent), transparent 62%), var(--s1); }
.au-goal h2{ font:700 16px/1.25 var(--f-display); margin:0 0 6px; }
.au-goal p{ margin:0 0 var(--sp3); font-size:var(--fs-small); color:var(--t2); }
.au-bar{ height:10px; border-radius:var(--r-full); background:var(--s3); overflow:hidden; }
.au-bar i{ display:block; height:100%; border-radius:var(--r-full);
  background:linear-gradient(90deg, var(--win), color-mix(in srgb, var(--win) 55%, var(--t1))); }
.au-goal-foot{ display:flex; justify-content:space-between; font-size:12px; color:var(--au-sub); margin-top:var(--sp2); }

/* ─────────────────────────── ЛЕНТА СОБЫТИЙ ─────────────────────────── */
.au-ev{ display:flex; gap:var(--sp3); padding:var(--sp3) 0; border-bottom:1px solid var(--hair); }
.au-ev:last-child{ border-bottom:0; }
.au-ev .k{ width:32px; height:32px; border-radius:var(--r-full); background:var(--s3);
  display:grid; place-items:center; flex:none; }
.au-ev .k .pv-ic{ width:16px; height:16px; color:var(--hero); }
.au-ev b{ display:block; font-size:var(--fs-small); }
.au-ev span{ font-size:12px; color:var(--au-sub); }

/* ─────────────────────────── ЛЕНДИНГ И СОЗДАНИЕ ─────────────────────────── */
.au-land{ padding:2px var(--sp4) 0; }
.au-land h1{ font:700 30px/1.08 var(--f-display); letter-spacing:-.025em; margin:var(--sp2) 0 var(--sp3); }
.au-land h1 em{ font-style:normal; color:var(--au-accent); white-space:nowrap; }
.au-lead{ font-size:15px; color:var(--t2); margin:0 0 var(--sp4); }

.au-proof{ border-radius:var(--r-lg); padding:var(--sp4); margin-bottom:var(--sp4); position:relative; overflow:hidden;
  border:1px solid var(--hero-line); background:linear-gradient(155deg, var(--hero-lo), transparent 62%), var(--s1); }
.au-proof-n{ display:flex; align-items:baseline; gap:var(--sp3); }
.au-proof-n b{ font:700 44px/1 var(--f-display); letter-spacing:-.04em; white-space:nowrap; }
.au-proof-n span{ font-size:var(--fs-small); color:var(--t2); line-height:1.3; }
.au-proof-sub{ margin:var(--sp2) 0 0; font-size:var(--fs-small); color:var(--t2); line-height:1.4; }
.au-ticker{ margin-top:var(--sp3); overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.au-ticker-in{ display:flex; gap:var(--sp2); width:max-content; animation:auSlide 34s linear infinite; }
@keyframes auSlide{ to{ transform:translateX(-50%); } }
.au-ticker:hover .au-ticker-in, .au-ticker:focus-within .au-ticker-in, .au-ticker:active .au-ticker-in{ animation-play-state:paused; }
.au-tk{ display:flex; align-items:center; gap:var(--sp2); padding:8px 14px 8px 8px; border-radius:var(--r-full);
  background:var(--s2); border:1px solid var(--hair); white-space:nowrap; text-decoration:none; color:inherit; }
.au-tk img{ width:26px; height:26px; border-radius:var(--r-full); object-fit:cover; }
.au-tk b{ font-size:12.5px; font-weight:600; }
.au-tk i{ font-style:normal; font-size:12px; color:var(--au-accent); font-weight:600; }
@media (prefers-reduced-motion: reduce){ .au-ticker-in{ animation:none; } }

.au-seed{ background:var(--s1); border:1px solid var(--hair2); border-radius:20px; padding:var(--sp4); margin-bottom:var(--sp3); }
.au-seed label{ display:flex; justify-content:space-between; gap:var(--sp3);
  font:600 12px var(--f-ui); color:var(--t2); margin-bottom:var(--sp2); }
.au-seed textarea{ width:100%; background:transparent; border:0; color:var(--t1);
  font:400 15.5px/1.45 var(--f-ui); resize:none; outline:none; min-height:58px; }
.au-hints{ display:flex; gap:var(--sp2); flex-wrap:wrap; margin-bottom:var(--sp4); }
.au-hint{ min-height:44px; padding:12px 14px; border-radius:var(--r-full); background:var(--s2); border:1px solid var(--hair);
  font-size:12.5px; color:var(--t2); cursor:pointer; }
/* Поле имени на лендинге. Раньше стиль висел в атрибуте style и давал
   высоту 24px — в это нужно попасть пальцем. */
.au-seed-in{ width:100%; min-height:44px; background:transparent; border:0; color:var(--t1);
  font:400 15.5px/1.4 var(--f-ui); outline:none; }
.au-seed-in::placeholder{ color:var(--au-sub); }
.au-hint:hover{ border-color:var(--hero-line); color:var(--au-accent); }
.au-free{ font-size:12px; color:var(--au-sub); text-align:center; margin:var(--sp3) 0 var(--sp6); }
.au-status{ margin-top:var(--sp3); font-size:var(--fs-small); color:var(--t2); text-align:center; min-height:1.2em; }
.au-status.err{ color:var(--au-lose); }

.au-gain{ display:grid; grid-template-columns:1fr 1fr; gap:var(--sp3); margin-bottom:var(--sp6); }
.au-gain .g{ background:var(--s2); border:1px solid var(--hair); border-radius:18px; padding:var(--sp3); }
.au-gain .g .pv-ic{ width:19px; height:19px; color:var(--hero); margin-bottom:var(--sp2); }
.au-gain .g b{ display:block; font-size:var(--fs-small); margin-bottom:3px; }
.au-gain .g span{ font-size:12px; color:var(--au-sub); line-height:1.35; display:block; }

.au-how{ margin-bottom:var(--sp6); }
.au-how .h{ display:flex; gap:var(--sp3); padding:var(--sp3) 0; border-bottom:1px solid var(--hair); }
.au-how .h:last-child{ border-bottom:0; }
.au-how .k{ width:26px; height:26px; border-radius:var(--r-full); flex:none; display:grid; place-items:center;
  background:var(--hero-lo); border:1px solid var(--hero-line); color:var(--au-accent); font:700 12px var(--f-display); }
.au-how b{ display:block; font-size:14px; margin-bottom:2px; }
.au-how span{ font-size:12.5px; color:var(--au-sub); }

/* шаги сборки */
.au-steps{ display:flex; align-items:center; gap:var(--sp3); padding:0 var(--sp4) var(--sp3); }
.au-steps .st{ display:flex; gap:4px; flex:1; }
.au-steps .st u{ flex:1; height:4px; border-radius:2px; background:var(--s3); display:block; }
.au-steps .st u.on{ background:var(--hero-grad); }
.au-steps .st i{ position:absolute; inset:0 auto 0 0; border-radius:2px; background:var(--hero-grad);
  transition:width var(--d-sheet) var(--e-out); }
.au-steps span{ font-size:12px; color:var(--au-sub); white-space:nowrap; }

.au-cook{ padding:var(--sp8) var(--sp6); text-align:center; }
.au-orb{ width:96px; height:96px; margin:0 auto var(--sp6); border-radius:var(--r-full);
  background:var(--hero-grad); box-shadow:var(--sh-hero); animation:auBreathe 1.8s ease-in-out infinite; }
@keyframes auBreathe{ 0%,100%{transform:scale(.92)} 50%{transform:scale(1.06)} }
.au-cook b{ display:block; font:700 21px var(--f-display); margin-bottom:var(--sp2); }
.au-cook p{ font-size:14px; color:var(--t2); margin:0 0 var(--sp5); }
.au-cook .line{ display:flex; align-items:center; gap:9px; justify-content:center;
  font-size:var(--fs-small); color:var(--au-sub); padding:5px 0; }
.au-cook .line.done{ color:var(--t1); }
@media (prefers-reduced-motion: reduce){ .au-orb{ animation:none; } }

/* карточка-витрина в сборке */
.au-editor{ position:relative; margin:0 var(--sp4) var(--sp3); border-radius:26px; overflow:hidden;
  height:360px; background:var(--s1); border:1px solid var(--hair2); }
.au-editor .bg{ position:absolute; inset:0; }
.au-editor .bg img{ width:100%; height:100%; object-fit:cover; }
.au-editor .bg.empty{ display:grid; place-items:center; cursor:pointer;
  background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--t1) 3%, transparent) 0 12px, transparent 12px 24px), var(--s1); }
.au-editor .bg.empty .ph{ text-align:center; padding:var(--sp5); }
.au-editor .bg.empty .pv-ic{ width:32px; height:32px; color:var(--hero); margin:0 auto var(--sp3); }
.au-editor .bg.empty b{ display:block; font:600 15px var(--f-ui); margin-bottom:5px; }
.au-editor .bg.empty span{ font-size:12.5px; color:var(--au-sub); display:block; max-width:210px; margin:0 auto; line-height:1.4; }
.au-editor .veil{ position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, var(--au-shade) 8%, var(--au-shade-mid) 55%, transparent 80%); }
.au-editor .cap{ position:absolute; left:var(--sp4); right:var(--sp4); bottom:15px; z-index:3; color:var(--au-on-shade); }
.au-editor .cap .nm{ font:700 32px/1 var(--f-serif); outline:none; border-bottom:1px dashed transparent; padding-bottom:3px; }
.au-editor .cap .nm:focus{ border-bottom-color:var(--hero-line); }
.au-editor .cap .tg{ font-size:var(--fs-small); color:var(--au-on-shade-dim); margin-top:7px;
  outline:none; border-bottom:1px dashed transparent; padding-bottom:2px; }
.au-editor .cap .tg:focus{ border-bottom-color:var(--hero-line); }
.au-editor .cam{ position:absolute; top:12px; right:12px; z-index:3; width:44px; height:44px;
  border-radius:var(--r-full); display:grid; place-items:center; background:var(--au-shade);
  border:1px solid var(--hair2); color:var(--au-on-shade); }
.au-editor .cam .pv-ic{ width:18px; height:18px; }
.au-editor.busy{ opacity:.7; pointer-events:none; }
/* «Снять лицо» — второй кнопкой под камерой, тем же размером под палец. */
.au-editor .cam.clr{ top:64px; }
.au-editor .cam.clr[hidden]{ display:none; }
.au-editor .cam.clr .pv-ic{ color:var(--lose); }

.au-tags{ display:flex; gap:var(--sp2); flex-wrap:wrap; margin:0 var(--sp4) var(--sp3); }
.au-tag{ min-height:44px; padding:12px 14px; border-radius:var(--r-full); border:1px solid var(--hair2);
  font-size:12.5px; color:var(--t2); cursor:pointer; }
.au-tag.on{ background:var(--hero-lo); border-color:var(--hero-line); color:var(--au-accent); font-weight:600; }

/* готовность */
.au-ready{ margin:0 var(--sp4) var(--sp4); border-radius:20px; overflow:hidden; border:1px solid var(--hero-line);
  background:linear-gradient(140deg, var(--hero-lo), transparent 64%), var(--s1); }
.au-ready-h{ display:flex; align-items:center; gap:var(--sp3); padding:var(--sp4); }
.au-ring{ width:44px; height:44px; flex:none; border-radius:var(--r-full); display:grid; place-items:center;
  font:700 12px var(--f-display); position:relative;
  background:conic-gradient(var(--hero) 0 var(--p,40%), var(--s4) var(--p,40%) 100%); }
.au-ring::after{ content:""; position:absolute; inset:4px; border-radius:var(--r-full); background:var(--s1); }
.au-ring em{ position:relative; z-index:2; font-style:normal; }
.au-ready-h .grow{ flex:1; }
.au-ready-h b{ display:block; font-size:14.5px; }
.au-ready-h span{ font-size:12px; color:var(--t2); }
.au-todo{ padding:0 var(--sp4) var(--sp3); }
.au-td{ display:flex; align-items:center; gap:var(--sp3); padding:var(--sp3) 0; border-top:1px solid var(--hair); font-size:var(--fs-small); }
.au-td .tick{ width:19px; height:19px; border-radius:var(--r-full); border:1.5px solid var(--hair2); flex:none;
  display:grid; place-items:center; }
.au-td.ok .tick{ background:var(--win); border-color:var(--win); }
.au-td.ok .tick::after{ content:""; width:5px; height:9px; border:solid var(--s0); border-width:0 2px 2px 0;
  transform:rotate(45deg) translate(-1px,-1px); }
.au-td .grow{ flex:1; }
.au-td em{ font-style:normal; font-size:12px; color:var(--au-sub); }
.au-td.ok .grow{ color:var(--t2); }

/* превью выдачи */
.au-serp{ margin:0 var(--sp4) var(--sp4); border-radius:18px; overflow:hidden; border:1px solid var(--hair); background:var(--s1); }
.au-serp-h{ padding:var(--sp3); font-size:12px; color:var(--au-sub); border-bottom:1px solid var(--hair); }
.au-serp-b{ background:#fff; padding:var(--sp3); color:#202124; }
.au-serp-u{ font-size:12px; color:#4d5156; margin-bottom:4px; }
.au-serp-t{ font:400 17px/1.3 Arial, sans-serif; color:#1a0dab; margin-bottom:3px; }
.au-serp-d{ font:400 13px/1.45 Arial, sans-serif; color:#4d5156; }
.au-serp-f{ padding:var(--sp3); font-size:12px; color:var(--t2);
  background:color-mix(in srgb, var(--mark) 7%, transparent); }
.au-serp-f b{ color:var(--au-mark); }

/* вау-экран */
.au-wow{ padding:var(--sp3) var(--sp4) 0; text-align:center; }
.au-wow-poster{ position:relative; border-radius:26px; overflow:hidden; height:320px; margin-bottom:var(--sp4);
  border:1px solid var(--hero-line); box-shadow:var(--sh-hero); }
.au-wow-poster img{ width:100%; height:100%; object-fit:cover; }
.au-wow-poster::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(to top, var(--au-shade) 8%, var(--au-shade-mid) 58%, transparent); }
.au-wow-poster .cap{ position:absolute; left:var(--sp4); right:var(--sp4); bottom:var(--sp4); z-index:2;
  text-align:left; color:var(--au-on-shade); }
.au-wow-poster .cap b{ display:block; font:700 32px/1 var(--f-serif); }
.au-wow-poster .cap i{ font-style:normal; font-size:var(--fs-small); color:var(--au-on-shade-dim);
  display:block; margin-top:6px; }
.au-wow-poster .au-pill{ position:absolute; top:14px; left:14px; z-index:2; }
.au-wow h2{ font:700 23px/1.2 var(--f-display); margin:0 0 var(--sp2); }
.au-wow > p{ font-size:14px; color:var(--t2); margin:0 0 var(--sp4); }
.au-forecast{ display:flex; gap:var(--sp3); margin-bottom:var(--sp4); }
.au-forecast .f{ flex:1; background:var(--s2); border:1px solid var(--hair); border-radius:16px; padding:var(--sp3) var(--sp2); }
.au-forecast .f b{ display:block; font:700 20px/1 var(--f-display); margin-bottom:5px; white-space:nowrap; }
.au-forecast .f span{ font-size:12px; color:var(--au-sub); line-height:1.25; display:block; }
.au-next{ text-align:left; margin-bottom:var(--sp4); }
.au-nx{ display:flex; gap:var(--sp3); align-items:flex-start; padding:var(--sp3) 0; border-bottom:1px solid var(--hair); }
.au-nx:last-child{ border-bottom:0; }
.au-nx .k{ width:30px; height:30px; border-radius:10px; background:var(--s3); display:grid; place-items:center; flex:none; }
.au-nx .k .pv-ic{ width:16px; height:16px; color:var(--hero); }
.au-nx b{ display:block; font-size:var(--fs-small); margin-bottom:2px; }
.au-nx span{ font-size:12px; color:var(--au-sub); }
.au-linkbtn{ background:none; border:0; min-height:44px; padding:13px 4px; display:inline-block; cursor:pointer; color:var(--au-accent);
  font-weight:600; text-decoration:underline; font-size:inherit; font-family:inherit; }

/* ─────────────────────────── ОБУЧЕНИЕ РАСКРУТКЕ ─────────────────────────── */
.au-les{ margin:0 var(--sp4) var(--sp2); border-radius:18px; background:var(--s1);
  border:1px solid var(--hair); overflow:hidden; }
.au-les.open{ border-color:var(--hero-line); }
.au-les > button{ width:100%; display:flex; align-items:center; gap:var(--sp3);
  padding:var(--sp3) var(--sp4); text-align:left; background:none; border:0; color:inherit; font:inherit; cursor:pointer; }
.au-les .k{ width:30px; height:30px; border-radius:var(--r-full); flex:none; display:grid; place-items:center;
  font:700 12px var(--f-display); background:var(--s3); color:var(--t2); }
.au-les.open .k{ background:var(--hero); color:var(--on-hero); }
.au-les .grow{ flex:1; min-width:0; }
.au-les b{ display:block; font-size:14px; margin-bottom:2px; }
.au-les .sub{ font-size:12px; color:var(--au-sub); display:block; line-height:1.35; }
.au-les .min{ font-size:12px; color:var(--au-sub); flex:none; }
.au-les .body{ display:none; padding:0 var(--sp4) var(--sp4); }
.au-les.open .body{ display:block; }
.au-les .body p{ margin:0 0 var(--sp2); font-size:var(--fs-small); color:var(--t2); line-height:1.5; }
.au-les .body p:last-child{ margin-bottom:0; }
.au-les .body b{ display:inline; color:var(--t1); font-weight:600; }
.au-les ul{ margin:0 0 var(--sp2); padding:0; list-style:none; }
.au-les li{ position:relative; padding:5px 0 5px 20px; font-size:var(--fs-small); color:var(--t2); line-height:1.45; }
.au-les li::before{ content:""; position:absolute; left:4px; top:12px; width:5px; height:5px;
  border-radius:var(--r-full); background:var(--hero); }
.au-les .quote{ margin:0 0 var(--sp2); padding:var(--sp3); border-radius:13px; background:var(--s2);
  border-left:2px solid var(--hero); font:400 var(--fs-small)/1.5 var(--f-serif); color:var(--t1); }
.au-les .warn{ margin:var(--sp2) 0 0; padding:var(--sp3); border-radius:13px; font-size:12.5px; color:var(--t2);
  background:color-mix(in srgb, var(--mark) 8%, transparent);
  border:1px solid color-mix(in srgb, var(--mark) 26%, transparent); }
.au-les .warn b{ color:var(--au-mark); }

.au-scen{ margin:0 var(--sp4) var(--sp2); padding:var(--sp3) var(--sp4); border-radius:16px;
  background:var(--s1); border:1px solid var(--hair); }
.au-scen .n{ font:600 11px/1 var(--f-ui); letter-spacing:var(--ls-over); text-transform:uppercase;
  color:var(--au-accent); display:block; margin-bottom:7px; }
.au-scen b{ display:block; font-size:var(--fs-small); margin-bottom:5px; }
.au-scen p{ margin:0; font-size:12.5px; color:var(--au-sub); line-height:1.45; }

.au-plat{ display:flex; gap:var(--sp3); padding:var(--sp3) 0; border-bottom:1px solid var(--hair); }
.au-plat:last-child{ border-bottom:0; }
.au-plat .k{ width:34px; height:34px; border-radius:11px; background:var(--s3); display:grid; place-items:center; flex:none; }
.au-plat .k .pv-ic{ width:17px; height:17px; color:var(--hero); }
.au-plat .grow{ flex:1; min-width:0; }
.au-plat .nm{ display:flex; align-items:center; gap:7px; margin-bottom:3px; flex-wrap:wrap; }
.au-plat .nm b{ font-size:14px; }
.au-plat .tag{ font:600 11px/1 var(--f-ui); letter-spacing:.06em; text-transform:uppercase; padding:4px 6px; border-radius:5px; }
.au-plat .tag.best{ background:var(--hero-lo); color:var(--au-accent); border:1px solid var(--hero-line); }
.au-plat .tag.ok{ background:color-mix(in srgb, var(--win) 14%, transparent); color:var(--au-win); }
.au-plat .tag.mid{ background:color-mix(in srgb, var(--mark) 14%, transparent); color:var(--au-mark); }
.au-plat p{ margin:0 0 5px; font-size:12.5px; color:var(--t2); }
.au-plat .rule{ font-size:12px; color:var(--au-sub); }
.au-plat .rule b{ color:var(--au-mark); font-weight:600; }

.au-code{ margin:0 var(--sp4) var(--sp4); border-radius:20px; padding:var(--sp4);
  border:1px solid var(--hero-line);
  background:linear-gradient(145deg, var(--hero-lo), transparent 64%), var(--s1); }
.au-code .lnk{ display:flex; align-items:center; gap:var(--sp3); margin:var(--sp3) 0; }
/* Адрес рвался посреди слова: «yazme.ru/persona/profi | le». Ломаем по знакам
   пути, а не где придётся. */
.au-code .lnk{ flex-wrap:wrap; }
.au-code .lnk span{ flex:1 1 100%; font:500 14px/1.35 'SFMono-Regular', Menlo, monospace;
  color:var(--t1); overflow-wrap:anywhere; word-break:normal; }
.au-code .lnk .pv-btn{ min-height:44px; }
.au-code p{ margin:0; font-size:12.5px; color:var(--t2); }
.au-code p b{ color:var(--au-accent); }

/* ─────────────────────────── ЧАСТЫЕ ВОПРОСЫ ───────────────────────────
   Разметку печатает yzFaqHtml (section > h2 + details > summary > h3 + p).
   Без этих правил браузер рисует её голым списком с треугольниками — так и
   было, когда страница перестала подключать studio.css. */
.au-faq{ margin:var(--sp7) var(--sp4) 0; }
.au-faq > h2{ margin:0 0 var(--sp4); font:700 22px/1.15 var(--f-display); letter-spacing:-.02em; color:var(--t1); }
.au-faq details{ border-top:1px solid var(--hair); }
.au-faq details:last-child{ border-bottom:1px solid var(--hair); }
.au-faq summary{ cursor:pointer; list-style:none; display:flex; align-items:flex-start; gap:var(--sp3);
  padding:var(--sp4) 0; min-height:var(--ctl); }
.au-faq summary::-webkit-details-marker{ display:none; }
.au-faq summary::after{ content:'+'; margin-left:auto; flex:none; font:400 22px/1 var(--f-ui);
  color:var(--hero); transition:transform var(--d-std) var(--e-out); }
.au-faq details[open] summary::after{ transform:rotate(45deg); }
.au-faq summary h3{ margin:0; font:600 15px/1.4 var(--f-serif); color:var(--t1); }
.au-faq details p{ margin:0 0 var(--sp4); font:400 14px/1.6 var(--f-ui); color:var(--t2); }
@media (prefers-reduced-motion: reduce){ .au-faq summary::after{ transition:none; } }

/* ─────────────────────────── ПРАВКА ПЕРСОНАЖА ─────────────────────────── */
.au-ehero{ display:flex; flex-direction:column; align-items:center; gap:var(--sp3); padding:var(--sp2) var(--sp4) var(--sp5); }
/* «Снять фото» в правке: ссылка-кнопка под именем, видна только когда лицо
   действительно стоит. Высота под палец. */
.au-clr{ margin-top:6px; padding:0; min-height:44px; background:none; border:0; cursor:pointer;
  font:600 13px var(--f-ui); color:var(--au-sub); text-decoration:underline; text-underline-offset:3px; }
.au-clr:hover{ color:var(--au-lose); }
.au-clr[hidden]{ display:none; }
.au-photo{ width:124px; height:124px; border-radius:var(--r-full); position:relative; overflow:hidden;
  border:2px solid var(--hero-line); background:var(--s2); padding:0; cursor:pointer; }
.au-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.au-photo .pv-mono{ width:100%; height:100%; }
.au-photo .cam{ position:absolute; right:2px; bottom:2px; width:36px; height:36px; border-radius:var(--r-full);
  background:var(--hero-grad); display:grid; place-items:center; border:3px solid var(--s0); z-index:2; }
.au-photo .cam .pv-ic{ width:16px; height:16px; color:var(--on-hero); }
.au-photo.busy{ opacity:.6; pointer-events:none; }
.au-ehero .nm{ font:700 24px/1 var(--f-serif); text-align:center; }
.au-ehero .st{ font-size:12.5px; color:var(--au-sub); text-align:center; }

.au-fld{ margin:0 var(--sp4) var(--sp2); border-radius:18px; background:var(--s1); border:1px solid var(--hair); overflow:hidden; }
.au-fld.open{ border-color:var(--hair2); }
.au-fld > button{ width:100%; display:flex; align-items:center; gap:var(--sp3); padding:var(--sp3) var(--sp4);
  text-align:left; background:none; border:0; color:inherit; font:inherit; cursor:pointer; }
.au-fld .k{ width:30px; height:30px; border-radius:10px; background:var(--s3); display:grid; place-items:center; flex:none; }
.au-fld .k .pv-ic{ width:16px; height:16px; color:var(--hero); }
.au-fld .grow{ flex:1; min-width:0; }
.au-fld b{ display:block; font-size:14px; margin-bottom:2px; }
.au-fld .sub{ font-size:12px; color:var(--au-sub); display:block; line-height:1.35; }
.au-fld .chev{ width:16px; height:16px; flex:none; color:var(--t3); transition:transform var(--d-std) var(--e-out); }
.au-fld.open .chev{ transform:rotate(180deg); }
.au-fld .body{ display:none; padding:0 var(--sp4) var(--sp4); }
.au-fld.open .body{ display:block; }

.au-inp{ margin-bottom:var(--sp3); }
.au-inp:last-child{ margin-bottom:0; }
.au-inp .lab{ display:flex; justify-content:space-between; align-items:baseline; gap:var(--sp3);
  font:600 12px var(--f-ui); color:var(--t2); margin-bottom:7px; }
.au-inp .lab i{ font-style:normal; font-size:12px; color:var(--au-sub); font-weight:400; }
.au-inp input, .au-inp textarea{ width:100%; background:var(--s2); border:1px solid var(--hair);
  border-radius:13px; padding:var(--sp3); color:var(--t1); font:400 14px/1.45 var(--f-ui); resize:vertical; outline:none; }
.au-inp input:focus, .au-inp textarea:focus{ border-color:var(--hero-line); }
.au-inp input[readonly]{ color:var(--t2); }
.au-inp .hlp{ display:block; font-size:12px; color:var(--au-sub); margin-top:6px; line-height:1.4; }
.au-inp .hlp b{ color:var(--au-mark); font-weight:600; }

.au-sw{ display:flex; align-items:center; gap:var(--sp3); padding:var(--sp3) 0; border-top:1px solid var(--hair);
  cursor:pointer; background:none; border-left:0; border-right:0; border-bottom:0; width:100%;
  text-align:left; color:inherit; font:inherit; }
.au-sw:first-child{ border-top:0; }
.au-sw .grow{ flex:1; }
.au-sw b{ display:block; font-size:var(--fs-small); margin-bottom:2px; }
.au-sw span{ font-size:12px; color:var(--au-sub); line-height:1.35; display:block; }
.au-sw .kn{ width:44px; height:26px; border-radius:var(--r-full); background:var(--s4); flex:none;
  position:relative; transition:background var(--d-std); }
.au-sw .kn::after{ content:""; position:absolute; top:3px; left:3px; width:20px; height:20px;
  border-radius:var(--r-full); background:var(--t2);
  transition:transform var(--d-std) var(--e-out), background var(--d-std); }
.au-sw[aria-checked="true"] .kn{ background:var(--hero); }
.au-sw[aria-checked="true"] .kn::after{ transform:translateX(18px); background:var(--on-hero); }

.au-danger{ margin:var(--sp6) var(--sp4) var(--sp4); border-radius:18px; overflow:hidden;
  border:1px solid color-mix(in srgb, var(--lose) 28%, transparent);
  background:color-mix(in srgb, var(--lose) 5%, transparent); }
.au-danger button{ width:100%; display:flex; align-items:center; gap:var(--sp3); padding:var(--sp3) var(--sp4);
  text-align:left; background:none; border:0; border-bottom:1px solid color-mix(in srgb, var(--lose) 16%, transparent);
  color:inherit; font:inherit; cursor:pointer; }
.au-danger button:last-child{ border-bottom:0; }
.au-danger .k{ width:30px; height:30px; border-radius:10px; flex:none; display:grid; place-items:center;
  background:color-mix(in srgb, var(--lose) 12%, transparent); }
.au-danger .pv-ic{ width:17px; height:17px; color:var(--lose); }
.au-danger b{ display:block; font-size:var(--fs-small); }
.au-danger span{ font-size:12px; color:var(--au-sub); display:block; }

.au-save{ position:fixed; left:50%; transform:translateX(-50%); bottom:calc(var(--nav-gap) + 4px);
  width:min(calc(100vw - 32px), calc(var(--col) - 32px)); display:flex; gap:9px; align-items:center;
  padding:9px; border-radius:var(--r-full); background:var(--glass); backdrop-filter:blur(18px);
  border:1px solid var(--hair2); box-shadow:var(--sh-md); z-index:60; }
.au-save[hidden]{ display:none; }
.au-save .txt{ flex:1; padding-left:var(--sp3); font-size:12.5px; color:var(--au-sub); white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; }

/* ─────────────────────────── ПУСТО / ГОСТЬ ─────────────────────────── */
.au-note{ margin:0 var(--sp4) var(--sp4); padding:var(--sp4); border-radius:18px; background:var(--s1);
  border:1px solid var(--hair); font-size:var(--fs-small); color:var(--t2); }
.au-note b{ color:var(--t1); }
.au-gcard{ margin:0 var(--sp4) var(--sp4); padding:var(--sp5); border-radius:var(--r-md);
  border:1px solid var(--hero-line); background:linear-gradient(150deg, var(--hero-lo), transparent 62%), var(--s1); }
.au-gcard h2{ font:700 17px/1.25 var(--f-display); margin:0 0 var(--sp2); }
.au-gcard p{ margin:0 0 var(--sp4); font-size:var(--fs-small); color:var(--t2); }

/* ─────────────────────────── ДЕСКТОП ─────────────────────────── */
@media (min-width: 900px){
  .au-live-n b{ font-size:62px; }
  .au-deck{ flex-wrap:wrap; overflow:visible; }
  .au-card{ width:calc(33.333% - var(--sp3)); height:320px; }
  .au-save{ width:min(560px, calc(100vw - 40px)); bottom:24px; }
}
