.cv-viewer { display: flex; flex-direction: column; width: min(1100px, 96vw); height: 96vh; height: 96dvh; margin: auto; background: #171c24; border-radius: 10px; overflow: hidden; }
.cv-viewer-header, .cv-viewer-footer { flex: 0 0 auto; background: #171c24; }
.cv-viewer-header { border-bottom: 1px solid #384555; }
.cv-viewer-footer { border-top: 1px solid #384555; }
.cv-toolbar { display: flex; align-items: center; justify-content: center; gap: 5px; padding: 5px 8px; color: #fff; overflow-x: auto; }
.cv-toolbar button, .cv-toolbar a { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 34px; min-height: 34px; padding: 3px 8px; margin: 0; border: 1px solid #536173; border-radius: 5px; background: #293646; color: #fff; font: inherit; font-size: 12px; line-height: 1.2; cursor: pointer; text-decoration: none; white-space: nowrap; }
.cv-toolbar .cv-zoom-in, .cv-toolbar .cv-zoom-out { font-size: 19px; }
.cv-toolbar button:disabled { opacity: .4; cursor: default; }
.cv-toolbar button:focus-visible, .cv-toolbar a:focus-visible { outline: 2px solid #80ce71; outline-offset: 2px; }
.cv-zoom-status { flex: 0 0 auto; min-width: 40px; font-size: 12px; text-align: center; }
.cv-viewport { flex: 1 1 0; min-height: 0; overflow: auto; direction: ltr; overscroll-behavior: contain; }
.cv-picture { display: block; max-width: none !important; height: auto; margin: 0 auto; padding: 0; -webkit-user-drag: none; user-select: none; }
.cv-lightbox .mfp-content { width: auto; }
.cv-lightbox .mfp-container { padding: 4px; }
.cv-viewport.is-zoomed { cursor: grab; touch-action: none; user-select: none; }
.cv-viewport.is-dragging { cursor: grabbing; }
.cv-viewer-help { margin: 0; padding: 4px 6px; color: #b9c5d4; font-size: 11px; line-height: 1.4; text-align: center; }
@media (max-width: 360px) {
  .cv-toolbar { gap: 3px; padding: 4px; }
  .cv-toolbar button, .cv-toolbar a { padding-inline: 5px; }
  .cv-viewer-help { font-size: 10px; }
}