/* App install: header button, banner, how-to dialog, installed-mode tweaks */
.pwa-install{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.14);color:#fff;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap}
.pwa-install:hover{background:rgba(255,255,255,.26)}
.pwa-install[hidden]{display:none}
.pwa-install__ico{font-size:.95rem;line-height:1}
@media (max-width:640px){.pwa-install{padding:4px 9px}}
@media (max-width:480px){.utility-clock{display:none}}
.pwa-banner{position:fixed;z-index:9000;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;background:var(--white,#fff);color:var(--text-dark,#1f1430);border:1px solid var(--soft-lavender,#EDE4F5);border-radius:14px;padding:10px 12px;box-shadow:0 10px 34px rgba(30,10,50,.28);max-width:460px;margin:0 auto}
.pwa-banner img{border-radius:10px;flex:none}
.pwa-banner__t{flex:1;min-width:0;display:flex;flex-direction:column;font-size:.8rem;line-height:1.3}.pwa-banner__t b{font-size:.92rem}.pwa-banner__t span{color:var(--text-muted,#6b5c80)}
.pwa-banner__x{background:none;border:0;color:var(--text-muted,#6b5c80);font-size:1.4rem;line-height:1;cursor:pointer;padding:2px 6px}
.pwa-btn{background:var(--primary-purple,#563477);color:#fff;border:0;border-radius:999px;padding:9px 16px;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap}
.pwa-btn:hover{background:var(--secondary-purple,#70449A)}
@media (min-width:900px){.pwa-banner{left:auto;right:24px;bottom:24px;margin:0;width:420px}}
.pwa-modal{position:fixed;inset:0;z-index:9500;background:rgba(20,10,35,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.pwa-modal__card{position:relative;background:var(--white,#fff);color:var(--text-dark,#1f1430);border-radius:16px;max-width:420px;width:100%;padding:24px 22px 20px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.pwa-modal__card img{border-radius:14px}.pwa-modal__card h2{font-size:1.15rem;margin:10px 0}
.pwa-modal__card ol{text-align:left;margin:0 0 12px;padding-left:22px;font-size:.92rem;line-height:1.55}.pwa-modal__card li{margin-bottom:6px}
.pwa-modal__note{font-size:.8rem;color:var(--text-muted,#6b5c80);margin:0 0 14px}
.pwa-modal__x{position:absolute;top:8px;right:12px;background:none;border:0;font-size:1.6rem;line-height:1;color:var(--text-muted,#6b5c80);cursor:pointer}
.pwa-ico{display:inline-block;border:1px solid var(--soft-lavender,#d9c2f0);border-radius:6px;padding:0 6px;font-weight:700}
/* installed app: keep the header clear of the phone notch and home bar */
.is-pwa .utility-bar{padding-top:env(safe-area-inset-top)}
.is-pwa body{padding-bottom:env(safe-area-inset-bottom)}
