/* Installation belongs in the feed, with the same light/dark surface tokens. */
:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet){--offer-tint:#21b88b;--offer-accent:#08634d;--offer-end:#134e70;position:relative;isolation:isolate;overflow:hidden;grid-column:1 / -1;box-sizing:border-box;min-width:0;padding:30px;border:1px solid color-mix(in srgb,var(--offer-tint) 28%,var(--line,#dce1e4));border-radius:24px;background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--offer-tint) 22%,transparent),transparent 64%),linear-gradient(135deg,color-mix(in srgb,var(--offer-tint) 10%,transparent),transparent),var(--surface,#fff);color:var(--text,#192426);overflow-wrap:anywhere;box-shadow:inset 0 1px 0 #ffffff30}
:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet)[data-colour=blue]{--offer-tint:#5099ff;--offer-accent:#174a9b;--offer-end:#493b9b}
:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet)[data-colour=violet]{--offer-tint:#a47aff;--offer-accent:#6234a5;--offer-end:#96376f}
:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet)[data-colour=peach]{--offer-tint:#f7a65c;--offer-accent:#974010;--offer-end:#963a60}
:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet)::before{content:"";position:absolute;z-index:-1;width:170px;height:170px;right:-65px;top:65px;border:1px solid color-mix(in srgb,var(--offer-tint) 20%,transparent);border-radius:50%;box-shadow:0 0 0 28px color-mix(in srgb,var(--offer-tint) 5%,transparent),0 0 0 57px color-mix(in srgb,var(--offer-tint) 4%,transparent);pointer-events:none}
.pwa-feed-brand{display:flex;align-items:center;gap:12px;padding-right:36px;font-size:23px;font-weight:750;letter-spacing:-.7px}
.pwa-feed-brand img,.pwa-install-sheet>img{border-radius:14px;box-shadow:0 4px 14px #0001}
.pwa-feed-brand-copy{display:grid;gap:4px}.pwa-feed-badge{font-size:11px;line-height:1.4;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#52616b)}
:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet) h2{max-width:540px;margin:20px 0 8px;font-size:clamp(22px,4vw,30px);line-height:1.18;letter-spacing:-.6px;color:inherit}
:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet) p{max-width:520px;margin:0 0 22px;color:var(--muted,#52616b);font-size:15px;line-height:1.6}
:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet) .pwa-primary{position:relative;isolation:isolate;overflow:hidden;gap:12px;min-height:54px;padding:12px 20px;border-radius:15px;background:linear-gradient(115deg,var(--offer-accent),var(--offer-end));color:#fff;font-size:15px;font-weight:700;box-shadow:inset 0 1px 0 #ffffff35,0 6px 16px color-mix(in srgb,var(--offer-accent) 20%,transparent);transition:transform 160ms cubic-bezier(.23,1,.32,1)}
.pwa-install-cta::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,transparent 15%,#ffffff35 50%,transparent 85%);transform:translateX(-120%);transition:transform 250ms cubic-bezier(.23,1,.32,1);pointer-events:none}
.pwa-cta-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#ffffff20;font-size:22px;line-height:1}.pwa-cta-arrow{margin-left:auto;font-size:22px;font-weight:400}
.pwa-feed-footnote{display:block;margin-top:12px;font-size:12px;line-height:1.5;color:var(--muted,#52616b)}
@media(hover:hover) and (pointer:fine){.pwa-install-cta:hover::before{transform:translateX(120%)}:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet) .pwa-primary:hover{transform:translateY(-2px)}}
:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet) .pwa-primary:active{transform:scale(.97);opacity:1}
@media(prefers-reduced-motion:reduce){:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet) .pwa-primary,.pwa-install-cta::before{transition:none}:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet) .pwa-primary:hover,:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet) .pwa-primary:active{transform:none}.pwa-install-cta::before{display:none}}
:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet) button,.pwa-install-sheet button{touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet) button:active,.pwa-install-sheet button:active{opacity:.75}
:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet) button:focus-visible,.pwa-install-sheet button:focus-visible{outline:3px solid var(--text,#192426);outline-offset:3px}
.pwa-install-sheet{position:fixed;box-sizing:border-box;padding:28px;border-radius:24px}
.pwa-install-sheet h2{margin-top:20px}.pwa-install-sheet .pwa-install-steps{padding:16px;border:1px solid var(--line,#dce1e4);border-radius:14px;font-size:16px;color:var(--text,#192426)}
@media(max-width:760px){:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet){padding:24px 20px;border-radius:20px}:is(.pwa-feed-offer,.pwa-prompt,.pwa-install-sheet) .pwa-primary{width:100%;box-sizing:border-box}.pwa-install-sheet{margin:auto auto 0;width:100%;max-width:560px;max-height:calc(100dvh - env(safe-area-inset-top,0px) - 16px);border-radius:24px 24px 0 0;padding:28px 24px calc(24px + env(safe-area-inset-bottom,0px))}}
.pwa-prompt{position:fixed;width:min(390px,calc(100% - 24px));max-height:calc(100dvh - 120px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;box-shadow:0 16px 50px #0003}
.pwa-prompt h2{font-size:25px}.pwa-prompt .pwa-primary,.pwa-install-sheet .pwa-primary{width:100%;box-sizing:border-box}.pwa-prompt .pwa-close{right:10px;top:10px}
.pwa-install-sheet{overflow-y:auto;overflow-x:hidden;box-shadow:0 24px 80px #0004}.pwa-install-sheet::before{right:0}
.pwa-install-sheet::backdrop,.pwa-settings-sheet::backdrop{background:#101c2bb3;backdrop-filter:blur(6px)}
.pwa-install-sheet .pwa-install-steps{margin:20px 0;padding:18px;background:color-mix(in srgb,var(--surface,#fff) 75%,transparent);border-color:color-mix(in srgb,var(--offer-tint) 30%,var(--line,#dce1e4))}
.pwa-install-step-label{display:block;margin-bottom:7px;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--text,#192426)}
.pwa-install-steps p{margin:0;font-size:15px;line-height:1.7;color:var(--text,#192426)}
.pwa-settings-sheet{box-sizing:border-box;border-radius:24px;padding:28px;background:radial-gradient(ellipse at 100% 0%,#21b88b14,transparent 55%),var(--surface,#fff)}.pwa-settings-sheet h2{margin-top:22px}.pwa-settings-sheet .pwa-primary{border-radius:12px;min-height:48px}.pwa-settings-sheet .pwa-options{padding:12px;border:1px solid var(--line,#dce1e4);border-radius:14px}
@media(max-width:760px){.pwa-prompt h2{font-size:23px}.pwa-prompt .pwa-feed-brand img{width:44px;height:44px}.pwa-prompt .pwa-feed-brand{font-size:21px}.pwa-settings-sheet{width:calc(100% - 16px);padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px))}}
