/* Touch layouts, safe areas and progressive mobile navigation. */
html{scroll-padding-bottom:110px}body{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}img{max-width:100%}button,input,select,textarea{max-width:100%}button,summary,input:not([type=checkbox]):not([type=radio]),select{min-height:44px}input,select,textarea{font-size:16px}input[type=checkbox],input[type=radio]{min-width:20px;min-height:20px}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}summary{padding-block:10px}fieldset{min-width:0}p,li,dd,label,a{overflow-wrap:anywhere}.garden-item.flex{flex-wrap:wrap}.garden-item.flex>*{min-width:0}.garden-item.flex>span{flex-basis:100%;font-weight:650}.garden-item.flex button{flex-shrink:1}.actions>*{min-width:0}.plant-placement select{width:100%;max-width:100%}
.mobile-nav{position:fixed;z-index:100;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:6px max(6px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px));background:#fcfefa;border-top:1px solid #d4dfd2;box-shadow:0 -3px 18px #1533210d}.mobile-nav button{border:0;padding:6px 2px;font-size:.72rem;line-height:1.25;background:transparent;min-height:54px;color:#526155;border-radius:10px}.mobile-nav svg{display:block;width:22px;height:22px;margin:0 auto 3px;stroke:currentColor;fill:none;stroke-width:1.8}.mobile-nav button[aria-current=page]{background:#e4efdf;color:#254e32;font-weight:750}.mobile-offline{padding:8px 14px;background:#fff1cf;border-radius:8px;font-size:.9rem;margin:8px auto;max-width:1020px}.plant-save-toast,.task-toast{bottom:calc(86px + env(safe-area-inset-bottom,0px))}.phone-filters>summary{color:var(--accent);font-weight:650}.phone-filters{margin:12px 0}.phone-filter-search{display:block;width:100%;margin:14px 0}.phone-filter-search input{display:block;width:100%;padding:12px;border:1px solid var(--border);border-radius:8px}.keyboard-open .mobile-nav{display:none}.keyboard-open .plant-save-toast{display:none}
@media(min-width:801px){.mobile-nav{left:50%;right:auto;transform:translateX(-50%);width:520px;border:1px solid #d4dfd2;border-bottom:0;border-radius:16px 16px 0 0}.phone-filter-search{max-width:500px}}
@media(max-width:800px){.page-header,.page-content{width:calc(100% - 24px)}.page-header{padding:20px 0 12px}.page-header h1{font-size:1.8rem;margin-bottom:6px}.page-header .eyebrow{font-size:.7rem}.page-header p{margin:6px 0}.home-menu,.learn-grid,.plant-grid{grid-template-columns:minmax(0,1fr)}.plant-type-menu{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.plant-type-menu button{min-width:0;padding:12px 8px}.plant-content,.learn-card,.import-panel{padding:16px}.menu-card{padding:18px}.home-menu{gap:10px}.filters{grid-template-columns:minmax(0,1fr);gap:12px}.actions{gap:8px}.actions button{flex:1 1 140px}.plant-facts>div{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.plant-facts dd{min-width:0}.garden-item{padding:14px}.garden-cover-actions button{flex:1 1 130px}.garden-tasks-section{padding-top:12px}.timeline-photo{max-width:calc(50% - 18px)}.note-photos{flex-wrap:wrap}dialog,#space-task-panel,#note-dialog,#seasonal-review,.cover-dialog,.personal-plant-dialog{width:calc(100% - 12px);max-width:640px;max-height:calc(100dvh - 16px);max-height:calc(var(--phone-visible-height,100dvh) - 16px);padding:18px;margin:auto;border-radius:16px;overflow:auto;overscroll-behavior:contain}dialog input:not([type=checkbox]):not([type=radio]),dialog textarea,dialog select{min-width:0;width:100%;font-size:16px}dialog input[type=file]{font-size:.85rem}dialog::backdrop{background:#12251c88}.month-options{grid-template-columns:repeat(3,minmax(0,1fr))}.month-options label{min-height:44px}.task-dialog-header{gap:8px}#close-task-dialog,#close-note-dialog{flex:none}.plant-profile-image img{max-height:45dvh}#my-plants-view{padding-bottom:30px}.plant-save-toast{max-width:calc(100% - 20px);font-size:.92rem}.plant-save-toast span{flex-basis:100%}input[type=date]{min-width:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important}}

#garden-setup { width:min(94vw, 600px); max-height:85dvh; overflow-y:auto; }
#garden-setup label:not(.setup-choice) { display:block; margin:12px 0; }
#garden-setup label:not(.setup-choice) input, #garden-setup select, #garden-setup textarea { display:block; width:100%; box-sizing:border-box; }
#garden-setup .setup-choice { display:flex; gap:12px; align-items:center; min-height:44px; padding:6px; }
#garden-setup input[type=checkbox] { width:22px; height:22px; flex:none; }
#garden-setup fieldset { margin:16px 0; }
#garden-setup .actions { flex-wrap:wrap; }
