.entry-dialog {
    width: min(1400px, calc(100vw - 48px));
    max-width: calc(100vw - 48px);
    height: calc(100dvh - 48px);
    max-height: calc(100dvh - 48px);
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--paper);
    color: var(--ink);
    overflow: hidden;
}

.entry-dialog[open] {
    display: flex;
    flex-direction: column;
}

.entry-dialog::backdrop { background: rgb(0 0 0 / .6); }
.entry-dialog-open { overflow: hidden; }

.entry-dialog-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 24px;
    border-bottom: 1px solid var(--line);
    flex-shrink: 0;
}

.entry-dialog-header h2 { margin: 0; flex: 1; min-width: 0; overflow-wrap: anywhere; }
.entry-dialog-header .btn { flex-shrink: 0; }
.entry-dialog-status { padding: 12px 24px; margin: 0; flex-shrink: 0; }
.entry-dialog-content { flex: 1; min-height: 0; position: relative; }
.entry-dialog-content iframe { display: block; width: 100%; height: 100%; border: 0; }
.entry-dialog [hidden] { display: none !important; }
.entry-dialog-content[aria-busy="true"] { opacity: .65; pointer-events: none; }

/* The normal page remains directly accessible; its module chrome is omitted here. */
html[data-entry-frame="1"] .page { max-width: none; padding: 24px; }
html[data-entry-frame="1"] .topbar,
html[data-entry-frame="1"] .page > footer,
html[data-entry-frame="1"] .module-nav { display: none; }
html[data-entry-frame="1"] main > .heading h1 { font-size: 23px; letter-spacing: normal; }

@media (max-width: 700px) {
    .entry-dialog {
        width: 100vw;
        max-width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        margin: 0;
        border: 0;
        border-radius: 0;
    }

    .entry-dialog-header { padding: 12px 16px; gap: 10px; flex-wrap: wrap; }
    .entry-dialog-header h2 { flex-basis: 50%; }
    html[data-entry-frame="1"] .page { padding: 16px; }
}
