/* v49: original artwork sizing and the existing image viewer only.
   Article type, headings, TOC, callouts, lists, CTAs and spacing all use
   article-base.css/site.css and the same shared refinements as other articles. */
.gg-article .article-screenshot.fr-media-wide { width: 100%; }
.gg-article .article-screenshot.fr-media-square { width: min(100%, 560px); }
.gg-article .fr-zoom { cursor: zoom-in; }
#freeroll-image-viewer { box-sizing:border-box; width:min(1080px, calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); margin:auto; padding:0; border:0; border-radius:8px; background:#fff; color:#253844; }
#freeroll-image-viewer:not([open]) { display:none; }
#freeroll-image-viewer[open] { display:flex; flex-direction:column; }
#freeroll-image-viewer::backdrop { background:rgba(4,17,30,.86); }
#freeroll-image-viewer .fr-viewer-bar { display:flex; align-items:center; justify-content:space-between; flex:none; gap:10px; padding:9px 12px; border-bottom:1px solid #dce6ef; font-size:12px; }
#freeroll-image-viewer .fr-viewer-controls { display:flex; gap:8px; }
#freeroll-image-viewer button { min-height:40px; padding:6px 11px; border:1px solid #b7cbd9; border-radius:4px; background:#fff; color:#0b6cae; font:inherit; font-size:13px; cursor:pointer; }
#freeroll-image-viewer :focus-visible { outline:3px solid #087dcc; outline-offset:-3px; }
#freeroll-image-viewer .fr-viewer-stage { overflow:auto; min-height:0; overscroll-behavior:contain; background:#eaf0f5; }
#freeroll-image-viewer .fr-viewer-image { display:block; width:auto; height:auto; max-width:100%; max-height:calc(100vh - 155px); max-height:calc(100dvh - 155px); margin:auto; }
#freeroll-image-viewer.is-full-size .fr-viewer-image { width:var(--fr-image-width); height:auto; max-width:none; max-height:none; margin:0; }
#freeroll-image-viewer #fr-viewer-note { flex:none; margin:0; padding:8px 12px; font-size:11px; line-height:1.65; color:#64727d; }
