:root{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--text);background:var(--background);color-scheme:light;font-size:13px;line-height:1.45;font-synthesis:none;--background: #f5f5f5;--surface: #ffffff;--text: #202020;--line: #cccccc;--muted: #606060;--accent: #242424;--on-accent: #ffffff;--accent-hover: #404040;--hover: #e8e8e8;--input-border: #888888;--danger: #a42a21;--error-background: #fff0ed;--note: #775210}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--background: #121212;--surface: #191919;--text: #e0e0e0;--line: #414141;--muted: #aaaaaa;--accent: #dddddd;--on-accent: #171717;--accent-hover: #ffffff;--hover: #2b2b2b;--input-border: #777777;--danger: #ffb4a8;--error-background: #321e1b;--note: #e7c58d}}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}main:focus{outline:none}.skip-link{position:fixed;top:-100px;left:12px;padding:10px;background:var(--background);z-index:5}.skip-link:focus{top:8px}.shell{max-width:860px;margin:auto;padding:0 20px 20px}.app-header{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.brand{display:flex;gap:8px;align-items:center;text-decoration:none;font-size:15px}.brand span{color:var(--accent)}main{padding-top:12px}h1,h2,h3,p{margin:0 0 8px}h1,h2,h3{font-size:14px;font-weight:600}.muted,.form-hint{color:var(--muted);font-size:12px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:3px;background:var(--surface);color:var(--text);font-weight:400;font-size:12px;text-decoration:none}.button:hover:not(:disabled){background:var(--hover);border-color:var(--input-border)}.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.primary:hover:not(:disabled){background:var(--accent-hover)}.danger{color:var(--danger)}.full-width{width:100%}.view-nav{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:16px}.view-nav button{min-height:38px;padding:8px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted)}.view-nav button.active{border-bottom-color:var(--accent);color:var(--accent)}.view-nav span{color:var(--muted);margin-left:4px}.page-heading,.section-heading,.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.page-heading p,.section-heading h2,.section-heading h3,.dialog-heading h2{margin:0}.page-heading .button,.dialog-heading .button{flex-shrink:0}.date-controls{display:flex;align-items:center;gap:6px;margin-bottom:12px}.date-controls input{width:160px}.icon-button{min-width:36px}.card{border:1px solid var(--line);background:var(--surface);padding:12px;margin-bottom:12px;border-radius:3px}.summary{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.summary h2{font-size:12px;color:var(--muted);font-weight:400}.big-number{font-size:24px;color:var(--accent);margin-bottom:4px}.big-number span{font-size:12px}progress{display:block;width:100%;height:3px;border:0;background:var(--line);accent-color:var(--accent)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.macro-totals{display:grid;grid-template-columns:repeat(3,1fr);align-content:center;gap:10px;margin:0}.macro-totals dt{font-size:12px;color:var(--muted);margin-bottom:4px}.macro-totals dd{font-size:18px;margin:0;overflow-wrap:anywhere}.macro-totals dd span{font-size:12px}.legacy-note{color:var(--note);font-size:12px;margin:6px 0 0}.summary .legacy-note{grid-column:1/-1}.food-list{list-style:none;padding:0;margin:8px 0 0}.food-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.food-list li:last-child{padding-bottom:0}.food-detail{min-width:0;overflow-wrap:anywhere}.food-detail h2,.food-detail h3{font-size:13px;margin-bottom:3px}.food-detail p{margin-bottom:2px}.food-nutrition{font-size:12px}.actions{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}.food-list .actions{max-width:260px}.empty-state{padding:18px 0;color:var(--muted)}.empty-state h2,.empty-state h3{font-size:13px;font-weight:400}label{display:block;font-size:12px;font-weight:400;margin-bottom:3px}input{width:100%;min-width:0;height:36px;padding:6px 8px;border:1px solid var(--input-border);background:var(--background);color:var(--text);border-radius:3px;font-size:16px}input::placeholder{color:var(--muted)}fieldset{border:0;padding:0;margin:0;min-width:0}.inline{display:flex;gap:6px;margin-bottom:12px}.inline input{max-width:200px}.inline .button{flex-shrink:0}.notice{padding:8px 10px;border-left:2px solid var(--accent);background:var(--hover);font-size:12px}.error{background:var(--error-background);color:var(--danger);border-color:var(--danger)}.undo{margin-bottom:10px}.settings .actions{margin-bottom:8px}.import-button{position:relative;overflow:hidden;margin:0;cursor:pointer}.import-button input{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;opacity:0;cursor:pointer}.import-button:focus-within{outline:2px solid var(--accent);outline-offset:2px}body:has(dialog[open]){overflow:hidden}dialog{position:fixed;inset:calc(var(--visible-top, 0px) + 8px) 0 auto;margin:0 auto;width:min(440px,calc(100% - 16px));max-height:calc(var(--visible-height, 100dvh) - 16px);overflow-y:auto;overscroll-behavior:contain;padding:12px;border:1px solid var(--input-border);border-radius:4px;background:var(--surface);color:var(--text)}dialog::backdrop{background:#000a}.dialog-heading{margin-bottom:8px}.dialog-heading h2{font-size:14px}.dialog-heading .button{min-height:32px;padding:4px 8px}.nutrition-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px 8px;margin:8px 0}.nutrition-grid>div{grid-column:span 2}.nutrition-grid>div:nth-child(-n+2){grid-column:span 3}.form-hint{font-size:11px;margin-bottom:8px}.suggestion-heading{margin:10px 0 6px;font-size:12px;font-weight:400;color:var(--muted)}.suggestions{list-style:none;padding:0;margin:0;max-height:min(220px,32dvh);overflow-y:auto}.suggestions li+li{border-top:1px solid var(--line)}.suggestions button{display:flex;flex-direction:column;text-align:left;width:100%;gap:2px;min-height:44px;padding:7px 4px;border:0;background:transparent;color:var(--text);overflow-wrap:anywhere}.suggestions button strong{font-size:13px;font-weight:400}.suggestions button span{font-size:11px;color:var(--muted)}.suggestions button:hover{background:var(--hover)}.portion-card h3{overflow-wrap:anywhere}.portion-preview{margin:10px 0}.portion-preview strong{font-size:18px;font-weight:400;color:var(--accent)}.portion-preview p{margin:4px 0;font-size:12px}.create-action{margin-top:8px}@media(max-width:600px){.shell{padding:0 12px 12px}.summary{grid-template-columns:1fr;gap:12px}.macro-totals{padding-top:10px;border-top:1px solid var(--line)}.food-list li{align-items:stretch;flex-direction:column;gap:6px}.food-list .actions{max-width:none}.date-controls input{width:0;flex:1}.view-nav button{flex:1}}@media(pointer:coarse){.button,.view-nav button{min-height:40px}dialog .button{min-height:36px}dialog .dialog-heading .button{min-height:32px}}.weight-totals{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);padding-top:10px;margin:0}.weight-totals dt{color:var(--muted);font-size:12px}.weight-totals dd{margin:4px 0 0;font-size:18px}.weight-totals dd span{font-size:12px}
