/* sg-guest-save (games-p0, P0-3): soft «save progress» card for guests after playing. Same look as the compact cookie
   banner (white card, 14–16 px radius, red gradient pill), smaller, never modal. Sits above the cookie banner. */
.sg-guest-save {
    position: fixed;
    z-index: 9997;
    left: 50%;
    bottom: calc(max(12px, env(safe-area-inset-bottom)) + var(--sg-cookie-h, 0px));
    transform: translateX(-50%);
    width: min(560px, calc(100% - 16px));
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 40px 10px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    background: #fff;
    color: #030712;
    box-shadow: 0 18px 40px rgba(17, 12, 46, 0.22);
    font-family: inherit;
    animation: sg-guest-save-in .25s ease-out both;
}
.sg-guest-save--top { top: calc(max(8px, env(safe-area-inset-top)) + 56px); bottom: auto; }
@keyframes sg-guest-save-in { from { opacity: 0; transform: translate(-50%, 8px); } to { opacity: 1; transform: translate(-50%, 0); } }
@media (prefers-reduced-motion: reduce) { .sg-guest-save { animation: none; } }
.sg-guest-save-text {
    flex: 1 1 auto;
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}
.sg-guest-save-actions { display: flex; flex: 0 0 auto; gap: 6px; align-items: center; }
.sg-guest-save-login,
.sg-guest-save-again {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}
.sg-guest-save-login { background: linear-gradient(110deg, #f84953, #ff9b73); color: #fff; box-shadow: 0 6px 16px rgba(248, 73, 83, 0.28); }
.sg-guest-save-again { background: #f3f4f6; color: #111827; }
.sg-guest-save-login:hover, .sg-guest-save-again:hover { opacity: .9; }
.sg-guest-save-close {
    position: absolute;
    top: 50%;
    right: 6px;
    width: 32px;
    height: 32px;
    margin-top: -16px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #6b7280;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}
.sg-guest-save-close:hover { background: #f3f4f6; color: #111827; }
.sg-guest-save a:focus-visible, .sg-guest-save button:focus-visible { outline: 3px solid #5365bc; outline-offset: 2px; }
@media (max-width: 639px) {
    .sg-guest-save { flex-wrap: wrap; gap: 8px; padding: 10px 40px 10px 12px; border-radius: 14px; }
    .sg-guest-save-text { flex-basis: 100%; font-size: 13px; }
    .sg-guest-save-close { top: 6px; margin-top: 0; }
}
/* Never on top of onboarding / chapter finale / guest lock card. */
body:has([data-sg-blocking-overlay]) .sg-guest-save { display: none !important; }
