/* Coordinated photo-theme changes keep the current viewport steady until decoded. */
html:root body img[data-night-treatment],html:root body .cmg-card-cycle-photo{transition:none!important}
html:root[data-cmg-theme-pending] body .cmg-film-row{animation-play-state:paused!important}
html:root body .theme-toggle{position:relative}
html:root body .theme-toggle[aria-busy=true]>svg{visibility:hidden!important}
html:root body .theme-toggle[aria-busy=true]::after{content:""!important;display:block!important;position:absolute;inset:auto;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;border:2px solid var(--line,#ddded9);border-top-color:currentColor;border-radius:50%;pointer-events:none;animation:cmg-theme-pending .7s linear infinite}
html:root body .theme-toggle[aria-busy=true]::before{content:attr(data-cmg-theme-loading)!important;display:block!important;position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);z-index:30;white-space:nowrap;pointer-events:none;padding:5px 8px;border:1px solid var(--line,#ddded9);border-radius:6px;background:var(--surface,#fff);color:var(--ink,#171817);font-family:inherit;font-size:11px;font-weight:500;line-height:1.3;box-shadow:0 3px 12px #00000014}
.cmg-theme-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes cmg-theme-pending{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){html:root body .theme-toggle[aria-busy=true]::after{animation:none;border-color:currentColor;opacity:.5}}
