/* Страница графа заново (/zanovo/<slug>/): свои стили, чтобы автовыкладка страницы не трогала общий base.css. */
.zg-stage { position: relative; height: min(78vh, 900px); min-height: 460px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--bg); overflow: hidden; }
.zg-tip { position: absolute; z-index: 3; width: min(330px, calc(100% - 16px)); padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 10px; background: color-mix(in srgb, var(--surface) 96%, transparent); box-shadow: 0 10px 30px rgba(0, 0, 0, .4); font-size: 13px; line-height: 1.4; pointer-events: none; }
.zg-tip[hidden] { display: none; }
.zg-tip ul { margin: 6px 0 0 16px; padding: 0; color: var(--muted); }
.zg-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.zg-head .stage-goal { margin: 0; flex: 1 1 420px; }
.dv-node.dv-debt { border-left: 3px dashed var(--warn); }
.dv-node.dv-frame { border-left: 5px solid var(--accent, #36c); background: color-mix(in srgb, var(--accent, #36c) 6%, transparent); }
.zg-btns { display: inline-flex; gap: 8px; }
.zg-toc-sub { padding-left: 14px; font-size: 0.95em; }
.zg-layer { position: absolute; inset: 18px; z-index: 4; display: flex; flex-direction: column; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--bg); box-shadow: 0 16px 40px rgba(0, 0, 0, .5); }
.zg-layer[hidden] { display: none; }
.zg-layer-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; border-bottom: 1px solid var(--line-strong); }
.zg-layer-head b { font-size: 15px; }
.zg-layer-canvas { position: relative; flex: 1; min-height: 0; }
.zg-stage .dvg-info { z-index: 6; }
.dv-node.dv-exp { border-left: 3px solid var(--ink); }
.gl-line.is-agree { height: 0; border-top: 2px dotted var(--warn); background: none; }
.dv-terms { margin: .35rem 0 .5rem; padding-left: 1.1rem; }
.dv-terms li { margin: .2rem 0; color: var(--ink-2, var(--ink)); }

.zg-verdict { margin-top: 14px; padding: 12px 16px; border: 1px solid var(--line-strong); border-left: 4px solid var(--accent); border-radius: 12px; background: var(--surface); }
.zg-verdict .card-theory { margin: 6px 0; }
.zg-verdict .zg-verdict-title { margin: 0 0 4px; font-size: 1.15em; font-weight: 700; }
