/* Device-independent layout: no page zooming or fixed phone-size canvas. */
:root{--app-max:460px;--visible-height:100vh;--visible-top:0px;--keyboard-inset:0px}
@supports(height:100dvh){:root{--visible-height:100dvh}}
html{width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{width:100%;min-width:0}#app{width:100%;max-width:var(--app-max);min-width:0;min-height:var(--visible-height)}
.nav{max-width:var(--app-max);padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
main{min-width:0;min-height:var(--visible-height);padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
img,video,canvas{max-width:100%}input,select,textarea{min-width:0;max-width:100%}input:not([type=range]):not([type=checkbox]):not([type=radio]),textarea,select{font-size:max(16px,1em)}
.form,.form label,.grid,.grid>*{min-width:0}.plant-card .body{overflow-wrap:anywhere}.plant-tags{flex-wrap:wrap}.sheet{max-width:min(var(--app-max),100%);max-height:calc(var(--visible-height) - 24px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.overlay-bg{padding-top:max(12px,env(safe-area-inset-top));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.sheet.display-settings{top:calc(var(--visible-top) + var(--visible-height)/2);max-height:calc(var(--visible-height) - 24px)}.sheet.compact{margin-bottom:0;max-height:calc(var(--visible-height) - 24px)}
.chat-main{min-height:var(--visible-height)}.chat-main .composer{bottom:calc(8px + var(--keyboard-inset) + env(safe-area-inset-bottom));flex-shrink:0}.composer input{width:0;flex:1;min-width:0}
html[data-keyboard=open] .nav{display:none}html[data-keyboard=open] .species-detail .species-actions{bottom:8px}
.photo-view,.camera-photo-confirm .photo-view{max-height:calc(var(--visible-height)*.6)}
@media(max-width:600px){:root{--app-max:100%}.sheet:not(.compact):not(.display-settings):not(.popover){max-width:100%}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:600px){:root{--app-max:600px}.sheet{max-height:calc(var(--visible-height) - 16px)}.sheet.display-settings{max-height:calc(var(--visible-height) - 16px)}.welcome{padding-top:12px}.welcome-actions{padding-top:22vh}.auth-vertical-brand{height:90px;margin-top:4px}.auth-confirmed h1{margin-bottom:16px}}
@media(max-width:360px){.species-detail .species-actions{gap:4px}.section-title{gap:4px}.section-title h2{min-width:0}.sheet{padding-left:14px;padding-right:14px}.choices{gap:6px}.row{gap:6px}.grid{gap:7px}.auth-confirmed{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.overlay-bg{top:var(--visible-top);bottom:auto;height:var(--visible-height)}html[data-keyboard=open] #toast{bottom:calc(var(--keyboard-inset) + 12px)}
