/* Shared view controls. Fitting is optional, never the default on small screens. */
.diagram-view-tools { display:flex; justify-content:flex-end; align-items:center; margin:3px 0; min-height:28px; }
.academic-site .diagram-view-toggle { display:inline-flex; justify-content:center; align-items:center; flex:none; width:28px; height:28px; padding:5px; border:1px solid #dce3e8; border-radius:4px; background:#fff; color:#506d7e; box-shadow:none; cursor:pointer; }
.academic-site .diagram-view-toggle:hover { background:#eef3f6; color:#204e75; box-shadow:0 1px 2px #162e3b12; }
.academic-site .diagram-view-toggle[aria-pressed=true] { background:#eaf1f5; border-color:#97b0c0; color:#204e75; }
.academic-site .diagram-view-toggle:focus-visible { outline:1px solid #506d7e; outline-offset:2px; }
.academic-site .diagram-view-toggle svg { display:block; width:16px; height:16px; min-width:16px; margin:0; stroke-width:1.7; }
.academic-site .diagram-viewport[data-diagram-view=fit] { width:100%; max-width:100%; overflow-x:hidden; }
.academic-site .diagram-viewport[data-diagram-view=fit] > .diagram-fit-target:not(.diagram-fit-composite) {
  width:min(100%,var(--diagram-natural-width))!important; min-width:0!important; max-width:100%!important; height:auto!important; margin-inline:auto!important;
}
.diagram-fit-composite { transform-origin:top left; }
.academic-site .diagram-viewport[data-diagram-view=fit]:has(.diagram-fit-composite) { overflow:hidden; }
@media print { .diagram-view-tools { display:none; } }
