/* tools/lsi.css — «LSI-слова и подсветки из выдачи» /tools-pro/lsi/ (spec-lsi §4, макет templates/preview_lsi.html v2).
   Общие компоненты (ta-check, ta-dialog, ta-alert, ta-acc) — text-analysis.css; форма, смета, шапка результата,
   KPI, чипы и поиск — как у Вордстата: positions.css (pos-*), semantics.css (sem-*).
   Только токены base.css; тёмная по умолчанию, светлая — html.light. */

/* атрибут hidden сильнее display компонентов (sem-checks, pos-check-line, btn) — специфичностью, без important */
.lsi-form [hidden], .lsi-report [hidden], .lsi-modal [hidden] { display: none; }

/* ── шапка страницы: ритм как у Вордстата и проверки индексации ── */
.tool-page.lsi-page { padding-top: var(--space-xl); }
.lsi-page .tool-breadcrumb { gap: var(--space-xs); margin-bottom: var(--space-sm); font-size: var(--fs-sm); }
.lsi-page .tool-breadcrumb a { min-height: 0; }
.lsi-page .tool-hero { margin-bottom: var(--space-lg); }
.lsi-page .tool-hero h1 { margin: 0; font-size: calc(var(--fs-base) + 9px); line-height: 1.2; }
.lsi-page .tool-subtitle { margin-top: var(--space-2xs); font-size: var(--fs-md); line-height: 1.5; max-width: 860px; }
.lsi-tabs { margin-bottom: var(--space-xl); }

/* ── форма ── */
.lsi-page .tool-input-card { padding: var(--space-xl); }
.lsi-textarea { min-height: 140px; }
.lsi-own { display: flex; flex-direction: column; gap: var(--space-sm); }
.lsi-own .form-label { margin-bottom: 0; }
.lsi-own-tabs { align-self: flex-start; }
.lsi-own-row { display: flex; gap: var(--space-sm); align-items: center; }
.lsi-own-row .form-input { flex: 1 1 auto; min-width: 0; }
.lsi-own-row[hidden], .lsi-own-text[hidden], .lsi-od-pane[hidden] { display: none; }
.lsi-own .sem-help { margin-top: 0; }
.lsi-own-ta { min-height: 140px; resize: vertical; width: 100%; box-sizing: border-box; }
.lsi-own-count:empty { display: none; }
.lsi-eng { display: flex; flex-wrap: nowrap; }
.lsi-eng .pos-seg-btn { flex: 1 1 0; min-width: 0; min-height: 40px; padding-left: var(--space-xs); padding-right: var(--space-xs); }
.lsi-engine-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2xs); }
.lsi-region { position: relative; }
.lsi-region .pos-ac-list { position: absolute; left: 0; right: 0; z-index: 20; }
.lsi-region .sem-help[hidden] { display: none; }
.lsi-excl .sem-help { margin-top: var(--space-xs); }
.lsi-calc { margin-top: var(--space-xl); }
.lsi-quota { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-lg); font-size: var(--fs-sm); color: var(--text-dim); }
.lsi-quota b { color: var(--text); font-weight: 600; font-variant-numeric: tabular-nums; }
.lsi-quota [hidden] { display: none; }
.lsi-q-warn { color: var(--yellow); font-weight: 600; }
html.light .lsi-q-warn { color: color-mix(in srgb, var(--yellow) 65%, var(--text)); }
.lsi-help-err { color: var(--yellow); }
html.light .lsi-help-err { color: color-mix(in srgb, var(--yellow) 65%, var(--text)); }
.lsi-captcha:empty { display: none; }

/* окна */
.lsi-modal .lsi-dlg-body p { margin: 0 0 var(--space-sm); font-size: var(--fs-md); color: var(--text-dim); line-height: 1.55; }
.lsi-modal .lsi-dlg-body b { color: var(--text); }
.lsi-modal .lsi-dlg-small { font-size: var(--fs-sm); }
.lsi-modal .lsi-own-tabs { margin: var(--space-sm) 0; }
.lsi-modal .form-input { width: 100%; box-sizing: border-box; }
.lsi-dlg-act { flex-direction: column; }
.lsi-dlg-act .tool-btn, .lsi-dlg-act .ta-btn-ghost { width: 100%; }
.lsi-od-err { margin: var(--space-sm) 0 0; font-size: var(--fs-sm); color: var(--yellow); }
.lsi-od-err[hidden] { display: none; }
html.light .lsi-od-err { color: color-mix(in srgb, var(--yellow) 65%, var(--text)); }

