/* tools/tz-copywriter.css — «ТЗ для копирайтера» (/tools-pro/tz-copywriter/, мастер и редактор, /tz/<token>/).
   Форма, смета, вкладки — как у LSI (positions.css: pos-*, semantics.css: sem-*), общие компоненты — text-analysis.css.
   Только токены base.css; тёмная по умолчанию, светлая — html.light. Без inline-стилей. */

.tz-page [hidden] { display: none; }

/* ── шапка ── */
.tool-page.tz-page { padding-top: var(--space-xl); }
.tz-page .tool-breadcrumb { gap: var(--space-xs); margin-bottom: var(--space-sm); font-size: var(--fs-sm); flex-wrap: wrap; }
.tz-page .tool-hero { margin-bottom: var(--space-lg); }
.tz-page .tool-hero h1 { margin: 0; font-size: calc(var(--fs-base) + 9px); line-height: 1.2; }
.tz-page .tool-subtitle { margin-top: var(--space-2xs); font-size: var(--fs-md); line-height: 1.5; max-width: 860px; }
.tz-tabs { margin-bottom: var(--space-xl); flex-wrap: wrap; }

/* ── форма ── */
.tz-page .tool-input-card { padding: var(--space-xl); }
.tz-keys { min-height: 110px; }
.tz-seg { display: flex; flex-wrap: nowrap; }
.tz-seg .pos-seg-btn { flex: 1 1 0; min-width: 0; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2xs); padding-left: var(--space-xs); padding-right: var(--space-xs); }
.tz-region { position: relative; }
.tz-region .pos-ac-list { position: absolute; left: 0; right: 0; z-index: 20; }
.tz-more .form-group { margin-top: var(--space-md); }
.tz-more .form-input { width: 100%; box-sizing: border-box; }
.tz-calc { margin-top: var(--space-xl); }
.tz-quota { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-lg); font-size: var(--fs-sm); color: var(--text-dim); }
.tz-quota b { color: var(--text); font-weight: 600; font-variant-numeric: tabular-nums; }
.tz-captcha:empty { display: none; }
.tz-dlg-body p { margin: 0 0 var(--space-sm); font-size: var(--fs-md); color: var(--text-dim); line-height: 1.55; }
.tz-dlg-act { flex-direction: column; }
.tz-dlg-act .tool-btn, .tz-dlg-act .ta-btn-ghost { width: 100%; }

/* ── лендинг: блоки под формой ── */
.tz-hist, .tz-what, .tz-trust { margin-top: var(--space-xl); }
.tz-hist-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-xs); }
.tz-hist-i { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-md); padding: var(--space-sm) var(--space-md); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-card); }
.tz-hist-i a { color: var(--text); font-weight: 600; text-decoration: none; flex: 1 1 220px; min-width: 0; overflow-wrap: anywhere; }
.tz-hist-i a:hover { color: var(--accent); }
.tz-what-list { margin: 0; padding-left: var(--space-xl); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm) var(--space-xl); color: var(--text-dim); line-height: 1.5; }
.tz-what-list b { color: var(--text); }
.tz-trust-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); }
.tz-trust-list li { display: flex; gap: var(--space-sm); padding: var(--space-lg); border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-card); color: var(--text-dim); line-height: 1.5; }
.tz-trust-list svg { flex: 0 0 auto; color: var(--accent); margin-top: 2px; }
.tool-guide .tz-steps-guide { list-style: none; counter-reset: tz-step; padding: 0; margin: 0 0 var(--space-lg); line-height: 1.6; }
.tool-guide .tz-steps-guide li { counter-increment: tz-step; padding-left: var(--space-2xl); margin-bottom: var(--space-sm); }
.tool-guide .tz-steps-guide li::before { content: counter(tz-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; }

/* ── мастер и редактор ── */
.tz-editor { max-width: 1100px; margin: 0 auto; padding-left: var(--space-lg); padding-right: var(--space-lg); padding-bottom: 120px; }
.tz-top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-md); margin-bottom: var(--space-md); }
.tz-top h1 { margin: 0; font-family: var(--font-heading); font-size: calc(var(--fs-base) + 9px); line-height: 1.25; overflow-wrap: anywhere; }
.tz-sub { margin: var(--space-2xs) 0 0; color: var(--text-dim); font-size: var(--fs-md); }
.tz-status { flex: 0 0 auto; white-space: nowrap; }
.tz-steps { list-style: none; margin: 0 0 var(--space-lg); padding: 0; display: flex; gap: var(--space-sm); flex-wrap: wrap; }
.tz-steps li { display: inline-flex; align-items: center; gap: var(--space-xs); padding: var(--space-xs) var(--space-md); border: 1px solid var(--border); border-radius: 9999px; color: var(--text-dim); font-size: var(--fs-sm); }
.tz-steps li.is-cur { border-color: var(--accent); color: var(--text); }
.tz-steps li.is-done { color: var(--text); }
.tz-step-n { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--bg-input); font-weight: 700; font-size: var(--fs-xs); }
.tz-steps li.is-cur .tz-step-n, .tz-steps li.is-done .tz-step-n { background: var(--accent); color: var(--bg); }

