.rikoooo-download-dialog {
    width: min(1080px, calc(100vw - 32px));
    height: min(840px, calc(100vh - 32px));
    max-width: none;
    max-height: none;
    margin: auto;
    padding: 0;
    overflow: hidden;
    color: var(--riko-ink);
    background: var(--riko-surface-soft);
    border: 1px solid var(--riko-line);
    border-radius: 20px;
    box-shadow: 0 28px 90px color-mix(in srgb, var(--riko-brand-deep) 34.12%, transparent);
}

.rikoooo-download-dialog::backdrop {
    background: color-mix(in srgb, var(--riko-brand-deep) 72.16%, transparent);
    backdrop-filter: blur(4px);
}

.rikoooo-download-dialog__header {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 14px 10px 20px;
    color: var(--riko-on-brand);
    background: linear-gradient(110deg, var(--riko-brand-deep), var(--riko-brand));
}

.rikoooo-download-dialog__header h2 {
    margin: 0;
    color: inherit;
    font-size: 1rem;
    line-height: 1.3;
}

.rikoooo-download-dialog__close {
    display: inline-flex;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--riko-on-brand);
    background: color-mix(in srgb, var(--riko-inverse) 12.16%, transparent);
    border: 1px solid color-mix(in srgb, var(--riko-line) 27.84%, transparent);
    border-radius: 10px;
    font: 400 1.7rem/1 system-ui, sans-serif;
    cursor: pointer;
}

.rikoooo-download-dialog__close:hover,
.rikoooo-download-dialog__close:focus-visible {
    background: color-mix(in srgb, var(--riko-inverse) 21.96%, transparent);
}

.rikoooo-download-dialog__close:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--riko-focus) 50.2%, transparent);
    outline-offset: 2px;
}

.rikoooo-download-dialog__body {
    position: relative;
    height: calc(100% - 58px);
}

.rikoooo-download-dialog__loading {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    margin: 0;
    padding: 28px;
    color: var(--riko-text);
    background: var(--riko-surface-soft);
    font-weight: 750;
    text-align: center;
}

.rikoooo-download-dialog__frame {
    width: 100%;
    height: 100%;
    background: var(--riko-surface-soft);
    border: 0;
}

.rikoooo-download-dialog__fallback {
    position: absolute;
    right: 78px;
    top: 18px;
    margin: 0;
    font-size: .78rem;
}

.rikoooo-download-dialog__fallback a {
    color: var(--riko-on-brand-muted);
    text-underline-offset: 3px;
}

@media (max-width: 760px) {
    .rikoooo-download-dialog {
        width: 100vw;
        height: 100dvh;
        border: 0;
        border-radius: 0;
    }

    .rikoooo-download-dialog[open] {
        display: grid;
        grid-template-rows: auto minmax(0, 1fr) auto;
    }

    .rikoooo-download-dialog__header {
        padding-left: 14px;
    }

    .rikoooo-download-dialog__body {
        height: auto;
        min-height: 0;
    }

    .rikoooo-download-dialog__fallback {
        position: static;
        max-width: none;
        margin: 0;
        padding: 8px 14px;
        border-top: 1px solid var(--riko-line);
        background: var(--riko-surface-soft);
        font-size: .75rem;
        line-height: 1.4;
        text-align: center;
    }

    .rikoooo-download-dialog__fallback a {
        color: var(--riko-link);
    }
}

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