#auth-pane>p:not([class]){font-size:12px;line-height:2}#auth-pane h1{margin-bottom:24px}#record-form{border-top:1px solid var(--line);margin-top:28px;padding-top:25px}#record-form>h2{font-size:18px;color:var(--brand)}.food-entry>small{display:block}.food-entry .record-name{font-size:17px;line-height:1.7;color:var(--brand);margin:8px 0}.food-entry p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.food-entry .ai-state{font-size:9px;padding-top:5px}.soft-note p{font-size:11px;line-height:1.95;margin-top:10px}#profile-form .soft-note{padding:17px}#profile-form .soft-note .check-row{margin-bottom:0}#brand-admin>p:not([class]){font-size:11px;line-height:2}.theme-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.theme-options label{display:flex;align-items:center;gap:9px;padding:15px 10px;border:1px solid var(--outline);border-radius:12px;font-size:11px;min-height:70px;cursor:pointer}.theme-options label:has(input:checked){outline:2px solid var(--brand);background:var(--soft)}.theme-options input{accent-color:var(--brand);margin:0}.theme-options i{width:23px;height:23px;border-radius:50%;display:inline-block;border:1px solid #354f4133;flex-shrink:0}#brand-admin fieldset{border:0;padding:0;margin:25px 0}#brand-admin legend{font-size:12px;margin-bottom:15px}button:disabled{cursor:wait;opacity:.6}#private-app[hidden]{display:none}.reference-list{display:block;font-size:9px;color:var(--muted);margin-top:12px;line-height:1.8}.privacy-page{max-width:700px;margin:auto;padding:30px 25px 60px;background:var(--paper);min-height:100dvh}.privacy-page>img{width:160px;margin-bottom:25px}.privacy-page h1{font-size:26px}.privacy-page h2{font-size:16px;color:var(--brand);margin:30px 0 12px}.privacy-page p{font-size:12px;line-height:2.1}.privacy-page a{display:inline-flex;align-items:center;min-height:44px}
.google-login{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;width:100%;background:#fff;color:#1f1f1f;border:1px solid #747775;border-radius:24px;font:500 14px Arial,sans-serif;margin:24px 0 0;padding:12px 16px}.google-login img{width:20px;height:20px;object-fit:contain}.auth-divider{display:flex;align-items:center;gap:14px;font-size:10px;color:var(--muted);margin:24px 0}.auth-divider::before,.auth-divider::after{content:'';height:1px;background:var(--line);flex:1}.record-tools{display:grid;grid-template-columns:1fr;gap:0;margin-top:24px}.record-tools .field{margin-bottom:15px}.insight-summary{background:var(--soft);padding:14px 16px;border-radius:12px;margin:15px 0 20px;font-size:12px;line-height:1.9}.insight-summary:empty{display:none}#body-insights{border-top:1px solid var(--line);padding-top:15px;margin:15px 0 25px}#body-chart svg{display:block;width:100%;height:auto;margin:20px 0 10px;overflow:visible}#body-chart svg text{font:10px Arial,sans-serif;fill:var(--brand)}#body-chart svg line{stroke:var(--line);stroke-width:1}#body-chart svg polyline{stroke:var(--brand);stroke-width:2}#body-chart svg circle{fill:var(--brand)}.trend-latest{font-size:30px;color:var(--brand);margin:20px 0 5px;font-variant-numeric:tabular-nums}#body-chart>small{font-size:10px;color:var(--muted)}#body-insights details{margin-top:20px;font-size:11px}#body-insights summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.measurement-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:15px 0}.measurement-list dd{text-align:right;font-variant-numeric:tabular-nums}#export-records{font-size:11px;min-height:44px}.bubble strong{font-weight:600}#google-status:empty{display:none}

.document-observation{border:1px solid var(--line);border-radius:12px;padding:15px;margin:20px 0;min-width:0}.document-observation legend{font-size:12px;padding:0 6px}.document-card{border-top:1px solid var(--line);padding:24px 0}.document-card h3{font-size:18px;margin:0 0 10px}.document-card summary{display:flex;align-items:center;min-height:44px;cursor:pointer;text-decoration:underline}.document-values{font-size:12px;line-height:1.8;padding:15px 0}.document-values dt{margin-top:14px}.document-values dd{margin:4px 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.document-card .food-actions{flex-wrap:wrap}.document-card .food-actions button{min-height:44px}.grounded-answer{font-size:13px;line-height:2;white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0}.grounded-answer sup a{display:inline;padding:0 3px;font-size:10px}.source-links{font-size:11px;line-height:1.7}.source-links a{display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere;margin:4px 0}.search-suggestions{border:0;width:100%;height:170px;margin:20px 0}#document-upload input[type=file]{max-width:100%;font-size:12px}#document-review{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}#document-warnings{white-space:pre-wrap}#local-results h2{margin-top:30px}#documents h1{font-size:clamp(25px,7vw,34px)}

.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.bottom-nav button{min-width:0}.bottom-nav span{font-size:9px}.home-meal{margin:25px 0 0;min-height:100px}.home-meal b{font-size:22px}.home-meal small{font-size:12px}.capture-shortcuts{display:flex;border-bottom:1px solid var(--line);margin-bottom:30px}.capture-shortcuts button{flex:1;min-height:52px;border:0;background:transparent;color:var(--brand);font-size:11px;text-decoration:underline;text-underline-offset:4px;padding:8px 2px}.home-section{margin:28px 0;border-bottom:1px solid var(--line);padding-bottom:24px}.home-section h2,.home-report h2,.profile-reports h2{font-size:17px;margin:0 0 14px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading .text-button{font-size:10px;margin:0}.home-empty{font-size:14px;line-height:2;padding:8px 0 15px}.home-meal-row{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;width:100%;min-height:76px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--brand);padding:12px 0}.home-meal-row>span:first-child{min-width:0}.home-meal-row small,.home-meal-row b{display:block;line-height:1.7;overflow-wrap:anywhere}.home-meal-row small{font-size:10px}.home-meal-row b{font-size:14px;font-weight:500}.home-meal-value{font-size:10px;flex-shrink:0;max-width:38%;text-align:right}.recent-meal{display:block;min-height:48px;border:1px solid var(--outline);border-radius:10px;margin:8px 0;padding:10px 14px;background:var(--paper);font-size:12px;text-align:left;color:var(--brand);width:100%;overflow-wrap:anywhere}#home-week{display:flex;gap:8px;margin:18px 0}#home-week span{flex:1;text-align:center;font-size:11px;border:1px solid var(--line);padding:10px 0;border-radius:50%}#home-week .recorded-day{background:var(--brand);color:var(--paper);border-color:var(--brand)}#home-week-caption{font-size:18px;font-variant-numeric:tabular-nums}.home-report{margin-top:30px;padding:22px 0;border-top:1px solid var(--line)}.home-report p{font-size:12px;line-height:2}.profile-body-summary{display:flex;gap:25px;margin:25px 0}.profile-body-summary:empty{display:none}.profile-body-summary p{flex:1;padding-bottom:20px;border-bottom:1px solid var(--line)}.profile-body-summary small,.profile-body-summary b{display:block}.profile-body-summary small{font-size:10px;margin-bottom:12px}.profile-body-summary b{font-size:25px;font-weight:400}.report-actions{border-top:1px solid var(--line);margin:15px 0 30px}.report-actions button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:64px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--brand);font-size:14px;text-align:left;gap:12px;padding:12px 0}.report-actions span{font-size:10px}.profile-group{border-top:1px solid var(--line);margin:20px 0;padding-top:10px}.profile-group summary{min-height:56px;cursor:pointer;align-content:center;font-size:13px;line-height:1.8}.profile-group summary small{display:block;font-size:10px;margin:3px 0 12px}.profile-group[open] summary{margin-bottom:20px}.goal-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.goal-chips button,.portion-controls button{min-height:44px;border:1px solid var(--outline);border-radius:22px;background:var(--paper);padding:10px 13px;font-size:11px;color:var(--brand)}.meal-capture{border:1px solid var(--outline);border-radius:12px;padding:0 15px;margin:20px 0}.meal-capture summary{display:flex;align-items:center;min-height:58px;font-size:13px;cursor:pointer}.meal-capture input[type=file]{max-width:100%;font-size:12px}.portion-controls{margin:15px 0}.portion-controls button[aria-pressed=true]{background:var(--brand);color:var(--paper)}.email-login{margin:20px 0}.email-login summary{min-height:48px;align-content:center;font-size:12px;text-align:center;text-decoration:underline;cursor:pointer}#auth-pane h1{font-size:clamp(30px,8vw,40px);line-height:1.7}#auth-pane>.helper{font-size:10px}#home h1{font-size:clamp(30px,8vw,39px);line-height:1.65;margin-top:12px}.journal-heading{margin-top:32px}button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:4px}

.document-observation summary{min-height:52px;align-content:center;cursor:pointer;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.document-observation[open] summary{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:18px}.document-observation{margin:10px 0;padding:0 14px}.document-observation[open]{padding-bottom:14px}

.record-timing{border-bottom:1px solid var(--line);margin-bottom:22px}.record-timing summary{font-size:12px;min-height:44px;align-content:center;cursor:pointer}.record-timing[open] summary{margin-bottom:18px}#records>h1{font-size:30px;margin-bottom:20px}#record-form{margin-top:20px;padding-top:20px}

#document-warnings:empty{display:none}

.meal-photo-state{margin:15px 0}.meal-photo-state img{display:block;width:100%;max-height:200px;object-fit:contain;border-radius:10px;background:var(--soft)}.correction-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.correction-shortcuts button{min-height:44px;border:1px solid var(--outline);border-radius:22px;background:var(--paper);color:var(--brand);padding:10px 14px;font-size:12px}.sticky-save{position:sticky;bottom:calc(74px + env(safe-area-inset-bottom));background:var(--paper);padding:10px 0;z-index:5}.sticky-save .primary{margin:0}#ai-disabled h2{font-size:17px;margin:0 0 14px}#ai-disabled p{font-size:12px;line-height:1.9}#document-date-tools{border:1px solid var(--line);border-radius:12px;padding:15px;margin:15px 0}#document-next button{margin:10px 0 0}#document-next p{font-size:14px}#records[data-kind=meal] #record-form{margin-top:15px}.live-screen [hidden],.meal-capture [hidden]{display:none!important}

.home-profile{margin:28px 0;padding:22px 0;border-top:1px solid var(--line)}.home-profile h2,.profile-optional h2{font-size:18px}.profile-answer-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:64px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--brand);padding:14px 0;text-align:left;font-size:13px}.profile-answer-row span{flex:1}.profile-answer-row small{max-width:55%;font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}.profile-optional{margin:25px 0 35px}.question-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.question-top .text-button{margin:0}.question-top p{margin:0}.profile-question progress{width:100%;height:5px;margin:22px 0 30px;accent-color:var(--brand)}.profile-question h1{font-size:clamp(25px,7vw,32px);line-height:1.6;margin:0 0 18px;outline-offset:6px}.question-presets{display:flex;flex-direction:column;gap:12px;margin:28px 0}.question-presets:empty{display:none}.question-presets button{min-height:58px;text-align:left;border:1px solid var(--outline);border-radius:12px;background:var(--paper);color:var(--brand);padding:14px 18px;font-size:14px}.question-presets button:focus{background:var(--soft)}.question-answer{display:flex;align-items:center;gap:12px;margin:30px 0}.question-answer input,.question-answer textarea{width:100%;min-width:0;border:1px solid var(--outline);border-radius:12px;padding:18px 14px;font-size:18px;line-height:1.7;background:var(--paper);color:var(--brand)}.question-answer input[type=number]{font-size:36px;font-variant-numeric:tabular-nums}.question-answer span{font-size:16px;flex-shrink:0}.profile-question .text-button{display:block;min-height:44px;margin:8px auto}.profile-question>.helper{margin-top:28px}.gregorian-date{border:0;padding:0;margin:20px 0;min-width:0}.gregorian-date legend{font-size:12px;margin-bottom:12px}.gregorian-parts{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}.gregorian-parts label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:12px}.gregorian-parts input{min-width:0;width:100%;box-sizing:border-box;text-align:center;font-variant-numeric:tabular-nums;font-size:18px!important;padding:13px 5px!important}.gregorian-parts input:focus-visible,.question-answer input:focus-visible,.question-answer textarea:focus-visible{outline:2px solid var(--brand);outline-offset:3px}#home-start-hint{margin:0 0 12px}

