.majestic-dialog {
    width: min(560px, calc(100vw - (2 * var(--page-gutter))));
    max-width: 100%;
    max-height: min(82vh, 760px);
    padding: 0;
    color: var(--text-color);
    background: transparent;
    border: 0;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-floating);
    overflow: visible;
}

.majestic-dialog::backdrop {
    background: color-mix(in srgb, var(--surface-0) 72%, transparent);
    backdrop-filter: blur(2px);
}

.majestic-dialog__panel {
    display: grid;
    max-height: inherit;
    overflow: hidden;
    background: var(--surface-1);
    border: 1px solid var(--border-color-strong);
    border-radius: inherit;
}

.majestic-dialog__header,
.majestic-dialog__footer {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-4);
}

.majestic-dialog__header { border-bottom: 1px solid var(--border-color); }
.majestic-dialog__footer { justify-content: flex-end; border-top: 1px solid var(--border-color); }
.majestic-dialog__title { flex: 1; margin: 0; font: 650 1.125rem/1.35 var(--font-body); }

.majestic-dialog__close {
    display: inline-grid;
    width: var(--control-height-sm);
    height: var(--control-height-sm);
    padding: 0;
    place-items: center;
    color: var(--text-muted-color);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-control);
}

.majestic-dialog__close:hover,
.majestic-dialog__close:focus-visible { color: var(--text-color); background: var(--surface-hover); border-color: var(--border-color); }
.majestic-dialog__body { min-height: 0; padding: var(--space-5); overflow: auto; }
.majestic-dialog__body > :last-child { margin-bottom: 0; }
.majestic-dialog__phrase-label { display: grid; gap: var(--space-2); margin-top: var(--space-4); color: var(--text-muted-color); font: 600 0.75rem/1.4 var(--font-body); }
.majestic-dialog__phrase { width: 100%; margin-top: var(--space-1); font-family: var(--font-mono); }
.majestic-dialog-open { overflow: hidden; scrollbar-gutter: stable; }

@media (max-width: 640px) {
    .majestic-dialog:not(.majestic-dialog--fullscreen-mobile) {
        width: 100%;
        max-height: min(88dvh, 760px);
        margin: auto 0 0;
        border-radius: var(--radius-card) var(--radius-card) 0 0;
    }
    .majestic-dialog:not(.majestic-dialog--fullscreen-mobile) .majestic-dialog__panel { border-bottom: 0; }
    .majestic-dialog--fullscreen-mobile { width: calc(100vw - (2 * var(--space-3))); max-height: calc(100dvh - (2 * var(--space-3))); }
    .majestic-dialog__footer { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: no-preference) {
    .majestic-dialog[open] .majestic-dialog__panel { animation: majestic-dialog-enter 160ms ease-out both; }
    @keyframes majestic-dialog-enter { from { opacity: 0; transform: translateY(8px) scale(0.99); } }
}

@media (prefers-reduced-motion: reduce) {
    .majestic-dialog::backdrop { backdrop-filter: none; }
}

@media (forced-colors: active) {
    .majestic-dialog__panel, .majestic-dialog__header, .majestic-dialog__footer { border-color: CanvasText; }
}
