.ys-install-banner[hidden], .ys-install-help [hidden] { display: none !important; }
.ys-install-banner {
    position: fixed;
    inset-inline: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    z-index: 1035;
    display: grid;
    grid-template-columns: 28px 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: auto;
    max-width: 480px;
    margin-inline: auto;
    padding: 14px 10px;
    border: 1px solid #e1e3e5;
    border-top: 3px solid #dc3545;
    border-radius: 8px;
    background: #fff;
    color: #242424;
    box-shadow: 0 5px 28px #00000024;
    font-family: inherit;
    letter-spacing: 0;
    box-sizing: border-box;
}
.ys-install-icon { width: 48px; height: 48px; border-radius: 8px; object-fit: contain; }
.ys-install-copy { min-width: 0; text-align: start; }
.ys-install-copy strong { display: block; font-size: 16px; line-height: 1.5; }
.ys-install-copy span { display: block; color: #656565; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.ys-install-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 36px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #666;
    font-size: 16px;
    cursor: pointer;
}
.ys-install-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 42px;
    padding: 8px 12px;
    border: 1px solid #dc3545;
    border-radius: 6px;
    background: #dc3545;
    color: #fff;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}
.ys-install-button:hover { background: #bd2635; border-color: #bd2635; }
.ys-install-button:disabled { opacity: .65; cursor: wait; }
.ys-install-close:focus-visible, .ys-install-button:focus-visible { outline: 3px solid #242424; outline-offset: 3px; }
.ys-install-help {
    width: calc(100% - 32px);
    max-width: 420px;
    max-height: calc(100dvh - 48px);
    margin: auto;
    padding: 22px;
    border: 1px solid #e1e3e5;
    border-radius: 8px;
    background: #fff;
    color: #242424;
    font-family: inherit;
    letter-spacing: 0;
    overflow-y: auto;
    box-sizing: border-box;
}
.ys-install-help::backdrop { background: #0008; }
.ys-install-help-head { display: flex; align-items: center; gap: 12px; }
.ys-install-help-head img { flex: 0 0 48px; border-radius: 8px; }
.ys-install-help-head h2 { flex: 1; margin: 0; font-size: 19px; line-height: 1.5; }
.ys-install-help ol { margin: 20px 0 0; padding-inline-start: 24px; text-align: start; font-size: 15px; line-height: 1.9; }
.ys-install-help li + li { margin-top: 10px; }
@media (max-width: 359px) {
    .ys-install-banner { inset-inline: 8px; gap: 6px; padding-inline: 8px; grid-template-columns: 24px 40px minmax(0, 1fr) auto; }
    .ys-install-icon { width: 40px; height: 40px; }
    .ys-install-copy strong { font-size: 15px; }
    .ys-install-button { padding-inline: 9px; }
}
