/* Compact form and confirmation frame, shared by notebook and feedback dialogs. */
.compact-dialog-overlay { position: fixed; inset: 0; z-index: 1600; display: grid; place-items: center; padding: 16px; background: var(--surface-overlay); backdrop-filter: blur(5px); }
.compact-dialog__panel {
    position: relative;
    z-index: 1;
    width: min(590px, calc(100vw - 104px));
    padding: 0;
    border: 1px solid var(--border-default);
    border-radius: 8px;
    background: var(--surface-1);
    color: var(--text-primary);
    box-shadow: var(--shadow-popover);
    font: 400 var(--font-size-200)/1.45 var(--site-font-body);
}
.compact-dialog__panel--small { width: min(480px, calc(100vw - 104px)); }
.compact-dialog__content {
    max-height: calc(100dvh - 48px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 24px 26px 20px;
    border-radius: inherit;
    scrollbar-width: thin;
}
.compact-dialog__close {
    position: absolute;
    top: -1px;
    right: -44px;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid var(--border-default);
    border-radius: 6px;
    background: var(--surface-1);
    color: var(--reader-muted);
    cursor: pointer;
}
.compact-dialog__title {
    margin: 0 0 20px;
    color: var(--text-heading);
    font: 600 var(--font-size-600)/1.2 var(--site-font-body);
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}
.compact-dialog__description { margin: 0 0 18px; color: var(--reader-muted); white-space: pre-line; overflow-wrap: anywhere; }
.compact-dialog__field { display: grid; gap: 7px; min-width: 0; font-size: var(--font-size-100); font-weight: 600; }
.compact-dialog__field input,
.compact-dialog__field select,
.compact-dialog__field textarea,
.compact-dialog__input {
    width: 100%;
    height: 42px;
    padding: 0 12px;
    border: 1px solid var(--site-accent-border);
    border-radius: 6px;
    background: var(--surface-1);
    color: var(--text-primary);
    font: 400 var(--font-size-100)/1.4 var(--site-font-body);
}
.compact-dialog__field input:focus,
.compact-dialog__field select:focus,
.compact-dialog__field textarea:focus,
.compact-dialog__input:focus {
    outline: 1px solid var(--focus);
    outline-offset: -1px;
}
.compact-dialog__field textarea { height: auto; min-height: 84px; padding: 10px 12px; resize: vertical; }
.compact-dialog__close:focus-visible,
.compact-dialog__button:focus-visible {
    outline: 1px solid var(--focus);
    outline-offset: 1px;
}
.compact-dialog__choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-bottom: 18px; }
.compact-dialog__choice { padding: 8px; border: 1px solid var(--border-default); border-radius: 8px; background: var(--surface-1); color: var(--text-primary); font: inherit; cursor: pointer; }
.compact-dialog__choice[aria-pressed="true"] { border-color: var(--site-accent); background: var(--site-accent-soft); }
.compact-dialog__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 24px;
    padding-top: 14px;
    border-top: 1px solid var(--border-default);
}
.compact-dialog__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 16px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: var(--site-accent);
    font: 400 var(--font-size-200)/1.4 var(--site-font-body);
    cursor: pointer;
}
.compact-dialog__button--primary { background: var(--site-accent); color: var(--site-on-accent); box-shadow: var(--shadow-popover); }
.compact-dialog__button--danger { background: var(--danger); color: var(--site-on-accent); }
.compact-dialog__button:hover:not(:disabled),
.compact-dialog__close:hover { filter: brightness(.95); }
.compact-dialog__button:disabled { opacity: .55; cursor: wait; }
.compact-dialog__status { margin: 14px 0 0; color: var(--reader-muted); font-size: var(--font-size-100); }
.compact-dialog__status.is-error { color: var(--danger); }
.compact-dialog__status:empty,
.compact-dialog__content [hidden] { display: none; }
@media (max-width: 600px) {
    .compact-dialog__panel { width: calc(100vw - 32px); }
    .compact-dialog__content { padding: 22px 18px 18px; max-height: calc(100dvh - 32px); }
    .compact-dialog__close { top: 12px; right: 12px; width: 32px; height: 32px; }
    .compact-dialog__title { padding-right: 38px; }
    .compact-dialog__content--untitled { padding-top: 54px; }
    .compact-dialog__actions { flex-wrap: wrap; }
}
