.install-card{--sf-text:#f4f6fb;--sf-muted:#b6bfce;--sf-accent:oklch(50.54% .1905 27.52);--sf-accent-hover:oklch(44.37% .1613 26.9);position:fixed;z-index:60;right:20px;bottom:20px;width:min(380px,calc(100vw - 32px));padding:18px;border:1px solid #465169;border-radius:16px;background:linear-gradient(180deg,#1f2738,#171d2a);box-shadow:0 18px 50px rgba(0,0,0,.55);color:var(--sf-text);animation:install-in .28s ease-out}@keyframes install-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.install-card .install-x{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--sf-muted);cursor:pointer}.install-card .install-x:hover{background:#283249;color:var(--sf-text)}.install-card .install-head{display:flex;gap:14px;align-items:flex-start;padding-right:24px}.install-card .install-icon{flex:none;width:52px;height:52px;border-radius:13px;box-shadow:0 0 0 1px #30394c}.install-card .install-head h2{margin:2px 0 4px;font-size:17px;line-height:1.2}.install-card .install-head p{margin:0;font-size:13px;line-height:1.45;color:var(--sf-muted)}.install-card .install-steps{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}.install-card .install-steps li{display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.35;color:var(--sf-muted)}.install-card .install-steps li strong{color:var(--sf-text)}.install-card .install-steps li span{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#283249;color:var(--sf-text);font-size:17px}.install-card .install-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.install-card .install-go,.install-card .install-later{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:10px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.install-card .install-later{border:0;background:transparent;color:var(--sf-muted)}.install-card .install-later:hover{color:var(--sf-text)}.install-card .install-go{border:0;background:var(--sf-accent);color:#fff}.install-card .install-go:hover{background:var(--sf-accent-hover)}@media (max-width:760px){.install-card{left:16px;right:16px;width:auto;bottom:calc(72px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.install-card{animation:none}}.push-invite{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border:1px solid #465169;border-radius:12px;background:linear-gradient(180deg,#1f2738,#1b2231)}.push-invite>svg{font-size:20px;color:var(--sf-historic,#46d39a)}.push-invite p{display:grid;gap:2px;margin:0;font-size:13px;line-height:1.35}.push-invite p strong{font-size:14px}.push-invite p span{color:var(--sf-muted)}.push-invite button{min-height:40px;padding:8px 16px;border:0;border-radius:9px;background:var(--sf-accent);color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.push-invite button:hover:not(:disabled){background:var(--sf-accent-hover)}.push-invite button:disabled{opacity:.6}.push-invite small{grid-column:1/-1;color:#ff9a9f;font-size:12px}.push-invite.quiet{grid-template-columns:auto 1fr;border-style:dashed;background:transparent}.push-invite.quiet>svg{color:var(--sf-muted)}@media (max-width:520px){.push-invite{grid-template-columns:auto 1fr}.push-invite button{grid-column:1/-1;width:100%}}.push-card .push-on{display:flex;align-items:center;gap:8px;margin:0 0 4px;color:var(--sf-historic,#46d39a);font-weight:700;font-size:14px}.push-card .push-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.maintenance-banner{position:fixed;z-index:80;left:12px;bottom:84px;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 14px;border-radius:10px;background:#302712;border:1px solid #6b5420;color:#f2c15b;font-size:13px;font-weight:600;box-shadow:0 8px 24px rgb(0 0 0/.4)}.maintenance-banner a{color:#fff;text-decoration:underline;white-space:nowrap}@media (min-width:901px){.maintenance-banner{bottom:16px}}