/* ── отчёт: отдельные карточки, без общей рамки tool-results ── */
.lsi-page .tool-results { padding: 0; background: none; border: 0; box-shadow: none; }
.lsi-page .tool-results-header { display: none; }
.lsi-report[hidden], .lsi-run[hidden], .lsi-res[hidden], .lsi-sites-card[hidden], .lsi-disclaimer[hidden], .lsi-hist[hidden] { display: none; }
.lsi-page .sem-result { margin-top: 0; }
.lsi-run + .lsi-res { margin-top: var(--space-xl); }
.lsi-run-meta-eng, .lsi-meta-eng { display: inline-flex; align-items: center; gap: var(--space-2xs); }
.lsi-more-acts .pos-dd-item { width: 100%; background: none; border: 0; font: inherit; text-align: left; cursor: pointer; }
.lsi-more-acts .pos-dd-item svg { color: var(--text-dim); flex-shrink: 0; }
.lsi-more-acts .pos-dd-list { margin-top: 0; }
.lsi-more-acts .pos-dd-panel { width: auto; min-width: 260px; }
.lsi-more-acts .pos-dd-name { white-space: nowrap; overflow: visible; text-overflow: clip; }

/* ход работы */
.lsi-steps { list-style: none; margin: var(--space-md) 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-sm); }
.lsi-step { display: flex; align-items: center; gap: var(--space-sm); font-size: var(--fs-md); color: var(--text-muted); }
.lsi-step-ic { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--border-hover); flex-shrink: 0; }
.lsi-step--done { color: var(--text-dim); }
.lsi-step--done .lsi-step-ic { background: var(--accent-glow); border-color: transparent; color: var(--accent); }
.lsi-step--now { color: var(--text); font-weight: 600; }
.lsi-step--now .lsi-step-ic { border-color: var(--accent); color: var(--accent); }
.lsi-step b { font-variant-numeric: tabular-nums; }
.lsi-run-foot { display: flex; justify-content: space-between; align-items: center; gap: var(--space-md); flex-wrap: wrap; margin-top: var(--space-lg); }
.lsi-run-foot .sem-help { margin-top: 0; }
.lsi-run-foot .btn { min-height: 40px; display: inline-flex; align-items: center; gap: var(--space-2xs); }
.lsi-choice { padding: var(--space-lg) var(--space-xl); display: flex; flex-direction: column; gap: var(--space-md); }
.lsi-choice p { margin: 0; color: var(--text-dim); line-height: 1.55; font-size: var(--fs-md); }
.lsi-choice-acts { display: flex; gap: var(--space-sm); flex-wrap: wrap; align-items: center; }
.lsi-choice-acts .btn { min-height: 44px; display: inline-flex; align-items: center; gap: var(--space-2xs); text-decoration: none; }
.lsi-run-err { padding: var(--space-lg) var(--space-xl); display: flex; flex-direction: column; gap: var(--space-md); align-items: flex-start; }
.lsi-run-err .btn { min-height: 44px; }

/* сводка */
.lsi-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-bottom: 1px solid var(--border); }
.lsi-kpis .pos-kpi-value small { font-family: var(--font-body); font-size: var(--fs-lg); color: var(--text-dim); font-weight: 600; }
.lsi-notes-i { margin: var(--space-lg) var(--space-xl) 0; }
.lsi-notes-i b { font-weight: 600; }
.lsi-notes-i a { color: var(--accent); font-weight: 600; }
#lsi-notes:empty { display: none; }
.lsi-clusters { display: flex; align-items: center; gap: var(--space-xs) var(--space-sm); flex-wrap: wrap; margin: var(--space-lg) var(--space-xl) 0; font-size: var(--fs-sm); color: var(--text-dim); }
.lsi-clusters .pos-chip { min-height: 36px; }

