/* Classic Auth Shell — Tablet & Mobile (Index, Verify, Char-Select) */

.classic-auth-logo-inline {
    display: none;
    width: min(280px, 72vw);
    height: auto;
    margin: 0 auto 10px;
    filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.75));
}

/* Desktop: kein Seiten-Scroll */
@media (min-width: 1025px) {
    body.page-login-classic,
    body.page-verify-classic,
    body.page-char-select-classic {
        overflow: hidden;
    }
}

/* Tablet & Mobile */
@media (max-width: 1024px) {
    body.page-login-classic,
    body.page-verify-classic,
    body.page-char-select-classic {
        overflow-x: hidden;
        overflow-y: auto;
        min-height: 100dvh;
        -webkit-overflow-scrolling: touch;
    }

    .login-logo-wrap.login-logo-front {
        display: none !important;
    }

    .classic-auth-logo-inline {
        display: block;
    }

    /* —— Index —— */
    .login-content-inset {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        min-height: 100dvh;
        overflow: visible;
        padding:
            max(10px, env(safe-area-inset-top))
            max(12px, env(safe-area-inset-right))
            max(16px, env(safe-area-inset-bottom))
            max(12px, env(safe-area-inset-left));
        pointer-events: auto;
    }

    #game-wrapper {
        transform: none !important;
        height: auto;
        min-height: 0;
    }

    .login-stage {
        flex-wrap: wrap;
        padding-top: 4px;
    }

    .login-left {
        transform: none !important;
        width: 100%;
        max-width: 420px;
        margin: 0 auto;
        padding: 4px 4px 8px;
    }

    .login-center-spacer {
        display: none;
    }

    .login-panel,
    .login-promo {
        max-width: 100%;
    }

    .login-shots {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        width: 100%;
        max-width: 420px;
        margin: 12px auto 0;
        transform: none !important;
        flex-direction: column;
        padding: 0 4px;
    }

    .login-shots-title {
        writing-mode: horizontal-tb;
        transform: none;
        text-align: center;
        padding: 0 0 6px;
    }

    .login-shots-list {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
    }

    .login-shot {
        width: calc(50% - 6px);
        max-width: 150px;
    }

    #game-footer.login-footer {
        position: relative;
        margin-top: 12px;
    }

    /* —— Verify E-Mail —— */
    .verify-page-wrap {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        min-height: 100dvh;
        display: block;
        padding:
            max(10px, env(safe-area-inset-top))
            max(12px, env(safe-area-inset-right))
            max(16px, env(safe-area-inset-bottom))
            max(12px, env(safe-area-inset-left));
        pointer-events: auto;
    }

    .verify-page-inner {
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
        transform: none !important;
    }
}

@media (max-width: 600px) {
    .login-left {
        max-width: 100%;
    }

    .login-panel-head {
        flex-wrap: wrap;
        gap: 4px;
    }

    .login-promo h3 {
        font-size: 10px;
    }

    .login-promo p {
        font-size: 9px;
    }
}

@media (pointer: coarse) {
    .login-stone-btn,
    button.login-stone-btn {
        min-height: 44px;
        padding: 10px 12px;
        font-size: 11px;
    }
}

@media (max-height: 520px) and (orientation: landscape) and (max-width: 1024px) {
    .classic-auth-logo-inline {
        width: min(200px, 40vw);
        margin-bottom: 6px;
    }

    .login-stage {
        padding-top: 2px;
    }
}
