/* Enhancements do not change the screenshot's original position or dimensions. */
[data-ymw-preview-trigger], [data-ymw-preview-image] { cursor:zoom-in; }
[data-ymw-preview-trigger]:focus-visible { outline:3px solid #087354; outline-offset:4px; border-radius:4px; }
/* Decorative phone frames and floating captions must not block screenshot taps. */
.hero-visual .floating-card, .hero-visual .visual-label, .hero-visual .visual-orbit,
.phone-camera, .phone-speaker { pointer-events:none; }
html.ymw-image-viewer-open { overflow:hidden; scrollbar-gutter:stable; }
.ymw-image-viewer { box-sizing:border-box; padding:0; border:1px solid #486157; border-radius:16px; width:min(1400px,calc(100vw - 32px)); height:calc(100vh - 32px); height:calc(100dvh - 32px); max-width:none; max-height:none; margin:auto; background:#102a21; color:#f4faf7; font:15px/1.5 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif; box-shadow:0 24px 80px #0006; }
.ymw-image-viewer[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.ymw-image-viewer::backdrop { background:#071b14d9; }
.ymw-image-viewer *, .ymw-image-viewer *::before, .ymw-image-viewer *::after { box-sizing:border-box; }
.ymw-viewer-header { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:12px 16px; border-bottom:1px solid #476255; }
.ymw-viewer-header h2 { min-width:0; margin:0; color:#f4faf7; font-size:16px; font-weight:650; line-height:1.5; overflow-wrap:anywhere; }
.ymw-viewer-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; grid-column:2; grid-row:1; }
.ymw-image-viewer .ymw-viewer-control { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; margin:0; padding:8px 12px; border:1px solid #6f8c7c; border-radius:8px; background:#233f32; color:#fff; font:inherit; font-weight:600; text-align:center; text-decoration:none; cursor:pointer; touch-action:manipulation; }
.ymw-image-viewer .ymw-viewer-control:hover { background:#355845; }
.ymw-image-viewer .ymw-viewer-control:focus-visible, .ymw-viewer-stage:focus-visible { outline:3px solid #a2e7be; outline-offset:2px; }
.ymw-image-viewer .ymw-viewer-control:disabled { opacity:.45; cursor:default; }
.ymw-viewer-close { grid-column:3; grid-row:1; font-size:24px!important; }
.ymw-viewer-stage { overflow:auto; min-height:0; min-width:0; background:#091c15; overscroll-behavior:contain; touch-action:pan-x pan-y pinch-zoom; }
.ymw-viewer-canvas { display:flex; align-items:center; justify-content:center; width:max-content; min-width:100%; min-height:100%; padding:16px; }
.ymw-image-viewer .ymw-viewer-image { display:block; flex:none; max-width:none; max-height:none; margin:0; object-fit:contain; transition:none!important; animation:none!important; }
.ymw-image-viewer .ymw-viewer-image[hidden] { display:none; }
.ymw-viewer-footer { padding:10px 16px; border-top:1px solid #476255; color:#d9e8df; }
.ymw-viewer-footer p { margin:0; color:inherit; font-size:13px; line-height:1.6; }
.ymw-viewer-footer [role=status]:empty { display:none; }
@media(max-width:680px) {
  html.ymw-image-viewer-open { scrollbar-gutter:auto; }
  .ymw-image-viewer { width:100vw; height:100vh; height:100dvh; border:0; border-radius:0; }
  .ymw-viewer-header { grid-template-columns:minmax(0,1fr) auto; padding:calc(8px + env(safe-area-inset-top)) 12px 10px; gap:8px; }
  .ymw-viewer-close { grid-column:2; }
  .ymw-viewer-controls { grid-column:1/-1; grid-row:2; justify-content:flex-start; }
  .ymw-viewer-original { margin-inline-start:auto!important; }
  .ymw-viewer-footer { padding:8px 12px calc(8px + env(safe-area-inset-bottom)); }
}