/* фильтры */
.lsi-tb { display: flex; flex-direction: column; gap: var(--space-md); padding: var(--space-lg) var(--space-xl); border-bottom: 1px solid var(--border); }
.lsi-tb-row { display: flex; justify-content: space-between; align-items: center; gap: var(--space-sm) var(--space-md); flex-wrap: wrap; }
.lsi-tb-left { flex: 1 1 auto; display: flex; align-items: center; gap: var(--space-sm) var(--space-lg); flex-wrap: wrap; min-width: 0; }
.lsi-search { display: block; flex: 0 1 280px; }
/* padding + отрицательный margin — чтобы overflow не срезал кольцо фокуса у чипов */
.lsi-filters { display: flex; flex-wrap: nowrap; gap: var(--space-xs); overflow-x: auto; scrollbar-width: none; max-width: calc(100% + 6px); padding: 3px; margin: -3px; }
.lsi-filters::-webkit-scrollbar { display: none; }
.lsi-filters .pos-chip { flex-shrink: 0; min-height: 36px; }
.lsi-toggles { display: flex; gap: var(--space-xs) var(--space-lg); flex-wrap: wrap; align-items: center; }
.lsi-toggles .pos-check-line { min-height: 36px; font-size: var(--fs-sm); color: var(--text-dim); }
.lsi-toggles [hidden] { display: none; }
.lsi-qwords { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); font-size: var(--fs-sm); color: var(--text-dim); }
.lsi-qwords:empty { display: none; }
.lsi-qword { padding: 1px var(--space-sm); border-radius: var(--radius-xs); background: var(--bg-input); color: var(--text); font-weight: 500; }

/* таблица слов */
.lsi-words td { vertical-align: middle; }
.lsi-words th { white-space: nowrap; }
.lsi-words .sem-c-chk { width: 44px; }
.lsi-group-row td { padding-top: var(--space-lg); padding-bottom: var(--space-sm); background: color-mix(in srgb, var(--bg-input) 35%, var(--bg-card)); white-space: normal; }
.lsi-group-t { font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-lg); color: var(--text); }
.lsi-group-n { font-size: var(--fs-sm); color: var(--text-muted); font-weight: 400; margin-left: var(--space-xs); font-variant-numeric: tabular-nums; }
.lsi-group-s { display: block; font-size: var(--fs-sm); color: var(--text-dim); margin-top: 2px; font-weight: 400; }
.lsi-w { font-weight: 600; font-size: var(--fs-md); color: var(--text); }
.lsi-words td.lsi-c-w { white-space: normal; min-width: 160px; }
.lsi-tags { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
.lsi-tag { display: inline-flex; align-items: center; font-size: var(--fs-xs); padding: 1px var(--space-xs); border-radius: var(--radius-xs); background: var(--bg-input); color: var(--text-dim); white-space: nowrap; line-height: 1.6; }
.lsi-tag--hl { background: var(--yellow-bg); color: var(--text); font-weight: 600; }
.lsi-tag--q { background: var(--accent-glow); color: var(--text); font-weight: 600; }
.lsi-cnt { font-variant-numeric: tabular-nums; white-space: nowrap; }
.lsi-cnt b { font-weight: 600; color: var(--text); }
.lsi-cnt span { color: var(--text-muted); }
.lsi-imp { display: inline-flex; gap: 3px; vertical-align: middle; }
.lsi-imp i { width: 8px; height: 14px; border-radius: 2px; background: var(--bg-input); }
.lsi-imp-1 i:nth-child(-n+1), .lsi-imp-2 i:nth-child(-n+2), .lsi-imp-3 i:nth-child(-n+3),
.lsi-imp-4 i:nth-child(-n+4), .lsi-imp-5 i:nth-child(-n+5) { background: var(--accent); }
html.light .lsi-imp i { background: color-mix(in srgb, var(--text-muted) 25%, var(--bg-input)); }
html.light .lsi-imp-1 i:nth-child(-n+1), html.light .lsi-imp-2 i:nth-child(-n+2), html.light .lsi-imp-3 i:nth-child(-n+3),
html.light .lsi-imp-4 i:nth-child(-n+4), html.light .lsi-imp-5 i:nth-child(-n+5) { background: var(--accent); }
.lsi-range { white-space: nowrap; font-variant-numeric: tabular-nums; }
.lsi-th-s { display: block; font-size: var(--fs-xs); font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--text-muted); margin-top: 2px; }
.lsi-range-s { display: block; font-size: var(--fs-xs); color: var(--text-muted); margin-top: 2px; white-space: nowrap; }
.lsi-you { font-variant-numeric: tabular-nums; font-weight: 600; }
.lsi-you--no { display: inline-flex; font-size: var(--fs-xs); font-weight: 600; padding: 1px var(--space-xs); border-radius: var(--radius-xs); background: var(--yellow-bg); color: var(--text); }
.lsi-base { display: inline-flex; align-items: center; font-size: var(--fs-xs); font-weight: 600; padding: 2px var(--space-sm); border-radius: 9999px; border: 1px solid color-mix(in srgb, var(--accent) 50%, transparent); color: var(--text); white-space: nowrap; cursor: help; }
.lsi-more-row td { text-align: center; padding: var(--space-sm); }
.lsi-more-row .pos-linkbtn { min-height: 44px; font-size: var(--fs-sm); }
.lsi-rare-row td { padding: var(--space-md) var(--space-xl); border-top: 1px solid var(--border); background: color-mix(in srgb, var(--bg-input) 35%, var(--bg-card)); white-space: normal; }
.lsi-rare { display: flex; align-items: center; justify-content: space-between; gap: var(--space-xs) var(--space-md); flex-wrap: wrap; }
.lsi-rare .btn { min-height: 44px; display: inline-flex; align-items: center; gap: var(--space-2xs); }
.lsi-rare .btn svg { transition: transform var(--dur-fast); }
.lsi-rare .btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.lsi-rare-s { margin: 0; font-size: var(--fs-sm); color: var(--text-dim); line-height: 1.5; }
.lsi-words tbody tr.selected td { background: color-mix(in srgb, var(--accent) 6%, var(--bg-card)); }
.lsi-empty { padding: var(--space-2xl) var(--space-xl); text-align: center; color: var(--text-dim); }
.lsi-empty b { display: block; margin-bottom: var(--space-xs); font-family: var(--font-heading); font-size: var(--fs-lg); color: var(--text); }

