.mobile-auth-strip { display: none; }
.mobile-auth-strip[hidden] { display: none; }

@media (max-width: 720px) {
    body.view-puzzles:has(#account-button[data-authenticated="false"]) #main {
        padding-top: 0;
    }
}

@media (max-width: 620px) {
    .mobile-auth-strip {
        position: relative;
        isolation: isolate;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: center;
        justify-content: center;
        gap: 5px;
        margin: 9px 12px 12px;
        padding: 8px 10px 9px;
        border: 1px solid #d8bea2;
        border-radius: 13px;
        background: var(--mobile-header-cream, rgba(255, 253, 250, .96));
        box-shadow: inset 0 2px 0 #fffdf8, inset 0 -2px 3px #b58b5d0d,
            0 4px 0 #cbb299, 0 7px 12px #52371f14;
    }
    .mobile-auth-strip > p {
        margin: 0;
        color: #77634f;
        font-size: clamp(13px, 4.375vw, 14px);
        font-weight: 650;
        line-height: 1.4;
        text-align: center;
        white-space: nowrap;
    }
    .mobile-auth-buttons {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }
    .mobile-auth-buttons > a, .mobile-auth-buttons > button, .mobile-auth-google {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-width: 0;
        width: auto;
        height: 32px;
        min-height: 32px;
        padding: 3px 5px;
        box-sizing: border-box;
        border: 1px solid #decebb;
        border-radius: 7px;
        background: linear-gradient(#fffdf9, #fff8ed);
        color: var(--ink, #22211f);
        font-family: inherit;
        font-size: 12px;
        font-weight: 700;
        line-height: 1;
        text-decoration: none;
        white-space: nowrap;
        box-shadow: inset 0 1px 0 #fff, 0 2px 0 #d8c6b1;
        cursor: pointer;
    }
    .mobile-auth-buttons > :is(a, button):is(:hover, :focus-visible) {
        border-color: var(--brand-dark, #ad4635);
        background: #fff1df;
    }
    .mobile-auth-buttons > :is(a, button):focus-visible {
        outline: 2px solid var(--brand-dark, #ad4635);
        outline-offset: 2px;
    }
    .mobile-auth-buttons img, .mobile-auth-buttons svg { flex-shrink: 0; width: 18px; height: 18px; }
    .mobile-auth-buttons > :is(a, button):active { transform: translateY(1px); box-shadow: inset 0 1px 2px #9876531a, 0 1px 0 #d8c6b1; }
    .mobile-auth-google { position: relative; padding: 0; overflow: hidden; }
    .mobile-auth-google iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
    .mobile-auth-google:focus-within { outline: 2px solid var(--brand-dark, #ad4635); outline-offset: 2px; }
    .mobile-auth-buttons > button:disabled { opacity: .65; cursor: wait; }
    .mobile-auth-strip > .mobile-auth-message { grid-column: 1 / -1; color: var(--ink, #22211f); font-size: 12px; white-space: normal; }
    .mobile-auth-message[hidden] { display: none; }
    body:has(.site-header .nav-account-button:is(.is-authenticated, [data-authenticated="true"])) .mobile-auth-strip { display: none; }
}
