.install-card { display:flex; align-items:center; gap:12px; margin-top:24px; border-top:1px solid var(--border); padding-top:20px; flex-wrap:wrap; }
.install-card img { border-radius:12px; flex-shrink:0; }
.install-card > div { flex:1; min-width:140px; }
.install-card strong { display:block; font-size:13px; }
.install-card small { display:block; color:var(--muted); font-size:11px; margin-top:3px; }
.install-card button { padding:9px 12px; font-size:12px; color:var(--gold); }
#pwa-install { width:min(540px,94vw); max-height:90svh; overflow:auto; }
.pwa-heading { display:flex; align-items:center; gap:14px; }
.pwa-heading img { border-radius:16px; }
.pwa-heading > div { flex:1; }
.pwa-heading h2 { margin:0; font-size:25px; letter-spacing:-.8px; }
#pwa-install-close { padding:8px 12px; font-size:20px; }
.pwa-device-tabs { display:flex; gap:6px; margin:22px 0; }
.pwa-device-tabs button { flex:1; padding:10px 6px; font-size:12px; }
.pwa-device-tabs button[aria-pressed=true] { background:var(--gold); color:#191c18; border-color:var(--gold); }
#pwa-device-guide { font-size:14px; }
#pwa-device-guide ol { padding-left:23px; }
#pwa-device-guide li { padding-left:4px; margin:14px 0; }
#pwa-device-guide p,.pwa-note { color:var(--muted); font-size:12px; }
#pwa-install .full { width:100%; margin-top:12px; }
#pwa-install-status { font-size:12px; color:var(--gold); }
#pwa-network,#pwa-update { position:fixed; z-index:25; left:50%; transform:translateX(-50%); width:min(620px,calc(100vw - 32px)); border:1px solid #8e7857; border-radius:12px; padding:12px 16px; background:#292c21; box-shadow:0 8px 30px #0006; font-size:12px; }
#pwa-network { top:calc(12px + env(safe-area-inset-top)); color:var(--red); }
#pwa-update { bottom:calc(16px + env(safe-area-inset-bottom)); display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
#pwa-update-button { color:var(--gold); padding:6px 10px; }
#pwa-update-note { width:100%; color:var(--muted); }
#pwa-update-note:empty { display:none; }
.session-bar > div:last-child { display:flex; gap:8px; flex-wrap:wrap; }
@media(display-mode:standalone) { body { padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom); } }
@media(max-width:480px) { .pwa-heading h2 { font-size:21px; } .pwa-heading { gap:10px; } .install-card button { width:100%; } }
