/* Reflow against available layout space, including the app's 125% zoom. */
#app-frame{container:app-shell / inline-size}
#app-scroll main{container:app-content / inline-size}
dialog{container:app-dialog / inline-size;max-width:calc(100vw - 24px);overflow-x:hidden}
#app-header .greeting>div,.workspace>*,section,.exercise>div,.day-title,.summary-cards>*,.health-values>*,.energy-balance>*,.pet-main>*,.tracking label,.add-fields>*,.diet-food-grid>*,.settings-grid>*{min-width:0}
#app-scroll :is(h1,h2,h3,p,label,strong,small,summary),dialog :is(h2,h3,p,label,strong,small){overflow-wrap:anywhere}
#app-scroll :is(input,select,textarea,button),dialog :is(input,select,textarea,button){max-width:100%;min-width:0}
#app-scroll button,dialog button{white-space:normal;overflow-wrap:anywhere}
#app-scroll :is(img,canvas,video),dialog :is(img,canvas,video){max-width:100%}
.exercise{grid-template-columns:26px minmax(0,1fr)}
.tracking label{flex-wrap:wrap;flex:0 1 auto}
.tracking input,.tracking select{max-width:100%}
.ex-meta,.ex-bottom,.footer,.history-row,.calendar-legend,.gallery-box-head,.med-heading,.water-heading,.summary-heading,.diet-week-nav,.pet-controls,.pet-controls form>div,.water-size>div,.photo-viewer-nav,.avatar-editor-tools,.avatar-editor-actions{flex-wrap:wrap}
.gallery-box-head .gallery-new-photo{margin-left:auto}
.summary-months{grid-template-columns:repeat(6,minmax(0,1fr))}
.summary-months button{padding-inline:5px}
.weight-table{table-layout:fixed}
.weight-table :is(td,th){overflow-wrap:anywhere}
.add-fields,.settings-grid,.diet-food-grid{grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))}
.watch-start label{min-width:0}
@container app-shell (max-width:520px){
 #app-header .greeting{gap:10px;padding-inline:14px}
 #app-header .greeting h1{font-size:23px;overflow-wrap:anywhere}
 #app-header .greeting .eyebrow{font-size:9px;letter-spacing:1px;overflow-wrap:anywhere}
 #app-header .home-icon{flex-shrink:0;margin-left:auto}
 #app-scroll main{padding-inline:14px}
}
@container app-content (max-width:760px){
 .workspace{display:block}
 .guide{position:static;margin-top:20px}
 .pet-main{grid-template-columns:minmax(0,1fr)}
 .section-top,#dieta .diet-top{flex-wrap:wrap;align-items:flex-start}
 #home-menu .tab{padding:12px 9px;flex-direction:column;align-items:flex-start;gap:8px}
 #home-menu{--menu-title-size:12px}
}
@container app-content (max-width:460px){
 .summary-cards,.health-values{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pet-controls{align-items:stretch}
 .pet-controls form{max-width:none;flex-basis:100%}
 .pet-controls .secondary{white-space:normal}
 .gallery-box{display:block}
 .gallery-box-head{gap:10px}
 .gallery-box-copy{flex:1 1 145px}
 .gallery-new-photo{flex-shrink:1}
 .water-options{gap:8px}
 .summary-months{grid-template-columns:repeat(4,minmax(0,1fr))}
 .tracking{gap:10px}
 .tracking label{flex:1 1 115px}
 .tracking input:not([type=checkbox]),.tracking select{width:100%}
 .exercise{margin-inline:12px;gap:8px}
 .day-recap{grid-template-columns:minmax(0,1fr)}
 .settings-stages>div{grid-template-columns:minmax(0,1fr) 55px 75px;gap:6px}
 .runner-buttons{gap:12px;flex-wrap:wrap}
 .runner-buttons button{width:54px;height:54px}
 .energy-balance{padding:14px;gap:10px}
 .health-box{padding:16px}
 .weight-stats{gap:18px}
 .diet-food-name{flex-wrap:wrap}
 .diet-meal-button{gap:10px}
 .overview{gap:10px;flex-wrap:wrap}
 .training-actions>button{flex:1 1 150px}
}
@container app-content (max-width:300px){
 #home-menu .tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
 #home-menu .pet-play-entry{grid-column:1/-1;padding-inline:8px}
 .water-options,.summary-cards,.health-values,.energy-balance,.settings-grid,.pet-care-grid{grid-template-columns:minmax(0,1fr)}
 .summary-months{grid-template-columns:repeat(3,minmax(0,1fr))}
 .settings-stages>div{grid-template-columns:1fr 1fr}
 .settings-stages>div>:first-child{grid-column:1/-1}
 .day>summary{flex-wrap:wrap;gap:8px;padding-inline:12px}
 .day>summary .day-label{flex-shrink:0}
 .day>summary .day-title{flex:1 1 100px}
 .day>summary .count{margin-left:auto}
 .group-name{font-size:16px}
 .gallery-box{padding:12px}
 .gallery-grid .gallery-card{padding:3px 3px 7px}
 .gallery-grid .gallery-info{padding-inline:0}
 .photo-viewer-nav button{flex:1 1 85px}
}
@container app-dialog (max-width:340px){
 .dialog-head,.diet-edit-total,.diet-food-name,.avatar-editor-tools,.avatar-editor-actions{flex-wrap:wrap}
 .diet-food-grid,.add-fields,.settings-grid{grid-template-columns:minmax(0,1fr)}
 .settings-stages>div{grid-template-columns:1fr 1fr}
 .settings-stages>div>:first-child{grid-column:1/-1}
 .diet-edit-actions button{min-width:0;flex:1 1 100%}
 .calendar-legend{gap:8px}
}

/* Diet day summary: intake, total expenditure and signed balance stay visible
   while the accordion is closed. */
.diet-day>summary{position:relative;padding-right:42px}
.diet-day>summary>.chevron{position:absolute;right:16px;top:20px}
.diet-day>summary .diet-count{flex:1 0 100%;display:grid;gap:6px;text-align:left;border-top:1px solid #3f5734;padding-top:11px;margin-top:2px}
.diet-count-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:11px;color:#b8c9aa}
.diet-count-row b{color:#eef7e8;font-size:12px;white-space:nowrap}
.diet-count-row.diet-balance{padding-top:6px;border-top:1px solid #31462d}
.diet-count-row b.negative{color:#bdf47f}
.diet-count-row b.positive{color:#ffad69}
.diet-count-row b.neutral{color:#d7e6ce}
.diet-day .diet-count small{margin-top:2px;text-align:right;color:#edbc90}
.diet-day:not([open])>summary .diet-count-row:not(.diet-balance),
.diet-day:not([open])>summary .diet-count small{display:none}
.diet-day:not([open])>summary .diet-balance{padding-top:0;border-top:0}
