/* One motion/paint contract for native dialogs and standard legacy popups. */
:root{--zb-modal-duration:200ms;--zb-modal-easing:ease;--zb-modal-backdrop:rgba(0,0,0,.30);--zb-modal-blur:2px}
/* The card has one steady shadow, not a second focus ring around the dialog.
   Focus indicators on buttons, links and fields inside it remain untouched. */
html body :is(dialog,#zbConfirmModal){box-shadow:0 12px 40px rgb(0 0 0 / 20%)!important;outline:none!important}
/* !important narrowly defeats the legacy shell's blanket transition disable. */
html body dialog,html.disable-transitions body dialog,html body.disable-transitions dialog{opacity:0;transition:opacity var(--zb-modal-duration) var(--zb-modal-easing),display var(--zb-modal-duration) allow-discrete,overlay var(--zb-modal-duration) allow-discrete!important}
html body dialog[open]{opacity:1}
html body dialog::backdrop{background:var(--zb-modal-backdrop)!important;backdrop-filter:blur(var(--zb-modal-blur))!important;-webkit-backdrop-filter:blur(var(--zb-modal-blur))!important;opacity:0;transition:opacity var(--zb-modal-duration) var(--zb-modal-easing),display var(--zb-modal-duration) allow-discrete,overlay var(--zb-modal-duration) allow-discrete!important}
html body dialog[open]::backdrop{opacity:1}
html body dialog[data-zb-modal-closing],html body dialog[data-zb-modal-closing]::backdrop{opacity:0!important;pointer-events:none}
@starting-style{html body dialog[open],html body dialog[open]::backdrop{opacity:0}}
@media(prefers-reduced-motion:reduce){:root{--zb-modal-duration:0ms}html body dialog,html.disable-transitions body dialog,html body.disable-transitions dialog,html body dialog::backdrop{transition:none!important}}
.zb-popup-backdrop{position:fixed;inset:0;pointer-events:none;background:var(--zb-modal-backdrop);backdrop-filter:blur(var(--zb-modal-blur));-webkit-backdrop-filter:blur(var(--zb-modal-blur))}
:is(#customAgentCont,#subscriptionCont,#walletModal,#zbCustomPopup).zb-popup-overlay{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
