.pwa-install-banner{position:fixed;bottom:0;left:0;right:0;z-index:9997;transform:translateY(100%);opacity:0;transition:transform .3s ease-out,opacity .3s ease-out}.pwa-install-banner.pwa-install-banner--visible{transform:translateY(0);opacity:1}.pwa-install-banner.pwa-install-banner--hiding{transform:translateY(100%);opacity:0}.pwa-install-banner__backdrop{background:linear-gradient(135deg,var(--color-primary-600,#2563eb) 0,var(--color-primary-700,#1d4ed8) 100%);box-shadow:0 -4px 20px rgba(0,0,0,.15);padding:0}[data-theme=dark] .pwa-install-banner__backdrop{background:linear-gradient(135deg,var(--color-primary-700,#1d4ed8) 0,var(--color-primary-800,#1e40af) 100%)}.pwa-install-banner__content{display:flex;align-items:center;gap:1rem;padding:1rem;max-width:600px;margin:0 auto}.pwa-install-banner__icon{flex-shrink:0;width:48px;height:48px;background:white;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15)}.pwa-install-banner__icon svg{width:32px;height:32px;color:var(--color-primary-600,#2563eb)}.pwa-install-banner__text{flex:1 1;min-width:0}.pwa-install-banner__title{color:white;font-size:1rem;font-weight:600;margin:0 0 .25rem;line-height:1.3}.pwa-install-banner__description{color:rgba(255,255,255,.85);font-size:.875rem;margin:0;line-height:1.4}.pwa-install-banner__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.pwa-install-banner__install-btn{background:white;color:var(--color-primary-700,#1d4ed8);border:none;padding:.625rem 1.25rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 4px rgba(0,0,0,.1)}.pwa-install-banner__install-btn:hover{background:var(--color-gray-100,#f3f4f6);transform:scale(1.02)}.pwa-install-banner__install-btn:active{transform:scale(.98)}.pwa-install-banner__install-btn:focus-visible{outline:2px solid white;outline-offset:2px}.pwa-install-banner__dismiss-btn{background:transparent;color:rgba(255,255,255,.8);border:none;padding:.5rem;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.pwa-install-banner__dismiss-btn:hover{background:rgba(255,255,255,.1);color:white}.pwa-install-banner__dismiss-btn:focus-visible{outline:2px solid white;outline-offset:2px}.pwa-install-banner__dismiss-btn svg{width:20px;height:20px}@media (max-width:480px){.pwa-install-banner__content{padding:.875rem;gap:.75rem}.pwa-install-banner__icon{width:40px;height:40px;border-radius:10px}.pwa-install-banner__icon svg{width:24px;height:24px}.pwa-install-banner__title{font-size:.9375rem}.pwa-install-banner__description{font-size:.8125rem}.pwa-install-banner__install-btn{padding:.5rem 1rem;font-size:.8125rem}}@media (max-width:360px){.pwa-install-banner__content{flex-wrap:wrap}.pwa-install-banner__text{flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 56px)}.pwa-install-banner__actions{flex:1 1 100%;justify-content:flex-end;margin-top:.5rem}}@supports (padding-bottom:env(safe-area-inset-bottom)){.pwa-install-banner__backdrop{padding-bottom:env(safe-area-inset-bottom)}}@media (prefers-reduced-motion:reduce){.pwa-install-banner{transition:opacity .1s ease;transform:none}.pwa-install-banner.pwa-install-banner--hiding,.pwa-install-banner.pwa-install-banner--visible,.pwa-install-banner__install-btn:active,.pwa-install-banner__install-btn:hover{transform:none}}@media (prefers-contrast:high){.pwa-install-banner__backdrop{background:#000080;border-top:2px solid white}.pwa-install-banner__install-btn{border:2px solid #000080}.pwa-install-banner__dismiss-btn{border:1px solid rgba(255,255,255,.5)}}.pwa-install-banner--ios .pwa-install-banner__icon--ios{background:transparent;border:2px solid white;box-shadow:none}.pwa-install-banner--ios .pwa-install-banner__icon--ios svg{width:24px;height:24px;color:white}.pwa-install-banner--ios .pwa-install-banner__dismiss-btn{background:rgba(255,255,255,.15);padding:.5rem 1rem;border-radius:6px}.pwa-install-banner--ios .pwa-install-banner__dismiss-text{color:white;font-weight:500;font-size:.875rem}.pwa-install-banner--ios .pwa-install-banner__description{font-size:.9375rem;line-height:1.5}