/* Site install dialog and floating install button. */
.mfk-install-open { position: fixed; inset-inline-end: 16px; bottom: max(16px, env(safe-area-inset-bottom)); z-index: 90; min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px; background: #14b8a6; color: #04201d; font-weight: 800; box-shadow: 0 10px 30px rgba(0,0,0,.35); cursor: pointer; }
.mfk-install-open:focus-visible, .mfk-install-now:focus-visible, .mfk-install-x:focus-visible { outline: 3px solid #2ee6d0; outline-offset: 2px; }
.mfk-install-layer { position: fixed; inset: 0; z-index: 200; display: flex; align-items: flex-end; justify-content: center; }
.mfk-install-backdrop { position: absolute; inset: 0; background: rgba(2, 8, 12, .6); }
.mfk-install-sheet { position: relative; width: 100%; max-width: 980px; max-height: 88vh; overflow-y: auto; padding: 18px 18px max(22px, env(safe-area-inset-bottom)); background: var(--mfk-surf-1, #0d2029); color: var(--mfk-tx1, #f2f8f9); border-radius: 24px 24px 0 0; box-shadow: 0 -12px 40px rgba(0,0,0,.4); }
.mfk-install-sheet header { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.mfk-install-sheet h2 { margin: 0; font-size: 1.2rem; }
.mfk-install-sheet p { color: var(--mfk-tx2, #8ea7b2); margin: 8px 0 14px; }
.mfk-install-x { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgb(var(--mfk-tint, 245 238 226) / .2); background: rgb(var(--mfk-tint, 245 238 226) / .08); color: var(--mfk-tx1, #f2f8f9); font-size: 1.3rem; cursor: pointer; }
.mfk-install-grid { display: grid; gap: 12px; }
@media (min-width: 760px) { .mfk-install-grid { grid-template-columns: repeat(3, 1fr); } .mfk-install-layer { align-items: center; } .mfk-install-sheet { border-radius: 24px; } }
.mfk-install-card { padding: 14px; border-radius: 18px; background: rgb(var(--mfk-tint, 245 238 226) / .045); border: 1px solid rgb(var(--mfk-tint, 245 238 226) / .09); }
.mfk-install-card.is-current { border-color: rgba(46,230,208,.5); }
.mfk-install-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.mfk-install-os { display: inline-flex; align-items: center; gap: 8px; }
.mfk-install-os svg { width: 24px; height: 24px; color: #2ee6d0; }
.mfk-install-badge { font-size: .8rem; padding: 2px 10px; border-radius: 999px; background: rgb(var(--mfk-tint, 245 238 226) / .1); }
.mfk-install-card ol { margin: 10px 0 0; padding-inline-start: 20px; display: grid; gap: 6px; line-height: 1.55; color: var(--mfk-tx1, #f2f8f9); }
.mfk-install-now { margin-top: 12px; width: 100%; min-height: 44px; border: 0; border-radius: 12px; background: #14b8a6; color: #04201d; font-weight: 800; cursor: pointer; }

/* Install button: compact on floating pages; glass pill in the chat header. */
.mfk-install-open:not(.is-header) { min-height: 40px; padding: 0 14px; font-size: .85rem; }
.mfk-install-open.is-header { position: static; inset: auto; bottom: auto; z-index: auto; min-height: 36px; padding: 0 14px; font-size: .85rem; font-weight: 700; color: var(--mfk-tx1, #f2fffd); background: rgb(var(--mfk-tint, 245 238 226) / .14); border: 1px solid rgb(var(--mfk-tint, 245 238 226) / .32); box-shadow: inset 0 1px 0 rgb(var(--mfk-tint, 245 238 226) / .28), 0 8px 24px rgba(0,0,0,.2); -webkit-backdrop-filter: blur(14px) saturate(160%); backdrop-filter: blur(14px) saturate(160%); white-space: nowrap; }
.mfk-install-open.is-header:hover { background: rgb(var(--mfk-tint, 245 238 226) / .22); }
