/* Keep diagram coordinates and pointer endpoints in the same unscaled system. */
.chapter14 .tree-viewport { width:100%; max-width:100%; overflow:auto; padding:0; border:1px solid #c6d8e3; border-radius:10px; background:#fcfdff; }
.chapter14 .tree-viewport svg { display:block; max-width:none; margin-inline:auto; font-family:var(--mono); }
.chapter14 .tree-node-label { fill:#46536b; font:500 13px var(--mono); }
.chapter14 .tree-key { text-anchor:middle; dominant-baseline:middle; fill:#101c33; font:600 16px var(--mono); }
.chapter14 .tree-record { text-anchor:middle; dominant-baseline:middle; fill:#46536b; font:13px var(--mono); }
.chapter14 .tree-pointer { text-anchor:middle; fill:#075968; font:12px var(--mono); }
.chapter14 .tree-next { text-anchor:middle; dominant-baseline:middle; fill:#6d4cc3; font:13px var(--mono); }
.chapter14 .diagram-help { margin:8px 0!important; color:#526078; font-size:13px; line-height:1.5; }
.chapter14 .diagram-legend { display:flex; flex-wrap:wrap; gap:8px 20px; margin:12px 0 8px; font-size:13px; color:#46536b; }
.chapter14 .legend-child { color:#075968; }
.chapter14 .legend-next { color:#6d4cc3; }
.chapter14 .tree-text { white-space:pre; font:13px/1.9 var(--mono); overflow:auto; padding:12px; background:#f1f5f9; border-radius:8px; }
.chapter14 .lab-head h3 { margin-top:0; }
.chapter14 .lab-head p { margin-bottom:0; }
.chapter14 .section a, .chapter14 .references a { text-decoration:underline; text-underline-offset:3px; }
.chapter14 .references { margin-top:36px; padding:20px; background:#fff; border:1px solid var(--line); border-radius:10px; }
.chapter14 .references h2 { font-size:1.2rem; margin-bottom:14px; }
.chapter14 .references ul { margin-left:20px; }
.chapter14 .references li { margin-bottom:8px; }
.chapter14 .diagram-shell { margin-top:14px; }
@media print {
  .chapter14 .tree-viewport { overflow:visible; border:0; }
  .chapter14 .tree-viewport svg { max-width:100%; height:auto!important; }
  .chapter14 .diagram-help { display:none; }
}

.chapter14 .tree-viewport:not(.expanded) svg { width:100%!important; height:auto!important; }
.chapter14 .diagram-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:6px 0; }
.chapter14 .diagram-zoom { padding:7px 12px; flex-shrink:0; border:1px solid #a9c3cf; background:#fff; color:#075968; border-radius:7px; cursor:pointer; font:600 13px var(--display); }
@media(max-width:480px) { .chapter14 .diagram-toolbar { align-items:flex-start; } }
/* Keep floating navigation from covering the rightmost nodes on small screens. */
@media(max-width:1000px) { .chapter14 .top { display:none; } }
