.landscape-helper {
    display: none;
}

@media (max-width: 900px) and (orientation: portrait) {
    .landscape-helper {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: calc(12px + env(safe-area-inset-bottom));
        z-index: 2147483000;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        padding: 11px 12px;
        color: #fff;
        background: rgba(24, 24, 38, .96);
        border: 1px solid rgba(255, 255, 255, .15);
        border-radius: 15px;
        box-shadow: 0 14px 38px rgba(0, 0, 0, .32);
        backdrop-filter: blur(16px);
    }

    .landscape-helper.is-hidden {
        display: none !important;
    }

    .landscape-helper__icon {
        width: 38px;
        height: 38px;
        display: grid;
        place-items: center;
        border-radius: 11px;
        background: linear-gradient(135deg, #008c95, #534ab7);
        font-size: 21px;
    }

    .landscape-helper__copy {
        min-width: 0;
        font-size: 13px;
        line-height: 1.45;
    }

    .landscape-helper__copy strong {
        display: block;
        font-size: 14px;
        color: #fff;
    }

    .landscape-helper__actions {
        display: flex;
        align-items: center;
        gap: 5px;
    }

    .landscape-helper button {
        min-height: 40px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 10px !important;
        cursor: pointer;
        touch-action: manipulation;
    }

    .landscape-helper__start {
        padding: 8px 12px !important;
        color: #fff !important;
        background: linear-gradient(135deg, #008c95, #534ab7) !important;
        font-size: 13px !important;
        font-weight: 700;
        white-space: nowrap;
    }

    .landscape-helper__close {
        width: 40px;
        padding: 0 !important;
        color: rgba(255, 255, 255, .72) !important;
        background: transparent !important;
        font-size: 20px !important;
    }

    .landscape-helper__message {
        grid-column: 1 / -1;
        display: none;
        padding-top: 7px;
        border-top: 1px solid rgba(255, 255, 255, .12);
        color: #ffe29a;
        font-size: 12px;
        line-height: 1.45;
    }

    .landscape-helper.has-message .landscape-helper__message {
        display: block;
    }
}

@media (max-width: 430px) and (orientation: portrait) {
    .landscape-helper {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .landscape-helper__actions {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 40px;
    }

    .landscape-helper__start {
        width: 100%;
    }
}
