/* The compact figures and shared image transition follow on-notion. */
.spine-image-viewer { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; overflow: hidden; border: 0; background: transparent; overscroll-behavior: contain; }
.spine-image-viewer::backdrop { background: transparent; }
.spine-image-backdrop { position: absolute; inset: 0; background: rgb(0 0 0 / 40%); cursor: zoom-out; }
.spine-image-full { position: fixed; display: block; max-width: none; max-height: none; border-radius: 8px; object-fit: contain; transform-origin: top left; transform: translate3d(0, 0, 0) scale(1, 1); will-change: transform; backface-visibility: hidden; cursor: zoom-out; user-select: none; -webkit-user-drag: none; }
.spine-image-close { position: absolute; z-index: 1; top: max(16px, env(safe-area-inset-top)); right: max(16px, env(safe-area-inset-right)); display: grid; width: 40px; height: 40px; place-items: center; padding: 0; border: 1px solid rgb(255 255 255 / 50%); border-radius: 50%; background: #fafbf9; cursor: pointer; }
.spine-image-close img { width: 20px; height: 20px; }
.spine-image-close:focus-visible { outline: 2px solid #3e718b; outline-offset: 3px; }
.spine-image-caption { position: absolute; right: 24px; bottom: max(16px, env(safe-area-inset-bottom)); left: 24px; display: flex; width: max-content; max-width: min(880px, calc(100% - 48px)); margin-inline: auto; padding: 6px 10px; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 16px; border: 1px solid #e6e6e3; border-radius: 3px; color: #444640; background: #fafbf9; font: 11px/1.5 'SF Mono', Menlo, monospace; text-align: center; text-wrap: balance; }
.spine-image-caption:empty { display: none; }
.spine-image-caption a { color: inherit; font-size: inherit; white-space: normal; text-decoration-color: rgb(55 53 47 / 45%); }
@media print { .spine-image-viewer { display: none !important; } }
