.pwa-install-banner{position:fixed;bottom:calc(var(--tabbar, 0px) + env(safe-area-inset-bottom,0px) + 12px);left:12px;right:12px;max-width:460px;margin:0 auto;z-index:9990;display:flex;align-items:center;gap:12px;padding:10px 14px;background:#0f172af2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(56,189,248,.35);border-radius:16px;box-shadow:0 12px 36px #0009,0 0 16px #38bdf826;transform:translateY(0);transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s ease;animation:pwa-banner-slide-up .35s cubic-bezier(.16,1,.3,1)}.pwa-install-banner.pwa-hidden{opacity:0;pointer-events:none;transform:translateY(20px)}@keyframes pwa-banner-slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.pwa-banner-icon{flex:none;width:44px;height:44px;border-radius:10px;overflow:hidden;box-shadow:0 4px 10px #0000004d}.pwa-banner-icon img{width:100%;height:100%;display:block}.pwa-banner-content{flex:1;min-width:0}.pwa-banner-title{font-size:13px;font-weight:800;color:#fff;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-banner-desc{font-size:11px;color:#94a3b8;margin-top:2px;line-height:1.3}.pwa-banner-actions{display:flex;align-items:center;gap:8px;flex:none}.pwa-install-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 14px;font-size:12px;font-weight:800;color:#fff;background:#0284c7;border:1px solid #38bdf8;border-radius:10px;cursor:pointer;box-shadow:0 2px 8px #0284c766;transition:all .15s ease;white-space:nowrap}.pwa-install-btn:active{transform:scale(.95);background:#0369a1}.pwa-close-btn{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#94a3b8;font-size:13px;cursor:pointer;transition:all .15s ease}.pwa-close-btn:hover{background:#ffffff26;color:#fff}.pwa-modal-overlay{position:fixed;inset:0;z-index:10000;background:#000000b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;animation:pwa-fade-in .2s ease}@keyframes pwa-fade-in{0%{opacity:0}to{opacity:1}}.pwa-ios-sheet{width:100%;max-width:480px;background:#0f172a;border-top-left-radius:24px;border-top-right-radius:24px;border:1px solid #334155;border-bottom:none;padding:22px 20px calc(24px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 40px #000000b3;animation:pwa-sheet-slide .25s cubic-bezier(.16,1,.3,1)}@keyframes pwa-sheet-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pwa-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:12px}.pwa-sheet-title-row{display:flex;align-items:center;gap:12px}.pwa-sheet-app-icon{width:42px;height:42px;border-radius:10px;box-shadow:0 4px 12px #0006}.pwa-sheet-title{font-size:16px;font-weight:800;color:#fff}.pwa-sheet-sub{font-size:12px;color:#94a3b8;margin-top:2px}.pwa-modal-close{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#94a3b8;font-size:18px;cursor:pointer}.pwa-modal-close:hover{background:#ffffff29;color:#fff}.pwa-instructions-list{display:flex;flex-direction:column;gap:16px;margin-bottom:22px}.pwa-step{display:flex;align-items:flex-start;gap:14px}.pwa-step-num{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#38bdf826;border:1px solid #38bdf8;color:#38bdf8;font-size:13px;font-weight:900;flex:none}.pwa-step-body{flex:1;min-width:0}.pwa-step-text{font-size:14px;color:#e2e8f0;line-height:1.45}.pwa-step-text strong{color:#fff}.pwa-step-action-badge{display:inline-flex;align-items:center;gap:6px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);padding:4px 10px;border-radius:8px;margin-top:6px;font-size:12px;font-weight:700;color:#38bdf8}.pwa-step-action-badge svg{width:16px;height:16px;stroke:currentColor}.pwa-ios-pointer{display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);color:#38bdf8;font-size:12px;font-weight:800;letter-spacing:.02em}.pwa-bounce-arrow{display:inline-block;font-size:20px;animation:pwa-bounce 1.4s infinite ease-in-out}@keyframes pwa-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.pwa-role-pill{color:#38bdf8!important;border-color:#38bdf866!important;background:#38bdf81a!important}.pwa-role-pill:hover{background:#38bdf833!important}body.standalone-app .pwa-install-banner,body.standalone-app .pwa-role-pill,body.standalone-app #install-app-btn{display:none!important}
