.popup {
    --popup-backdrop-background: var(--color-contrast-shadow-85);
    --popup-content-background: var(--color-tint);
    --popup-content-on-background: var(--color-contrast);

    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--margin-md);
}

.popup-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--popup-backdrop-background);
}

.popup-content {
    overscroll-behavior: contain;
    overflow-y: auto;
    position: relative;
    border-radius: 10px;
    background: var(--popup-content-background);
    color: var(--popup-content-on-background);
    width: 100%;
    max-width: 666px;
    height: 100%;
    max-height: 906px;
    padding: var(--margin-md);
}

.popup-close {
    position: absolute;
    right: var(--margin-md);
    line-height: 1;
}

.popup-frame {
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.popup-frame > div {
    display: flex;
    flex-grow: 1;
}

@media (prefers-color-scheme: dark) {
    .popup {
        --popup-content-background: var(--color-contrast);
        --popup-content-on-background: var(--color-tint);
    }
}