/* Exit offer dialog (Oct 18, 2026). Native <dialog> in the top layer: no layout shift. */
.xo{border:0;border-radius:var(--radius,12px);padding:0;max-width:min(30rem,calc(100vw - 2rem));width:100%;box-shadow:0 18px 48px rgba(11,37,69,.28);color:var(--ink,#14243a);background:#fff}
.xo::backdrop{background:rgba(11,37,69,.55)}
.xo-in{padding:1.5rem 1.4rem 1.25rem;position:relative}
.xo h2{margin:0 2.5rem .5rem 0;font-size:1.4rem;line-height:1.25;color:var(--navy,#0B2545)}
.xo p{margin:.5rem 0}
.xo .actions{display:flex;flex-direction:column;gap:.6rem;margin:1rem 0 .75rem}
.xo .actions .btn{width:100%}
.xo-x{position:absolute;top:.6rem;right:.6rem;min-width:44px;min-height:44px;border:0;background:transparent;font-size:1.6rem;line-height:1;color:var(--muted,#4A5A6B);cursor:pointer;border-radius:999px}
.xo-x:hover{background:var(--cloud,#F3F5F8)}
.xo-x:focus-visible,.xo-no:focus-visible{outline:3px solid var(--teal,#0B7A73);outline-offset:2px}
.xo-no{background:none;border:0;color:var(--muted,#4A5A6B);text-decoration:underline;font:inherit;cursor:pointer;min-height:44px;padding:.25rem .5rem}
.xo .note{font-size:.9rem;color:var(--muted,#4A5A6B)}
@media (prefers-reduced-motion:no-preference){.xo[open]{animation:xo-in .18s ease-out}.xo[open]::backdrop{animation:xo-fade .18s ease-out}}
@keyframes xo-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes xo-fade{from{opacity:0}to{opacity:1}}