.tz-editor > .card, .tz-blocks > .card { padding: var(--space-lg) var(--space-xl); margin-bottom: var(--space-lg); }
.tz-editor .card h2 { margin: 0 0 var(--space-md); font-family: var(--font-heading); font-size: calc(var(--fs-base) + 3px); display: flex; align-items: center; gap: var(--space-xs); flex-wrap: wrap; }
.tz-card-h { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); flex-wrap: wrap; }
.tz-card-h h2 { margin-bottom: var(--space-xs); }
.tz-card-acts { display: flex; gap: var(--space-xs); flex-wrap: wrap; }
.tz-wait .ta-progress { margin-top: 0; }
.tz-wait-acts, .tz-fail-acts, .tz-gate-acts { display: flex; gap: var(--space-sm); flex-wrap: wrap; margin-top: var(--space-md); }
.tz-fail h2 svg { color: var(--yellow); }

.tz-gate-row { display: flex; gap: var(--space-sm); align-items: flex-start; padding: var(--space-sm) 0; border-bottom: 1px solid var(--border); line-height: 1.5; }
.tz-gate-row:last-child { border-bottom: 0; }
.tz-gate-texts .ta-alert { margin: var(--space-sm) 0 0; }
.tz-gate-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); margin-top: var(--space-lg); }
.tz-gate-form .tz-seg { max-width: 320px; }
.tz-gate-checks { display: flex; gap: var(--space-md); flex-wrap: wrap; min-height: 40px; align-items: center; }

.tz-mode-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); flex-wrap: wrap; margin-bottom: var(--space-lg); }

/* «Требует внимания» */
.tz-attn { border-color: color-mix(in srgb, var(--yellow) 40%, var(--border)); }
.tz-attn h3 { margin: var(--space-sm) 0 var(--space-xs); font-size: var(--fs-md); }
.tz-attn ul { list-style: none; margin: 0; padding: 0; }
.tz-attn li { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); flex-wrap: wrap; padding: var(--space-xs) 0; border-bottom: 1px solid var(--border); line-height: 1.45; }
.tz-attn li:last-child { border-bottom: 0; }
.tz-attn-acts { display: flex; gap: var(--space-xs); flex-wrap: wrap; }
.tz-attn-n { color: var(--text-dim); font-weight: 500; }

