/* Body-level recovery dialog stays above the loading curtain and outside Shell routing. */
.nv-new-game-completion {
    position: fixed;
    inset: 0;
    margin: auto;
    width: min(420px, calc(100vw - 32px));
    max-height: calc(100dvh - 32px);
    overflow: auto;
    box-sizing: border-box;
    padding: 22px;
    border: 1px solid rgba(245, 211, 122, .45);
    border-radius: 16px;
    background: #111a26;
    color: var(--text, #f1eadf);
    box-shadow: 0 20px 70px rgba(0, 0, 0, .65);
    z-index: 20010;
    pointer-events: auto;
    font: inherit;
}
.nv-new-game-completion::backdrop { background: rgba(0, 0, 0, .72); }
.nv-new-game-completion h2 { margin: 0 0 12px; font-size: 1.15rem; color: #f5d37a; }
.nv-new-game-completion p { font-size: .88rem; line-height: 1.5; overflow-wrap: anywhere; }
.nv-new-game-completion__error { color: #ffb2b2; }
.nv-new-game-completion__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.nv-new-game-completion button, .nv-new-game-completion-shortcut {
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid rgba(245, 211, 122, .35);
    border-radius: 10px;
    background: #25354a;
    color: #f1eadf;
    font: inherit;
    cursor: pointer;
}
.nv-new-game-completion button:focus-visible, .nv-new-game-completion-shortcut:focus-visible { outline: 2px solid #f5d37a; outline-offset: 3px; }
.nv-new-game-completion button:disabled, .nv-new-game-completion-shortcut:disabled { opacity: .6; cursor: wait; }
.nv-new-game-completion__retry { flex: 1; }
.nv-new-game-completion-shortcut {
    position: fixed;
    bottom: max(16px, env(safe-area-inset-bottom));
    right: max(16px, env(safe-area-inset-right));
    z-index: 20010;
    max-width: calc(100vw - 32px);
    pointer-events: auto;
}
.nv-new-game-completion [hidden], .nv-new-game-completion-shortcut[hidden] { display: none !important; }
