.fciw-preview-zoom { box-sizing: border-box; width: min(1280px, calc(100vw - 24px)); height: calc(100dvh - 24px); max-width: none; max-height: none; padding: 18px; margin: auto; border: 0; border-radius: 12px; background: #fff; color: #172334; font: 14px/1.5 system-ui, sans-serif; }
.fciw-preview-zoom[open] { display: flex; flex-direction: column; gap: 10px; }
.fciw-preview-zoom::backdrop { background: #0f172ab3; }
.fciw-preview-zoom * { box-sizing: border-box; }
.fciw-preview-zoom header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.fciw-preview-zoom h2 { margin: 0; font-size: 19px; line-height: 1.4; }
.fciw-preview-zoom p { margin: 0; }
.fciw-preview-zoom button, .fciw-zoom-tools button { min-height: 44px; min-width: 44px; padding: 8px 12px; border: 1px solid #94a3b8; border-radius: 7px; background: #fff; color: #172334; font: inherit; cursor: pointer; }
.fciw-zoom-tools { display: flex; align-items: center; justify-content: center; gap: 8px; flex: 0 0 auto; }
.fciw-zoom-tools output { min-width: 3.5em; text-align: center; font-weight: 700; }
.fciw-zoom-tools button:disabled { opacity: .4; cursor: default; }
.fciw-zoom-tools [data-zoom="in"] { background: #1d4ed8; border-color: #1d4ed8; color: #fff; font-weight: 700; }
.fciw-zoom-stage { position: relative; overflow: hidden; touch-action: none; user-select: none; cursor: grab; min-height: 120px; flex: 1 1 auto; border: 1px solid #cbd5e1; border-radius: 8px; }
.fciw-zoom-stage:active { cursor: grabbing; }
.fciw-zoom-stage:focus-visible, .fciw-preview-zoom button:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
.fciw-zoom-stage .fciw-zoom-content { display: block; position: absolute; top: 0; left: 0; margin: 0; max-width: none; max-height: none; transform-origin: 0 0; touch-action: none; user-select: none; }
.fciw-preview-zoom .fciw-zoom-content { pointer-events: none; }
.fciw-preview-zoom .fciw-zoom-legend { color: #e4007f; text-align: center; font-size: 12px; }
@media (max-width: 600px) {
    .fciw-preview-zoom { padding: 10px; width: calc(100vw - 12px); height: calc(100dvh - 12px); }
    .fciw-preview-zoom h2 { font-size: 16px; }
    .fciw-preview-zoom p { font-size: 12px; }
}