.cm{padding:0;border:0;margin:auto;width:min(720px,100vw - 32px);height:min(880px,100dvh - 48px);max-width:none;max-height:none;border-radius:16px;background:#fff;color:#111a30;box-shadow:0 24px 60px rgba(8,14,34,.35);overflow:hidden}
.cm[open]{display:flex;flex-direction:column}
.cm::backdrop{background:rgba(8,14,34,.6);backdrop-filter:blur(2px)}
.cm-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 20px;background:#0f1730;color:#fff}
.cm-head h2{margin:0;font:600 1.05rem/1.3 "Inter",system-ui,sans-serif}
.cm-head a{color:#cfdbea;font:500 .85rem "Inter",system-ui,sans-serif;margin-left:auto}
.cm-close{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:grid;place-items:center}
.cm-close:hover,.cm-close:focus-visible{background:rgba(255,255,255,.22);outline:none}
.cm-close svg{width:22px;height:22px}
.cm-body{position:relative;flex:1;min-height:0;background:#f6f7fc}
.cm-body iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}
.cm-loading{position:absolute;inset:0;display:grid;place-items:center;color:#4a5470;font:500 .95rem "Inter",system-ui,sans-serif}
.cm-loading::before{content:"";width:28px;height:28px;margin:0 auto 10px;border:3px solid #dfe2f0;border-top-color:#3b2fc9;border-radius:50%;animation:cm-spin .8s linear infinite;display:block}
@keyframes cm-spin{to{transform:rotate(360deg)}}
@media(max-width:640px){.cm{width:100vw;height:100dvh;border-radius:0}.cm-head a{display:none}}
@media(prefers-reduced-motion:reduce){.cm-loading::before{animation:none}}
html.cm-lock{overflow:hidden}
