:root{color:#26362b;font-synthesis:none;background:#f5f4ee;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;line-height:1.35}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:#fff;border:1px solid #d5dccf;border-radius:6px;min-height:30px;padding:4px 8px;line-height:20px}button:hover{background:#edf1e8}button:disabled{opacity:.6;cursor:not-allowed}[aria-busy=true] button:disabled{cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:2px solid #739969}svg{flex-shrink:0;width:16px;height:16px;display:block}.icon-button{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}main{max-width:700px;padding:10px max(6px,env(safe-area-inset-right)) calc(72px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));margin:auto}header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.brand{letter-spacing:-.5px;font-size:17px;font-weight:800}.badge{color:#66745e;background:#e7ecdf;border-radius:5px;padding:2px 5px;font-size:10px}h1{letter-spacing:-.5px;margin:0 0 8px;font-size:20px;line-height:1.2}h2{margin:0;font-size:14px;line-height:1.3}.primary{color:#fff;background:#355b39;border-color:#355b39}.primary:hover{background:#29492d}.date-nav{align-items:center;gap:4px;margin-bottom:8px;display:flex}.date-nav input{text-align:center;flex:1;width:140px;min-width:0}.today{font-size:12px}input,select{background:#fff;border:1px solid #d5dccf;border-radius:5px;width:100%;min-width:0;height:30px;min-height:30px;padding:4px 7px;font-size:16px;line-height:20px}input[type=date]{min-inline-size:0}.summary{background:#e7ecdf;border:1px solid #dce4d3;border-radius:8px;margin-bottom:8px;padding:8px}.nutrition{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;display:grid}.nutrition dt{color:#687560;margin-bottom:2px;font-size:10px}.nutrition dd{letter-spacing:-.3px;overflow-wrap:anywhere;margin:0;font-size:17px;font-weight:650;line-height:1.2}.nutrition small{letter-spacing:0;white-space:nowrap;font-size:10px;font-weight:400}.incomplete{color:#865a22;margin-top:3px;font-size:9px;display:block}.meals{gap:6px;display:grid}.meal{background:#fff;border:1px solid #dfe3d8;border-radius:8px;min-width:0;padding:8px}.meal h2{flex:1;min-width:0}.meal-add{width:100%;min-height:20px;font:inherit;text-align:left;background:0 0;border:0;border-radius:3px;align-items:center;gap:6px;padding:0;line-height:20px;display:flex}.meal-add>span{color:#798371;font-size:10px;font-weight:500}.meal-empty{justify-content:space-between;align-items:center;min-height:36px;display:flex}.empty{color:#838a7b;margin:0;font-size:11px}.meal ul{margin:6px 0 0;padding:0;list-style:none}.meal li{min-width:0;padding:4px 0}.meal li+li{border-top:1px solid #e5e8de;margin-top:5px;padding-top:7px}.meal li.entry-incomplete{background:#fff8e9}.entry{text-align:left;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:flex-start;gap:8px;width:100%;min-height:0;padding:0;line-height:1.3;display:flex}.entry:hover{background:#eef2e888}.entry-title{overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:600}.entry-meta{color:#7a8371;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-top:2px;font-size:10px;font-weight:400;display:flex}.missing-macros{color:#826126;font-size:10px}.entry-value{flex-shrink:0;align-items:center;gap:3px;font-size:12px;line-height:17px;display:flex}.entry-value svg{color:#7e8975;width:12px;height:12px}.nutrition.compact{gap:4px;margin-top:5px}.nutrition.compact dt{margin-bottom:1px;font-size:9px}.nutrition.compact dd{letter-spacing:0;font-size:12px;font-weight:500}.nutrition.compact small{font-size:9px}.nutrition.macros{grid-template-columns:repeat(3,minmax(0,1fr))}.state{background:#fff;border-radius:8px;padding:12px 8px}.error{color:#8a3f25;background:#fcf0e9;border-radius:6px;margin-top:8px;padding:7px;font-size:12px}.error p{margin:0 0 4px}.notice{color:#355b39;margin:4px 0 8px;font-size:12px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.floating-add{right:max(calc(10px + env(safe-area-inset-right)),calc((100vw - 688px)/2));bottom:calc(12px + env(safe-area-inset-bottom));z-index:10;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;min-height:56px;padding:0;display:flex;position:fixed;box-shadow:0 3px 12px #26362b30}.floating-add svg{width:26px;height:26px}.floating-add[hidden]{display:none}dialog{width:calc(100% - 8px);max-width:680px;max-height:calc(100dvh - 8px);color:inherit;background:#fafbf7;border:1px solid #d9dfd2;border-radius:10px;padding:10px;overflow-y:auto}dialog::backdrop{background:#1d302477}.food-add-dialog{margin:max(4px,env(safe-area-inset-top)) auto 0;max-height:calc(100dvh - max(4px,env(safe-area-inset-top)) - max(4px,env(safe-area-inset-bottom)));top:0;bottom:auto}.dialog-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.dialog-heading h2{font-size:17px}.dialog-heading button{background:0 0;border:0}fieldset{border:0;min-width:0;margin:0;padding:0}label{min-width:0;font-size:11px;font-weight:500;display:block}label input,label select{margin-top:3px;display:block}.name-field{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:6px;display:grid}.name-field input{margin:0}.form-row{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;display:grid}.basis-choice{margin:10px 0 8px}.basis-choice legend{margin-bottom:4px;font-size:11px;font-weight:500}.basis-options{background:#e8ede2;border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:2px;display:grid}.basis-option{position:relative}.basis-option input{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;margin:0;position:absolute}.basis-option span{white-space:nowrap;pointer-events:none;border-radius:4px;justify-content:center;align-items:center;min-height:28px;padding:3px 4px;font-size:12px;display:flex}.basis-option input:checked+span{color:#355b39;background:#fff;box-shadow:0 1px 3px #26362b18}.basis-option input:focus-visible{outline:none}.basis-option input:focus-visible+span{outline-offset:0;outline:2px solid #739969}.nutrient-fields{gap:5px;display:grid}.numeric-field{grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:0 8px;display:grid}.numeric-field>label{font-size:12px;font-weight:400}.numeric-control{min-width:0;position:relative}.numeric-control input{height:30px;min-height:30px;margin:0;padding:4px 28px 4px 7px;font-weight:400}.clear-number{color:#83907c;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:26px;height:28px;min-height:28px;padding:0;display:flex;position:absolute;top:1px;right:1px}.clear-number svg{width:14px;height:14px}.clear-number:hover{color:#355b39;background:#edf1e7}.field-error{color:#a33e20;margin-top:3px;font-size:11px;display:block}.numeric-field>.field-error{grid-column:1/-1}[aria-invalid=true]{border-color:#b9573a}.numeric-field.amount{border-top:1px solid #e0e5d8;margin-top:8px;padding-top:8px}.numeric-field.amount>label{font-weight:500}.preview{background:#edf1e7;border-radius:6px;margin:8px 0;padding:7px 8px}.preview .nutrition{margin:0}.form-actions{justify-content:flex-end;gap:6px;margin-top:10px;display:flex}.form-actions button{min-width:90px}.form-help{color:#77816e;margin-top:8px;font-size:11px}.form-help summary{cursor:pointer;width:-moz-fit-content;width:fit-content;padding:2px 0}.form-help p{margin:5px 0 0;line-height:1.4}.quick-name{overflow-wrap:anywhere;margin:0 0 8px;font-size:14px;font-weight:600}.quick-name span{color:#7b8375;margin-top:2px;font-size:10px;font-weight:400;display:block}.text-button{background:0 0;min-height:26px;margin-top:6px;padding:2px 6px;font-size:11px}@media (min-width:700px){main{padding-top:16px}dialog{padding:12px}}.sign-in{max-width:440px;padding-top:20px}.sign-in h1{margin-top:14px}.access-actions{gap:6px;margin-top:8px;display:grid}.access-actions button{white-space:normal;width:100%}.access-button{min-height:28px;margin-left:auto;padding:3px 7px;font-size:11px}.access-note,.access-confirm p{margin:8px 0;font-size:12px;line-height:1.45}.access-confirm h3{margin:8px 0;font-size:14px}.key-list{margin:8px 0;padding:0;list-style:none}.key-list li{border-bottom:1px solid #e0e5d8;justify-content:space-between;align-items:center;gap:8px;padding:5px 0;display:flex}.key-list li span{overflow-wrap:anywhere;min-width:0}.key-list li button{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:flex}.goal-open{justify-content:flex-end;margin-top:4px;display:flex}.goal-open button{background:0 0;min-height:22px;padding:2px 7px;font-size:10px;line-height:16px}.nutrition.with-goals dd{font-size:14px;line-height:1.25}.goal-detail{color:#54664e;overflow-wrap:anywhere;margin-top:3px;font-size:9px;display:block}.goal-progress{background:#cedbc5;border-radius:3px;height:4px;margin-top:4px;overflow:hidden}.goal-progress>span{background:#507448;border-radius:3px;height:100%;display:block}.goal-date{grid-template-columns:1fr 154px;align-items:center;gap:8px;display:grid}.goal-date input{margin:0;font-size:14px}.goal-period{color:#687560;overflow-wrap:anywhere;margin:6px 0 10px;font-size:10px}.nutrition-review,.delete-confirm{background:#fff8e9;border:1px solid #ddcba6;border-radius:7px;margin-top:8px;padding:8px;font-size:12px}.nutrition-review h3,.delete-confirm h3{margin:0 0 5px;font-size:14px}.nutrition-review p,.delete-confirm p{overflow-wrap:anywhere;margin:5px 0}.nutrition-review .form-actions{flex-wrap:wrap}.nutrition-review .form-actions button{min-width:0}.calculation-mark{color:#7b612e;text-align:right;margin-top:2px;font-size:10px;display:block}.delete-entry{color:#98452d;background:0 0;min-height:26px;margin-top:8px;padding:2px 6px;font-size:11px;display:block}.danger{color:#fff;background:#98452d;border-color:#98452d}.danger:hover{background:#803922}.method-tabs{flex-wrap:wrap;gap:4px;margin:5px 0 8px;display:flex}.method-tabs button{flex:1;padding:3px 7px;font-size:12px}.method-tabs [aria-pressed=true]{color:#29492d;background:#e0e9d8;border-color:#9fb693}.barcode-query{gap:6px;display:grid}.barcode-query input{font-variant-numeric:tabular-nums;letter-spacing:.04em}.barcode-query small{color:#52614c;font-size:12px}.barcode-actions{flex-wrap:wrap;gap:5px;margin:8px 0;display:flex}.barcode-actions button{flex:1;padding:5px 8px;font-size:13px}.barcode-scan{justify-content:center;align-items:center;gap:8px;width:100%;min-height:42px;margin:8px 0;display:flex}.barcode-scan svg{width:22px;height:22px}.barcode-manual{margin:8px 0}.barcode-manual>summary{cursor:pointer;padding:5px 0}.barcode-manual .barcode-query{margin:6px 0}.barcode-products small{overflow-wrap:anywhere;margin-top:3px;font-weight:400;display:block}.barcode-video{object-fit:contain;background:#172118;border-radius:8px;width:100%;max-height:32vh}.barcode-video[hidden]{display:none}.food-source{color:#687560;overflow-wrap:anywhere;font-size:10px}.food-source .form-help{font-size:11px}.catalog-query{align-items:end;gap:5px;margin:8px 0;display:flex}.catalog-query label{flex:1;min-width:0}.catalog-query button{flex-shrink:0}.catalog-results{border-top:1px solid #dfe3d8;margin-top:10px;padding-top:7px}.catalog-results h3{margin:0 0 5px;font-size:13px}.catalog-hit{text-align:left;white-space:normal;overflow-wrap:anywhere;flex-direction:column;gap:2px;width:100%;line-height:1.3;display:flex}.catalog-hit small,.catalog-credit{color:#687560;font-size:10px}.catalog-credit{margin-top:5px;display:block}.catalog-pages{gap:5px;margin-top:5px;display:flex}.food-list{margin:6px 0;padding:0;list-style:none}.food-list>li{border-bottom:1px solid #dfe4d9;min-width:0;padding:7px 0}.food-list h3{overflow-wrap:anywhere;margin:0 0 2px;font-size:13px}.food-meta{color:#687560;overflow-wrap:anywhere;font-size:10px}.food-numbers{overflow-wrap:anywhere;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:5px 0;font-size:11px;display:grid}.food-actions{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.food-actions button{min-height:28px;padding:3px 6px;font-size:11px}.repeat-notices{overscroll-behavior:contain;background:#edf4e8;border:1px solid #c8d9bd;border-radius:6px;max-height:180px;margin:7px 0;padding:0 7px;overflow:auto}.repeat-notice{flex-wrap:wrap;align-items:center;gap:4px 7px;padding:6px 0;display:flex}.repeat-notice+.repeat-notice{border-top:1px solid #d1ddc8}.repeat-notice>p{overflow-wrap:anywhere;flex:1;min-width:140px;margin:0;font-size:11px}.repeat-notice>button{flex-shrink:0;font-size:11px}.repeat-notice>.error{flex-basis:100%;min-width:0}.library-context{margin:4px 0 6px}.context-hint{color:#687560;margin:0 0 8px;font-size:11px}textarea{font:inherit;resize:vertical;box-sizing:border-box;border:1px solid #c7cbbf;border-radius:7px;width:100%;min-height:68px;padding:7px 8px}.ai-analyze,.ai-card-heading{justify-content:space-between;align-items:center;gap:8px;margin:6px 0;display:flex}.ai-analyze small,.ai-cost{color:#555e50;font-size:11px}.ai-card{border-top:1px solid #d8ddd1;min-width:0;margin-top:10px;padding-top:7px}.ai-card-heading strong{color:#58654b;font-size:12px}.ai-card .food-source{font-size:11px}.ai-portion,.ai-total{margin:6px 0;font-size:12px}.ai-cost button{margin:3px;padding:3px 6px;font-size:11px}.ai-card label,.ai-card details{overflow-wrap:anywhere}.ai-card .ai-card-heading button{width:30px;height:30px;min-height:30px}.add-food-controls .method-tabs button{white-space:nowrap;padding:3px 6px;font-size:11px}.ai-card-heading{align-items:flex-start}.food-add-dialog textarea{font-size:16px;line-height:1.3}.ai-cost{overflow-wrap:anywhere}.ai-input-tabs{gap:5px;margin:6px 0;display:flex}.ai-input-tabs button{min-height:30px;padding:4px 12px}.ai-input-tabs button[aria-pressed=true]{background:#e1e7d8;border-color:#66734f}.ai-photo{min-width:0;margin:6px 0}.ai-photo input{box-sizing:border-box;width:100%;font-size:12px}.ai-photo img{object-fit:contain;max-width:100%;max-height:220px;margin:6px auto;display:block}.ai-photo button{min-height:30px;padding:4px 9px;font-size:12px}.ai-source-toggle{align-items:center;gap:6px;margin:6px 0;font-size:12px;display:flex}.ai-source-toggle input{flex:none;width:16px;height:16px;margin:0}.day-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.day-heading h1{min-width:0}.day-heading>button{flex-shrink:0;padding:5px 8px;font-size:12px}.backup-file{flex-direction:column;gap:5px;display:flex}.backup-file input{width:100%;min-width:0;padding:6px 0;font-size:14px}.restore-warning{border:1px solid #b05b43;border-radius:8px;margin-top:10px;padding:10px}.restore-warning h3,.restore-warning h4{margin:6px 0}.restore-accept{align-items:flex-start;gap:8px;margin:12px 0;display:flex}.restore-accept input{flex:none;width:18px;min-height:18px;margin-top:2px}.restore-accept span{min-width:0}