.question-presets button[aria-pressed=true]{background:var(--soft);outline:2px solid var(--brand);outline-offset:1px}.question-presets+.text-button{margin:6px 0 20px}#profile-question-form>.primary{margin-top:26px}

.profile-question h1{text-wrap:balance;line-break:strict}
@media(max-width:767px){.field input,.field textarea,.field select,.chat-input input{font-size:16px}}
.bubble{white-space:pre-wrap;font-size:14px}

.reference-list a{display:block;min-height:44px;padding:10px 0;overflow-wrap:anywhere;color:var(--brand);text-underline-offset:3px}.reference-list a:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.reference-list li>span{display:block;font-size:12px;line-height:1.6;overflow-wrap:anywhere}

.catalog-search{margin:1rem 0;padding:1rem;border:1px solid var(--outline);border-radius:16px;background:var(--paper)}.catalog-search>summary{font-weight:600;min-height:44px;cursor:pointer;display:list-item}.catalog-search form{display:grid;gap:.75rem;margin-top:1rem}.catalog-result{padding:1.25rem 0;border-bottom:1px solid var(--outline);min-width:0;overflow-wrap:anywhere}.catalog-result h3{font-size:1.25rem;margin:.25rem 0 .75rem}.catalog-result small{color:var(--muted)}.catalog-value{font-weight:600}.catalog-result details{margin:.5rem 0}.catalog-result summary,.catalog-result a{min-height:44px;display:flex;align-items:center;cursor:pointer}.catalog-result a{text-decoration:underline}.catalog-result button{margin-top:.75rem}.catalog-empty{padding:1rem 0;color:var(--muted);line-height:1.8}#catalog-selection{padding:1rem;border:1px solid var(--outline);border-radius:16px;margin-bottom:1rem}#catalog-selection p{margin:0;overflow-wrap:anywhere}.catalog-search :focus-visible{outline:2px solid var(--brand);outline-offset:3px}@media(min-width:600px){.catalog-search form{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:end}.catalog-search form button{grid-column:1/-1}}

