/* Standalone v4 landing. Include after application CSS; no work-area/player rules. */
.tv2-landing {
    --landing-ink: #0f172a;
    --landing-text: #475569;
    --landing-heading: #4e5d7f;
    --landing-tint: #f8fafc;
    --landing-line: #e2e8f0;
    --landing-accent: #2e58ef;
    width: 100%;
    min-width: 0;
    color: var(--landing-text);
    font: 400 16px/1.6 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    letter-spacing: 0;
}
.tv2-landing *, .tv2-landing *::before, .tv2-landing *::after { box-sizing: border-box; letter-spacing: 0; }
.tv2-landing h2, .tv2-landing h3, .tv2-landing p, .tv2-landing figure, .tv2-landing dl, .tv2-landing dd { margin: 0; }
.tv2-landing h2 { color: var(--landing-heading); font: 800 29px/1.2 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.tv2-landing h3 { color: var(--landing-ink); font: 700 18px/1.25 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.tv2-landing a { color: var(--landing-accent); text-decoration: none; }
.tv2-landing a:hover { text-decoration: underline; text-underline-offset: 3px; }
.tv2-landing a:focus-visible, .tv2-landing summary:focus-visible, .tv2-landing [tabindex]:focus-visible { outline: 3px solid var(--landing-accent); outline-offset: 4px; }
.tv2-landing h2, .tv2-landing h3, .tv2-landing p, .tv2-landing dd, .tv2-landing dt, .tv2-landing a, .tv2-landing strong { overflow-wrap: anywhere; }
.tv2-landing-icon { display: inline-block; width: 24px; height: 24px; flex: 0 0 24px; vertical-align: middle; }
.tv2-landing-section { padding: 56px 0; background: #fff; scroll-margin-top: 88px; }
.tv2-landing-section.is-tint { background: var(--landing-tint); }
.tv2-landing-inner { width: 100%; max-width: 1290px; margin: 0 auto; padding: 0 24px; }
.tv2-landing-head { max-width: 768px; margin: 0 auto 36px; text-align: center; }
.tv2-landing-head > p { margin-top: 16px; font-size: 18px; line-height: 1.7; }
.tv2-landing-head.has-no-bottom-space { margin-bottom: 0; }
.tv2-landing p.tv2-landing-caption { max-width: 768px; margin: 20px auto 0; color: #64748b; font-size: 14px; line-height: 1.5; text-align: center; }
.tv2-landing-steps { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; list-style: none; margin: 0; padding: 0; }
.tv2-landing-steps::before { content: ""; position: absolute; left: 16%; right: 16%; top: 52px; height: 2px; background: var(--landing-line); }
.tv2-landing-steps > li { position: relative; min-width: 0; padding: 24px; border: 2px solid var(--landing-line); border-radius: 16px; background: #fff; }
.tv2-landing-step-number { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 24px; border: 1px solid var(--landing-line); border-radius: 12px; color: #76859b; font-size: 20px; font-weight: 700; }
.tv2-landing-steps h3 { margin-bottom: 12px; font-size: 20px; }
.tv2-landing-steps p, .tv2-landing-card p, .tv2-landing-capability p { font-size: 14px; line-height: 1.7; }
.tv2-landing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.tv2-landing-card { min-width: 0; padding: 24px; border: 1px solid #f1f5f9; border-radius: 16px; background: var(--landing-tint); }
.tv2-landing-card-icon { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 16px; border-radius: 12px; background: #fff; color: var(--landing-accent); box-shadow: 0 1px 2px #0000000d; }
.tv2-landing-card h3, .tv2-landing-capability h3 { margin-bottom: 8px; }
.tv2-landing-grid.is-plain { column-gap: 40px; row-gap: 36px; }
.tv2-landing-capability { display: flex; align-items: flex-start; gap: 16px; min-width: 0; }
.tv2-landing-capability > div { min-width: 0; }
.tv2-landing-capability-icon { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 8px; background: #eff6ff; color: var(--landing-accent); }
.tv2-landing-comparison-scroll { position: relative; max-width: 100%; overflow-x: auto; border: 1px solid var(--landing-line); border-radius: 16px; background: #fff; box-shadow: 0 10px 30px #0f172a0f; }
.tv2-landing-comparison { display: grid; grid-template-columns: 160px repeat(var(--landing-model-count), minmax(170px, 1fr)); grid-template-rows: repeat(9, auto); grid-auto-flow: column; }
.tv2-landing-comparison-labels, .tv2-landing-model, .tv2-landing-model dl { display: contents; }
.tv2-landing-model-head { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px; min-width: 0; padding: 22px 12px 18px; text-align: center; }
.tv2-landing-model-head h3 { font-size: 17px; line-height: 22px; }
.tv2-landing-model-head p.tv2-landing-engine { font-size: 12.5px; line-height: 18px; color: #64748b; }
.tv2-landing-price-chip { display: inline-block; margin-top: auto; padding: 4px 9px; border-radius: 6px; background: #edf3ff; color: var(--landing-accent); font-size: 13px; font-weight: 600; line-height: 20px; white-space: nowrap; }
.tv2-landing-model dl > div, .tv2-landing-comparison-label { min-width: 0; min-height: 48px; padding: 10px 12px; border-top: 1px solid #f1f5f9; font-size: 14px; line-height: 20px; }
.tv2-landing-model dl > div { display: grid; place-items: center; text-align: center; }
.tv2-landing-comparison-label { display: flex; align-items: center; padding-left: 24px; color: #64748b; font-size: 13px; }
.tv2-landing-model dd { min-width: 0; max-width: 100%; }
.tv2-landing-model dd ul { list-style: none; padding: 0; margin: 0; }
.tv2-landing-model dd li + li { margin-top: 6px; }
.tv2-landing-model dt, .tv2-landing-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.tv2-landing-model dl > div:first-child, .tv2-landing-source { font-size: 13px; }
.tv2-landing-muted { color: #64748b; font-size: 13px; }
.tv2-landing-scale { display: inline-flex; gap: 3px; align-items: center; height: 24px; }
.tv2-landing-scale i { display: block; width: 14px; height: 6px; border-radius: 3px; background: #e2e8f0; }
.tv2-landing-scale i.is-filled { background: var(--landing-accent); }
.tv2-landing-yes { color: var(--landing-accent); }
.tv2-landing-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 48px; align-items: center; max-width: 1040px; margin: 0 auto; }
.tv2-landing-prose p { font-size: 16px; line-height: 27px; }
.tv2-landing-prose p + p { margin-top: 14px; }
.tv2-landing-video-example { min-width: 0; padding: 18px; border: 1px solid var(--landing-line); border-radius: 16px; background: #fff; box-shadow: 0 10px 30px #0f172a0f; }
.tv2-landing-example-tabs { display: flex; gap: 4px; padding: 3px; border-radius: 6px; background: #f1f5f9; font-size: 12px; }
.tv2-landing-example-tabs > span { display: flex; align-items: center; justify-content: center; flex: 1; gap: 5px; padding: 6px 4px; border-radius: 4px; }
.tv2-landing-example-tabs .tv2-landing-icon { width: 16px; height: 16px; flex-basis: 16px; }
.tv2-landing-example-tabs .is-selected { background: #fff; color: var(--landing-accent); box-shadow: 0 1px 4px #18223014; }
.tv2-landing-example-url { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 10px; padding: 10px 12px; border: 1px solid #cfd9e7; border-radius: 6px; font-size: 13px; }
.tv2-landing-example-file { display: flex; gap: 12px; align-items: center; margin-top: 10px; font-size: 13px; }
.tv2-landing-example-thumbnail { display: grid; place-items: center; flex: 0 0 48px; height: 36px; border-radius: 4px; background: #fce8ec; color: #ac3455; }
.tv2-landing-video-example figcaption { margin-top: 12px; color: #64748b; font-size: 12px; text-align: center; }
.tv2-landing-price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1040px; margin: 0 auto; }
.tv2-landing-price-grid > div { display: grid; align-content: start; gap: 6px; min-width: 0; padding: 24px; border: 1px solid #f1f5f9; border-radius: 16px; background: var(--landing-tint); text-align: center; }
.tv2-landing-price-grid strong { color: var(--landing-ink); font-size: 27px; line-height: 36px; font-weight: 800; }
.tv2-landing-price-grid span { font-size: 15px; line-height: 22px; }
.tv2-landing p.tv2-landing-more { margin-top: 14px; text-align: center; font-size: 15px; }
.tv2-landing-more a { display: inline-flex; gap: 6px; align-items: center; min-height: 44px; }
.tv2-landing-more .tv2-landing-icon { width: 18px; height: 18px; flex-basis: 18px; }
.tv2-landing-about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); align-items: center; gap: 64px; }
.tv2-landing-about h2 { margin-bottom: 16px; }
.tv2-landing-transcript-example { padding: 24px; border: 1px solid #dbe4fb; border-radius: 18px; background: #f5f8ff; box-shadow: 0 10px 30px #0f172a0f; }
.tv2-landing-transcript-example figcaption { margin-bottom: 18px; color: #64748b; font-size: 13px; }
.tv2-landing-transcript-example > div { display: flex; align-items: flex-start; gap: 12px; }
.tv2-landing-transcript-example > div + div { margin-top: 24px; }
.tv2-landing-example-avatar { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; background: #e3edff; color: var(--landing-accent); font-size: 13px; }
.tv2-landing-example-avatar.is-pink { background: #fde7f3; color: #9d174d; }
.tv2-landing-transcript-example p { flex: 1; min-width: 0; font-size: 14px; }
.tv2-landing-transcript-example p strong { color: var(--landing-ink); }
.tv2-landing-transcript-example p time { margin-left: 12px; color: #64748b; font-size: 12px; }
.tv2-landing-transcript-example p span { display: block; margin-top: 7px; }
.tv2-landing-faq { display: grid; gap: 16px; max-width: 768px; margin: 0 auto; }
.tv2-landing-faq details { min-width: 0; border: 1px solid var(--landing-line); border-radius: 8px; background: #fff; }
.tv2-landing-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; border-radius: 8px; background: var(--landing-tint); color: var(--landing-ink); font-size: 16px; line-height: 24px; font-weight: 600; list-style: none; cursor: pointer; }
.tv2-landing-faq summary::-webkit-details-marker { display: none; }
.tv2-landing-faq summary .tv2-landing-icon { transform: rotate(90deg); width: 20px; height: 20px; flex-basis: 20px; }
.tv2-landing-faq details[open] summary { border-radius: 8px 8px 0 0; }
.tv2-landing-faq details[open] summary .tv2-landing-icon { transform: rotate(-90deg); }
.tv2-landing-faq details > div { padding: 16px; border-top: 1px solid var(--landing-line); font-size: 15px; line-height: 25px; }
.tv2-landing-cta { max-width: 1040px; margin: 0 auto; padding: 48px 32px; border-radius: 12px; background: var(--landing-accent); color: #fff; text-align: center; }
.tv2-landing-cta h2 { color: #fff; font-size: 36px; line-height: 43px; font-weight: 700; }
.tv2-landing-cta p { max-width: 620px; margin: 12px auto 0; font-size: 16px; line-height: 24px; color: #ffffffe6; }
.tv2-landing-cta a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; max-width: 100%; min-height: 52px; margin-top: 28px; padding: 14px 36px; border-radius: 8px; background: #fff; color: var(--landing-accent); font-size: 16px; font-weight: 600; }
.tv2-landing-cta a:hover { background: #eef3ff; text-decoration: none; }
.tv2-landing-cta a:focus-visible { outline-color: #fff; }
.tv2-landing-tools { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.tv2-landing-tools > a { display: grid; align-content: start; gap: 8px; min-width: 0; padding: 18px; border: 1px solid var(--landing-line); border-radius: 12px; background: #fff; }
.tv2-landing-tools > a:hover { border-color: var(--landing-accent); text-decoration: none; }
.tv2-landing-tools strong { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; color: var(--landing-ink); font-size: 15px; }
.tv2-landing-tools strong .tv2-landing-icon { width: 18px; height: 18px; flex-basis: 18px; margin-top: 3px; color: var(--landing-accent); }
.tv2-landing-tools > a > span { color: var(--landing-text); font-size: 13.5px; line-height: 21px; }
@media (max-width: 1100px) {
    .tv2-landing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tv2-landing-tools { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .tv2-landing-steps, .tv2-landing-price-grid, .tv2-landing-split, .tv2-landing-about { grid-template-columns: 1fr; }
    .tv2-landing-steps::before { display: none; }
    .tv2-landing-about { gap: 24px; }
    .tv2-landing-transcript-example { width: 100%; max-width: 460px; margin: 0 auto; }
}
@media (max-width: 760px) {
    .tv2-landing-comparison-scroll { border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; }
    .tv2-landing-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-flow: row; gap: 12px; }
    .tv2-landing-comparison-labels { display: none; }
    .tv2-landing-model { display: block; min-width: 0; border: 1px solid var(--landing-line); border-radius: 14px; background: #fff; box-shadow: 0 4px 14px #0f172a0d; }
    .tv2-landing-model-head { align-items: flex-start; padding: 16px; text-align: left; }
    .tv2-landing-model dl { display: block; }
    .tv2-landing-model dl > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; justify-items: stretch; gap: 12px; min-height: 40px; padding: 8px 16px; text-align: right; }
    .tv2-landing-model dt { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip-path: none; white-space: normal; color: #64748b; font-size: 13px; line-height: 18px; text-align: left; }
}
@media (max-width: 600px) {
    .tv2-landing-section { padding: 40px 0; }
    .tv2-landing-inner { padding: 0 16px; }
    .tv2-landing-head { margin-bottom: 28px; }
    .tv2-landing h2 { font-size: 24px; line-height: 30px; }
    .tv2-landing-head > p { font-size: 16px; line-height: 26px; }
    .tv2-landing-grid, .tv2-landing-tools, .tv2-landing-comparison { grid-template-columns: 1fr; }
    .tv2-landing-grid.is-plain { row-gap: 24px; }
    .tv2-landing-split { gap: 24px; }
    .tv2-landing-video-example { padding: 14px; }
    .tv2-landing-example-tabs .tv2-landing-icon { width: 14px; height: 14px; flex-basis: 14px; }
    .tv2-landing-example-tabs > span { gap: 4px; }
    .tv2-landing-prose p { font-size: 15px; line-height: 25px; }
    .tv2-landing-cta { padding: 32px 20px; }
    .tv2-landing-cta h2 { font-size: 28px; line-height: 34px; }
    .tv2-landing-cta a { width: 100%; padding-inline: 12px; }
    .tv2-landing-faq summary { min-height: 56px; }
}

/* ===== Патч 30.09.2026 (Звукограм, посадочные /audio-text/<адрес>/) =====
   Глобальный style.css сайта: `.w100 ol{padding-left:20px;list-style:decimal}` (0,1,1) перебивает
   `.tv2-landing-steps{list-style:none;padding:0}` (0,1,0) — у шагов появлялись «1. 2. 3.».
   Поднимаем специфичность через .tv2-landing (0,2,0). Касается главной /audio-text/ и всех посадочных. */
.tv2-landing .tv2-landing-steps { list-style: none; padding: 0; margin: 0; }
.tv2-landing .tv2-landing-steps > li { list-style: none; }

/* ===== Патч 30.09.2026, часть 2: конфликты с глобальным /design/css/style.css ?v4.5 =====
   Найдено сравнением computed-стилей: preview в обёртке прода
   (body.transcribe-v2 > .contnr.morda.newgrid.nofixbox > .oh > .w100.ATTContainer > #subDesc > .tv2-landing)
   против чистого landing-v4.css. Касается и главной /audio-text/ (проверено на живой странице: h2 22px, p padding 15px).
   Файл подключается после style.css, поэтому при равной специфичности побеждает он. */

/* 1. Заголовки секций. style.css: `.contnr.morda h2{font-size:22px}` и `.contnr.morda h1,...h2{font-weight:bold}` (0,2,1)
      перебивают `.tv2-landing h2` (0,1,1) → все H2 были 22px/700 вместо 29px/800, H2 в CTA — 22px вместо 36px.
      Поднимаем до (0,2,1) через .tv2-landing-inner (все H2 лендинга лежат внутри него). */
.tv2-landing .tv2-landing-inner h2 { font-size: 29px; font-weight: 800; line-height: 1.2; }
.tv2-landing .tv2-landing-inner .tv2-landing-cta h2 { font-size: 36px; line-height: 43px; font-weight: 700; }
@media (max-width: 600px) {
    .tv2-landing .tv2-landing-inner h2 { font-size: 24px; line-height: 30px; }
    .tv2-landing .tv2-landing-inner .tv2-landing-cta h2 { font-size: 28px; line-height: 34px; }
}

/* 2. Абзацы. style.css: `p{padding-bottom:15px}` (0,0,1) — в лендинге padding у p нигде не задан,
      поэтому у каждого абзаца (карточки, шаги, подписи, FAQ, пример расшифровки, CTA) появлялся лишний отступ 15px снизу. */
.tv2-landing p { padding-bottom: 0; }

/* 3. Ответы FAQ. style.css: `p{font-size:16px}` (0,0,1) перебивает размер, который лендинг задаёт контейнеру
      `.tv2-landing-faq details > div{font-size:15px;line-height:25px}` и ожидает по наследованию → ответы и ссылки в них 16px. */
.tv2-landing .tv2-landing-faq details > div p { font-size: inherit; line-height: inherit; }

/* ===== Патч 30.09.2026, часть 3: финальный CTA в стиле Звукограма =====
   Было: плоская синяя плашка #2e58ef — на сайте так акцентные блоки не оформляются.
   Эталоны: /speech/ «Работаем с юрлицами» (.payment-b2b: градиент #0f172a→#1e293b, радиус 16, тень 0 20px 25px -5px)
   и /speech/ «Присоединяйтесь к нам в Telegram» (.cta-inner: текст слева, кнопка справа),
   /clone/ «Создайте свой голос прямо сейчас» (белая кнопка, синий текст, радиус 8, 14px 36px, 16/600).
   Разметка прода не меняется: h2, p, a внутри .tv2-landing-cta раскладываются сеткой. */
.tv2-landing .tv2-landing-cta {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 40px; align-items: center;
    max-width: 1120px; padding: 40px 48px; border-radius: 16px; text-align: left;
    background: linear-gradient(to right, #0f172a, #1e293b); box-shadow: 0 20px 25px -5px #0f172a1a;
}
.tv2-landing .tv2-landing-inner .tv2-landing-cta h2 { grid-column: 1; margin: 0; color: #fff; font-size: 32px; line-height: 40px; font-weight: 700; }
.tv2-landing .tv2-landing-cta p { grid-column: 1; max-width: 640px; margin: 10px 0 0; color: #cbd5e1; font-size: 17px; line-height: 28px; }
.tv2-landing .tv2-landing-cta a {
    grid-column: 2; grid-row: 1 / span 2; margin: 0; white-space: nowrap;
    background: #fff; color: var(--landing-accent); border-radius: 8px; padding: 14px 32px; font-size: 16px; font-weight: 600;
}
.tv2-landing .tv2-landing-cta a:hover { background: #eef3ff; color: var(--landing-accent); }
@media (max-width: 760px) {
    .tv2-landing .tv2-landing-cta { grid-template-columns: minmax(0, 1fr); padding: 32px 24px; }
    .tv2-landing .tv2-landing-cta a { grid-column: 1; grid-row: auto; width: 100%; margin-top: 24px; white-space: normal; }
}
@media (max-width: 600px) {
    .tv2-landing .tv2-landing-inner .tv2-landing-cta h2 { font-size: 26px; line-height: 32px; }
    .tv2-landing .tv2-landing-cta p { font-size: 16px; line-height: 25px; }
}

/* ===== Патч 01.10.2026, часть 4: баланс в сайдбаре — как в шапке сайта =====
   Не стили лендинга, но этот файл подключён на всех страницах /audio-text/ (главная, посадочные, история) и заливается владельцем.
   Прогеру: перенести в v4.css и выводить число целым, как в шапке (.balans_coins: «5923», без «,94»).
   Эталон — шапка сайта: .balans_coins.logo-token — иконка /img/token.svg 19px слева (padding-left 25px), 14px/600 #b98f0f; «токенов» 14px.
   Было в сайдбаре: SVG-иконка coins из спрайта v2, число 26px/600 тёмное. */
body.transcribe-v2 .tv2-balance-section .tv2-balance-line { gap: 6px; margin: 0 0 12px; }
body.transcribe-v2 .tv2-balance-section .tv2-balance-line > .tv2-icon { display: none; }
body.transcribe-v2 .tv2-balance-section .tv2-balance-line strong {
    display: inline-flex; align-items: center; min-height: 24px; padding-left: 26px;
    background: url(/img/token.svg) no-repeat 0 50% / 20px;
    color: #b98f0f; font-size: 16px; line-height: 24px; font-weight: 600;
}
body.transcribe-v2 .tv2-balance-section .tv2-balance-line span { color: var(--tv2-ink, #182230); font-size: 14px; line-height: 24px; }

/* ===== Патч 01.10.2026, часть 5: мягкая якорная ссылка внутри текста лендинга =====
   «Выберите модель» в карточке «Несколько нейросетей на выбор» → таблица моделей на этой же странице (#tv2-landing-models).
   Цвет текста, тонкое светлое подчёркивание; акцент — только на наведении. */
.tv2-landing a.tv2-landing-soft { color: inherit; text-decoration: underline; text-decoration-color: #cbd5e1; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.tv2-landing a.tv2-landing-soft:hover { color: var(--landing-accent); text-decoration-color: currentColor; }
.tv2-landing [id^="tv2-landing-"] { scroll-margin-top: 88px; }

/* ===== Патч 01.10.2026, часть 6: плавная полоса прогресса «По ссылке» (#link-progress-bar) =====
   Не стили лендинга: файл подключён на всех страницах /audio-text/. Прогеру — перенести в app.css/v4.css. JS не меняется.
   Было: нативный <progress> — (1) неопределённая фаза («Проверяем ссылку/запись») рисуется анимацией Chrome рывками;
   (2) в фазе загрузки значение приходит раз в ~0,5 с и полоса прыгает на 5–15 % без перехода.
   Стало: appearance:none, свой трек; ширина значения едет плавно (transition), неопределённая фаза — мягкий сегмент,
   который скользит по треку (animation на background-position). */
body.transcribe-v2 #link-progress-bar {
    -webkit-appearance: none; appearance: none; display: block; width: 100%; height: 6px;
    border: 0; border-radius: 999px; overflow: hidden; background: #e6ecf5; color: var(--tv2-accent, #2e58ef);
}
body.transcribe-v2 #link-progress-bar::-webkit-progress-bar { background: #e6ecf5; border-radius: 999px; }
body.transcribe-v2 #link-progress-bar::-webkit-progress-value {
    background: var(--tv2-accent, #2e58ef); border-radius: 999px; transition: width .6s cubic-bezier(.25, .8, .25, 1);
}
body.transcribe-v2 #link-progress-bar::-moz-progress-bar { background: var(--tv2-accent, #2e58ef); border-radius: 999px; }
body.transcribe-v2 #link-progress-bar:indeterminate::-webkit-progress-bar { background: transparent; }
body.transcribe-v2 #link-progress-bar:indeterminate {
    background-color: #e6ecf5;
    background-image: linear-gradient(90deg, rgba(46, 88, 239, 0) 0%, var(--tv2-accent, #2e58ef) 30%, var(--tv2-accent, #2e58ef) 70%, rgba(46, 88, 239, 0) 100%);
    background-repeat: no-repeat; background-size: 35% 100%;
    animation: tv2-link-indet 1.5s cubic-bezier(.45, 0, .55, 1) infinite;
}
body.transcribe-v2 #link-progress-bar:indeterminate::-moz-progress-bar { background: transparent; }
@keyframes tv2-link-indet { from { background-position: -55% 0; } to { background-position: 155% 0; } }
@media (prefers-reduced-motion: reduce) {
    body.transcribe-v2 #link-progress-bar:indeterminate { animation: none; background-position: 50% 0; }
    body.transcribe-v2 #link-progress-bar::-webkit-progress-value { transition: none; }
}
