html.coremap-dialog-open,
html.coremap-dialog-open body { overflow: hidden !important; }

.coremap-dialog-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147483500;
    display: grid;
    place-items: center;
    padding: max(20px, env(safe-area-inset-top, 0px), var(--tg-content-safe-area-inset-top, 0px))
        max(14px, env(safe-area-inset-right, 0px))
        max(20px, env(safe-area-inset-bottom, 0px))
        max(14px, env(safe-area-inset-left, 0px));
    box-sizing: border-box;
    background: rgba(4, 9, 21, .7);
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
    overscroll-behavior: contain;
    color: #f0f2ff;
    font-family: inherit;
    isolation: isolate;
    animation: coremap-dialog-fade 150ms ease-out both;
}
.coremap-dialog-overlay *,
.coremap-dialog-overlay *::before,
.coremap-dialog-overlay *::after { box-sizing: border-box; }
.coremap-dialog-panel {
    display: flex;
    flex-direction: column;
    width: min(100%, 520px);
    min-width: 0;
    max-height: min(720px, 100%);
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(169, 181, 255, .4);
    border-radius: 26px;
    background: radial-gradient(ellipse at 95% 0%, rgba(112, 91, 207, .22), transparent 65%), #131d32;
    box-shadow: 0 26px 90px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .05);
    animation: coremap-dialog-rise 170ms ease-out both;
}
.coremap-dialog-header { display: flex; align-items: center; flex: 0 0 auto; gap: 12px; padding: 22px 22px 16px; }
.coremap-dialog-icon {
    display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px;
    border-radius: 14px; border: 1px solid rgba(213, 207, 255, .55);
    background: linear-gradient(145deg, #6c78fd, #8a51e8);
    box-shadow: 0 6px 20px rgba(117, 82, 245, .22);
    color: #fff; font: 700 27px/1 system-ui, sans-serif;
}
.coremap-dialog-heading { display: grid; gap: 4px; flex: 1; min-width: 0; }
.coremap-dialog-brand { color: #aab7e1; font-size: 12px; line-height: 1.2; font-weight: 650; letter-spacing: .03em; }
.coremap-dialog-title { margin: 0; color: #f0f2ff; font-size: 19px; line-height: 1.3; font-weight: 800; overflow-wrap: anywhere; }
.coremap-dialog-close {
    display: grid; place-items: center; flex: 0 0 44px; width: 44px; min-width: 44px; height: 44px;
    margin: 0; padding: 0; border: 1px solid rgba(180, 195, 241, .24); border-radius: 14px;
    background: rgba(181, 192, 241, .08); color: #c0cae8; font: 500 27px/1 system-ui, sans-serif;
    cursor: pointer; -webkit-appearance: none; appearance: none;
}
.coremap-dialog-message {
    min-height: 0; padding: 0 22px 22px; overflow: auto; overscroll-behavior: contain;
    white-space: pre-wrap; overflow-wrap: anywhere; color: #d8def2;
    font-size: 16px; line-height: 1.6; scrollbar-width: thin; scrollbar-color: #7888c0 transparent;
}
.coremap-dialog-actions { display: flex; flex: 0 0 auto; gap: 10px; flex-wrap: wrap; margin: 0; padding: 16px 22px 22px; border-top: 1px solid rgba(147, 165, 221, .13); }
.coremap-dialog-button {
    appearance: none; -webkit-appearance: none;
    display: flex; align-items: center; justify-content: center; flex: 1 1 110px;
    min-width: 0; min-height: 48px; width: auto; margin: 0; padding: 12px 16px;
    border: 1px solid rgba(159, 178, 235, .3); border-radius: 14px;
    background: #24314f; color: #e8edff; font: inherit; font-weight: 750; font-size: 14px; line-height: 1.35;
    white-space: normal; overflow-wrap: anywhere; text-align: center; cursor: pointer;
}
.coremap-dialog-button.primary { border-color: rgba(181, 179, 255, .5); background: linear-gradient(105deg, #627afa, #8a70e5); color: #fff; }
.coremap-dialog-button.destructive { border-color: rgba(255, 173, 182, .35); background: linear-gradient(105deg, #b84562, #a13c63); color: #fff; }
.coremap-dialog-overlay button { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.coremap-dialog-overlay button:focus-visible { outline: 2px solid #c5ccff; outline-offset: 3px; }
.coremap-dialog-overlay button:active { filter: brightness(.92); transform: translateY(1px); }
@keyframes coremap-dialog-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes coremap-dialog-rise { from { transform: translateY(10px) scale(.98); } to { transform: translateY(0) scale(1); } }
@media (max-width: 400px) {
    .coremap-dialog-header { padding: 18px 16px 14px; gap: 9px; }
    .coremap-dialog-title { font-size: 17px; }
    .coremap-dialog-message { padding: 0 16px 18px; font-size: 15px; }
    .coremap-dialog-actions { padding: 14px 16px 18px; gap: 8px; }
    .coremap-dialog-button { padding: 12px 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .coremap-dialog-overlay, .coremap-dialog-panel { animation: none; }
}
