html{overscroll-behavior-y:contain;touch-action:pan-x pan-y}body{overscroll-behavior-y:contain}input,select,textarea{font-size:max(16px,1em)}
#pwa-controls{position:fixed;right:10px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:1400;font:14px/1.5 system-ui;color:#243b2f}#pwa-controls summary{cursor:pointer;list-style:none;padding:7px 12px;border:1px solid #bcc7b8;border-radius:20px;background:#fff;box-shadow:0 2px 10px #0001;width:max-content;margin-left:auto}.pwa-card{position:absolute;right:0;bottom:44px;width:min(340px,calc(100vw - 24px));background:#fff;padding:16px;border:1px solid #bcc7b8;border-radius:12px;box-shadow:0 6px 30px #0002;box-sizing:border-box}.pwa-card strong{font-size:16px}.pwa-card p{margin:10px 0}.pwa-actions{display:flex;gap:8px;flex-wrap:wrap}.pwa-actions button,.pwa-actions a{font:inherit;white-space:nowrap;border:1px solid #bcc7b8;border-radius:6px;padding:7px;background:#f6f8f2;color:#243b2f;text-decoration:none}.pwa-actions [hidden]{display:none}#pwa-pull{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:1500;background:#fff4c4;padding:10px 18px;border-radius:20px;font:15px system-ui}#pwa-rotation{display:none}@media(max-width:760px){#pwa-controls{bottom:calc(78px + env(safe-area-inset-bottom))}}@media(orientation:landscape) and (max-height:500px) and (pointer:coarse){#pwa-rotation{display:block;position:fixed;top:0;left:0;right:0;text-align:center;padding:6px;background:#fff0b4;z-index:1600;font:14px system-ui}}@media(prefers-reduced-motion:reduce){#pwa-controls *{animation:none!important}}

/* Center above pagination; keep mobile navigation clear. */
#pwa-controls{left:50%;right:auto;bottom:calc(66px + env(safe-area-inset-bottom));transform:translateX(-50%)}
#pwa-controls .pwa-card{left:50%;right:auto;transform:translateX(-50%)}
@media(max-width:760px){#pwa-controls{bottom:calc(132px + env(safe-area-inset-bottom))}}

/* Brief centered notice, then an unobtrusive bottom tab. */
#pwa-controls{bottom:env(safe-area-inset-bottom);max-width:calc(100vw - 20px)}
#pwa-controls summary{padding:3px 14px;border-radius:10px 10px 0 0;font-size:12px;min-height:24px;box-sizing:border-box}
#pwa-controls[open] .pwa-card{position:fixed;left:50%;bottom:calc(50vh - 120px);transform:translateX(-50%);max-height:calc(100dvh - 100px);overflow:auto;opacity:1;transition:opacity .3s,transform .3s}
#pwa-controls.collapsing .pwa-card{opacity:0;transform:translate(-50%,30vh) scale(.15);pointer-events:none}
#pwa-controls.remind summary{animation:tbp-update-glow 1.1s ease-in-out 3}
@keyframes tbp-update-glow{50%{background:#fff2a5;box-shadow:0 0 16px 5px #f5c92899}}
@media(max-width:760px){#pwa-controls{bottom:calc(64px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){#pwa-controls .pwa-card{transition:none!important}#pwa-controls.remind summary{background:#fff2a5;box-shadow:0 0 0 2px #e9c038}}

#pwa-dismiss{position:absolute;right:10px;top:10px;width:32px;height:32px;border:1px solid #b98d0b;border-radius:7px;background:#f7cc3e;color:#352d0b;font:24px/1 system-ui;cursor:pointer}#pwa-dismiss:hover{background:#ffe17a}#pwa-dismiss:focus-visible{outline:3px solid #665000;outline-offset:2px}.pwa-card>strong{display:block;padding-right:38px}

/* Keep the card viewport-centered in standalone and browser modes. */
#pwa-controls{left:0;right:0;transform:none;max-width:none;display:flex;justify-content:center;pointer-events:none}
#pwa-controls summary{margin:0;pointer-events:auto}
#pwa-controls[open] .pwa-card{position:fixed;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%);pointer-events:auto;max-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
#pwa-controls.collapsing .pwa-card{transform:translate(-50%,30vh) scale(.15);pointer-events:none}
@media(max-width:760px){#pwa-controls{bottom:var(--tbp-mobile-nav-height,calc(94px + env(safe-area-inset-bottom)))}}
