/* Native application layer: safe areas, feedback, and install/update surfaces. */
:root{--app-safe-top:env(safe-area-inset-top,0px);--app-safe-bottom:env(safe-area-inset-bottom,0px)}
html{background:#f4f6fb}
body{min-height:100dvh}
.app-install-card{position:fixed;left:50%;bottom:calc(16px + var(--app-safe-bottom));z-index:99999;width:min(calc(100% - 28px),440px);transform:translate(-50%,140%);display:flex;align-items:center;gap:12px;padding:12px;background:rgba(255,255,255,.96);border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 18px 46px rgba(15,23,42,.2);backdrop-filter:blur(16px);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.app-install-card.show{transform:translate(-50%,0)}
.app-install-icon{width:44px;height:44px;border-radius:14px;object-fit:cover;background:#0284c7;flex:none}.app-install-copy{min-width:0;flex:1}.app-install-copy strong,.app-install-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-install-copy strong{font-size:.82rem;color:#0f172a}.app-install-copy span{font-size:.7rem;color:#64748b;margin-top:2px}.app-install-action{padding:9px 13px;border:0;border-radius:12px;background:#0284c7;color:#fff;font:700 .76rem var(--font-body);cursor:pointer}.app-install-close{width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:#64748b;font-size:20px;cursor:pointer}
.app-status{position:fixed;z-index:100001;top:calc(12px + var(--app-safe-top));left:50%;transform:translate(-50%,-160%);display:flex;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:10px 14px;border-radius:999px;background:#0f172a;color:#fff;box-shadow:0 12px 30px rgba(15,23,42,.24);font:700 .76rem var(--font-body);transition:transform .28s cubic-bezier(.16,1,.3,1)}.app-status.show{transform:translate(-50%,0)}.app-status button{border:0;background:transparent;color:#bae6fd;font:inherit;text-decoration:underline;cursor:pointer}
@media (min-width:760px){body:not(.pwa-standalone){background:linear-gradient(135deg,#e0f2fe,#f8fafc 40%,#e2e8f0)}body:not(.pwa-standalone) .app-container{box-shadow:0 0 0 1px rgba(15,23,42,.05),0 24px 80px rgba(15,23,42,.13)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