/* Food search: one primary task, with optional filters and source details. */
.catalog-search form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.catalog-search form>.field{min-width:0;margin:0}.catalog-search form>button{grid-column:auto;min-height:48px;margin:0}.catalog-filters{grid-column:1/-1}.catalog-filters summary{font-size:13px;min-height:44px;cursor:pointer}.catalog-filters .field{margin-top:.5rem}.catalog-portion>summary{border:1px solid var(--brand);border-radius:30px;justify-content:center;color:var(--brand);font-weight:600;min-height:48px}.catalog-portion form{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}.catalog-portion label{min-width:0}.catalog-portion .primary,.catalog-portion .outline{width:100%}.catalog-source>summary{font-size:13px;color:var(--muted)}.catalog-result h3{font-size:1.2rem;line-height:1.45;margin:0 0 .4rem}.catalog-result>.helper{margin:.25rem 0 .6rem}.catalog-value{margin:.3rem 0;line-height:1.6}.catalog-portion input,.catalog-portion select{font-size:16px;min-height:48px;width:100%;box-sizing:border-box}.catalog-result .text-button{min-height:44px}.catalog-attribution{font-size:12px;line-height:1.7}.catalog-attribution a{overflow-wrap:anywhere}.catalog-results button:focus-visible,.catalog-results summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.catalog-search{padding:14px}.catalog-search>summary{min-height:32px}.catalog-search>form{margin-top:.5rem;gap:.35rem}.catalog-filters>summary{min-height:36px}.catalog-search>[role=status]{margin:.5rem 0;font-size:12px}.catalog-result{padding:14px 0}.catalog-results{scroll-margin-top:24px}.catalog-result>.catalog-value{margin:.25rem 0}.catalog-result>.helper{margin:.25rem 0 .35rem}
/* While choosing a search result, keep the unrelated meal-save action in its form. */
#records:has(#meal-catalog .catalog-search[open] :is(.catalog-result,.food-name-entry)) .sticky-save{position:static}
.food-name-entry{margin:1rem 0;padding:16px;border:1px solid var(--outline);border-radius:16px;background:var(--soft)}.food-name-entry h3{margin:0 0 .5rem;overflow-wrap:anywhere}.food-name-entry form{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;margin-top:.75rem}.food-name-entry .check-row{margin:0;font-size:13px;line-height:1.65}.food-name-entry input[type=text]{font-size:16px;min-height:48px;min-width:0;width:100%;box-sizing:border-box}.food-name-entry form>button,.food-name-entry .primary,.food-name-entry .outline{width:100%;min-height:48px}.food-name-entry .helper{margin:.5rem 0}.food-estimate-candidate{margin:16px 0;padding-top:16px;border-top:1px solid var(--outline)}.food-estimate-candidate h4{font-size:18px;margin:.5rem 0}.food-estimate-label{font-size:12px;font-weight:600;color:var(--brand)}.food-name-portions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.food-name-portions button{min-height:44px;flex:1;padding:8px;border:1px solid var(--outline);border-radius:22px;background:var(--paper);color:var(--brand)}.food-name-portions button[aria-pressed=true]{background:var(--brand);color:var(--paper)}.food-name-entry>summary,.food-estimate-candidate summary,.food-name-entry>.text-button{min-height:44px;cursor:pointer}.food-name-entry:focus-within{outline-offset:3px}.food-name-entry :focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.food-name-entry h3{font-size:20px;line-height:1.45;font-weight:600}

