/* Install banner. Appears at the bottom; "Not now" is always available. */
.tkh-pwa{position:fixed;z-index:1000;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:440px;margin:0 auto;
	background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:12px 14px;
	box-shadow:0 8px 28px rgba(31,34,51,.22);display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;animation:tkh-pwa-in .25s ease-out}
.tkh-pwa-ic{width:40px;height:40px;border-radius:10px;flex:none}
.tkh-pwa-tx{flex:1 1 150px;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:13px;line-height:1.35}
.tkh-pwa-tx strong{font-size:14px}
.tkh-pwa-tx span{color:var(--muted)}
.tkh-pwa-ac{display:flex;gap:8px;align-items:center;margin-left:auto}
.tkh-pwa button{font:inherit;font-size:13px;font-weight:700;border-radius:999px;padding:8px 14px;cursor:pointer;white-space:nowrap}
.tkh-pwa-go{background:var(--navy);color:#fff;border:1px solid var(--navy)}
.tkh-pwa-later{background:transparent;color:var(--muted);border:1px solid transparent}
.tkh-pwa-later:hover{color:var(--ink);border-color:var(--line)}
.tkh-pwa button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
@media(min-width:641px){.tkh-pwa{left:auto;right:20px;bottom:20px;margin:0}}
@keyframes tkh-pwa-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.tkh-pwa{animation:none}}
@media print{.tkh-pwa{display:none}}

/* "Install app" button in the footer. Shown only when the browser can install the site; stays available after "Not now". */
.tkh-install{font:inherit;font-size:12px;font-weight:700;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;cursor:pointer;white-space:nowrap}
.tkh-install[hidden]{display:none}
.tkh-install:hover{color:var(--red)}
.tkh-install:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
