:root{color-scheme:light}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none;background:white}
.image-viewer{font:1rem/1.4 "Computer Modern",serif;color:#161616}
.full-image-viewer{position:fixed;inset:0;width:100%;height:100%;margin:0;padding:0;overflow:hidden;background:white}
.image-stage{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;outline:none;padding-bottom:env(safe-area-inset-bottom,0px)}
.image-stage.is-dragging{cursor:grabbing}
.image-stage:focus-visible{outline:2px solid #163da0;outline-offset:-2px}
.viewer-image{position:absolute;left:0;top:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;transform-origin:0 0;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;touch-action:none;will-change:transform}
.viewer-image.vector-image{will-change:auto}
.viewer-canvas{position:absolute;left:0;top:0;display:block;max-width:none;transform-origin:0 0;pointer-events:none;user-select:none;-webkit-user-select:none}
.viewer-navigation{position:fixed;left:50%;bottom:max(.9rem,env(safe-area-inset-bottom));transform:translateX(-50%);transform-origin:center bottom;z-index:10;display:flex;align-items:center;justify-content:center;gap:1.25rem;max-width:calc(100% - 1.5rem);padding:.65rem 1rem;background:white;border:1px solid #ddd;box-shadow:0 1px 7px #0002;touch-action:none}
.viewer-navigation a{color:#163da0;white-space:nowrap;text-decoration:underline;text-underline-offset:.12em}
.viewer-navigation a:visited{color:#58337c}
.viewer-navigation a:hover{text-decoration-thickness:2px}
.viewer-navigation a:focus-visible{outline:2px solid #163da0;outline-offset:3px}
.viewer-navigation a:first-child{min-width:0;white-space:normal;text-align:center}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:360px){.viewer-navigation{gap:1rem;padding:.65rem .75rem}}
@media print{html,body{overflow:visible}.viewer-navigation{display:none}.full-image-viewer{position:static}.image-stage{position:static}.viewer-image{position:static;width:100%!important;height:auto!important;transform:none!important}}

/* Keep all viewer destinations inside the viewport on phones. */
.viewer-navigation{flex-wrap:wrap;row-gap:.4rem;column-gap:1.1rem;width:max-content;max-width:calc(100% - 1.5rem)}
@media(max-width:480px){.viewer-navigation{padding:.6rem .8rem;column-gap:.9rem;font-size:.95rem}.viewer-navigation a{white-space:normal;text-align:center}}
