/* Existing Buzzard diagrams: optional accessible enlargement. No page typography overrides. */
.bvq-host-static { position: relative; }
.bvq-trigger {
  position: absolute; right: 8px; bottom: 8px; z-index: 3;
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; min-width: 40px; min-height: 40px; padding: 0;
  color: #145442; background: #f8fcfa; border: 1px solid #bfd8cb;
  border-radius: 12px; box-shadow: 0 3px 12px #103b2820;
  cursor: zoom-in; opacity: .94;
}
.bvq-trigger:hover { background: #e6f3ec; opacity: 1; }
.bvq-trigger > svg, .bvq-control > svg { display: block; width: 20px; height: 20px; margin: 0; flex: none; }
.bvq-trigger:focus-visible, .bvq-control:focus-visible { outline: 3px solid #008f78; outline-offset: 3px; }
.bvq-dialog {
  position: fixed; inset: 0; width: min(1180px, calc(100vw - 32px));
  height: min(860px, calc(100dvh - 32px)); max-width: none; max-height: none;
  margin: auto; padding: 0; border: 1px solid #c0d8cc; border-radius: 20px;
  background: #f1f6f3; color: #143e32; box-shadow: 0 28px 100px #061e1966;
  overflow: hidden; font: 14px/1.45 system-ui, -apple-system, 'Segoe UI', sans-serif;
  text-align: left; z-index: 2147483000;
}
.bvq-dialog[open] { display: flex; flex-direction: column; }
.bvq-dialog::backdrop { background: #071f19b8; backdrop-filter: blur(5px); }
.bvq-dialog *, .bvq-dialog *::before, .bvq-dialog *::after { box-sizing: border-box; }
.bvq-toolbar {
  flex: none; display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  padding: 14px 16px; border-bottom: 1px solid #ccded4; background: #f8fcfa;
}
.bvq-title { flex: 1; min-width: 100px; margin: 0 12px 0 0; font: 650 16px/1.35 system-ui, sans-serif; color: #143e32; }
.bvq-control {
  appearance: none; display: inline-flex; align-items: center; justify-content: center;
  height: 40px; min-width: 40px; padding: 0 10px; border: 1px solid #bfd8cb;
  border-radius: 10px; background: #fff; color: #145442; box-shadow: none;
  font: 600 13px/1 system-ui, sans-serif; text-transform: none; letter-spacing: normal;
  cursor: pointer;
}
.bvq-control:hover { background: #e6f3ec; }
.bvq-control:disabled { opacity: .4; cursor: default; }
.bvq-zoom { min-width: 50px; text-align: center; font: 500 12px/1.4 system-ui, sans-serif; color: #355e4f; }
.bvq-viewport { position: relative; flex: 1; min-width: 0; min-height: 0; overflow: auto; overscroll-behavior: contain; touch-action: pan-x pan-y; cursor: grab; scrollbar-color: #82a999 #e6efe9; }
.bvq-viewport:focus-visible { outline: 2px solid #008f78; outline-offset: -3px; }
.bvq-viewport.bvq-dragging { cursor: grabbing; user-select: none; }
.bvq-canvas { position: relative; isolation: isolate; }
.bvq-canvas > svg { position: absolute !important; display: block !important; max-width: none !important; max-height: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; transform: none !important; pointer-events: none; }
.bvq-canvas svg, .bvq-canvas svg * { animation: none !important; transition: none !important; }
.bvq-help { flex: none; padding: 9px 16px; margin: 0; border-top: 1px solid #ccded4; color: #466858; font: 12px/1.4 system-ui, sans-serif; }
@media (max-width: 600px) {
  .bvq-dialog { width: calc(100vw - 12px); height: calc(100dvh - 12px); border-radius: 14px; }
  .bvq-toolbar { padding: 12px; gap: 6px; }
  .bvq-title { flex-basis: calc(100% - 60px); order: -2; }
  .bvq-close { order: -1; }
  .bvq-help { padding: 8px 12px; }
}
