/* v18.98 PWA UI: isolated, responsive, scroll-safe and hidden inside standalone app mode. */
:root{--pwa-accent:var(--accent,#3b82f6);--pwa-text:#0f172a;--pwa-muted:#64748b;--pwa-surface:#fff;--pwa-line:rgba(148,163,184,.24)}
html[data-theme="dark"]{--pwa-text:#f8fafc;--pwa-muted:#b6c1d2;--pwa-surface:#111827;--pwa-line:rgba(148,163,184,.2)}
html.pwa-browser-force-active,body.pwa-browser-force-active{overflow:hidden!important;overscroll-behavior:none!important}
.pwa-force-layer[hidden],.pwa-install-banner[hidden],.pwa-native-notice[hidden],.pwa-install-steps[hidden],.pwa-install-state[hidden]{display:none!important}
.pwa-client-standalone .pwa-force-layer,.pwa-client-standalone .pwa-install-banner{display:none!important}
.pwa-force-layer{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:20px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.pwa-force-layer.is-active{display:flex}
.pwa-force-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.76);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.pwa-force-card{position:relative;width:min(420px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;display:grid;justify-items:center;gap:10px;padding:24px;border:1px solid var(--pwa-line);border-radius:24px;background:var(--pwa-surface);color:var(--pwa-text);box-shadow:0 26px 85px rgba(2,6,23,.34);text-align:center;-webkit-overflow-scrolling:touch}
.pwa-force-logo{display:grid;place-items:center;width:76px;height:76px;margin-bottom:3px;border-radius:22px;background:color-mix(in srgb,var(--pwa-accent) 9%,var(--pwa-surface));box-shadow:0 12px 34px color-mix(in srgb,var(--pwa-accent) 22%,transparent)}
.pwa-force-logo img{width:54px;height:54px;object-fit:contain;image-rendering:auto}
.pwa-force-pill{padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--pwa-accent) 11%,transparent);color:var(--pwa-accent);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.pwa-force-card h2{margin:1px 0 0;font-size:25px;line-height:1.08;letter-spacing:-.045em}.pwa-force-card h2 em{color:var(--pwa-accent);font-style:normal}.pwa-force-card p{max-width:340px;margin:0;color:var(--pwa-muted);font-size:13px;line-height:1.55}
.pwa-primary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:168px;min-height:44px;margin-top:5px;padding:0 20px;border:0;border-radius:13px;background:var(--pwa-accent);color:#fff;font:inherit;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 10px 22px color-mix(in srgb,var(--pwa-accent) 25%,transparent)}.pwa-primary-action .icon{width:17px;height:17px}
.pwa-install-state{max-width:330px;color:var(--pwa-accent);font-size:12px;font-weight:750;line-height:1.45}.pwa-install-steps{display:grid;gap:3px;width:100%;padding:11px 12px;border-radius:13px;background:color-mix(in srgb,var(--pwa-accent) 7%,transparent);text-align:left}.pwa-install-steps b{font-size:12px}.pwa-install-steps span{color:var(--pwa-muted);font-size:11px;line-height:1.5}
.pwa-install-banner,.pwa-native-notice{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:2147482000;display:flex;align-items:center;gap:10px;width:min(430px,calc(100vw - 24px));padding:10px 10px 10px 11px;border:1px solid var(--pwa-line);border-radius:17px;background:color-mix(in srgb,var(--pwa-surface) 96%,transparent);color:var(--pwa-text);box-shadow:0 16px 42px rgba(15,23,42,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.pwa-install-banner img,.pwa-native-notice img{width:38px;height:38px;padding:5px;object-fit:contain;border-radius:11px;background:color-mix(in srgb,var(--pwa-accent) 9%,transparent);image-rendering:auto}.pwa-install-banner span,.pwa-native-notice span{min-width:0;display:grid;gap:2px;margin-right:auto}.pwa-install-banner b,.pwa-native-notice b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.pwa-install-banner small,.pwa-native-notice small{overflow:hidden;color:var(--pwa-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.pwa-install-banner>button:not(.pwa-close),.pwa-native-notice>button:not(.pwa-close){min-height:36px;padding:0 12px;border:0;border-radius:10px;background:var(--pwa-accent);color:#fff;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.pwa-close{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:var(--pwa-muted);cursor:pointer}.pwa-close .icon{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9}
@media(max-width:640px){.pwa-force-layer{align-items:flex-end;padding:0}.pwa-force-card{width:100%;max-height:min(86dvh,720px);padding:22px 18px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.pwa-force-logo{width:70px;height:70px;border-radius:20px}.pwa-force-logo img{width:50px;height:50px}.pwa-force-card h2{font-size:24px}.pwa-install-banner,.pwa-native-notice{right:12px;left:12px;width:auto}.pwa-install-banner small,.pwa-native-notice small{max-width:170px}}
@media(max-height:560px){.pwa-force-card{gap:7px;padding-top:15px;padding-bottom:15px}.pwa-force-logo{width:58px;height:58px;border-radius:17px}.pwa-force-logo img{width:41px;height:41px}.pwa-force-card h2{font-size:22px}.pwa-force-card p{font-size:12px}}
