/* Compact concept flow: registered incoming edges → node → outgoing edges. */
.node-diagram{margin:0 0 1.15rem;padding:1rem;border:1px solid rgba(196,174,143,.42);border-radius:3px;background:#102D46;color:#F6F3ED;box-shadow:0 8px 28px rgba(0,0,0,.12)}
.nd-title{font:800 clamp(1rem,1.7vw,1.2rem)/1.25 Manrope,'Source Sans 3',Arial,sans-serif;margin:0 0 .2rem;color:#F6F3ED}
.nd-counts{font-size:.85rem;color:#DCEAF3;margin:0 0 .8rem}
.nd-flow{display:grid;grid-template-columns:minmax(0,1fr) 1.8rem minmax(8.5rem,.72fr) 1.8rem minmax(0,1fr);gap:.35rem;align-items:stretch}
.nd-side,.nd-current{min-width:0;border-radius:3px;padding:.7rem .8rem}
.nd-side{background:#193b56;border:1px solid #3d6581}
.nd-current{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#DCEAF3;border:2px solid #C4AE8F;color:#102D46}
.nd-side-title{font-size:.77rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .5rem;color:#F6F3ED}
.nd-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.nd-link{display:block;width:100%;min-height:48px;text-align:left;border:1px solid #668ba5;background:#24516f;color:#fff;border-radius:3px;padding:.5rem .65rem;cursor:pointer;font:inherit}
.nd-link:hover{background:#2766A4;border-color:#DCEAF3}
.nd-link:focus-visible{outline:3px solid #C4AE8F;outline-offset:2px}
.nd-link:disabled{opacity:.55;cursor:not-allowed}
.nd-link strong{display:block;font-size:.8rem;line-height:1.3;overflow-wrap:anywhere}
.nd-link small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:#DCEAF3;font-size:.7rem;line-height:1.35;margin-top:.18rem;overflow-wrap:anywhere}
.nd-arrow{align-self:center;justify-self:center;color:#C4AE8F;font-size:1.55rem;font-weight:800}
.nd-arrow::before{content:'→'}
.nd-current-kicker{font-size:.67rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#516674}
.nd-current-name{font-size:.87rem;line-height:1.25;margin-top:.3rem;overflow-wrap:anywhere}
.nd-empty,.nd-more{font-size:.72rem;line-height:1.4;color:#DCEAF3;margin:.25rem 0 0}
.nd-caveat{font-size:.74rem;line-height:1.45;color:#DCEAF3;margin:.8rem 0 0}
@media(max-width:820px){.nd-flow{grid-template-columns:minmax(0,1fr);gap:.4rem}.nd-arrow::before{content:'↓'}.nd-side,.nd-current{padding:.6rem}.nd-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}.nd-link{padding:.4rem .55rem}.nd-link strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.nd-link small{-webkit-line-clamp:1}}
@media(max-width:420px){.node-diagram{padding:.75rem}.nd-list{grid-template-columns:1fr}}
