/* Квиз во всплывающем окне */
.qm-overlay { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(5,7,10,.72); backdrop-filter: blur(6px); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s; }
.qm-overlay.open { opacity: 1; visibility: visible; }
.qm-dialog { position: relative; width: min(760px, 100%); max-height: calc(100dvh - 32px); display: flex; transform: translateY(14px) scale(.98); transition: transform .25s ease; }
.qm-overlay.open .qm-dialog { transform: none; }
.qm-frame { display: block; width: 100%; height: 560px; max-height: calc(100dvh - 32px); border: 0; border-radius: 30px; background: #12161e; box-shadow: 0 30px 80px rgba(0,0,0,.55); }
.qm-close { position: absolute; top: 10px; right: 10px; z-index: 1; width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255,255,255,.14); background: rgba(11,13,18,.85); color: #e6e9ee; font-size: 22px; line-height: 1; cursor: pointer; }
.qm-close:hover { border-color: rgba(255,255,255,.35); }
html.qm-lock, html.qm-lock body { overflow: hidden; }
@media (max-width: 600px) { .qm-overlay { padding: 10px; } .qm-frame { border-radius: 22px; } .qm-dialog, .qm-frame { max-height: calc(100dvh - 20px); } }
