/* Three-site P0 accessible illustration magnifier. Original images remain immutable. */
.uzoom-dialog{box-sizing:border-box;width:min(96vw,1100px);max-width:96vw;max-height:96vh;max-height:96dvh;margin:auto;padding:clamp(9px,1.8vw,18px);border:1px solid var(--line,#79968a);border-radius:16px;background:var(--card,var(--surface,#fffdf7));color:var(--ink,#203e34);box-shadow:0 24px 80px rgba(0,0,0,.5);overflow:hidden}
.uzoom-dialog::backdrop{background:rgba(7,19,15,.83)}
.uzoom-shell{display:flex;flex-direction:column;min-height:0;max-height:calc(96vh - 26px);max-height:calc(96dvh - 26px);gap:10px}
.uzoom-heading{margin:0;font:600 clamp(15px,2.4vw,19px)/1.35 system-ui, sans-serif;color:inherit;overflow-wrap:anywhere}
.uzoom-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.uzoom-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.uzoom-dialog button{font:600 14px/1.25 system-ui,sans-serif;min-height:44px;min-width:44px;max-width:100%;padding:9px 13px;border:1px solid var(--line,#79968a);border-radius:10px;background:var(--card,var(--surface,#fffdf7));color:var(--ink,#203e34);cursor:pointer}
.uzoom-dialog button:disabled{opacity:.48;cursor:not-allowed}
.uzoom-dialog .uzoom-close{background:var(--deep,var(--green,#203e34));color:var(--on-deep,#fffdf7);border-color:transparent;flex-shrink:0}
.uzoom-dialog :is(button,a,.uzoom-pan):focus-visible{outline:3px solid var(--gold,#b8834b);outline-offset:3px}
.uzoom-amount{min-width:4.4em;text-align:center;font:600 13px/1.4 system-ui,sans-serif;font-variant-numeric:tabular-nums}
.uzoom-pan{box-sizing:border-box;flex:1 1 auto;min-height:160px;max-height:calc(96vh - 210px);max-height:calc(96dvh - 210px);overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;border:1px solid var(--line,#92a69b);border-radius:10px;background:var(--surface,#f1f3ed);scrollbar-width:thin}
.uzoom-pan img{display:block;width:auto;height:auto;max-width:none!important;max-height:none!important;object-fit:contain;border:0;padding:0;margin:0 auto;user-select:none;-webkit-user-drag:none}
.uzoom-pan.uzoom-panning{cursor:grabbing}
.uzoom-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.uzoom-original{color:var(--ink,#203e34);font:600 13px/1.4 system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.uzoom-hint{color:var(--muted,#54665e);font:12px/1.45 system-ui,sans-serif}
figure img[data-uzoom-bare]:focus-visible{outline:3px solid var(--gold,#b8834b);outline-offset:4px}
@media(max-width:420px){.uzoom-dialog{padding:8px;border-radius:10px}.uzoom-shell{gap:7px}.uzoom-dialog button{padding:7px 10px}.uzoom-tools{gap:5px}.uzoom-pan{max-height:calc(96dvh - 230px)}}
@media(prefers-reduced-motion:reduce){.uzoom-dialog *, .uzoom-dialog *::before,.uzoom-dialog *::after{scroll-behavior:auto!important;transition:none!important}}

/* Stable reading viewport for fit-width and true full-image modes. */
.uzoom-dialog{height:min(96dvh,1040px)}
.uzoom-shell{height:100%;max-height:100%}
.uzoom-pan{position:relative;flex:1 1 0;min-height:0;max-height:none;scrollbar-gutter:stable;overflow-anchor:none;scroll-behavior:auto}