/* карточки слов (мобильная) */
.lsi-wcards { display: none; flex-direction: column; }
.lsi-wcard-g { padding: var(--space-md) var(--space-lg) var(--space-xs); background: color-mix(in srgb, var(--bg-input) 35%, var(--bg-card)); border-bottom: 1px solid var(--border); }
.lsi-wcard { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-xs) var(--space-sm); padding: var(--space-md) var(--space-lg); border-bottom: 1px solid var(--border); }
.lsi-wcard.selected { background: color-mix(in srgb, var(--accent) 6%, var(--bg-card)); }
.lsi-wcard .lsi-w { font-size: var(--fs-lg); overflow-wrap: anywhere; }
.lsi-wcard-side { display: flex; align-items: center; gap: var(--space-xs); }
.lsi-wcard-side label { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; cursor: pointer; }
.lsi-wcard-side input { accent-color: var(--accent); width: 18px; height: 18px; }
.lsi-wcard-l2 { grid-column: 1 / -1; font-size: var(--fs-sm); color: var(--text-dim); font-variant-numeric: tabular-nums; display: block; line-height: 1.6; }
.lsi-wcard-l2 > span { white-space: nowrap; }
.lsi-wcard-l2 b { color: var(--text); font-weight: 600; }
.lsi-wcard .lsi-tags { grid-column: 1 / -1; }
.lsi-wcard.lsi-more-row { display: flex; justify-content: center; padding: var(--space-xs); }
.lsi-rare-card { display: flex; flex-direction: column; gap: var(--space-sm); padding: var(--space-md) var(--space-lg); border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--bg-input) 35%, var(--bg-card)); }
.lsi-rare-card .btn { width: 100%; justify-content: center; min-height: 44px; display: inline-flex; align-items: center; gap: var(--space-2xs); }

