.top-actions .pwa-install-button,.studio-top-actions .pwa-install-button{width:auto;gap:6px;font-size:12px;white-space:nowrap;padding:8px;border-radius:10px}
.pwa-install-button svg{width:18px;height:18px;flex:none}
.pwa-dialog{max-width:440px;width:calc(100vw - 32px);border:1px solid var(--line);border-radius:22px;background:var(--white,var(--surface));color:var(--text);padding:28px;box-shadow:0 24px 100px #0004}
.pwa-dialog::backdrop{background:#061c24a6;backdrop-filter:blur(5px)}
.pwa-dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.pwa-dialog-heading img{border-radius:14px}
.pwa-dialog h2{font-size:26px;line-height:1.2;margin:10px 0 12px;letter-spacing:-.7px}.pwa-dialog p{font-size:14px;line-height:1.7;margin:12px 0}
.pwa-install-instructions{padding:16px 18px;margin:20px 0;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.pwa-install-instructions p{margin:0}.pwa-dialog>.button{width:100%;margin-top:12px}
@media(max-width:720px){.pwa-install-button span{display:none}.top-actions .pwa-install-button,.studio-top-actions .pwa-install-button{display:inline-flex!important;width:32px;min-width:32px;padding:6px}.pwa-dialog{padding:24px}}
.pwa-install-button[hidden]{display:none!important}
@media(max-width:720px){.top-actions #theme-toggle{display:none}}
.pull-refresh{position:fixed;top:max(10px,env(safe-area-inset-top));left:50%;z-index:2000;display:flex;align-items:center;gap:9px;border:1px solid var(--line,#dce7e4);border-radius:30px;padding:10px 16px;background:var(--white,#fff);color:var(--text,#182e2d);box-shadow:0 8px 30px #143c3826;font-size:12px;pointer-events:none;transform:translate(-50%,calc(var(--pull-distance,0px) * .4));transition:opacity .15s;white-space:nowrap}
.pull-refresh[hidden]{display:none}.pull-refresh-glyph{font-size:22px;line-height:1;color:var(--accent,#087f8c)}.pull-refresh.ready{border-color:#70b9aa}.pull-refresh.refreshing .pull-refresh-glyph{animation:pull-refresh-spin .7s linear infinite}
@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}
@media(max-width:900px) and (pointer:coarse){html.has-pull-refresh,html.has-pull-refresh body{overscroll-behavior-y:contain}}
@media(prefers-reduced-motion:reduce){.pull-refresh{transition:none}.pull-refresh.refreshing .pull-refresh-glyph{animation:none}}
