
/* ExplorerMemo home-only PWA installation invitation */
.em-install-launch{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.em-install-launch:focus-visible,.em-install button:focus-visible{outline:3px solid #7aaafc;outline-offset:3px}
.em-install[hidden]{display:none!important}
.em-install{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:flex-end;justify-content:center;padding:20px 14px max(20px,env(safe-area-inset-bottom));background:rgba(8,16,31,.42);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.em-install-panel{position:relative;width:min(100%,420px);padding:23px;border-radius:24px;border:1px solid rgba(153,167,184,.27);background:#fff;color:#19283b;box-shadow:0 24px 70px rgba(0,0,0,.25);max-height:min(86dvh,760px);overflow-y:auto;overscroll-behavior:contain;animation:em-rise .3s ease both}
@keyframes em-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.em-install-top{display:flex;gap:14px;align-items:center;margin-right:27px}
.em-install-icon{width:61px;height:61px;flex:none;border-radius:15px;box-shadow:0 4px 13px rgba(20,40,60,.16)}
.em-install-kicker{font-size:.68rem;letter-spacing:.12em;font-weight:800;color:#617188}
.em-install-title{font-size:1.26rem;line-height:1.35;margin:4px 0 0;font-weight:800;color:inherit}
.em-install-copy{font-size:.88rem;line-height:1.75;margin:17px 0;color:#46566a}
.em-install-close{position:absolute;top:16px;right:17px;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:#edf0f5;color:#425065;cursor:pointer;font-size:1.25rem}
.em-install-actions{display:flex;gap:9px;flex-wrap:wrap}
.em-install button.em-install-primary,.em-install button.em-install-secondary{min-height:43px;flex:1;border-radius:12px;padding:10px 15px;font:inherit;font-weight:700;cursor:pointer}
.em-install-primary{background:#243a57;border:1px solid #243a57;color:white}
.em-install-secondary{background:transparent;border:1px solid #cbd5e1;color:#34455c}
.em-install-steps{margin:16px 0 2px;padding:14px 17px;border-radius:13px;background:#f1f5f9;font-size:.87rem;line-height:1.7}
.em-install-steps ol{margin:5px 0 0;padding-left:20px}
.em-install-steps li{padding:3px 0}
.em-install-steps[hidden]{display:none!important}
.em-install-note{font-size:.75rem;color:#65758c;margin-top:12px;line-height:1.5}
html[data-theme="dark"] .em-install-panel{background:#182334;color:#f4f7fd;border-color:#42516b}
html[data-theme="dark"] .em-install-copy{color:#c4cddb}
html[data-theme="dark"] .em-install-kicker,html[data-theme="dark"] .em-install-note{color:#aabbd0}
html[data-theme="dark"] .em-install-secondary{border-color:#6d7b93;color:#e9effa}
html[data-theme="dark"] .em-install-steps,html[data-theme="dark"] .em-install-close{background:#2c3b51;color:#e9effa}
/* Desktop: non-blocking, compact invitation anchored to bottom right. */
@media(min-width:700px){
 .em-install{inset:auto 24px 24px auto;width:min(380px,calc(100vw - 48px));display:block;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}
 .em-install-panel{width:100%;padding:19px;border-radius:18px;max-height:min(78vh,650px);box-shadow:0 13px 40px rgba(0,0,0,.23);pointer-events:auto}
 .em-install-icon{width:50px;height:50px;border-radius:12px}
 .em-install-title{font-size:1.1rem}
 .em-install-copy{margin:12px 0;font-size:.82rem}
 .em-install-panel .em-install-actions button{min-height:39px}
}

@media(prefers-reduced-motion:reduce){.em-install-panel{animation:none}}