/* блоки-чипы: коммерческие, «проверьте», законы, Вордстат */
.lsi-block { padding: var(--space-lg) var(--space-xl); border-top: 1px solid var(--border); }
.lsi-block[hidden] { display: none; }
.lsi-block-h { display: flex; align-items: baseline; gap: var(--space-xs); flex-wrap: wrap; }
.lsi-block-t { font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-lg); color: var(--text); }
.lsi-block-s { font-size: var(--fs-sm); color: var(--text-dim); margin: 2px 0 0; line-height: 1.5; }
/* переход в Вордстат вместо блока «Люди ищут вместе» (решение владельца 2026-10-24) */
.lsi-ws-cta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); flex-wrap: wrap; }
.lsi-ws-cta-text { min-width: 0; flex: 1 1 280px; }
.lsi-ws-cta .btn { flex: 0 0 auto; }
@media (max-width: 600px) { .lsi-ws-cta .btn { width: 100%; justify-content: center; } }
.lsi-chips { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-md); }
.lsi-wchip { display: inline-flex; align-items: center; gap: var(--space-xs); min-height: 36px; padding: var(--space-2xs) var(--space-md) var(--space-2xs) var(--space-sm); border-radius: 9999px; border: 1px solid var(--border); font-size: var(--fs-sm); color: var(--text); cursor: pointer; }
.lsi-wchip:hover { border-color: var(--border-hover); }
.lsi-wchip:focus-within { border-color: var(--accent); }
.lsi-wchip input { accent-color: var(--accent); width: 16px; height: 16px; margin: 0; flex-shrink: 0; }
.lsi-page .pos-check-line input, .lsi-wcard-side input { flex-shrink: 0; }
.lsi-wchip-n { color: var(--text-muted); font-variant-numeric: tabular-nums; }
.lsi-wchip--on { border-color: color-mix(in srgb, var(--accent) 50%, transparent); background: color-mix(in srgb, var(--accent) 6%, var(--bg-card)); }
.lsi-wchip .lsi-you--no { margin-left: var(--space-2xs); }
.lsi-you-ok { color: var(--accent); display: inline-flex; }
.lsi-fold { border-top: 1px solid var(--border); }
.lsi-fold > summary { display: flex; align-items: center; gap: var(--space-sm); flex-wrap: wrap; padding: var(--space-md) var(--space-xl); min-height: 56px; cursor: pointer; list-style: none; }
.lsi-fold > summary::-webkit-details-marker { display: none; }
.lsi-fold > summary:hover .lsi-block-t { color: var(--accent); }
.lsi-fold > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.lsi-fold > summary .pos-dd-chev { color: var(--text-muted); display: inline-flex; transition: transform var(--dur-fast); }
.lsi-fold[open] > summary .pos-dd-chev { transform: rotate(180deg); }
.lsi-fold-n { font-size: var(--fs-sm); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.lsi-fold-hint { flex-basis: 100%; font-size: var(--fs-sm); color: var(--text-dim); padding-left: calc(14px + var(--space-sm)); }
.lsi-fold-body { padding: 0 var(--space-xl) var(--space-lg) calc(var(--space-xl) + 14px + var(--space-sm)); }
.lsi-fold-body .lsi-chips { margin-top: 0; }

/* действия и оговорка */
.lsi-acts { display: flex; justify-content: space-between; align-items: center; gap: var(--space-md); flex-wrap: wrap; padding: var(--space-lg) var(--space-xl); border-top: 1px solid var(--border); }
.lsi-acts-l, .lsi-acts-r { display: flex; gap: var(--space-sm); flex-wrap: wrap; align-items: center; }
.lsi-acts .btn, .sem-run-acts .lsi-csv { min-height: 40px; display: inline-flex; align-items: center; gap: var(--space-2xs); text-decoration: none; }
.lsi-acts [hidden] { display: none; }
.lsi-acts-n { font-size: var(--fs-sm); color: var(--text-dim); }
.lsi-acts-n b { color: var(--text); font-variant-numeric: tabular-nums; }
.lsi-copy { display: inline-flex; border-radius: var(--radius-sm); }
.lsi-copy .btn:first-child { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.lsi-copy .btn:last-child { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: 1px; }
.lsi-csv.is-locked { color: var(--text-dim); }
.lsi-disclaimer { margin: var(--space-lg) 0 0; font-size: var(--fs-sm); color: var(--text-muted); line-height: 1.55; max-width: 860px; }

/* сайты */
.lsi-sites-card { margin-top: var(--space-xl); }
.lsi-sites-h { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-md); flex-wrap: wrap; padding: var(--space-lg) var(--space-xl); border-bottom: 1px solid var(--border); }
.lsi-sites-h .sem-run-meta { display: block; line-height: 1.5; }
.lsi-sites td { vertical-align: middle; font-size: var(--fs-sm); }
.lsi-sites th { white-space: nowrap; }
.lsi-pos { font-variant-numeric: tabular-nums; color: var(--text-muted); width: 72px; white-space: nowrap; }
.lsi-dom { font-weight: 600; color: var(--text); overflow-wrap: anywhere; }
.lsi-dom a { color: inherit; text-decoration: none; }
.lsi-dom a:hover { color: var(--accent); text-decoration: underline; }
.lsi-p2 { display: inline-flex; margin-left: var(--space-xs); font-size: var(--fs-xs); font-weight: 500; padding: 0 var(--space-xs); border-radius: var(--radius-xs); background: var(--accent-glow); color: var(--text); vertical-align: middle; white-space: nowrap; }
.lsi-dom-s { display: block; font-size: var(--fs-xs); color: var(--text-muted); font-weight: 400; margin-top: 2px; max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lsi-st { display: inline-flex; align-items: center; gap: var(--space-2xs); }
.lsi-st--ok { color: var(--text); }
.lsi-st--ok svg { color: var(--accent); }
.lsi-st--fail { color: var(--text); }
.lsi-st--fail svg { color: var(--yellow); }
.lsi-st--off { color: var(--text-muted); }
.lsi-sites tr.lsi-off td { color: var(--text-muted); }
.lsi-sites tr.lsi-off .lsi-dom { color: var(--text-dim); }
.lsi-switch { position: relative; display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; cursor: pointer; }
.lsi-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lsi-switch i { width: 34px; height: 20px; border-radius: 9999px; background: var(--bg-input); border: 1px solid var(--border-hover); position: relative; transition: background var(--dur-fast); }
.lsi-switch i::after { content: ''; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--text-muted); transition: transform var(--dur-fast), background var(--dur-fast); }
.lsi-switch input:checked + i { background: var(--accent); border-color: var(--accent); }
.lsi-switch input:checked + i::after { transform: translateX(14px); background: var(--bg-card); }
.lsi-switch input:focus-visible + i { outline: 2px solid var(--accent); outline-offset: 2px; }
.lsi-switch input:disabled + i { opacity: .45; }
.lsi-switch.is-disabled { cursor: not-allowed; }
.lsi-scards { display: none; flex-direction: column; }
.lsi-scard { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2xs) var(--space-sm); align-items: center; padding: var(--space-md) var(--space-lg); border-bottom: 1px solid var(--border); font-size: var(--fs-sm); }
.lsi-scard.lsi-off .lsi-dom { color: var(--text-dim); }
.lsi-scard-l2 { grid-column: 1; color: var(--text-dim); font-size: var(--fs-xs); display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-sm); align-items: center; }
.lsi-scard-pos { font-variant-numeric: tabular-nums; color: var(--text-muted); }
.lsi-scard .lsi-switch { grid-column: 2; grid-row: 1 / span 2; }
.lsi-sites-foot { padding: var(--space-md) var(--space-xl); font-size: var(--fs-sm); color: var(--text-dim); border-top: 1px solid var(--border); }
.lsi-sites-foot[hidden] { display: none; }
.lsi-busy { opacity: .6; pointer-events: none; }

