/* iPhone-only adjustments. The original CGS palette and compact typography remain shared. */
.cgs-ios{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-bottom:120px}
.cgs-ios body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
.cgs-ios .app-shell.no-nav{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
.cgs-ios .bottom-nav{left:env(safe-area-inset-left,0px);right:env(safe-area-inset-right,0px)}
/* 16px prevents focus zoom; the existing text-size control can still enlarge fields. */
.cgs-ios .field :is(input:not([type=checkbox]):not([type=radio]),textarea,select),.cgs-ios input[type=search]{font-size:max(16px,calc(16px * var(--cgs-text-scale,1)))}
.cgs-ios :is(input,textarea,select){scroll-margin-block:80px}
.cgs-ios dialog{max-height:calc(var(--cgs-visible-height,100dvh) - 32px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain}
.cgs-ios.cgs-keyboard-open .bottom-nav{bottom:var(--cgs-keyboard-inset,0px)}
.cgs-ios.cgs-keyboard-open .app-shell{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
.cgs-ios.cgs-keyboard-open #toast{bottom:12px}

/* Shared Android, iPhone and touch-browser keyboard handling. */
.cgs-mobile-viewport :is(input,textarea,select,[contenteditable=true]){scroll-margin-block:16px}
.cgs-mobile-viewport dialog{max-height:calc(var(--cgs-visible-height,100dvh) - 32px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain}
:root.cgs-mobile-viewport.cgs-keyboard-open dialog[open]{top:calc(var(--cgs-visible-top,0px) + 12px);bottom:auto;margin-block:0;max-height:calc(var(--cgs-visible-height,100dvh) - 24px - env(safe-area-inset-bottom,0px))}
.cgs-mobile-viewport.cgs-keyboard-open .bottom-nav{bottom:var(--cgs-keyboard-inset,0px)}
.cgs-mobile-viewport.cgs-keyboard-open .app-shell{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
.cgs-mobile-viewport.cgs-keyboard-open #toast{bottom:12px}
/* Overlay keyboards leave the layout viewport tall. Add only the hidden area. */
.cgs-mobile-viewport.cgs-keyboard-open body::after{content:"";display:block;height:var(--cgs-keyboard-inset,0px);pointer-events:none}
