:root{--color-bg:#f4ead5;--color-paper:#fffdf7;--color-ink:#1e1a14;--color-muted:#8a7f6d;--color-border:#c2b18f;--color-divider:#e3d7bd;--color-olive:#7a8b2f;--color-ochre:#dfa321;--color-burnt:#d95d39;--color-shadow:#1e1a14;--color-action:var(--color-ochre);--color-positive:var(--color-olive);--color-danger:var(--color-burnt);--text-on-action:var(--color-ink);--text-on-positive:var(--color-ink);--text-on-danger:var(--color-ink);--radius:0;--border-width:1.5px;--shadow-offset:3px;--shadow-offset-hover:4px;--font-sans:"Segoe UI", "Helvetica Neue", Arial, sans-serif;--label-letter-spacing:.05em;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px}:root[data-theme=dark]{--color-bg:#201b15;--color-paper:#2a241c;--color-ink:#f0e7d8;--color-muted:#a89c86;--color-border:#4a4030;--color-divider:#3a3226;--color-olive:#6e7d2e;--color-ochre:#c08f1a;--color-burnt:#b84a2e;--color-shadow:#000;--text-on-action:#16120c;--text-on-positive:#f0e7d8;--text-on-danger:#f0e7d8}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);margin:0}*,:before,:after{box-sizing:border-box}.mt-photo-picker-preview{gap:var(--space-1);flex-direction:column;align-items:flex-start;display:flex}.mt-photo-picker-preview img{border:var(--border-width) solid var(--color-border);border-radius:var(--radius);max-width:100%;max-height:240px}.mt-photo-picker-buttons{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.mt-photo-picker-button{font-family:var(--font-sans);color:var(--color-ink);background:var(--color-paper);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);cursor:pointer;font-size:.9rem;display:inline-block;position:relative}.mt-photo-picker-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.mt-photo-picker-remove{color:var(--color-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.8rem;text-decoration:underline}.mt-card{background:var(--color-paper);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);padding:var(--space-4)}.mt-button{background:var(--color-action);color:var(--text-on-action);border:var(--border-width) solid var(--color-ink);border-radius:var(--radius);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--color-shadow);font-family:var(--font-sans);cursor:pointer;padding:.6em 1.4em;font-size:1rem;font-weight:600;transition:transform 80ms ease-out,box-shadow 80ms ease-out}.mt-button:hover{box-shadow:var(--shadow-offset-hover) var(--shadow-offset-hover) 0 var(--color-shadow);transform:translate(-1px,-1px)}.mt-button:active{transform:translate(var(--shadow-offset), var(--shadow-offset));box-shadow:none}.mt-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--color-shadow);transform:none}.mt-button--positive{background:var(--color-positive);color:var(--text-on-positive)}.mt-label{text-transform:uppercase;letter-spacing:var(--label-letter-spacing);color:var(--color-muted);font-size:.75rem;font-weight:700}.mt-food-name{color:var(--color-ink);font-size:1rem;font-weight:600}.mt-secondary{color:var(--color-muted);font-size:.875rem;font-weight:400}.mt-textarea,.mt-input,.mt-select{font-family:var(--font-sans);color:var(--color-ink);background:var(--color-paper);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);padding:var(--space-2);font-size:1rem}.mt-textarea:focus,.mt-input:focus,.mt-select:focus{outline:2px solid var(--color-action);outline-offset:1px}.mt-textarea{resize:vertical;width:100%;min-height:4.5em}.mt-input--grams{width:5em}.mt-log-flow{max-width:480px;padding:var(--space-4);gap:var(--space-2);flex-direction:column;margin:0 auto;display:flex}.mt-log-flow-drafts{gap:var(--space-3);margin-top:var(--space-3);flex-direction:column;display:flex}.mt-log-flow-drafts .mt-card{gap:var(--space-2);flex-direction:column;display:flex}.mt-log-flow-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.mt-log-flow-requery{gap:var(--space-1);flex-direction:column;display:flex}.mt-log-flow-remove{color:var(--color-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.8rem;text-decoration:underline}.mt-day-nav{align-items:center;gap:var(--space-2);display:flex}.mt-day-nav-arrow,.mt-day-nav-calendar,.mt-day-nav-today{background:var(--color-paper);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);font-family:var(--font-sans);color:var(--color-ink);padding:var(--space-1) var(--space-2);cursor:pointer;font-size:.9rem}.mt-day-nav-today{color:var(--color-action);border-color:var(--color-action);margin-left:auto}.mt-calendar{border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-paper);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.mt-calendar-header{justify-content:space-between;align-items:center;display:flex}.mt-calendar-header button{cursor:pointer;color:var(--color-ink);background:0 0;border:none;font-size:1rem}.mt-calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mt-calendar-weekday{text-align:center;font-size:.7rem}.mt-calendar-day{aspect-ratio:1;background:var(--color-bg);border:var(--border-width) solid transparent;border-radius:var(--radius);font-family:var(--font-sans);color:var(--color-ink);cursor:pointer;font-size:.85rem;position:relative}.mt-calendar-day--today{border-color:var(--color-muted)}.mt-calendar-day--selected{border-color:var(--color-action);background:var(--color-paper)}.mt-calendar-dot{background:var(--color-positive);border-radius:50%;width:5px;height:5px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.mt-week-chart{gap:var(--space-2);flex-direction:column;display:flex}.mt-week-chart-bars{align-items:flex-end;gap:var(--space-1);border-bottom:var(--border-width) solid var(--color-border);height:120px;display:flex}.mt-week-chart-bar{cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;padding:0;display:flex;position:relative}.mt-week-chart-value{font-size:.65rem}.mt-week-chart-fill{background:var(--color-positive);border:var(--border-width) solid var(--color-border);border-bottom:none;width:70%;min-height:2px}.mt-week-chart-bar--selected .mt-week-chart-fill{background:var(--color-action)}.mt-week-chart-label{margin-top:var(--space-1);font-size:.65rem}.mt-search-entries,.mt-search-entries-results{gap:var(--space-2);flex-direction:column;display:flex}.mt-search-entries-row{align-items:flex-start;gap:var(--space-1);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;width:100%;padding:0;display:flex}.mt-empty-state{border:var(--border-width) dashed var(--color-border);border-radius:var(--radius);padding:var(--space-4);color:var(--color-muted);text-align:center}.mt-daily-view,.mt-daily-view-entries,.mt-daily-view-entries .mt-card{gap:var(--space-2);flex-direction:column;display:flex}.mt-daily-view-actions{gap:var(--space-3);display:flex}.mt-daily-view-action{color:var(--color-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.mt-diary-view{max-width:480px;padding:var(--space-4);gap:var(--space-3);flex-direction:column;margin:0 auto;display:flex}.mt-diary-view-search-toggle{color:var(--color-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.85rem;text-decoration:underline}.mt-saved-meals{max-width:480px;padding:var(--space-4);gap:var(--space-2);flex-direction:column;margin:0 auto;display:flex}.mt-saved-meals-list{gap:var(--space-2);flex-direction:column;display:flex}.mt-saved-meals-list .mt-card{gap:var(--space-1);flex-direction:column;display:flex}.mt-saved-meals-delete{color:var(--color-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.8rem;text-decoration:underline}.mt-saved-meals label.mt-secondary{gap:var(--space-1);flex-direction:column;display:flex}.mt-saved-meals-item{gap:var(--space-1);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-divider);flex-direction:column;display:flex}.mt-saved-meals-item-row{align-items:center;gap:var(--space-2);display:flex}.mt-saved-meals-actions{gap:var(--space-3);display:flex}.mt-add-food{max-width:480px;padding:var(--space-4);gap:var(--space-3);flex-direction:column;margin:0 auto;display:flex}.mt-add-food .mt-card{gap:var(--space-2);flex-direction:column;display:flex}.mt-add-food label.mt-secondary{gap:var(--space-1);flex-direction:column;display:flex}.mt-add-food-toggle{color:var(--color-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.8rem;text-decoration:underline}.mt-my-foods{max-width:480px;padding:0 var(--space-4) var(--space-4);gap:var(--space-2);flex-direction:column;margin:0 auto;display:flex}.mt-my-foods-list,.mt-my-foods-list .mt-card{gap:var(--space-2);flex-direction:column;display:flex}.mt-my-foods label.mt-secondary{gap:var(--space-1);flex-direction:column;display:flex}.mt-my-foods-actions{gap:var(--space-3);display:flex}.mt-my-foods-action{color:var(--color-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.mt-tabbar{gap:var(--border-width);background:var(--color-border);border-top:var(--border-width) solid var(--color-border);padding-bottom:env(safe-area-inset-bottom,0);z-index:10;display:flex;position:fixed;bottom:0;left:0;right:0}.mt-tabbar-item{background:var(--color-divider);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:var(--label-letter-spacing);color:var(--color-ink);padding:var(--space-4) 0;cursor:pointer;border:none;flex:1;min-height:44px;font-size:.95rem;font-weight:700}.mt-tabbar-item--active{background:var(--color-positive);color:var(--text-on-positive)}
