[hidden] { display: none !important; }
.pwa-veil { overflow-y: auto; padding: max(20px, env(safe-area-inset-top)) 0 max(20px, env(safe-area-inset-bottom)); }
.pwa-veil-center { width: 100%; max-width: 440px; margin: auto; }
.pwa-emergency { width: 44px; height: 44px; }
.rad-install-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: 100%; padding: 20px 0 0; margin: 0; }
.rad-install-steps li { display: flex; flex-direction: column; align-items: center; gap: 12px; font-size: 11px; line-height: 1.6; color: var(--ink-dim); }
.rad-install-steps svg { width: 48px; height: 48px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rad-install-steps b { display: block; font-size: 11px; color: var(--muted); }
.rad-invite-note { margin-top: 18px; text-align: center; color: var(--muted); font-size: 11px; line-height: 1.7; }
.rad-empty, .rad-welcome { padding: 24px; margin: 0 0 18px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); color: var(--ink); }
.rad-empty > svg { width: 30px; height: 30px; fill: none; stroke: var(--muted); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 10px; }
.rad-empty h2, .rad-welcome h2 { font-size: 18px; margin: 0 0 8px; }
.rad-empty p, .rad-welcome p { font-size: 13px; line-height: 1.8; color: var(--muted); margin: 0 0 14px; }
.rad-empty a, .rad-welcome a { display: inline-block; padding: 10px 14px; color: var(--ink); border: 1px solid var(--line); border-radius: 999px; text-decoration: none; }
.rad-welcome { position: relative; padding-right: 56px; border-color: var(--accent); }
.rad-welcome .rad-eyebrow { font-size: 11px; letter-spacing: 1px; margin-bottom: 8px; }
.rad-welcome-close { position: absolute; top: 10px; right: 10px; width: 44px; height: 44px; border: none; background: transparent; color: var(--muted); cursor: pointer; }
.rad-welcome-close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.rad-welcome-close:focus-visible { outline: 2px solid var(--accent); border-radius: 8px; }
@media (max-width: 360px) { .rad-empty, .rad-welcome { padding: 18px; } .rad-welcome { padding-right: 50px; } }
html.pwa-gated .rad-welcome { visibility: hidden; }
/* 閘頁覆蓋主題按鈕及頁內浮動控制，只呈現安裝元件。 */
.pwa-veil { z-index: 1000000; }