/* конкуренты */
.tz-comps-wrap { max-width: 100%; }
.tz-comps-table td, .tz-comps-table th { vertical-align: top; }
.tz-comps-table tr.is-off td { color: var(--text-dim); }
.tz-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tz-host a { color: var(--text); font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.tz-host a:hover { color: var(--accent); }
.tz-ttl { display: block; color: var(--text-dim); font-size: var(--fs-sm); max-width: 380px; overflow-wrap: anywhere; }
.tz-addurl { margin-top: var(--space-md); }
.tz-addurl-row { display: flex; gap: var(--space-sm); }
.tz-addurl-row .form-input { flex: 1 1 auto; min-width: 0; }

/* блоки редактора */
.tz-block .sem-help { margin: 0 0 var(--space-sm); }
.tz-rows { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-xs); }
.tz-row { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-xs) var(--space-sm); }
.tz-row > .form-input, .tz-row > .tz-req-ta { flex: 1 1 260px; min-width: 0; }
.tz-row-h { margin-top: var(--space-md); font-weight: 700; color: var(--text); }
.tz-row-h:first-child { margin-top: 0; }
.tz-req-ta { resize: vertical; min-height: 44px; }
.tz-lvl3 { padding-left: var(--space-xl); }
.tz-row > .tz-lvl-sel { flex: 0 0 84px; width: 84px; }
.tz-row-btns { display: inline-flex; gap: 2px; }
.tz-row-btns .ta-link-btn { min-width: 36px; justify-content: center; }
.tz-note, .tz-warn { flex: 1 0 100%; font-size: var(--fs-sm); }
.tz-warn { color: var(--yellow); }
html.light .tz-warn { color: color-mix(in srgb, var(--yellow) 65%, var(--text)); }
.tz-main { display: inline-flex; align-items: center; gap: var(--space-2xs); font-size: var(--fs-sm); color: var(--text-dim); min-height: 44px; }
.tz-add { display: flex; gap: var(--space-sm); margin-top: var(--space-sm); }
.tz-add .form-input { flex: 1 1 auto; min-width: 0; }
.tz-big { margin: 0 0 var(--space-sm); font-size: var(--fs-xl); font-weight: 700; }
.tz-vol { display: flex; gap: var(--space-sm); align-items: flex-end; flex-wrap: wrap; }
.tz-vol label, .tz-checks label { display: flex; flex-direction: column; gap: var(--space-2xs); font-size: var(--fs-sm); color: var(--text-dim); }
.tz-vol .form-input { width: 130px; }
.tz-checks { display: flex; gap: var(--space-md); flex-wrap: wrap; margin-top: var(--space-md); }
.tz-checks .form-input { width: 110px; }
.tz-det { flex: 1 0 100%; margin-top: var(--space-2xs); font-size: var(--fs-sm); color: var(--text-dim); }
.tz-det summary { cursor: pointer; min-height: 32px; display: inline-flex; align-items: center; }
.tz-plain { margin: var(--space-2xs) 0 0; padding-left: var(--space-lg); }
.tz-sub-h { margin: var(--space-lg) 0 var(--space-sm); font-size: var(--fs-md); }
.tz-chips { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.tz-chip { display: inline-flex; align-items: center; border: 1px solid var(--border); border-radius: 9999px; background: var(--bg-input); }
.tz-chip button { background: none; border: 0; color: var(--text); font: inherit; cursor: pointer; min-height: 36px; }
.tz-chip-t { padding: 0 var(--space-md) 0 var(--space-2xs); }
.tz-chip .tz-star { padding: 0 var(--space-2xs) 0 var(--space-sm); color: var(--text-muted); }
.tz-chip.is-req { border-color: var(--accent); }
.tz-chip.is-req .tz-star { color: var(--accent); }
.tz-chip .tz-star:hover { color: var(--accent); }
.tz-chip.is-req .tz-chip-t { font-weight: 700; }
.tz-chip.is-off { opacity: 0.55; }
.tz-chip.is-off .tz-chip-t { text-decoration: line-through; }
.tz-chip button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; border-radius: 9999px; }
.tz-link-url { font-size: var(--fs-sm); color: var(--text-dim); overflow-wrap: anywhere; flex: 1 0 100%; }
.tz-own p { margin: 0 0 var(--space-xs); }

/* липкая панель действий */
.tz-actbar { position: sticky; bottom: 0; z-index: var(--z-sticky); margin-top: var(--space-lg); padding: var(--space-sm) var(--space-md); border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-card); box-shadow: var(--shadow-md); }
.tz-actbar-in { display: flex; gap: var(--space-sm); flex-wrap: wrap; align-items: center; }
.tz-actbar-msg { margin: var(--space-2xs) 0 0; font-size: var(--fs-sm); color: var(--text-dim); overflow-wrap: anywhere; }
.tz-actbar-msg:empty { display: none; }