/* история */
.lsi-hist-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--border); border-radius: var(--radius); }
.lsi-hist-list li + li { border-top: 1px solid var(--border); }
.lsi-hist-i { display: grid; grid-template-columns: 140px minmax(0, 1fr) auto; align-items: center; gap: var(--space-md); width: 100%; min-height: 52px; padding: var(--space-sm) var(--space-lg); background: none; border: 0; color: var(--text); font: inherit; text-align: left; cursor: pointer; }
.lsi-hist-i:hover { background: var(--bg-card-hover); }
.lsi-hist-i:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.lsi-hist-d { font-size: var(--fs-sm); color: var(--text-dim); }
.lsi-hist-s { font-size: var(--fs-md); overflow-wrap: anywhere; }
.lsi-hist-v { display: inline-flex; gap: var(--space-md); flex-wrap: wrap; justify-content: flex-end; align-items: center; font-size: var(--fs-sm); color: var(--text-dim); font-variant-numeric: tabular-nums; }
.lsi-hist { margin-bottom: var(--space-2xl); }
.lsi-hist-foot { display: flex; justify-content: center; }
.lsi-hist-foot [hidden] { display: none; }

/* SEO-текст */
.tool-guide .lsi-steps-guide { list-style: none; counter-reset: lsi-step; padding: 0; margin: 0 0 var(--space-lg); }
.tool-guide .lsi-steps-guide li { counter-increment: lsi-step; padding-left: var(--space-2xl); margin-bottom: var(--space-sm); }
.tool-guide .lsi-steps-guide li::before { content: counter(lsi-step); left: 0; top: 0; width: var(--space-xl); height: var(--space-xl); border-radius: 50%; background: var(--accent-glow); color: var(--accent); font-size: var(--fs-sm); line-height: var(--space-xl); text-align: center; }

