/* Материалы, параллельная генерация и контроль перед публикацией. */
.generative-demo .capability-controls { margin-bottom: 24px; padding-bottom: 0; border-bottom: 0; }
.generative-demo .capability-controls label { flex-basis: 100%; }
.generative-graph { position: relative; padding: 4px 30px; }
.generative-links { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.generative-links > path { stroke: #acc5c0; stroke-width: 1.6; fill: none; }
.generative-links > path.is-used { stroke: var(--color-teal); stroke-width: 2.5; }
.generative-links > path.is-current { stroke: var(--color-blue); stroke-width: 2.5; }
.generative-links > path[data-edge="correction:check"] { stroke-dasharray: 5 4; }
.generative-nodes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 44px 26px; }
.generative-node { border-width: 2px; padding: 16px; box-shadow: none; justify-content: flex-start; }
.generative-node[data-node] { grid-area: auto; }
.generative-node.is-current { padding: 16px; }
.generative-node h4 { margin: 0 0 8px; font-size: 14px; line-height: 1.5; }
.generative-node > p { font-size: 12px; line-height: 1.6; margin: 0 0 12px; color: var(--color-text-secondary); }
.generative-node--check { background: #f0f6fd; border-color: #b7cee9; }
.generative-node[data-node=check], .generative-node[data-node=history], .generative-node[data-node=stop] { grid-column: 1 / -1; }
.generative-demo[data-scenario-id=A] [data-node=publish] { grid-column: 1 / -1; }
.generative-demo[data-scenario-id=A] [data-node=correction], .generative-demo[data-scenario-id=A] [data-node=stop] { display: none; }
.generative-demo[data-scenario-id=B] [data-node=stop] { display: none; }
.generative-demo[data-scenario-id=C] [data-node=text], .generative-demo[data-scenario-id=C] [data-node=image], .generative-demo[data-scenario-id=C] [data-node=check], .generative-demo[data-scenario-id=C] [data-node=publish], .generative-demo[data-scenario-id=C] [data-node=correction] { display: none; }
.generative-materials { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; padding: 0; gap: 6px; margin: 0 0 12px; }
.generative-materials li { font-size: 10px; line-height: 1.6; padding: 4px; border: 1px solid #cde4df; border-radius: 5px; background: #f4faf8; overflow-wrap: anywhere; }
.generative-materials li span { color: var(--color-teal); font-weight: 700; }
.generative-materials li.is-waiting { opacity: .18; }
.generative-materials li.is-duplicate { opacity: .35; border-style: dashed; }
.generative-materials li.is-rejected { opacity: .35; text-decoration: line-through; }
.generative-materials li.is-selected { border-color: var(--color-teal); background: #dcf1eb; }
.generative-counts { margin: 0 0 12px; display: grid; gap: 6px; }
.generative-counts div { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; }
.generative-counts dd { margin: 0; font-weight: 700; color: var(--color-teal); }
.generative-number b { font-size: 20px; color: var(--color-teal); }
.generative-stories { margin: 0 0 12px; padding-left: 20px; min-height: 150px; }
.generative-stories li { font-size: 13px; line-height: 1.7; min-height: 3.4em; margin-bottom: 8px; }
.generative-stories li.is-error { color: var(--color-blue); background: #edf4fd; }
.generative-stories li.is-corrected { color: var(--color-teal); background: #e5f5ee; }
.generative-art { display: block; width: 100%; height: auto; }
.generative-image { min-height: 150px; margin-bottom: 12px; display: flex; align-items: center; }
.generative-demo[data-state]:not([data-state=static]) .generative-image .generative-art { opacity: var(--image-progress,0); }
.generative-checks { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 6px; }
.generative-checks li { font-size: 12px; line-height: 1.6; }
.generative-checks li::before { content: '○'; margin-right: 8px; color: #72908b; }
.generative-checks li.is-passed::before { content: '✓'; color: var(--color-teal); }
.generative-checks li.is-failed::before { content: '!'; color: var(--color-blue); }
.generative-checks li.is-failed { color: var(--color-blue); }
.generative-event-checks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; list-style: none; padding: 0; margin: 14px 0; }
.generative-event-checks li { min-width: 0; padding: 12px; border: 1px solid #c8dcec; border-radius: 8px; background: #fff; }
.generative-event-checks strong { font-size: 12px; }
.generative-event-checks p { font-size: 12px; line-height: 1.6; margin: 8px 0 0; min-height: 8em; }
.generative-event-checks .generative-event-status { min-height: 4.8em; font-weight: 650; color: var(--color-text-secondary); }
.generative-event-checks [data-check-state=failed] { background: #edf4fd; border-color: #8db2df; }
.generative-event-checks [data-check-state=failed] .generative-event-status { color: var(--color-blue); }
.generative-event-checks [data-check-state=passed] { border-color: var(--color-line-teal); }
.generative-event-checks [data-check-state=passed] .generative-event-status { color: var(--color-teal); }
.generative-event-checks [data-check-state=recheck] .generative-event-status, .generative-event-checks [data-check-state=checking] .generative-event-status { color: var(--color-blue); }
.generative-node [data-brief] { min-height: 4.8em; }
.generative-node .generative-decision { min-height: 4.8em; margin: 0; font-weight: 700; color: var(--color-blue); }
.generative-post { display: grid; grid-template-columns: minmax(85px, .5fr) minmax(0,1fr); gap: 14px; min-height: 210px; padding: 12px; border: 1px solid var(--color-line); border-radius: 10px; background: #fff; }
.generative-post h5 { font-size: 14px; margin: 0 0 10px; }
.generative-post ol { padding-left: 18px; margin: 0; }
.generative-post li { font-size: 12px; line-height: 1.6; margin-bottom: 10px; }
.generative-post small { display: block; font-size: 10px; color: var(--color-text-secondary); }
.generative-demo[data-state]:not([data-state=static]) .generative-post { opacity: .25; }
.generative-demo[data-preview=ready] .generative-post { opacity: 1 !important; }
.generative-node .generative-caption { font-size: 11px; margin: 10px 0 0; }
.generative-node .generative-publication { font-weight: 700; color: var(--color-teal); margin: 10px 0 0; min-height: 3.2em; }
.generative-history { display: grid; gap: 10px; margin: 0; }
.generative-history div { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 12px; font-size: 12px; line-height: 1.7; }
.generative-history dt { color: var(--color-text-secondary); }
.generative-history dd { margin: 0; min-height: 3.4em; overflow-wrap: anywhere; }
.generative-demo .capability-status { margin-top: 24px; min-height: 160px; }
@media (max-width: 760px) {
  .generative-graph { padding: 4px 28px; }
  .generative-nodes { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .generative-node[data-node] { grid-column: 1; padding: 12px; }
  .generative-node h4 { font-size: 13px; }
  .generative-event-checks { grid-template-columns: minmax(0,1fr); }
  .generative-event-checks p { min-height: 9.6em; }
  .generative-node .generative-decision { min-height: 9.6em; }
  .generative-stories li { min-height: 6.8em; }
  .generative-node .generative-publication { min-height: 6.4em; }
  .generative-node [data-brief] { min-height: 8em; }
  .generative-node [data-correction] { min-height: 9.6em; }
  .generative-history dd { min-height: 3.4em; }
  .generative-history [data-history] { min-height: 10.2em; }
  .generative-post { grid-template-columns: minmax(0,1fr); min-height: 360px; }
  .generative-post .generative-art { max-width: 220px; margin: auto; }
  .generative-history div { grid-template-columns: minmax(0,1fr); gap: 2px; }
  .generative-demo .capability-status { min-height: 230px; }
}
