/* PWA delivery chrome. The current Modus paper styles remain authoritative. */
html.pwa-app {--pwa-h:100dvh;--pwa-top:0px;--pwa-left:env(safe-area-inset-left,0px);--pwa-right:env(safe-area-inset-right,0px);scroll-padding-top:100px}
html.pwa-app body {padding-bottom:env(safe-area-inset-bottom,0px)}
html.pwa-app [hidden] {display:none!important}
html.pwa-app :is(button,a[href],summary) {touch-action:manipulation}
html.pwa-app :is(input:not([type="radio"]):not([type="checkbox"]),textarea,select) {font-size:max(16px,1em);max-width:100%;min-width:0}
html.pwa-app :is(dialog,.modus-detail,.modus-exercise-list,.modus-workspace) {max-width:100%;overflow-wrap:anywhere}
.pwa-toolbar {display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));background:#f7f5ee;color:#171914;border-bottom:1px solid #d7d8cd;font:14px/1.5 system-ui,sans-serif;position:relative;z-index:6}
.pwa-state {flex:1 1 180px;color:#51564b}
.pwa-message {flex:1 1 220px}
.pwa-version {display:block;font-variant-numeric:tabular-nums;color:#51564b}
.pwa-menu {position:relative}
.pwa-menu summary {cursor:pointer;min-height:44px;display:flex;align-items:center;color:#315f37}
.pwa-menu-actions {position:absolute;right:0;top:100%;display:grid;gap:8px;min-width:min(300px,85vw);padding:16px;border:1px solid #b8bdae;background:#f7f5ee;border-radius:12px;box-shadow:0 8px 26px #17191420;z-index:40}
.pwa-toolbar button,.pwa-export-dialog button {min-height:44px;white-space:normal}
.pwa-export-dialog {width:min(620px,calc(100vw - 24px));max-height:calc(var(--pwa-h) - 32px);overflow:auto;padding:24px;background:#f7f5ee;color:#171914;border:1px solid #a8b19e;border-radius:16px}
.pwa-export-dialog p {white-space:pre-line}
.pwa-export-dialog::backdrop {background:#17191488}
#pwaStorageError {padding:12px 20px;background:#f7e6df;color:#762f1d;position:relative;z-index:10000}
html.pwa-app .training-dialog {max-height:calc(var(--pwa-h) - 16px);overflow:auto}
html.pwa-app .training-header {flex-wrap:wrap;gap:10px}
html.pwa-app .scale-dialog {width:min(900px,calc(100vw - 20px));max-height:calc(var(--pwa-h) - 20px);overflow:auto}
html.pwa-app .arena {touch-action:manipulation}
@media(max-width:700px){
 .pwa-toolbar {gap:4px 12px;font-size:13px}
 .pwa-message:empty {display:none}
 html.pwa-app :is(button,summary) {min-height:44px}
 html.pwa-app .training-header h2 {font-size:clamp(20px,5vw,28px)}
 html.pwa-app .training-controls {flex-wrap:wrap}
 html.pwa-app .training-dialog {width:calc(100vw - 12px);padding:12px}
}
