.portal-install-trigger[hidden] { display:none!important; }
.portal-install-trigger { display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:1px solid var(--portal-border);border-radius:4px;background:var(--portal-bg-soft);color:var(--portal-text);padding:.8rem 1rem;margin:1rem 0;min-height:44px;font:inherit;font-size:.9rem;cursor:pointer; }
.portal-install-trigger svg { width:18px;height:18px;color:var(--portal-muted); }
.portal-install-trigger:disabled { opacity:.5;cursor:wait; }
.portal-install-dialog { width:calc(100% - 2rem);max-width:440px;box-sizing:border-box;padding:1.4rem;background:#080f1b;color:#fff;border:1px solid rgba(174,185,200,.24);border-radius:6px;box-shadow:0 24px 80px rgba(0,0,0,.5); }
.portal-install-dialog::backdrop { background:rgba(2,3,8,.8); }
.portal-install-dialog header { display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem; }
.portal-install-dialog header p { font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:#20f2c4;margin:0 0 .5rem; }
.portal-install-dialog h2 { margin:0;font-size:1.4rem;line-height:1.2;font-weight:600;letter-spacing:-.025em; }
.portal-install-dialog header button { flex-shrink:0;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(174,185,200,.16);border-radius:4px;background:transparent;color:#aeb9c8;cursor:pointer; }
.portal-install-dialog header svg { width:18px;height:18px; }
.portal-install-intro { color:#aeb9c8;font-size:.85rem;line-height:1.6;margin:1.2rem 0; }
.portal-install-dialog ol { padding-left:1.25rem;margin:1.4rem 0; }
.portal-install-dialog li { padding-left:.4rem;margin-bottom:1rem;font-size:.85rem;line-height:1.6; }.portal-install-dialog li::marker { color:#20f2c4; }
.portal-install-note { font-size:.75rem;color:#aeb9c8;border-top:1px solid rgba(174,185,200,.16);padding-top:1rem;line-height:1.5; }
.portal-install-done { width:100%;border:1px solid #2878ff;background:#2878ff;color:white;min-height:44px;padding:.7rem;border-radius:4px;font:inherit;font-size:.85rem;cursor:pointer; }
