.pwa-prompt { position: fixed; z-index: 100; left: 15px; right: 15px; bottom: max(15px, env(safe-area-inset-bottom)); max-width: 520px; margin-inline: auto; padding: 20px; border: 1px solid var(--ink); background: var(--white); color: var(--ink); display: none; grid-template-columns: 52px minmax(0, 1fr); gap: 14px 15px; box-shadow: 8px 8px 0 rgba(211,74,54,.92), 0 18px 55px rgba(9,42,37,.25); animation: pwa-prompt-in .3s ease-out both; }
.pwa-prompt-close { position: absolute; top: 4px; right: 4px; width: 42px; height: 42px; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 25px; line-height: 1; }
.pwa-prompt-close:focus-visible, .pwa-prompt-action:focus-visible { outline: 3px solid #d4a95e; outline-offset: 2px; }
.pwa-prompt-icon { position: relative; width: 52px; height: 52px; border: 1px solid var(--ink); border-radius: 50%; align-self: center; }
.pwa-prompt-icon i { position: absolute; display: block; border-radius: 100px; background: var(--red); }
.pwa-prompt-icon i:nth-child(1) { width: 25px; height: 6px; left: 13px; top: 23px; }
.pwa-prompt-icon i:nth-child(2) { width: 6px; height: 25px; left: 23px; top: 13px; }
.pwa-prompt-icon i:nth-child(3) { width: 6px; height: 6px; right: 3px; top: 4px; background: var(--green); }
.pwa-prompt-copy { min-width: 0; padding-right: 26px; }
.pwa-prompt-kicker { color: var(--red); font: 700 8px var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.pwa-prompt h2 { margin: 5px 0 4px; font-family: var(--serif); font-size: 24px; font-weight: 400; line-height: 1.05; letter-spacing: -.025em; }
.pwa-prompt-copy p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.pwa-prompt-action { grid-column: 1 / -1; min-height: 46px; padding: 0 16px; border: 0; background: var(--green); color: white; display: flex; align-items: center; justify-content: space-between; font-size: 11px; font-weight: 700; }
.pwa-prompt-instructions { grid-column: 1 / -1; padding: 14px 15px; border-left: 3px solid var(--red); background: var(--paper); }
.pwa-prompt-instructions strong { font: 700 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.pwa-prompt-instructions p { margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.pwa-prompt-instructions b { color: var(--ink); }
.share-symbol { color: var(--green); font-size: 16px; font-weight: 700; }
@keyframes pwa-prompt-in { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 768px) { .pwa-prompt { display: grid; } }
@media (prefers-reduced-motion: reduce) { .pwa-prompt { animation: none; } }
