.viewer{z-index:100;background:var(--stage);color:var(--stage-ink);touch-action:none;overscroll-behavior:contain;grid-template-rows:minmax(0,1fr);display:grid;position:fixed;inset:0}.v-stage{cursor:zoom-in;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.v-stage.zoomed{cursor:grab}.v-stage.dragging{cursor:grabbing}.v-pan{will-change:transform;width:100%;height:100%;transition:padding-bottom calc(.36s * var(--motion)) var(--ease);justify-content:center;align-items:center;padding:64px 72px 104px;display:flex}.v-pan.anim{transition:transform calc(.32s * var(--motion)) var(--ease), padding-bottom calc(.36s * var(--motion)) var(--ease)}.v-pan img{object-fit:contain;-webkit-user-drag:none;pointer-events:none;max-width:100%;max-height:100%}.v-bar,.v-foot,.v-arrow{transition:opacity var(--t-mid), transform var(--t-mid) var(--ease)}.viewer.idle .v-bar{opacity:0;pointer-events:none;transform:translateY(-8px)}.viewer.idle .v-foot,.viewer.is-zoomed .v-foot{opacity:0;pointer-events:none;transform:translateY(8px)}.viewer.idle .v-arrow{opacity:0;pointer-events:none}.viewer.idle .v-stage{cursor:none}.v-bar{z-index:3;background:linear-gradient(color-mix(in srgb, var(--stage) 92%, transparent), transparent);grid-template-columns:1fr auto 1fr;align-items:center;height:56px;padding:0 16px 0 24px;display:grid;position:absolute;inset:0 0 auto}.v-bar h4{font-family:var(--title-font);letter-spacing:var(--tk-3);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:500;overflow:hidden}.v-bar h4 small{color:color-mix(in srgb, var(--stage-ink) 50%, transparent);margin-left:12px;font-size:13px}.v-count{color:color-mix(in srgb, var(--stage-ink) 70%, transparent);font-size:14px}.v-tools{justify-content:flex-end;gap:2px;display:flex}.v-btn{border-radius:var(--r-s);width:40px;height:40px;color:color-mix(in srgb, var(--stage-ink) 70%, transparent);transition:background-color var(--t-fast), color var(--t-fast), transform var(--t-fast);place-items:center;display:grid}.v-btn:hover{background:color-mix(in srgb, var(--stage-ink) 10%, transparent);color:var(--stage-ink)}.v-btn:active{transform:scale(.92)}.v-btn[disabled]{opacity:.25;pointer-events:none}.viewer svg{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.v-zoom{text-align:center;min-width:3.2em;color:color-mix(in srgb, var(--stage-ink) 55%, transparent);align-self:center;font-size:12px}.v-arrow{z-index:2;width:44px;height:56px;margin-top:-28px;position:absolute;top:50%}.v-arrow.prev{left:12px}.v-arrow.next{right:12px}.viewer.is-zoomed .v-arrow{opacity:0;pointer-events:none}.v-foot{z-index:3;background:linear-gradient(transparent, color-mix(in srgb, var(--stage) 92%, transparent) 45%);padding:12px 0 14px;position:absolute;inset:auto 0 0}.v-strip{scrollbar-width:none;scroll-behavior:smooth;touch-action:pan-x;align-items:flex-end;gap:6px;height:62px;padding:0 50%;display:flex;overflow:auto hidden}.v-strip::-webkit-scrollbar{display:none}.v-strip button{opacity:.38;width:40px;height:54px;transition:opacity var(--t-mid), height var(--t-mid) var(--ease), width var(--t-mid) var(--ease);border-radius:1px;flex:none;overflow:hidden}.v-strip button:hover{opacity:.8}.v-strip button[aria-current=true]{opacity:1;width:46px;height:62px}.v-strip img{object-fit:cover;object-position:center top;width:100%;height:100%}.v-progress{background:var(--stage-ink);transform-origin:0;width:100%;height:2px;transform:scaleX(var(--p,0));opacity:.5;transition:transform var(--t-mid) var(--ease);z-index:4;position:absolute;bottom:0;left:0}.v-hint{z-index:3;letter-spacing:.08em;color:color-mix(in srgb, var(--stage-ink) 60%, transparent);background:color-mix(in srgb, var(--stage) 70%, transparent);pointer-events:none;white-space:nowrap;border-radius:999px;padding:4px 14px;font-size:12px;transition:opacity .4s;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.v-hint.gone,.viewer.idle .v-hint{opacity:0}@media (width<=760px){.v-pan{padding:56px 8px 96px}.v-arrow,.v-zoom,#vIn,#vOut,#vFull{display:none}.v-bar{padding:0 8px 0 16px}}:root[data-viewer-bg=gray] .viewer{--stage:#2b2b2b}:root[data-viewer-bg=paper] .viewer{--stage:var(--paper);--stage-ink:var(--ink)}:root[data-viewer-strip=off] .v-foot{display:none}:root[data-viewer-strip=off] .v-pan{padding-bottom:56px}:root[data-viewer-strip=off] .v-hint{bottom:20px}:root[data-viewer-strip=off] #vThumbs{display:none}.viewer.no-strip .v-foot{opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--t-mid), transform calc(.36s * var(--motion)) var(--ease), visibility 0s linear calc(.36s * var(--motion));transform:translateY(100%)}.v-foot{transition:opacity var(--t-mid), transform calc(.36s * var(--motion)) var(--ease), visibility 0s}.v-hint,.v-cap{transition:opacity var(--t-mid), bottom calc(.36s * var(--motion)) var(--ease)}.viewer.no-strip .v-pan{padding-bottom:56px}.viewer.no-strip .v-hint{bottom:20px}.v-btn[aria-pressed=false]{opacity:.45}.viewer.pulling{background:color-mix(in srgb, var(--stage) calc(var(--dim,1) * 100%), transparent)}.viewer.pulling .v-bar,.viewer.pulling .v-foot,.viewer.pulling .v-hint,.viewer.pulling .v-arrow{opacity:0;transition:opacity .15s}.v-bar{height:calc(56px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(24px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}.v-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.v-pan{padding-bottom:calc(104px + var(--cap-h,0px))}.v-cap{z-index:2;text-align:center;max-height:30vh;color:color-mix(in srgb, var(--stage-ink) 82%, transparent);transition:opacity var(--t-mid);touch-action:pan-y;padding:0 max(24px,9vw);font-size:15px;line-height:1.8;position:absolute;bottom:96px;left:0;right:0;overflow-y:auto}.v-cap b{font-family:var(--title-font);letter-spacing:var(--tk-2);color:var(--stage-ink);font-weight:500;display:block}.v-cap b:empty,.v-cap p:empty{display:none}.viewer.is-zoomed .v-cap{opacity:0;pointer-events:none}.viewer.no-strip .v-cap,:root[data-viewer-strip=off] .v-cap{bottom:20px}.viewer.no-strip .v-pan,:root[data-viewer-strip=off] .v-pan{padding-bottom:calc(56px + var(--cap-h,0px))}.viewer.has-cap .v-hint,:root[data-viewer-caption=off] .v-cap{display:none}@media (width<=760px){.v-pan{padding-bottom:calc(96px + var(--cap-h,0px))}.v-cap{max-height:26vh;padding:0 16px;font-size:14px;line-height:1.7}}