@media (max-width: 1024px) {
  .lsi-words .lsi-hide-t { display: none; }
}
@media (max-width: 768px) {
  .lsi-page .tool-input-card { padding: var(--space-lg); }
  .lsi-kpis { grid-template-columns: minmax(0, 1fr); }
  .lsi-kpis .pos-kpi { border-right: none; border-bottom: 1px solid var(--border); padding: var(--space-md) var(--space-lg); }
  .lsi-kpis .pos-kpi:last-child { border-bottom: none; }
  .lsi-notes-i, .lsi-clusters { margin: var(--space-md) var(--space-lg) 0; }
  .lsi-tb { padding: var(--space-md) var(--space-lg); gap: var(--space-sm); }
  .lsi-tb-left, .lsi-search { flex: 1 1 100%; }
  .lsi-search { min-width: 0; }
  .lsi-block, .lsi-acts, .lsi-sites-h, .lsi-sites-foot, .lsi-choice, .lsi-run-err { padding-left: var(--space-lg); padding-right: var(--space-lg); }
  .lsi-fold > summary { padding: var(--space-md) var(--space-lg); }
  .lsi-fold-body { padding: 0 var(--space-lg) var(--space-lg); }
  .lsi-fold-hint { padding-left: 0; }
  .lsi-acts-l, .lsi-acts-r { width: 100%; }
  .lsi-acts .btn { min-height: 44px; flex: 1 1 auto; justify-content: center; }
  .lsi-copy { width: 100%; }
  .lsi-copy .btn { flex: 1 1 0; min-width: 0; }
  .lsi-own-tabs { align-self: stretch; }
  .lsi-own-tabs .pos-seg-btn { flex: 1; min-height: 44px; }
  .lsi-eng .pos-seg-btn { min-height: 44px; }
  .lsi-run-foot .btn, .lsi-choice-acts .btn { width: 100%; justify-content: center; white-space: normal; text-align: center; height: auto; }
  #lsi-csv-bottom { display: contents; }
  .lsi-tabs { display: flex; }
  .lsi-hist-i { grid-template-columns: minmax(0, 1fr); gap: var(--space-2xs); }
  .lsi-hist-v { justify-content: flex-start; }
}
@media (max-width: 640px) {
  .lsi-words-wrap, .lsi-sites-wrap { display: none; }
  .lsi-wcards, .lsi-scards { display: flex; }
  .lsi-wchip { min-height: 44px; }
  .lsi-filters .pos-chip, .lsi-clusters .pos-chip, .lsi-toggles .pos-check-line { min-height: 44px; }
  .lsi-own-row { flex-wrap: wrap; }
  .lsi-sites-h .sem-run-meta { font-size: var(--fs-sm); }
}
@media (max-width: 400px) {
  .lsi-wcard-ru { display: none; }
}
