.viz-widget { width: 100%; clear: both; margin: 0; --viz-accent: #165d9c; }
.viz-widget .viz-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 10px; }
.viz-widget .viz-toolbar button { appearance: none; position: static; min-width: 44px; min-height: 44px; margin: 0; padding: 8px 14px; border: 1px solid #a6afb9; border-radius: 6px; background: #fff; color: #172536; font: 600 14px/1.4 system-ui, sans-serif; cursor: pointer; box-shadow: none; }
.viz-widget .viz-toolbar button[aria-pressed="true"] { background: var(--viz-accent); border-color: var(--viz-accent); color: #fff; }
.viz-widget .viz-toolbar button:disabled { opacity: .45; cursor: default; }
.viz-widget button:focus-visible, .viz-widget .viz-viewport:focus-visible { outline: 3px solid var(--viz-accent); outline-offset: 3px; }
.viz-widget .viz-status { min-width: 4ch; color: #172536; font: 14px/1.4 system-ui, sans-serif; }
.viz-widget .viz-viewport { position: relative; overflow: hidden; width: 100%; padding: 0; }
.viz-widget .viz-viewport > img { display: block; position: static; width: 100%; max-width: 100%; height: auto; margin: 0; padding: 0; border: 0; transform-origin: 0 0; transition: none; }
.viz-widget.viz-active .viz-viewport { touch-action: none; cursor: zoom-in; user-select: none; -webkit-user-select: none; }
.viz-widget.viz-active .viz-viewport > img { pointer-events: none; }
.viz-widget.viz-zoomed .viz-viewport { cursor: grab; }
.viz-widget.viz-dragging .viz-viewport { cursor: grabbing; }
.viz-widget .viz-help { margin: 8px 0 12px; color: #495462; font: 13px/1.5 system-ui, sans-serif; }