/* проверка текста */
.tz-chk-tabs { margin-bottom: var(--space-sm); flex-wrap: wrap; }
.tz-chk-ta { width: 100%; min-height: 180px; box-sizing: border-box; resize: vertical; }
.tz-chk-pane .form-input { width: 100%; box-sizing: border-box; }
.tz-chk-file { display: flex; align-items: center; gap: var(--space-sm); min-height: 44px; flex-wrap: wrap; color: var(--text-dim); }
.tz-chk-acts { display: flex; align-items: center; gap: var(--space-md); flex-wrap: wrap; margin-top: var(--space-sm); }
.tz-chk-note { margin: 0; }
.tz-chk-out { margin-top: var(--space-lg); }
.tz-chk-sum { font-size: var(--fs-lg); margin-bottom: var(--space-sm); }
.tz-chk-list, .tz-chk-secs { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-xs); }
.tz-chk-list li, .tz-chk-secs li { display: flex; gap: var(--space-xs); align-items: baseline; flex-wrap: wrap; line-height: 1.45; }
.tz-chk-h { margin: var(--space-lg) 0 var(--space-sm); font-size: var(--fs-md); }

/* документ ТЗ */
.tz-doc-card { padding: var(--space-xl); }
.tz-doc-title { margin: 0 0 var(--space-sm); font-family: var(--font-heading); font-size: calc(var(--fs-base) + 7px); overflow-wrap: anywhere; }
.tz-doc-draft { margin: 0 0 var(--space-sm); color: var(--text-dim); font-size: var(--fs-sm); }
.tz-doc-meta { list-style: none; margin: 0; padding: 0; color: var(--text-dim); font-size: var(--fs-sm); line-height: 1.6; }
.tz-doc-note { margin: var(--space-sm) 0 0; color: var(--text-dim); font-size: var(--fs-sm); }
.tz-doc-sec { margin-top: var(--space-xl); }
.tz-doc-sec h3 { margin: 0 0 var(--space-sm); font-family: var(--font-heading); font-size: calc(var(--fs-base) + 2px); }
.tz-doc-intro { margin: 0 0 var(--space-sm); color: var(--text-dim); }
.tz-doc-list { margin: 0; padding-left: var(--space-xl); line-height: 1.6; }
.tz-doc-list li { overflow-wrap: anywhere; }
.tz-doc-l1 { margin-left: var(--space-lg); }
.tz-doc-l2 { margin-left: calc(var(--space-lg) * 2); }
.tz-doc-b { font-weight: 700; }
.tz-doc-n { color: var(--text-dim); font-weight: 400; }
.tz-doc-list a { color: var(--accent); }

/* ссылка копирайтера */
.tz-public { max-width: 900px; margin: 0 auto; padding-left: var(--space-lg); padding-right: var(--space-lg); padding-bottom: var(--space-2xl); }
.tz-pub-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); flex-wrap: wrap; margin-bottom: var(--space-md); }
.tz-pub-upd { margin: 0; color: var(--text-dim); font-size: var(--fs-sm); }
.tz-pub-acts { display: flex; gap: var(--space-sm); flex-wrap: wrap; }
.tz-public .card { margin-bottom: var(--space-lg); }
.tz-public .tz-check { padding: var(--space-xl); }
.tz-public .tz-check h2 { margin-top: 0; }
.tz-empty { padding: var(--space-xl); }

@media (max-width: 900px) {
  .tz-what-list, .tz-trust-list { grid-template-columns: 1fr; }
  .tz-gate-form { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .tz-page .tool-input-card { padding: var(--space-lg); }
  .tz-editor, .tz-public { padding-left: var(--space-lg); padding-right: var(--space-lg); }
  .tz-editor > .card, .tz-blocks > .card, .tz-doc-card, .tz-public .tz-check { padding: var(--space-md); }
  .tz-top { flex-direction: column; }
  .tz-actbar { padding: var(--space-xs); }
  .tz-actbar-in { gap: var(--space-xs); }
  .tz-actbar-in .btn { flex: 1 1 auto; padding: 6px 10px; font-size: var(--fs-sm); }
  .tz-comps-table th:nth-child(4), .tz-comps-table td:nth-child(4) { display: none; }
  .tz-ttl { max-width: 200px; }
  .tz-addurl-row, .tz-add { flex-direction: column; }
  .tz-what-list { padding-left: var(--space-lg); }
}

@media print {
  .site-header, header, footer, .tz-steps, .tz-mode-bar, .tz-attn, .tz-comps, .tz-check, .tz-actbar, .tool-breadcrumb, .tz-top .badge, .tz-pub-bar { display: none !important; }
  .tz-doc-card { border: 0; box-shadow: none; padding: 0; }
}
.tz-fair { color: var(--yellow); }
html.light .tz-fair { color: color-mix(in srgb, var(--yellow) 65%, var(--text)); }
