/* Canlı model görüntüleyicisi (viewer.js, scenes.js) */
.vz-card h2 { margin-bottom: 10px; }
.vz-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.vz-bar .btn { padding: 8px 12px; font-size: 15px; }
.vz-zoom { margin-left: auto; font: 700 15px var(--font-num); color: var(--muted); }
.vz-stage { position: relative; border-radius: 4px; overflow: hidden; background-color: var(--grid-bg);
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px),
    linear-gradient(var(--grid-line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line-soft) 1px, transparent 1px);
  background-size: 100px 100px, 100px 100px, 20px 20px, 20px 20px;
  box-shadow: inset 0 0 0 1px var(--grid-line); }
.vz-svg { display: block; width: 100%; height: auto; max-height: 72vh; cursor: grab; touch-action: pan-y; user-select: none; outline: none; }
.vz-svg.dragging { cursor: grabbing; }
.vz-svg:focus-visible { box-shadow: inset 0 0 0 3px var(--accent); }
.vz-t { fill: var(--ink); font-family: var(--font-body); font-weight: 700; paint-order: stroke; stroke: var(--grid-bg); stroke-width: 3.4px; stroke-linejoin: round; pointer-events: none; }
.vz-t.vz-m { font-family: var(--font-num); }
.vz-dim line { stroke: var(--ink); stroke-width: 1; vector-effect: non-scaling-stroke; }
.vz-dim polygon { fill: var(--ink); }
.vz-legend rect { fill: var(--surface); fill-opacity: 0.94; stroke: var(--line); stroke-width: 1; }
.vz-legend .vz-t { stroke: var(--surface); }
@media (max-width: 560px) { .vz-bar .btn { padding: 7px 10px; } .vz-zoom { margin-left: 0; } }
@media print { .vz-card { display: none !important; } }
