.study-source-dialog{width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--theme-border,#aaa);border-radius:12px;padding:24px;background:var(--theme-bg,#fff);color:var(--theme-text,#24342c)}.study-source-dialog::backdrop{background:#0008}.study-source-dialog h2{margin-top:0}.study-source-dialog label{display:block;line-height:1.5;margin:16px 0}.study-source-dialog input:not([type=checkbox]){display:block;width:100%;min-height:44px;padding:10px;font:inherit;box-sizing:border-box}.study-source-dialog input[type=checkbox]{margin:0 8px;width:20px;height:20px;vertical-align:middle}.study-source-dialog p{line-height:1.5}.study-source-actions{display:flex;flex-wrap:wrap;gap:8px}.study-source-actions button{width:auto;min-height:44px;font:inherit;padding:8px 14px;cursor:pointer}.study-source-dialog details{margin-top:20px;overflow-wrap:anywhere}.study-source-dialog summary{min-height:44px;cursor:pointer}.study-video-entry{min-height:44px;margin-block:8px}
.study-source-dialog{box-sizing:border-box}
.playback-source-actions{align-items:center;margin-block:8px;max-width:100%}
.playback-source-actions button{font-size:14px;padding-inline:10px}
.playback-source-switcher{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:3px;border:1px solid var(--theme-border-medium,#a8b7b5);border-radius:10px;background:var(--theme-bg-card,#fff)}
.playback-source-switcher button[aria-pressed="true"]{border-color:var(--theme-accent,#0b7673);background:color-mix(in srgb,var(--theme-accent,#0b7673) 14%,var(--theme-bg-card,#fff));color:var(--theme-accent,#0b7673);font-weight:700;box-shadow:inset 0 0 0 1px var(--theme-accent,#0b7673)}
.playback-source-switcher button:focus-visible{outline:3px solid var(--theme-accent,#0b7673);outline-offset:2px}
#v3MediaYtMount iframe,#roomMediaYtMount iframe{display:block;width:100%;height:clamp(200px,32vw,340px);min-height:200px;border:0}
#v3MediaYtMount,#roomMediaYtMount{flex:1 0 100%;width:100%;min-width:0}#v3MediaYtMount[hidden],#roomMediaYtMount[hidden]{display:none}

/* P5-UX (2026-09-11): этапы подготовки материала со своим состоянием. Полоса появляется ТОЛЬКО
   когда у прогресса есть настоящий знаменатель — у одного ASR-вызова его нет. */
.lmt-stages{list-style:none;margin:16px 0 8px;padding:0;display:grid;gap:6px}
.lmt-stages li{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;line-height:1.45}
.lmt-stages li::before{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:13px;font-weight:700;border:1px solid var(--theme-border-medium,#a8b7b5);background:var(--theme-bg-card,#fff);color:var(--theme-text-secondary,#64748b);content:"○"}
.lmt-stages li[data-mark="done"]{color:var(--theme-text-primary,#24342c)}
.lmt-stages li[data-mark="done"]::before{content:"✓";border-color:var(--theme-accent,#0b7673);background:color-mix(in srgb,var(--theme-accent,#0b7673) 14%,var(--theme-bg-card,#fff));color:var(--theme-accent,#0b7673)}
.lmt-stages li[data-mark="current"]{font-weight:700}
.lmt-stages li[data-mark="current"]::before{content:"●";border-color:var(--theme-accent,#0b7673);color:var(--theme-accent,#0b7673);animation:lmt-pulse 1.4s ease-in-out infinite}
.lmt-stages li[data-mark="stalled"]::before{content:"❚";border-color:#b45309;color:#b45309}
.lmt-stages li[data-mark="pending"]{color:var(--theme-text-secondary,#64748b)}
@keyframes lmt-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.lmt-stages li[data-mark="current"]::before{animation:none}}
.lmt-detail{margin:4px 0 0;min-height:1.5em;color:var(--theme-text-secondary,#64748b);font-variant-numeric:tabular-nums}
.lmt-detail:empty{display:none}
.lmt-total{margin:6px 0 0;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--theme-text,#1f2937)}
.lmt-total[hidden]{display:none}
.lmt-bar{display:block;width:100%;height:8px;margin-top:8px;border-radius:999px;overflow:hidden}
.lmt-bar[hidden]{display:none}
.lmt-price-note{margin:4px 0 0;color:var(--theme-text-secondary,#64748b);font-size:13px}
.lmt-provider-recommendation{margin:12px 0;padding:10px 12px;border-inline-start:4px solid #c48616;border-radius:8px;background:#fff7e5;color:#765309}
/* Слово рядом со знаком: знак читается мгновенно, слово не оставляет догадок (запрос владельца). */
.lmt-stages li{grid-template-columns:24px minmax(0,1fr) auto}
.lmt-mark-word{justify-self:end;color:var(--theme-text-secondary,#64748b);font-size:12px;font-weight:600;letter-spacing:.01em;text-transform:lowercase}
.lmt-stages li[data-mark="current"] .lmt-mark-word{color:var(--theme-accent,#0b7673)}
.lmt-stages li[data-mark="done"] .lmt-mark-word{color:var(--theme-accent,#0b7673);opacity:.75}
.lmt-stages li[data-mark="stalled"] .lmt-mark-word{color:#b45309}
/* Пояснения уходят ПОД действие: решение принимается по цене, а не по абзацам (наблюдение 2026-09-11). */
.lmt-notes{margin-top:18px;padding-top:14px;border-top:1px solid var(--theme-border-medium,#cbd5e1)}
.lmt-notes p{margin:6px 0;color:var(--theme-text-secondary,#64748b);font-size:13px;line-height:1.5}
.study-source-dialog p[role="status"]{margin:14px 0 2px;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
/* Часы этапа: моноширинные цифры, чтобы строка не дёргалась на каждой секунде. */
.lmt-stages li{grid-template-columns:24px minmax(0,1fr) auto auto}
.lmt-stage-clock{justify-self:end;margin-inline-end:10px;color:var(--theme-text-secondary,#64748b);font-size:12px;font-variant-numeric:tabular-nums}
.lmt-stages li[data-mark="current"] .lmt-stage-clock{color:var(--theme-accent,#0b7673);font-weight:600}
/* Цена качества рядом с итогом: заметно, но не тревожно (решение владельца, вариант A). */
.lmt-quality-note{margin:8px 0 0;padding:8px 10px;border-inline-start:3px solid #b45309;border-radius:6px;background:color-mix(in srgb,#b45309 7%,transparent);color:var(--theme-text-primary,#24342c);font-size:13px;line-height:1.45}
/* Ведущий путь (2026-09-24): итог ⑦ и шкала на узком экране. */
.lmt-stage-summary{display:none;margin:12px 0 4px;font-weight:700;color:inherit}
/* Сворачивание по ширине самой шкалы, а не окна: диалог на телефоне уже окна. */
.lmt-scale{container-type:inline-size}
@container (max-width:400px){
  .lmt-stage-summary{display:block}
  .lmt-stages li:not([data-mark="current"]):not([data-mark="stalled"]){display:none}
}
.lmt-final{margin:14px 0 4px;padding:12px 14px;border-inline-start:4px solid var(--theme-accent,#0b7673);border-radius:8px;background:color-mix(in srgb,var(--theme-accent,#0b7673) 9%,transparent);color:inherit}
.lmt-final strong{display:block;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.lmt-final p{margin:6px 0 0;font-size:13px;line-height:1.45;opacity:.8}
.lmt-resume-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 14px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--theme-accent,#0b7673) 30%,transparent);border-radius:14px;background:color-mix(in srgb,var(--theme-accent,#0b7673) 8%,var(--theme-bg-card,#fff));color:var(--theme-text-primary,#24342c);font-size:14px;line-height:1.45}
.lmt-resume-banner[hidden]{display:none}
.lmt-resume-banner>span{flex:1 1 240px;min-width:0;overflow-wrap:anywhere}
.lmt-resume-banner.is-warning{border-color:color-mix(in srgb,#b45309 45%,transparent);background:color-mix(in srgb,#b45309 8%,var(--theme-bg-card,#fff))}
