:root{--photo-wait-paper:#c4ead5;--photo-wait-ink:#101512;--photo-wait-accent:#f0140b}
.image-state-message[data-state="loading"] .wait-page{transform-origin:40px 44px;animation:wait-page 2.2s ease-in-out infinite}
@keyframes wait-page{0%,100%{transform:skewY(-4deg) scaleX(1)}50%{transform:skewY(4deg) scaleX(.72)}}
/* Waiting belongs to the real image request, never to a presentation timer. */
:where(.native-image-frame){position:relative}
.image-state-message{pointer-events:none;isolation:isolate;overflow:hidden;box-sizing:border-box;background:var(--photo-wait-paper);color:var(--photo-wait-ink)}
.image-state-message[hidden]{display:none}
.image-state-message.native-image-wait{position:absolute;right:auto;bottom:auto;z-index:0;padding:0;min-width:0;min-height:0;display:grid;place-items:center}
.image-state-message.native-image-wait[hidden]{display:none}
.image-wait-icon{display:block;width:70px;height:70px;color:var(--photo-wait-accent);line-height:0}
.image-wait-icon svg{display:block;width:100%;height:100%;overflow:visible}
.image-state-message[data-state="loading"] .image-wait-copy{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.image-state-message[data-state="error"] .image-wait-icon{display:none}
.image-state-message[data-state="error"] .image-wait-copy{max-width:100%;padding:1rem;font:500 13px/1.5 sans-serif;text-align:center;overflow-wrap:anywhere}
.motion-paused .image-wait-icon *,html.reduced-motion .image-wait-icon *{animation:none!important}
@media(prefers-reduced-motion:reduce){.image-wait-icon,.image-wait-icon *{animation:none!important}}
@media(forced-colors:active){.image-state-message{background:Canvas;color:CanvasText;border:1px solid CanvasText}.image-wait-icon{color:CanvasText}.image-wait-icon svg{forced-color-adjust:auto}}