/* A single practical question; no modal or forced onboarding. */
.meal-context-panel{padding:18px 0;margin:8px 0 24px;border-block:1px solid var(--line,#d8dfd3)}
.meal-context-panel h2{font:inherit;font-size:1.1rem;font-weight:600;margin:0 0 8px}
.meal-context-panel .helper{margin:0 0 12px}
.meal-context-options{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.meal-context-options button{min-height:44px;padding:10px 14px;border:1px solid var(--line,#bdcabc);border-radius:22px;background:transparent;color:inherit;font:inherit;font-size:15px;line-height:1.4}
.meal-context-options button[aria-pressed=true]{background:var(--ink,#354f41);color:var(--paper,#fffdf7);border-color:var(--ink,#354f41)}
.meal-context-options button:focus-visible,.meal-context-panel summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.meal-context-panel summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:15px}
.meal-context-actions{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.meal-context-actions .primary{min-height:48px}
.meal-context-panel .text-button{min-height:44px;white-space:normal;text-align:left}

.meal-context-current{display:flex;align-items:center;justify-content:space-between;gap:8px}.meal-context-current[hidden]{display:none}.meal-context-current button{font-size:13px;min-height:44px;padding:6px 0;white-space:normal;text-align:left}.meal-context-current button:last-child{flex-shrink:0;padding-inline:8px}

.profile-question:has(form[data-structured-choice=true]) h1{font-size:24px;margin-top:18px}.profile-question form[data-structured-choice=true] .question-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.profile-question form[data-structured-choice=true] .question-presets button{min-height:48px;padding:10px 12px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.profile-question form[data-structured-choice=true]>.primary{margin-top:12px}
