.pwa-install-prompt[hidden], .pwa-install-guide[hidden] { display: none !important; }

.pwa-install-prompt, .pwa-install-guide {
    position: fixed;
    inset: 0;
    z-index: 60000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 12px;
    font-family: 'Manrope', sans-serif;
}

.pwa-install-prompt__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    border: 0;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.pwa-install-prompt__sheet, .pwa-install-guide__sheet {
    position: relative;
    box-sizing: border-box;
    width: min(100%, 520px);
    overflow: hidden;
    border: 1px solid rgba(112, 125, 255, .16);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(24, 29, 61, .24);
    animation: pwa-sheet-in .28s cubic-bezier(.2,.8,.2,1) both;
}

.pwa-install-prompt__visual {
    height: 176px;
    margin: 18px 54px 0;
    overflow: hidden;
    background: transparent;
}

.pwa-install-prompt__visual img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transform: none;
}

.pwa-install-prompt__content, .pwa-install-guide__sheet { padding: 22px 22px calc(22px + env(safe-area-inset-bottom, 0px)); }
.pwa-install-prompt__content { padding-top: 20px; }
.pwa-install-prompt__eyebrow { display: block; margin-bottom: 7px; color: #6878ff; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pwa-install-prompt h2, .pwa-install-guide h2 { margin: 0 0 14px; color: #191b24; font-size: 23px; font-weight: 750; line-height: 1.18; }
.pwa-install-prompt p { margin: 0; color: #74798a; font-size: 14px; font-weight: 400; line-height: 1.5; }
.pwa-install-prompt__actions { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 20px; }
.pwa-install-prompt__button { width: 100%; min-height: 50px; border-radius: 16px; padding: 12px 15px; font: 500 16px/1.2 'Manrope', sans-serif; cursor: pointer; }
.pwa-install-prompt__button--primary { border: 0; color: #fff; background: #707dff; box-shadow: none; }
.pwa-install-prompt__button--secondary { border: 1px solid #e4e6ef; color: #626777; background: #f8f8fb; box-shadow: none; }

.pwa-install-guide__sheet { overflow: visible; }
.pwa-install-guide__close { position: absolute; top: 14px; right: 14px; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; color: #737889; background: #f2f3f8; cursor: pointer; }
.pwa-install-guide__close svg { display: block; width: 19px; height: 19px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; }
.pwa-install-prompt__close { position:absolute; top:14px; right:14px; z-index:2; display:flex; align-items:center; justify-content:center; width:38px; height:38px; padding:0; border:0; border-radius:50%; color:#737889; background:#f2f3f8; cursor:pointer; }
.pwa-install-prompt__close svg { display:block; width:19px; height:19px; overflow:visible; fill:none; stroke:currentColor; stroke-width:2.25; stroke-linecap:round; }
.pwa-install-guide__sheet h2 { padding-right: 44px; }
.pwa-install-guide__steps { display: grid; gap: 12px; margin: 20px 0; padding: 0; list-style: none; counter-reset: pwa-step; }
.pwa-install-guide__steps li { position: relative; box-sizing: border-box; display: flex; align-items: center; min-height: 68px; padding: 11px 13px 11px 52px; border-radius: 16px; color: #53596a; background: #f6f7fb; font-size: 14px; line-height: 1.45; counter-increment: pwa-step; }
.pwa-install-guide__steps li::before { content: counter(pwa-step); position: absolute; left: 12px; top: 50%; display: grid; place-items: center; width: 28px; height: 28px; transform: translateY(-50%); border-radius: 10px; color: #fff; background: #707dff; font-size: 13px; font-weight: 700; }
.pwa-install-guide__sheet .pwa-install-prompt__button + .pwa-install-prompt__button { margin-top: 9px; }

body.pwa-install-dialog-open { overflow: hidden; }

@keyframes pwa-sheet-in { from { opacity: 0; transform: translateY(28px) scale(.98); } to { opacity: 1; transform: none; } }

@media (min-width: 901px), (hover: hover) and (pointer: fine) {
    .pwa-install-prompt, .pwa-install-guide { display: none !important; }
}

@media (max-width: 390px) {
    .pwa-install-prompt__visual { height: 148px; margin-left: 46px; margin-right: 46px; }
    .pwa-install-prompt__content, .pwa-install-guide__sheet { padding-left: 18px; padding-right: 18px; }
    .pwa-install-prompt h2, .pwa-install-guide h2 { font-size: 21px; }
}

@media (prefers-reduced-motion: reduce) { .pwa-install-prompt__sheet, .pwa-install-guide__sheet { animation: none; } }
