body.install-no-scroll{position:fixed;right:0;left:0;width:100%;overflow:hidden}.install-overlay{position:fixed;inset:0;z-index:9999;width:100%;min-width:0;min-height:100vh;min-height:100dvh;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}.install-shell{width:100%;max-width:var(--app-content-width);max-height:calc(100dvh - 26px);display:flex;align-items:flex-end;margin:0 auto;padding:0 16px calc(22px + env(safe-area-inset-bottom,0px))}.install-card{width:100%;min-width:0;max-height:calc(100dvh - 48px - env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--app-border);background:var(--app-panel);box-shadow:0 -18px 48px rgba(0,0,0,.42)}.install-head{min-height:42px;display:flex;align-items:center;gap:9px;padding:0 13px;border-bottom:1px solid var(--app-border);background:var(--app-panel-head)}.install-head strong{min-width:0;overflow:hidden;color:var(--app-text);font-size:11px;font-weight:700;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}.install-close{width:32px;height:32px;display:grid;place-items:center;margin-left:auto;border:1px solid var(--app-border-strong)!important;background:var(--app-elevated)!important;color:var(--app-text-secondary)}.install-close:hover{border-color:var(--app-accent-border)!important;color:var(--app-accent)}.install-body{min-width:0;flex:0 1 auto;overflow-y:auto;padding:16px;overscroll-behavior:contain}.install-screen{width:100%;min-height:0;display:flex;flex-direction:column}.install-copy{margin-bottom:16px;text-align:center}.install-copy-left{text-align:left}.install-title{margin:0;color:var(--app-text);font-size:22px;font-weight:800;letter-spacing:-.03em;line-height:1.15}.install-list{display:grid;gap:9px}.install-option,.install-source{width:100%;min-width:0;min-height:62px;display:grid;grid-template-columns:36px minmax(0,1fr) 16px;gap:11px;align-items:center;padding:12px 14px;border:1px solid var(--app-border)!important;background:var(--app-elevated)!important;color:var(--app-text);text-align:left}.install-option.is-detected,.install-option:hover,.install-source:hover{border-color:var(--app-accent-border)!important;background:var(--app-accent-tint)!important}.install-client-icon,.install-option-icon,.install-source-icon{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--app-border-strong);background:var(--app-panel);color:var(--app-accent);font-size:15px}.install-option-text,.install-source-text{min-width:0;display:grid;gap:3px}.install-option-text strong,.install-source-text strong{overflow:hidden;color:var(--app-text);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.install-option-text small,.install-source-text small{overflow:hidden;color:var(--app-text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.install-option-arrow{color:var(--app-text-faint);font-size:11px}.install-back{min-height:34px;display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--app-border-strong)!important;background:var(--app-elevated)!important;color:var(--app-text-secondary);font-size:10px;font-weight:700}.install-back:hover{border-color:var(--app-accent-border)!important;color:var(--app-accent)}.app-body .install-client{width:100%;min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) 16px;gap:12px;align-items:center;padding:14px;border:1px solid var(--app-border);background:var(--app-elevated);color:var(--app-text);text-align:left;transition:border-color var(--app-transition-fast) var(--app-ease),background var(--app-transition-fast) var(--app-ease),transform var(--app-transition-fast) var(--app-ease)}.install-client:hover{border-color:var(--app-accent-border);background:var(--app-accent-tint)}.install-client.is-recommended:hover{border-color:var(--app-accent)}.install-client:active{transform:scale(.99)}.install-client:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.install-client.is-recommended{border-color:var(--app-accent);background:var(--app-accent-tint)}.install-client.is-primary{border-color:var(--app-accent-border)}.install-client.is-extra{border-color:var(--app-border)}.install-client-body{min-width:0}.install-client-title{min-width:0;display:flex;align-items:center;gap:8px}.install-client-title strong{overflow:hidden;color:var(--app-text);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.install-client-title span{flex:0 0 auto;padding:2px 6px;border:1px solid var(--app-accent-border);background:var(--app-accent-tint-strong);color:var(--app-accent);font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.install-client-description{display:block;margin-top:5px;color:var(--app-text-muted);font-size:10px;line-height:1.5}.install-back-wide,.install-other-apps{width:100%;min-width:0}.install-other-apps{min-height:58px;display:grid;grid-template-columns:36px minmax(0,1fr) 16px;gap:11px;align-items:center;padding:12px 14px;border:1px solid var(--app-border)!important;background:var(--app-elevated)!important;color:var(--app-text);text-align:left}.install-other-apps:hover,.install-source.is-primary{border-color:var(--app-accent-border)!important;background:var(--app-accent-tint)!important}.install-source.is-primary .install-source-icon{border-color:var(--app-accent-border);background:var(--app-accent-tint-strong)}.install-source.is-alternative{border-color:var(--app-border)!important}.install-source-flag{font-size:17px;line-height:1}.install-empty{display:grid;gap:5px;padding:14px;border:1px solid var(--app-border);background:var(--app-elevated)}.install-empty strong{color:var(--app-text);font-size:12px}.install-empty span{color:var(--app-text-muted);font-size:10px;line-height:1.5}.install-screen-start{justify-content:flex-start}.install-copy-bottom{margin-top:0}.install-start-actions{display:grid;gap:9px}.install-note{margin:11px 0 0;padding:11px 12px;border-left:2px solid var(--app-accent);background:var(--app-accent-tint);color:var(--app-text-secondary);font-size:10px;line-height:1.55}.install-note::before{content:"info: ";color:var(--app-accent);font-weight:700}