.pwa-nav{display:none}.pwa-settings{max-width:760px;margin:auto}.pwa-settings section{background:#fff;border:1px solid #e5e3de;border-radius:16px;padding:22px;margin:20px 0}.pwa-settings label{display:flex;align-items:center;gap:12px;margin:18px 0}.pwa-settings input[type=checkbox]{width:22px;height:22px;accent-color:#df650c}.pwa-settings button,.pwa-settings a.pwa-button{display:inline-block;padding:12px 18px;border-radius:10px;margin:4px;min-height:44px}.pwa-settings button:disabled{opacity:.55}.pwa-settings [role=status]{line-height:1.5}.pwa-offline{position:fixed;top:0;left:0;right:0;text-align:center;background:#573b13;color:white;padding:6px;z-index:1000}.pwa-offline[hidden]{display:none}.pwa-update{padding:10px;background:#fff4e5;color:#573b13;text-align:center}
@media(max-width:960px){body.pwa-shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}.pwa-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:70;justify-content:space-around;background:#fff;border-top:1px solid #e5e3de;padding:8px 4px calc(8px + env(safe-area-inset-bottom))}.pwa-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:44px;flex:1;font:600 10px system-ui;text-decoration:none;color:#475569;border-radius:10px}.pwa-nav a svg{width:22px;height:22px}.pwa-nav a[aria-current=page]{background:#fff0df;color:#ac4800}.pwa-settings h1{font-size:32px}.pwa-settings section{padding:16px}body.pwa-shell .p3-header{padding-top:max(12px,env(safe-area-inset-top))}}
@media(display-mode:standalone){body{overscroll-behavior-y:none}.p3-header{padding-top:max(12px,env(safe-area-inset-top))}}

/* Match the installed launch canvas and reserve bottom navigation space before JS. */
@media(display-mode:standalone) and (max-width:960px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}}

/* Smooth same-origin app navigation. Chromium keeps the current POLY3 view
   visible while the destination document is loading, then swaps the pages
   as one short app-style transition instead of exposing the launch canvas. */
@view-transition { navigation: auto; }
::view-transition-old(root){animation:90ms ease-out both p3-route-old}
::view-transition-new(root){animation:120ms ease-out both p3-route-new}
@keyframes p3-route-old{to{opacity:.985}}
@keyframes p3-route-new{from{opacity:.985}to{opacity:1}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
