/* uc-dialog: a modal built on the native <dialog> element (focus-trap + Esc + top-layer for free),
   themed via --uc-*. The backdrop is a neutral scrim (literal rgba; it is not a branded surface, so
   it does not consume an accent token). Open via dialog.showModal(); runtime/uc-dialog.js wires
   [data-uc-dialog-open] triggers + .uc-dialog-close + focus restore + scroll lock. */
.uc-dialog{border:0;border-radius:var(--uc-radius);background:var(--uc-surface);color:var(--uc-text);padding:0;max-width:min(92vw,460px);box-shadow:0 20px 60px rgba(0,0,0,.35);font-family:var(--uc-font,system-ui,sans-serif)}
.uc-dialog::backdrop{background:rgba(0,0,0,.5)}
.uc-dialog[open]{animation:uc-dialog-in .16s ease}
.uc-dialog-title{box-sizing:border-box;margin:0;padding:18px 48px 6px 20px;font:700 17px/1.3 var(--uc-font,system-ui,sans-serif);color:var(--uc-text)}
.uc-dialog-body{box-sizing:border-box;padding:6px 20px 18px;font:400 14px/1.55 var(--uc-font,system-ui,sans-serif);color:var(--uc-text)}
.uc-dialog-body>:last-child{margin-bottom:0}
.uc-dialog-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:var(--uc-text-dim);font-size:18px;line-height:1;cursor:pointer}
.uc-dialog-close:hover{color:var(--uc-text);background:var(--uc-surface-2)}
@keyframes uc-dialog-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.uc-dialog[open]{animation:none}}
