/* PWA surfaces inherit the existing light/dark theme. */
.pwa-menu{border:0;background:transparent;font:inherit;width:100%;text-align:left;cursor:pointer}.pwa-menu .icon{flex-shrink:0}.pwa-sheet{background:var(--surface,#fff);color:var(--text,#192426);border:1px solid var(--line,#dce1e4);border-radius:16px;width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:24px;overflow:auto;overscroll-behavior:contain;box-shadow:0 12px 48px #0003}.pwa-sheet::backdrop{background:#0008}.pwa-sheet h2{font-size:21px;margin:0 44px 12px 0}.pwa-sheet h3{font-size:17px;margin:24px 0 8px}.pwa-sheet p{font-size:14px;line-height:1.6;color:var(--muted,#52616b)}.pwa-close{position:absolute;right:12px;top:12px;min-width:44px;min-height:44px;border:0;background:transparent;color:inherit;font-size:24px;border-radius:8px}.pwa-primary,.pwa-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:8px;padding:10px 16px;font-size:14px;line-height:1.4;cursor:pointer;touch-action:manipulation;text-decoration:none}.pwa-primary{background:#1768c6;color:#fff;border:1px solid transparent}.pwa-secondary{background:transparent;color:inherit;border:1px solid var(--line,#bcc7cd)}.pwa-actions{display:flex;flex-wrap:wrap;gap:8px}.pwa-actions button:disabled{opacity:.55;cursor:default}.pwa-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;border:0;padding:0;margin:12px 0}.pwa-options legend{font-size:14px;font-weight:600;margin-bottom:8px}.pwa-options label{display:flex;align-items:center;gap:8px;font-size:14px;min-height:44px;overflow-wrap:anywhere}.pwa-options input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0}.pwa-status{min-height:22px}.pwa-prompt{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));right:20px;z-index:65;width:min(360px,calc(100% - 24px));padding:18px 52px 18px 18px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--text);box-shadow:0 8px 32px #0002}.pwa-prompt p{margin:0 0 12px;font-size:14px;line-height:1.5}.pwa-prompt .pwa-close{top:4px;right:4px}.pwa-prompt[hidden],.pwa-sheet [hidden]{display:none!important}.pwa-offline{margin:0;min-height:100svh;display:grid;place-items:center;font:16px/1.6 system-ui,sans-serif;background:#fff;color:#192426;padding:24px;box-sizing:border-box}.pwa-offline main{max-width:440px;text-align:center}.pwa-offline img{border-radius:16px}.pwa-offline h1{font-size:24px}.pwa-offline p{color:#52616b}.pwa-offline .pwa-primary{background:#1768c6}.pwa-update{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:66;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:flex;gap:12px;align-items:center;max-width:calc(100% - 24px);font-size:14px}.pwa-update[hidden]{display:none}
@media(max-width:760px){.pwa-prompt,.pwa-update{bottom:calc(80px + env(safe-area-inset-bottom));right:12px}.pwa-sheet{padding:20px;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.pwa-options{gap:4px}}
@media(prefers-color-scheme:dark){.pwa-offline{background:#0e1113;color:#eef1f3}.pwa-offline p{color:#b3bec5}}

.reading-mode .pwa-prompt{bottom:calc(100px + env(safe-area-inset-bottom));z-index:65}.pwa-prompt .pwa-primary{width:100%}
@media(prefers-reduced-motion:no-preference){.pwa-prompt{animation:pwa-offer-in .2s ease-out}@keyframes pwa-offer-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}

/* Installation offer: text first, with a restrained tactile action. */
.pwa-prompt{padding:22px 20px 20px;border-radius:18px;box-shadow:0 12px 36px #0002}
.pwa-prompt .pwa-offer-title{font-size:18px;line-height:1.3;font-weight:700;letter-spacing:-.3px;padding-right:26px;margin:0 0 8px;color:var(--text)}
.pwa-prompt .pwa-offer-text{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 18px}
.pwa-prompt .pwa-primary{position:relative;isolation:isolate;overflow:hidden;min-height:48px;border-radius:12px;font-weight:650;background:linear-gradient(115deg,#1559b4,#2855c4 55%,#5344b3);box-shadow:inset 0 1px 0 #ffffff38,0 4px 12px #2355bf25;transition:transform 140ms cubic-bezier(0.23,1,0.32,1)}
.pwa-prompt .pwa-primary::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 20%,#ffffff25 48%,transparent 75%);transform:translateX(-120%);transition:transform 200ms cubic-bezier(0.23,1,0.32,1);pointer-events:none}
.pwa-prompt .pwa-primary:active{transform:scale(.98)}
.pwa-prompt .pwa-primary:focus-visible{outline:3px solid var(--text);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.pwa-prompt .pwa-primary:hover::before{transform:translateX(120%)}.pwa-prompt .pwa-primary:hover{transform:translateY(-1px)}}
@media(prefers-reduced-motion:reduce){.pwa-prompt .pwa-primary,.pwa-prompt .pwa-primary::before{transition:none}.pwa-prompt .pwa-primary:active,.pwa-prompt .pwa-primary:hover{transform:none}.pwa-prompt .pwa-primary::before{display:none}}
