/* Platform insets, measured controls and keyboard handling; Reading styling is unchanged. */
:root{--nav-height:76px;--bottom-controls:0px;--visible-height:100dvh;--viewport-offset:0px}
html{scroll-padding-top:calc(16px + env(safe-area-inset-top));scroll-padding-bottom:calc(var(--nav-height) + var(--bottom-controls) + 32px)}
body .app,body.reading-active .app{padding-top:max(22px,env(safe-area-inset-top));padding-bottom:calc(var(--nav-height) + var(--bottom-controls) + 48px)}
body .nav{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(10px,env(safe-area-inset-bottom))}
body .r-toolbar,body .player{bottom:calc(var(--nav-height) + 12px)}
#pwa-bar{margin:0 0 18px;color:#627268;font-size:11px;line-height:1.6}#pwa-update[hidden]{display:none}#pwa-update{font-size:12px;margin:8px 0;min-height:44px}
html[data-offline=true] #pwa-bar{background:#f2eddc;border-radius:8px;padding:10px}
.backup-review{padding:18px;margin-top:16px;border:1px solid #cbd8ca;border-radius:12px}#backup-panel p{overflow-wrap:anywhere}#backup-panel details{margin-top:18px}#backup-panel select{height:auto;max-width:100%}
.keyboard-open .nav,.keyboard-open .r-toolbar,.keyboard-open .player{visibility:hidden;pointer-events:none}
.keyboard-open .r-sheet{max-height:calc(var(--visible-height) - 24px);bottom:auto;top:calc(var(--viewport-offset) + 12px);margin-top:0}
@media(max-width:700px){body .app,body.reading-active .app{padding-left:max(19px,env(safe-area-inset-left));padding-right:max(19px,env(safe-area-inset-right))}input,select,textarea,.player select,.r-search input,.r-search select{font-size:16px}.r-sheet{max-height:calc(var(--visible-height) - 24px);padding-bottom:max(22px,env(safe-area-inset-bottom));overscroll-behavior:contain}.nav{gap:clamp(4px,4vw,20px)}}
@media(orientation:landscape) and (max-height:500px){.r-sheet{max-height:calc(var(--visible-height) - 20px)}body .nav a{padding-top:0;padding-bottom:0}.nav a span{font-size:16px}.r-toolbar .r-button{min-height:38px}}
