.connection-status{position:sticky;top:0;z-index:40;width:100%;padding:.65rem max(1rem,env(safe-area-inset-right)) .65rem max(1rem,env(safe-area-inset-left));background:#fff2d6;color:#664200;text-align:center;font-weight:750;border-bottom:1px solid #e7c878}.connection-status.is-online{background:#ddf5eb;color:#075e47}.pwa-notice{position:fixed;z-index:60;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));left:max(1rem,env(safe-area-inset-left));max-width:48rem;margin:auto;padding:1rem;border:1px solid #9bcde2;border-radius:16px;background:#fff;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:1rem}.pwa-notice[hidden],.pwa-install[hidden]{display:none}.pwa-notice span{display:block;color:var(--muted)}.pwa-install{display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap;margin-top:.4rem}.pwa-install.is-compact #pwa-install-dismiss{display:none}.pwa-text-button{min-height:44px;padding:.5rem .65rem;background:transparent;color:var(--primary-dark);text-decoration:underline}.pwa-dialog{width:min(34rem,calc(100% - 2rem));max-height:calc(100% - 2rem);padding:0;border:0;border-radius:18px;color:var(--text);box-shadow:var(--shadow)}.pwa-dialog::backdrop{background:rgba(8,30,42,.66)}.pwa-dialog-content{padding:clamp(1.2rem,5vw,2rem)}.pwa-dialog h2{margin-top:0}.pwa-dialog .actions{justify-content:flex-end;margin-top:1.5rem}.standalone .pwa-install{display:none!important}@supports(padding:max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.site-header{padding-top:env(safe-area-inset-top)}.site-footer{padding-bottom:max(2rem,env(safe-area-inset-bottom))}}@media(max-width:480px){.pwa-notice{align-items:stretch;flex-direction:column}.pwa-notice .actions{display:grid;grid-template-columns:1fr 1fr}.pwa-notice button{width:100%}}@media(max-width:340px){.pwa-notice .actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.connection-status,.pwa-notice,.pwa-dialog{scroll-behavior:auto;transition:none!important}}
