:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f5f7f6;--surface:#fff;--surface-muted:#edf4f1;--text:#13241e;--text-muted:#52665e;--border:#cad8d2;--primary:#096b4c;--primary-dark:#07543d;--danger:#a63232;--danger-muted:#fff1f1;--focus:#168bc4;background:var(--background);color:var(--text);font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{min-width:20rem;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--primary)}.app-shell{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.intro{width:min(100%,42rem)}.page-shell{width:min(100%,64rem);min-height:100vh;margin:0 auto;padding:1.25rem 1rem 4rem}.page-shell-narrow{width:min(100%,48rem)}.page-header{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1.25rem;margin-bottom:1.5rem;display:flex}.eyebrow{color:var(--primary);letter-spacing:.09em;text-transform:uppercase;margin:0 0 .4rem;font-size:.75rem;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:.7rem;font-size:clamp(2.1rem,10vw,3.75rem);line-height:1.02}h2{margin-bottom:.4rem;font-size:1.15rem}h3{margin:0}.summary,.page-summary{color:var(--text-muted);max-width:42rem;font-size:1rem;line-height:1.55}.intro .button{margin-top:.75rem}.back-link{margin-bottom:1.5rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-block}.button{cursor:pointer;border:1px solid #0000;border-radius:.65rem;justify-content:center;align-items:center;min-height:2.75rem;padding:.7rem 1rem;font-weight:750;text-decoration:none;display:inline-flex}.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.tab:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 45%, transparent);outline-offset:2px}.button:disabled{cursor:wait;opacity:.62}.button-primary{background:var(--primary);color:#fff}.button-primary:hover{background:var(--primary-dark)}.button-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.button-quiet{color:var(--primary);background:0 0}.button-danger{background:var(--danger-muted);color:var(--danger);border-color:#edbcbc}.button-small{min-height:2.75rem;padding:.5rem .8rem}.tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:1.25rem;display:flex}.tab{color:var(--text-muted);border-bottom:3px solid #0000;padding:.8rem 1rem;font-weight:750;text-decoration:none}.tab[aria-current=page]{border-bottom-color:var(--primary);color:var(--primary)}.search-form{background:var(--surface-muted);border-radius:.85rem;margin-bottom:1.25rem;padding:1rem}.search-form label,.form-field label{margin-bottom:.45rem;font-size:.9rem;font-weight:750;display:block}.search-controls{flex-wrap:wrap;gap:.6rem;display:flex}.search-controls input{flex:13rem}input,select,textarea{background:var(--surface);color:var(--text);border:1px solid #9eb0a8;border-radius:.55rem;width:100%;min-height:2.75rem;padding:.65rem .75rem}textarea{resize:vertical;line-height:1.45}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}.food-list{gap:.85rem;display:grid}.food-card,.form-section,.empty-state{background:var(--surface);border:1px solid var(--border);border-radius:.9rem;box-shadow:0 .15rem .7rem #1a372c12}.food-card{padding:1rem}.food-card-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.food-card h2{margin:0}.food-brand,.serving-summary{color:var(--text-muted)}.food-brand{margin:.25rem 0 0}.serving-summary{margin:.8rem 0;font-size:.9rem}.calories{color:var(--text-muted);white-space:nowrap;margin:0}.calories strong{color:var(--text);font-size:1.2rem}.title-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.status-badge{color:#30498f;letter-spacing:.04em;text-transform:uppercase;background:#e6ebff;border-radius:999px;padding:.25rem .5rem;font-size:.7rem;font-weight:800}.macro-summary{grid-template-columns:repeat(3,1fr);margin:0;display:grid}.macro-summary div{border-left:1px solid var(--border);padding:0 .7rem}.macro-summary div:first-child{border-left:0;padding-left:0}.macro-summary dt{color:var(--text-muted);font-size:.72rem}.macro-summary dd{margin:.18rem 0 0;font-weight:750}.card-actions,.form-actions{flex-wrap:wrap;gap:.6rem;display:flex}.card-actions{border-top:1px solid var(--border);margin-top:1rem;padding-top:.85rem}.account-row{color:var(--text-muted);align-items:center;gap:.65rem;margin-top:1rem;font-size:.9rem;display:flex}.link-instructions{margin:1.25rem 0}.link-instructions p{margin-bottom:0}.link-instructions code{background:var(--surface-muted);overflow-wrap:anywhere;border-radius:.45rem;padding:.75rem;display:block}.empty-state{text-align:center;padding:2rem 1.25rem}.empty-state p{color:var(--text-muted);max-width:30rem;margin-left:auto;margin-right:auto;line-height:1.5}.alert{border-radius:.7rem;margin-bottom:1rem;padding:.85rem 1rem}.alert-error{background:var(--danger-muted);color:#7e2020;border:1px solid #edbcbc}.alert-success{color:#155c36;background:#eaf8f0;border:1px solid #9dd5b5}.diary-info{background:var(--surface-muted);border:1px solid var(--border);color:var(--text)}.food-form{gap:1rem;display:grid}.form-section{gap:1rem;padding:1rem;display:grid}.section-heading{border-bottom:1px solid var(--border);padding-bottom:.7rem}.section-heading h2{margin:0}.form-grid,.nutrition-grid{gap:1rem;display:grid}.form-field{min-width:0}.field-hint{color:var(--text-muted);margin:-.2rem 0 .5rem;font-size:.8rem;line-height:1.4}.field-error{color:var(--danger);margin-top:.35rem;font-size:.8rem;font-weight:700}.field-error p{margin-bottom:.2rem}.form-actions{padding-top:.35rem}.form-actions .button{flex:10rem}.diary-shell{width:min(100%,50rem)}.diary-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.diary-header h1{margin-bottom:0}.date-panel,.daily-progress,.meal-section,.entry-snapshot-summary,.danger-zone{background:var(--surface);border:1px solid var(--border);border-radius:.9rem;box-shadow:0 .15rem .7rem #1a372c12}.date-panel{text-align:center;margin-bottom:1rem;padding:1rem}.selected-date{margin-bottom:.15rem;font-size:1.1rem;font-weight:800}.date-code{color:var(--text-muted);margin-bottom:.8rem;font-size:.8rem}.date-navigation{grid-template-columns:1fr auto 1fr;gap:.5rem;display:grid}.date-navigation .button{min-width:0;padding-left:.55rem;padding-right:.55rem}.diary-shortcuts{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.daily-progress{margin-bottom:1rem;padding:1rem}.daily-progress-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.daily-progress-heading h2{margin:0}.daily-progress-heading>p{color:var(--text-muted);text-align:right;margin:.1rem 0 0;font-size:.75rem}.progress-grid,.progress-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0 0;display:grid}.progress-card,.progress-totals div{background:var(--surface-muted);border-radius:.65rem;min-width:0;padding:.75rem}.progress-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem;display:flex}.progress-card-heading h3{font-size:.82rem}.goal-status{letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:999px;padding:.18rem .35rem;font-size:.58rem;font-weight:850}.goal-status-under{color:#785500;background:#fff8df}.goal-status-in-range{color:#126039;background:#e5f6ec}.goal-status-over{background:var(--danger-muted);color:#842727}.progress-value{margin:.45rem 0 0}.progress-value strong{font-size:1.25rem}.progress-goal,.progress-remaining{color:var(--text-muted);margin:.2rem 0 0;font-size:.7rem;line-height:1.35}.progress-remaining{color:#664900;font-weight:750}.progress-track{background:#d4dfda;border-radius:999px;height:.55rem;margin-top:.6rem;display:block;position:relative;overflow:hidden}.progress-range{background:repeating-linear-gradient(135deg,#84bca5 0 .22rem,#a7cfbe .22rem .44rem);position:absolute;top:0;bottom:0}.progress-fill{background:var(--primary);opacity:.82;position:absolute;top:0;bottom:0;left:0}.progress-target-marker{z-index:1;background:#245844;width:.18rem;position:absolute;top:0;bottom:0}.progress-totals{padding:0}.progress-totals dt{color:var(--text-muted);font-size:.75rem}.progress-totals dd{margin:.2rem 0 0;font-size:1.15rem;font-weight:800}.progress-unavailable{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.progress-unavailable h3{font-size:.95rem}.progress-unavailable p{color:var(--text-muted);margin-bottom:.75rem;font-size:.82rem;line-height:1.45}.meal-list{gap:1rem;display:grid}.meal-section{overflow:hidden}.meal-heading{border-bottom:1px solid var(--border);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.8rem;padding:1rem;display:flex}.meal-heading h2{margin:0}.meal-heading p{color:var(--text-muted);margin:.2rem 0 0;font-size:.78rem}.meal-actions{grid-template-columns:1fr 1fr;gap:.5rem;width:100%;display:grid}.meal-entries{display:grid}.meal-empty{color:var(--text-muted);margin:0;padding:1rem}.diary-entry{padding:1rem}.diary-entry+.diary-entry{border-top:1px solid var(--border)}.diary-entry-heading{justify-content:space-between;align-items:flex-start;gap:.7rem;display:flex}.diary-entry-heading h3{font-size:1rem}.diary-entry-heading p,.entry-quantity{color:var(--text-muted);margin:.2rem 0 0;font-size:.8rem}.entry-nutrition{flex-wrap:wrap;align-items:baseline;gap:.65rem;margin:.75rem 0 0;display:flex}.entry-nutrition strong{font-size:1rem}.entry-nutrition span{color:var(--text-muted);font-size:.85rem;font-weight:750}.food-picker-list{gap:.75rem;display:grid}.food-picker-card{background:var(--surface);border:1px solid var(--border);border-radius:.85rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.food-picker-card h2,.food-picker-card h3{margin:0;font-size:1rem}.food-picker-card p{color:var(--text-muted);margin:.25rem 0 0}.food-picker-card .picker-macros,.picker-macros{color:var(--text);margin:.35rem 0 0;font-size:.8rem;font-weight:750}.recent-foods-section{background:var(--surface-muted);border:1px solid var(--border);border-radius:.9rem;margin-bottom:1rem;overflow:hidden}.recent-foods-section>.section-heading,.available-foods-section>.section-heading{padding:1rem}.recent-foods-section>.section-heading{border-bottom:0}.recent-food-list{padding:0 .75rem .75rem}.recent-food-card{background:var(--surface);padding:.75rem}.recent-food-card .serving-summary{margin-bottom:0}.recent-food-card .button{flex:none}.recent-foods-empty{color:var(--text-muted);margin:0;padding:0 1rem 1rem}.recent-foods-empty h3{color:var(--text);margin-bottom:.3rem;font-size:.95rem}.recent-foods-empty p{margin:0;font-size:.82rem;line-height:1.45}.available-foods-section{margin-top:1rem}.selected-food-summary{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.selected-food-summary h2,.selected-food-summary p{margin-bottom:.2rem}.selected-food-summary p{color:var(--text-muted)}.selected-food-summary strong{white-space:nowrap}.diary-form{gap:1rem;display:grid}.mode-picker{border:0;flex-wrap:wrap;gap:.6rem;margin:0;padding:0;display:flex}.mode-picker legend{width:100%;margin-bottom:.45rem;font-size:.9rem;font-weight:750}.mode-picker label{background:var(--surface-muted);border:1px solid var(--border);cursor:pointer;border-radius:.65rem;flex:8rem;align-items:center;gap:.5rem;min-height:2.75rem;padding:.65rem .8rem;display:flex}.mode-picker input{width:auto;min-height:auto}.quick-add-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-field-wide{grid-column:1/-1}.entry-snapshot-summary,.danger-zone{margin-bottom:1rem;padding:1rem}.entry-snapshot-summary p:last-child,.danger-zone p{color:var(--text-muted);margin-bottom:0;font-size:.85rem}.danger-zone{border-color:#edbcbc;margin-top:1rem}.danger-zone .button{width:100%;margin-top:1rem}.goals-shell{width:min(100%,50rem)}.goal-date-picker,.effective-goals,.goal-history{background:var(--surface);border:1px solid var(--border);border-radius:.9rem;padding:1rem;box-shadow:0 .15rem .7rem #1a372c12}.goal-date-picker{background:var(--surface-muted);margin-bottom:1rem}.goal-date-picker label{margin-bottom:.45rem;font-size:.9rem;font-weight:750;display:block}.effective-goals{gap:1rem;margin-bottom:1rem;display:grid}.effective-copy{color:var(--text-muted);margin-bottom:0;font-size:.9rem}.goal-range-summary{grid-template-columns:1fr 1fr;gap:.65rem;margin:0;display:grid}.goal-range-summary div{background:var(--surface-muted);border-radius:.6rem;padding:.7rem}.goal-range-summary dt{color:var(--text-muted);font-size:.75rem}.goal-range-summary dd{margin:.2rem 0 0;font-weight:800}.goal-none{color:var(--text-muted);padding:.25rem 0}.goal-none h3{color:var(--text);margin-bottom:.35rem}.goal-none p{line-height:1.5}.goal-history{padding:0;overflow:hidden}.goal-history>.section-heading{padding:1rem}.goal-history-list{display:grid}.goal-history-card{padding:1rem}.goal-history-card+.goal-history-card{border-top:1px solid var(--border)}.goal-history-heading{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.goal-history-heading h3{font-size:1rem}.goal-history-heading p{color:var(--text-muted);margin:.2rem 0 0;font-size:.78rem}.goal-history-card .goal-range-summary{margin-top:.85rem}.goal-form,.goal-ranges{gap:1rem;display:grid}.goal-range{border:0;margin:0;padding:0}.goal-range legend{margin-bottom:.6rem;font-weight:800}.goal-range legend span{color:var(--text-muted);font-size:.8rem;font-weight:500}.goal-range-fields{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}@media (min-width:40rem){.page-shell{padding:2.5rem 2rem 5rem}.page-header{flex-direction:row;align-items:center}.form-grid,.nutrition-grid{grid-template-columns:1fr 1fr}.food-card,.form-section{padding:1.35rem}.form-actions .button{flex:none}.meal-heading{flex-direction:row;align-items:center}.meal-actions{width:auto;display:flex}.progress-grid,.progress-totals{grid-template-columns:repeat(4,1fr)}.danger-zone .button{width:auto}.goal-range-summary{grid-template-columns:repeat(4,1fr)}}@media (min-width:58rem){.food-list{grid-template-columns:1fr 1fr}.nutrition-grid{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
