/* Страница материала: шапка материала, плеер, тайм-коды, вложения, карта, квиз, оценка, промпт, визитки ведущих.
   Перенесено из portal.css без изменений (R3); подключается через метку <!--moduli--> — после portal.css. */
/* страница материала */
.crumbs{font-size:var(--fs-sm);color:var(--soft);margin-bottom:28px}
.crumbs a{color:var(--ink);text-underline-offset:.24em}
.meta{display:flex;flex-wrap:wrap;gap:4px 0;font-size:var(--fs-sm);font-weight:600;color:var(--muted);margin-bottom:16px}
.meta span+span::before{content:"\00a0·\00a0"}
.mat{align-items:start;row-gap:var(--g-out)}
.mat-m{grid-column:1/9}
.mat-a{grid-column:9/13}
.mat-m .lead{margin-top:20px}
.player{position:relative;margin-top:40px;aspect-ratio:16/9;border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px}
.player .in{display:flex;flex-direction:column;align-items:center;gap:20px}
.player .k{font-size:var(--fs-h4);font-weight:700;color:var(--ink)}
.player .acts{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.blk{margin-top:var(--g-out)}
.blk .h3{margin-bottom:20px}
.plain{list-style:none;border-bottom:1px solid var(--hair)}
.plain li{display:flex;gap:12px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--hair);font-size:var(--fs-body);line-height:1.5;color:var(--soft)}
.plain li .lu{margin-top:4px;color:var(--ink)}
.plain a{color:var(--ink);text-underline-offset:.24em}
details.acc{border-top:1px solid var(--hair)}
details.acc:last-of-type{border-bottom:1px solid var(--hair)}
details.acc summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;cursor:pointer;list-style:none;font-size:var(--fs-h4);font-weight:700;color:var(--ink)}
details.acc summary::-webkit-details-marker{display:none}
details.acc summary .s{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:600;color:var(--muted)}
details.acc[open] summary .lu{transform:rotate(180deg)}
details.acc .in{padding:0 0 28px}
.tc{list-style:none}
.tc li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;padding:8px 0;color:var(--soft)}
.tc a{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;text-underline-offset:.24em}
.tr p{color:var(--soft);font-size:var(--fs-body);line-height:1.6;margin-bottom:16px}
.tr b{color:var(--ink);font-weight:600}
.gate{margin-top:40px;padding:28px;border:1px solid var(--line);border-radius:4px}
.gate .h4{margin-bottom:20px}
.gate .acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
/* визитки ведущих: вырезка стоит на линии, под ней имя и роль (С10, С11) */
.vis{display:flex;flex-direction:column;gap:var(--g-out)}
.vc{text-decoration:none;display:block}
.vc img{display:block;width:min(100%,260px);height:auto;border-bottom:1px solid var(--line)}
.vc .nm{display:block;margin-top:16px;font-size:var(--fs-h4);font-weight:700;letter-spacing:-.01em;line-height:1.25;color:var(--ink)}
.vc .rl{display:block;margin-top:6px;font-size:var(--fs-sm);line-height:1.4;color:var(--soft)}
.vc .tlink{margin-top:4px}
.vc:hover .tlink .t{text-decoration-thickness:2px}
/* плеер на светлом полотне: схема материала и действие */
.player.c-paper{border-color:transparent;flex-direction:column;justify-content:space-between;align-items:stretch;text-align:left;padding:clamp(20px,3vw,40px)}
.player .cv-s{container-type:inline-size;flex:1;width:100%;max-width:640px}
.player .cv-s .lg-num b{font-size:clamp(40px,14cqi,96px)}
.player .in{align-items:flex-start}
.player .acts{justify-content:flex-start}
.mat-m.first>.blk:first-child,.mat-m.first>.gate:first-child{margin-top:0}
@media screen and (max-width:999px){
  .mat-m,.mat-a{grid-column:1/-1}
  .vis{flex-direction:row;flex-wrap:wrap;gap:40px}
  .vc{width:min(100%,260px)}
}
@media screen and (max-width:639px){
  .player.c-paper{aspect-ratio:auto;min-height:280px;gap:24px}
}
.pl-sk{position:relative;flex:1 1 auto;min-height:180px}   /* схема занимает свободное место плеера над подписью и кнопками */
.pl-sk .cv.sk{position:absolute;inset:0;aspect-ratio:auto;box-shadow:none;background:transparent;padding:0}
/* ── v17: настоящий плеер, тайм-коды, материалы, квиз, оценка ── */
.vp-mesto{margin-top:40px}
.vplayer{border-radius:4px;overflow:hidden;background:#000;aspect-ratio:16/9}
.vplayer video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
/* Плеер записи — как в хабе спринта partnersleads (zagotovki/pleer), цвета Лиги: акцент — золото (--gold).
   Панель видна при наведении, на паузе и при фокусе; на телефоне ползунок громкости убран, большая кнопка
   меньше и поднята над панелью (замер хаба 21.09). */
.vplayer{position:relative;user-select:none;-webkit-user-select:none}
.vplayer:focus-visible{outline:2px solid var(--gold,#C79A3E);outline-offset:3px}
.vp-big{position:absolute;inset:0;margin:auto;width:80px;height:80px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(20,18,30,.5);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .18s,transform .18s,opacity .18s}
.vp-big:hover{background:var(--gold,#C79A3E);color:#16141F;transform:scale(1.05)}
.vplayer.playing .vp-big{opacity:0;pointer-events:none}
.vp-ctl{position:absolute;left:0;right:0;bottom:0;padding:10px 12px 12px;background:linear-gradient(transparent,rgba(10,9,14,.85));color:#fff;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}
.vplayer:hover .vp-ctl,.vplayer.paused .vp-ctl,.vplayer:focus-within .vp-ctl{opacity:1;transform:none}
.vp-scrub{position:relative;height:16px;display:flex;align-items:center;cursor:pointer;touch-action:none}
.vp-scrub:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:2px}
.vp-track,.vp-prog{position:absolute;left:0;height:5px;border-radius:99px}
.vp-track{right:0;background:rgba(255,255,255,.28)}
.vp-prog{width:0;background:var(--gold,#C79A3E)}
.vp-knob{position:absolute;left:0;width:13px;height:13px;border-radius:50%;background:#fff;transform:translateX(-50%);box-shadow:0 1px 4px rgba(0,0,0,.4);opacity:0;transition:opacity .15s}
.vp-scrub:hover .vp-knob,.vplayer:focus-within .vp-knob{opacity:1}
/* перетаскивание (Роман 07.11): ползунок крупнее и виден всегда, над ним время; панель не прячется, пока тянут */
.vplayer.vp-tyanu .vp-ctl{opacity:1;transform:none}
.vplayer.vp-tyanu .vp-knob{opacity:1;transform:translateX(-50%) scale(1.25)}
.vp-podsk{position:absolute;bottom:20px;left:0;transform:translateX(-50%);padding:3px 7px;border-radius:4px;background:rgba(10,9,14,.85);
  color:#fff;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s}
.vplayer.vp-tyanu .vp-podsk{opacity:1}
.vplayer:not(.vp-tyanu) .vp-scrub{touch-action:none}
/* двойное нажатие по краю видео — ±15 с: полупрозрачный полукруг у края с надписью */
.vp-skachok{position:absolute;top:0;bottom:0;z-index:2;width:34%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px rgba(0,0,0,.6);pointer-events:none;opacity:0;transition:opacity .25s}
.vp-skachok.vp-sk-l{left:0;border-radius:0 50% 50% 0;background:rgba(10,9,14,.42)}
.vp-skachok.vp-sk-r{right:0;border-radius:50% 0 0 50%;background:rgba(10,9,14,.42)}
.vp-skachok.vkl{opacity:1;transition:none}
.vplayer{cursor:pointer}
.vplayer .vp-ctl{cursor:default}
.vp-row{display:flex;align-items:center;gap:8px;margin-top:6px}
.vp-b{width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:4px;background:transparent;color:#fff;cursor:pointer;transition:background .14s}
.vp-b:hover{background:rgba(255,255,255,.16)}
.vp-b:focus-visible{outline:2px solid #fff;outline-offset:1px}
.vp-txt{width:auto;padding:0 10px;font:inherit;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.vp-txt[aria-pressed="true"]{color:var(--gold,#C79A3E)}
.vp-vol{display:flex;align-items:center;gap:2px}
.vp-vol input[type=range]{width:60px;height:5px;margin:0 4px 0 0;accent-color:var(--gold,#C79A3E);cursor:pointer}
.vp-time{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:rgba(255,255,255,.92)}
.vp-sp{flex:1}
.vp-speed{position:relative}
.vp-menu{position:absolute;bottom:46px;right:0;display:none;flex-direction:column;min-width:120px;overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid rgba(255,255,255,.14);border-radius:4px;background:#1E1B29;box-shadow:0 8px 30px rgba(0,0,0,.5)}
.vp-menu.open{display:flex}
.vp-menu button{flex:none;padding:8px 10px;border:0;border-radius:3px;background:transparent;font:inherit;font-size:14px;font-weight:600;color:#F1EFF8;text-align:left;white-space:nowrap;cursor:pointer}
.vp-menu button:hover,.vp-menu button:focus-visible{background:rgba(255,255,255,.1);outline:none}
.vp-menu button.cur{color:var(--gold,#C79A3E);background:rgba(199,154,62,.14)}
@media (max-width:560px){
  .vp-vol input[type=range]{display:none}
  .vp-big{width:56px;height:56px;inset:0 0 40px}
  .vp-big svg{width:24px;height:24px}
  .vp-row{gap:4px}
}
/* развёрнутый плеер: правила полного экрана и запасного окна — раздельно (Codex video-ekran-k1):
   браузер, не знающий :fullscreen, выбросил бы общее правило целиком вместе с запасным окном */
.vplayer.fs-okno{position:fixed;inset:0;z-index:2147483000;width:auto;height:auto;max-width:none;margin:0;aspect-ratio:auto;border-radius:0}
.vplayer.fs-okno .vp-ctl{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
.vplayer:fullscreen{aspect-ratio:auto;border-radius:0;margin:0}
.vplayer:-webkit-full-screen{aspect-ratio:auto;border-radius:0;margin:0}
html.fs-okno-on,html.fs-okno-on body{overflow:hidden}
/* мини-окно (Роман 07.11, «как в YouTube»): запись ушла за верх экрана, а играет — плеер в правом нижнем углу.
   В окне — перемотка, пуск, «−15 / +15»; сверху «вернуться к записи» и «закрыть». Плашка согласия на cookie (z 40) выше. */
.vp-mini-v{display:none}
.vp-mini-predok{transform:none!important;filter:none!important;perspective:none!important;will-change:auto!important;contain:none!important;transition:none!important}
.vplayer.vp-mini{position:fixed;right:20px;bottom:20px;z-index:35;width:min(400px,calc(100vw - 40px));height:auto;aspect-ratio:16/9;
  border-radius:6px;box-shadow:0 12px 40px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.08);animation:vp-mini-in .22s ease-out}
@keyframes vp-mini-in{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
.vplayer.vp-mini .vp-mini-v{position:absolute;top:6px;right:6px;z-index:5;display:flex;gap:4px}
.vplayer.vp-mini .vp-mini-v .vp-b{width:32px;height:32px;border-radius:50%;background:rgba(10,9,14,.62)}
.vplayer.vp-mini .vp-mini-v .vp-b:hover{background:rgba(10,9,14,.85)}
.vplayer.vp-mini .vp-vol,.vplayer.vp-mini .vp-time,.vplayer.vp-mini .vp-speed,.vplayer.vp-mini [data-vp="sub"],
.vplayer.vp-mini [data-vp="ekran"],.vplayer.vp-mini .vp-big{display:none}
.vplayer.vp-mini .vp-ctl{padding:6px 8px 8px}
.vplayer.vp-mini .vp-row{justify-content:center;margin-top:2px}
@media (max-width:560px){
  .vplayer.vp-mini{right:8px;left:auto;bottom:calc(8px + env(safe-area-inset-bottom,0px));width:min(300px,calc(100vw - 16px))}
}
@media (prefers-reduced-motion:reduce){.vplayer.vp-mini{animation:none}}
.vver{display:inline-flex;margin-top:12px;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.vver button{min-height:36px;padding:0 14px;border:0;background:transparent;font:inherit;font-size:var(--fs-sm);font-weight:600;color:var(--soft);cursor:pointer}
.vver button[aria-pressed="true"]{background:var(--ink);color:var(--canvas)}
.tc button{min-width:64px;padding:0;border:0;background:none;font:inherit;font-variant-numeric:tabular-nums;font-weight:700;color:var(--acc);text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:.2em}
.mfiles a{color:var(--ink);text-underline-offset:.2em}
/* карта к уроку на странице материала: окно со своей прокруткой; .mk-okno — развёрнута на всё окно */
.wrap>.mkarta:first-child{margin-top:0}
.mk-hd{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.mk-hd .h3{margin-bottom:0}
.mk-hd .btn{gap:8px}
.mk-note{margin-top:8px;font-size:var(--fs-sm);color:var(--soft)}
.mk-ram{margin-top:20px;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#fff}
.mk-f{display:block;width:100%;height:min(82vh,900px);min-height:520px;border:0}
.mkarta.mk-okno{position:fixed;inset:0;z-index:2147483000;margin:0;display:flex;flex-direction:column;background:var(--canvas);
  padding:12px var(--pad) calc(12px + env(safe-area-inset-bottom,0px))}
.mkarta.mk-okno .mk-note{display:none}
.mkarta.mk-okno .mk-ram{flex:1 1 auto;min-height:0;margin-top:12px}
.mkarta.mk-okno .mk-f{height:100%;min-height:0}
.qz{padding:28px;border:1px solid var(--line);border-radius:4px}
.qz .h3{margin-bottom:16px}
.qz-lock{display:flex;gap:16px;align-items:flex-start}
.qz-lock>.lu{flex:none;width:24px;height:24px;margin-top:2px;color:var(--ink)}
.qz-lock p{margin:0;max-width:62ch;line-height:1.5}
.qz-lock .qz-pr{margin-top:8px;font-size:var(--fs-sm);font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.qz-lock>div{min-width:0}
.qz-lock .btn{margin-top:16px;max-width:100%;white-space:normal;text-align:left}
.qz-k{font-size:var(--fs-sm);font-weight:600;color:var(--muted)}
.qz-q{margin-top:8px;font-size:var(--fs-h4);font-weight:700;line-height:1.35;color:var(--ink)}
.qz-o{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.qz-o button{width:100%;min-height:48px;padding:10px 16px;border:1px solid var(--line);border-radius:4px;background:transparent;font:inherit;font-size:var(--fs-body);line-height:1.4;color:var(--ink);text-align:left;cursor:pointer;transition:border-color 140ms ease-out}
.qz-o button:hover:not(:disabled){border-color:var(--ink)}
.qz-o button:disabled{cursor:default}
.qz-o button.ok{border-color:#2a7541;box-shadow:inset 3px 0 0 #2a7541}
.qz-o button.no{border-color:#B42318;box-shadow:inset 3px 0 0 #B42318}
.qz-o button.pk{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--acc)}
.qz-e{margin-top:14px;font-size:var(--fs-sm);line-height:1.5;color:var(--soft)}
.qz .btn{margin-top:18px}
.qz-res{font-size:var(--fs-h4);font-weight:600;line-height:1.4;color:var(--ink)}
.rate .h4{margin-bottom:12px}
.rate-b{display:flex;gap:8px}
.rate-b button{width:48px;height:48px;border:1px solid var(--line);border-radius:4px;background:transparent;font:inherit;font-size:18px;font-weight:700;color:var(--ink);cursor:pointer}
.rate-b button:hover{border-color:var(--ink)}
.rate-b button[aria-pressed="true"]{background:var(--accf);border-color:var(--accf);color:var(--accf-on)}
.rate-n{margin-top:10px;font-size:var(--fs-sm);color:var(--muted)}
.qz-map{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.qz-map li{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--hair)}
.qz-map i{width:12px;height:12px;border-radius:50%}
.qz-map b{font-weight:600;color:var(--ink)}
.qz-map span{font-size:var(--fs-sm);color:var(--soft)}
/* промпт для ИИ: вступление, «Как пользоваться», текст в рамке с «Скопировать промпт» */
.pr-tx p,.pr-kak{max-width:68ch;font-size:var(--fs-body);line-height:1.6;color:var(--soft)}
.pr-tx p+p,.pr-kak+p{margin-top:14px}
.pr-kak{margin:0;padding-left:1.2em}
.pr-kak li+li{margin-top:6px}
.pr-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:20px}
.pr-h .h3{margin-bottom:0}
.pr-box{margin:0;padding:clamp(18px,3vw,32px);border:1px solid var(--line);border-radius:4px;white-space:pre-wrap;overflow-wrap:anywhere;
  font:inherit;font-size:var(--fs-sm);line-height:1.6;color:var(--ink)}
.pr-box:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
/* у промпта обложка — только в каталоге; замок гостя на его странице — без пустого поля 16:9 */
.player.pr-top{aspect-ratio:auto}
.pr-niz{margin-top:20px}
/* пакет промптов на одной странице (29.10): подводка с таблицей шагов, блоки «Промпт N из M», «Что дальше» */
.pr-tx strong{color:var(--ink);font-weight:700}
.pr-tx .pr-kak{margin-top:10px}
.pr-tx p+.pr-kak{margin-top:10px}
.pr-tx .pr-kak+p{margin-top:16px}
.pr-podv>p:first-child{margin-top:0}
.pr-shagi{width:100%;max-width:68ch;margin:24px 0;border-collapse:collapse;font-size:var(--fs-sm);line-height:1.45}
.pr-shagi th{text-align:left;padding:0 16px 10px 0;font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line)}
.pr-shagi td{padding:14px 16px 14px 0;border-bottom:1px solid var(--hair);vertical-align:top;color:var(--soft)}
.pr-shagi th:last-child,.pr-shagi td:last-child{padding-right:0}
.pr-shagi .ps-n{width:3em;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.pr-shagi .ps-p{font-weight:600;color:var(--ink)}
.pr-shagi .ps-p a{color:inherit;text-underline-offset:.24em}
.pr-shagi .ps-v{white-space:nowrap;font-variant-numeric:tabular-nums}
.pr-paket{padding-top:clamp(32px,3vw,48px);border-top:1px solid var(--line)}
.pr-metka{margin:0 0 10px;font-size:var(--fs-sm);font-weight:700;letter-spacing:.02em;color:var(--acc)}
.pr-paket>.h3{margin-bottom:20px;max-width:28ch}
.pr-h-tx{margin:28px 0 14px}
.pr-podp{font-size:var(--fs-sm);font-weight:700;color:var(--muted)}
.pr-itog{margin-top:28px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:clamp(20px,2vw,28px);border-radius:16px;background:var(--tint);border:1px solid var(--hair)}
.pr-itog-z{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--canvas)}
.pr-itog-z svg{width:20px;height:20px}
.pr-itog-p{margin:0 0 6px;font-size:var(--fs-sm);font-weight:700;letter-spacing:.02em;color:var(--acc)}
.pr-itog-r{max-width:60ch;font-size:clamp(17px,1.4vw,20px);line-height:1.5;font-weight:600;color:var(--ink)}
.pr-itog-r::first-letter{text-transform:uppercase}
.pr-itog-dal{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:var(--fs-sm);font-weight:700;color:var(--ink);text-underline-offset:.24em}
.pr-itog-dal svg{width:16px;height:16px}
@media (max-width:640px){.pr-itog{grid-template-columns:1fr;gap:12px}.pr-itog-z{width:36px;height:36px}}
/* образец итога (Роман 29.10): нарисованный пример результата в духе иллюстраций портала — бумага, тонкие чернильные линии,
   пунктир — «не заполнено», серые полоски — заглушки, золото одно — заливкой на главном результате; без теней и градиентов */
.pr-itog-ob{grid-column:1/-1;min-width:0;margin-top:4px}
.pr-itog-niz{margin:0}
.pr-itog-niz .pr-itog-dal{margin-top:0}
@media (min-width:641px){.pr-itog-niz{grid-column:2}}
.ob{font-size:13px;line-height:1.45;color:var(--soft)}
.ob-podp{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--muted)}
.ob-list{padding:6px 18px;border:1.5px solid var(--ink);border-radius:8px;background:var(--canvas)}
.ob-tr{position:relative;display:grid;gap:16px;padding:13px 0;border-top:1px solid var(--hair)}
.ob-th{padding:10px 0 9px;border-top:0;font-size:12px;font-weight:700;color:var(--muted)}
.ob-k3 .ob-tr{grid-template-columns:1fr 1.2fr 1.3fr}
.ob-k4 .ob-tr{grid-template-columns:1.05fr 1.2fr .85fr 1.3fr}
.ob-k5 .ob-tr{grid-template-columns:1fr 1.15fr .95fr 1.1fr 1.6fr}
.ob-td{min-width:0;overflow-wrap:anywhere}
.ob-tr:not(.ob-th) .ob-td-1{font-weight:600;color:var(--ink)}
.ob-v{display:block;min-width:0}
.ob-vyd{margin:4px -10px;padding:15px 10px 13px;border:2px solid var(--ink);border-radius:8px}
.ob-vyd+.ob-tr{border-top:0}
.ob-metka{position:absolute;top:-12px;right:12px;padding:1px 10px;border-radius:6px;background:var(--accf);color:var(--accf-on);font-size:12px;font-weight:700;line-height:20px;white-space:nowrap}
.ob-pol{display:block;width:88%;height:8px;margin:5px 0;border-radius:4px;background:var(--hair)}
.ob-pol-k{width:56%}
.ob-pusto{display:inline-block;margin-right:6px;padding:0 8px;border:1.5px dashed var(--muted);border-radius:6px;font-size:12px;font-weight:600;line-height:18px;color:var(--muted);vertical-align:1px}
.ob-gl{margin:-8px -10px;padding:8px 10px;border-radius:6px;background:var(--accf);color:var(--accf-on);font-weight:600}
.ob-lyudi{margin-top:16px}
.ob-lz{margin:0 0 10px;font-size:12px;font-weight:700;color:var(--ink)}
.ob-lyudi ul{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0;padding:0;list-style:none}
.ob-lyudi li{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:600}
.ob-krug{flex:none;width:22px;height:22px;border:1.5px solid var(--ink);border-radius:50%}
/* переписка: попытки рядом, «было» приглушено, разделитель — как вертикаль фрейма B */
.ob-per{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 18px 18px}
.ob-pop{min-width:0}
.ob-pop+.ob-pop{margin-left:22px;padding-left:22px;border-left:1.5px solid var(--sep)}
.ob-pz{margin:0 0 4px;font-size:12px;font-weight:700;color:var(--ink)}
.ob-msg{display:block;max-width:86%;margin-top:10px;padding:8px 12px 10px;border:1.5px solid var(--ink);border-radius:12px;color:var(--ink)}
.ob-ya{margin-left:auto;border-bottom-right-radius:4px}
.ob-on{border-bottom-left-radius:4px}
.ob-kto{display:block;margin-bottom:2px;font-size:12px;font-weight:600;color:var(--muted)}
.ob-msg-t{display:block}
.ob-msg.ob-gl{margin:10px 0 0 auto;border-color:var(--accf);font-weight:400}
.ob-msg.ob-gl .ob-kto{color:var(--accf-on)}
.ob-gl-t{display:block;font-weight:700}
.ob-gl .ob-pol{background:rgba(22,20,31,.2)}
.ob-shk{margin-top:14px}
.ob-shk-r{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px}
.ob-shk-r i{display:grid;place-items:center;height:22px;border:1px solid var(--sep);border-radius:4px;font-style:normal;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}
.ob-shk-r i.on{border-color:var(--ink);background:var(--ink);color:var(--canvas);font-weight:700}
.ob-shk-p{display:block;margin-top:6px;font-size:12px}
.ob-shk-p b{color:var(--ink)}
.ob-bylo .ob-pz,.ob-bylo .ob-msg{color:var(--muted)}
.ob-bylo .ob-msg{border-color:var(--muted)}
.ob-bylo .ob-shk-r i.on{border-color:var(--muted);background:var(--muted)}
.ob-bylo .ob-shk-p b{color:var(--muted)}
@media (max-width:640px){
  .ob-list{padding:4px 14px}
  .ob-th{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ob-tr{grid-template-columns:1fr !important;gap:6px;padding:14px 0}
  .ob-th+.ob-tr{border-top:0}
  .ob-tr:not(.ob-th):not(.ob-tr-pusto) .ob-td{display:grid;grid-template-columns:6.6em minmax(0,1fr);gap:10px}
  .ob-tr:not(.ob-th):not(.ob-tr-pusto) .ob-td::before{content:attr(data-k);font-size:12px;font-weight:600;line-height:19px;color:var(--muted)}
  .ob-tr-pusto{padding:10px 0}
  .ob-tr-pusto .ob-td:nth-child(n+2){display:none}
  .ob-vyd{margin:16px -8px 6px;padding:18px 8px 12px}
  .ob-gl{margin:0 -8px;padding:6px 8px}
  .ob-tr:not(.ob-th):not(.ob-tr-pusto) .ob-gl::before{color:var(--accf-on)}
  .ob-per{grid-template-columns:1fr;padding:14px}
  .ob-pop+.ob-pop{margin:18px 0 0;padding:16px 0 0;border-left:0;border-top:1.5px solid var(--sep)}
}
.pr-dalshe{padding-top:clamp(32px,3vw,48px);border-top:1px solid var(--line)}
.pr-dalshe-k{margin-top:24px}
/* таблица шагов на телефоне: строка — карточка, подпись столбца перед значением */
@media (max-width:640px){
  .pr-shagi thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .pr-shagi,.pr-shagi tbody,.pr-shagi tr,.pr-shagi td{display:block;width:auto}
  .pr-shagi tr{padding:14px 0;border-bottom:1px solid var(--hair)}
  .pr-shagi tr:first-child{border-top:1px solid var(--line)}
  .pr-shagi td{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:12px;padding:3px 0;border:0}
  .pr-shagi td::before{content:attr(data-k);font-size:12px;font-weight:600;color:var(--muted);padding-top:2px}
  .pr-shagi .ps-n{width:auto}
  .pr-shagi .ps-v{white-space:normal}
}
/* панель под записью: тайм-коды, «Коротко о встрече» от ИИ, расшифровка — свёрнуты, раскрываются по нажатию (Роман 28.10);
   с 29.10 — первой в светлой части, цвета берёт из полотна (тёмное золото на paper) */
.pod-pl{border-top:1px solid var(--line)}
.pod-pl+.blk{margin-top:clamp(40px,4vw,56px)}   /* оценка и квиз — продолжение той же светлой части, без большого разрыва */
.pp{border-bottom:1px solid var(--line)}
.pp>summary{display:flex;align-items:center;gap:12px;min-height:56px;cursor:pointer;list-style:none;font-size:var(--fs-body);font-weight:700;color:var(--ink)}
.pp>summary::-webkit-details-marker{display:none}
.pp>summary .pp-z{flex:1}
.pp>summary .s{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:600;color:var(--muted)}
.pp>summary .lu{transition:transform .2s}
.pp[open]>summary .lu{transform:rotate(180deg)}
.pp>summary:focus-visible{outline:2px solid var(--focus,#C79A3E);outline-offset:2px}
.pp-in{padding:4px 0 24px}
.pp-rs .pp-in{max-height:70vh;overflow:auto;padding-right:12px;overscroll-behavior:contain}
.ii-metka{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:#C79A3E;color:#16141F;font-size:12px;font-weight:700;letter-spacing:.02em}
.ii-vvod{line-height:1.6;color:var(--ink);max-width:72ch}
.ii-sp{list-style:none;margin-top:12px;max-width:72ch}
.ii-sp li{position:relative;padding:6px 0 6px 20px;line-height:1.6;color:var(--soft)}
.ii-sp li::before{content:"";position:absolute;left:2px;top:17px;width:7px;height:7px;border-radius:50%;background:var(--acc)}
.ii-sp b{color:var(--ink);font-weight:700}
.ii-note{margin-top:14px;font-size:var(--fs-sm);color:var(--muted);max-width:72ch}
.rsh-g{display:flex;align-items:baseline;gap:14px;margin:24px 0 10px;font-size:var(--fs-body);font-weight:700;line-height:1.35;color:var(--ink);scroll-margin-top:96px}
.rsh-s:first-child .rsh-g{margin-top:4px}
.rsh-g button,.rsh-v,.tc-k{flex:none;font:inherit;font-size:var(--fs-sm);font-weight:700;font-variant-numeric:tabular-nums;color:var(--acc)}
.rsh-g button{padding:0;border:0;background:none;cursor:pointer;text-decoration:underline;text-underline-offset:.2em}
.tc a.tc-k{text-underline-offset:.2em}
.rsh p{margin:0 0 12px;line-height:1.65;color:var(--soft);max-width:72ch}
/* текст страницы материала, который сервер отдаёт поисковику; скрипт портала рисует страницу поверх */
.seo-tekst{max-width:72ch;margin:0 auto;padding:48px 20px;line-height:1.6}
@media (max-width:640px){.rsh-g{gap:10px}.pp>summary{gap:10px}}
/* оглавление пакета промптов справа (Роман 29.10): закреплено в своей колонке, как оглавление блога (.toc в portal.css —
   место в сетке, sticky, подпись .k); пункты — кружки с номером на тонкой нити, золото — только на текущем пункте.
   Узкий экран — скрыто: там таблица шагов со ссылками и «К промпту N». */
/* цели переходов (промпты, подводка, «Что дальше»): к отступу страницы под шапку (scroll-padding-top у html) — ещё 16px,
   верх раздела встаёт вровень с оглавлением; на узком экране у шапки вторая строка (44px) — отступ больше */
.pr-cel{scroll-margin-top:16px}
@media screen and (max-width:999px){.pr-cel{scroll-margin-top:calc(44px + 24px)}}
.pr-cel:focus{outline:none}   /* фокус ставим на раздел после перехода из оглавления — точка входа, не элемент управления */
.pr-nav{grid-row:1;grid-column:10/13;max-height:calc(100vh - var(--hdr) - 64px);overflow-y:auto;padding:4px;margin:-4px}
.pr-nav .pr-nav-shag{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.pr-nav-pol{display:flex;gap:4px;margin-bottom:20px}
.pr-nav-pol span{flex:1;height:2px;background:var(--hair)}
.pr-nav-pol span.on{background:var(--ink)}
.pr-nav ol{border-bottom:0}
.pr-nav li{position:relative;border-top:0}
.pr-nav li:not(:last-child)::after{content:"";position:absolute;left:14px;top:36px;bottom:-8px;width:1px;background:var(--hair)}
.pr-nav li.byl::after{background:var(--ink)}
.pr-nav a{position:relative;z-index:1;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:8px 0;color:var(--soft)}
.pr-nav a::before{content:none}
.pr-nav-n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--sep);background:var(--canvas);
  font-size:13px;font-weight:700;line-height:1;color:var(--muted);font-variant-numeric:tabular-nums;transition:background-color 160ms ease-out,border-color 160ms ease-out,color 160ms ease-out}
.pr-nav-kr .pr-nav-n{border:0;background:transparent}
.pr-nav-kr .pr-nav-n::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--sep);transition:background-color 160ms ease-out}
.pr-nav-t{display:flex;flex-direction:column;gap:2px;padding-top:4px;min-width:0}
.pr-nav-m{font-size:12px;font-weight:600;letter-spacing:.02em;line-height:1.4;color:var(--muted)}
.pr-nav-z{font-size:var(--fs-sm);line-height:1.4;color:var(--soft);overflow-wrap:break-word}
.pr-nav a:hover .pr-nav-z{color:var(--ink)}
.pr-nav a:hover .pr-nav-n{border-color:var(--ink)}
.pr-nav li.byl .pr-nav-n{border-color:var(--ink);color:var(--ink)}
.pr-nav li.byl.pr-nav-kr .pr-nav-n::after{background:var(--ink)}
.pr-nav li.on .pr-nav-n{border-color:var(--accf);background:var(--accf);color:var(--accf-on)}
.pr-nav li.on.pr-nav-kr .pr-nav-n{background:transparent}
.pr-nav li.on.pr-nav-kr .pr-nav-n::after{width:11px;height:11px;background:var(--accf)}
.pr-nav li.on .pr-nav-m{color:var(--acc);font-weight:700}
.pr-nav li.on .pr-nav-z{color:var(--ink);font-weight:600}
@media screen and (max-width:1099px){.pr-nav{display:none}}

/* разборы (Роман 30.10): «надэтаж» тайм-кодов и расшифровки — кейс участника; пересказ — по кейсам; борд экспертов */
.tc .tc-r{display:block;margin-top:20px;padding:10px 0 6px;border-top:1px solid var(--line);font-size:var(--fs-sm);font-weight:700;letter-spacing:.02em;color:var(--ink)}
.tc .tc-r:first-child{margin-top:0;border-top:0;padding-top:0}
.tc-2 li:not(.tc-r){padding-left:16px}
.ii-r{margin:22px 0 4px;font-size:var(--fs-body);font-weight:700;line-height:1.35;color:var(--ink);max-width:72ch}
.rsh-r{margin:32px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:var(--fs-h4);font-weight:700;line-height:1.3;color:var(--ink)}
.rsh-r:first-child{margin-top:4px;padding-top:0;border-top:0}
/* с бордом шапка компактная: ведущие в узкой колонке, борд — правее (Роман 30.10) */
.mat-a.s-bord{display:grid;grid-template-columns:minmax(0,140px) minmax(0,1fr);gap:0 24px;align-items:start}
.mat-ved{display:flex;flex-direction:column;gap:28px}
.s-bord .vc img{width:100%}
.s-bord .vc .nm{margin-top:10px;font-size:var(--fs-body)}
.s-bord .vc .rl{font-size:13px}
.mat-bord{margin:0}
.mat-bord-z{font-size:var(--fs-sm);font-weight:700;letter-spacing:.02em;color:var(--soft)}
.mat-bord ul{list-style:none;margin-top:8px}
.mat-bord a{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:start;padding:7px 0;text-decoration:none}
.mat-bord img{display:block;width:48px;height:51px;object-fit:cover}
@media screen and (max-width:999px){
  .mat-a.s-bord{grid-template-columns:1fr;row-gap:28px}
  .mat-ved{flex-direction:row;flex-wrap:wrap;gap:24px}
  .mat-ved .vc{width:150px}
}
.mat-bord .nm{display:block;font-weight:700;line-height:1.3;color:var(--ink)}
.mat-bord .rl{display:block;margin-top:2px;font-size:13px;line-height:1.35;color:var(--soft)}
.mat-bord a:hover .nm{text-decoration:underline;text-underline-offset:.2em}
