:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--bg-2:#0a0a0a;--card:#111;--line:#2a2a2a;--text:#fff;--muted:#d1d1d1;--accent:#fff;--accent-2:#f3f3f3;--protein:#74c0ff;--fat:#ffb15c;--carbs:#f0d76b;--danger:#ff6b6b;--radius:18px;--app-font:"SF Pro Display", "SF Pro Text", "San Francisco", "Segoe UI", sans-serif;font-family:var(--app-font);background:var(--bg);color:var(--text)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg)}button,input,select,textarea{font:inherit}body,button,input,select,textarea,.app-shell,.app-shell *{font-family:var(--app-font)}.app-shell{width:min(560px,100%);min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 16px calc(120px + env(safe-area-inset-bottom));margin:0 auto}.top-bar{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.eyebrow{color:var(--accent-2);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:11px}h1{letter-spacing:-.03em;margin:0;font-size:28px}.stack{gap:12px;padding-bottom:86px;display:grid}.hero-card,.entry-card,label,.suggestions,.empty,.photo-button{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.hero-card{gap:12px;padding:16px;display:grid}.compact-card{text-align:center}.compact-card p{color:var(--muted);margin:6px 0 0}.hero-calories{align-items:baseline;gap:8px;display:flex}.hero-calories strong{letter-spacing:-.04em;font-size:42px}.hero-calories span,.macro-bar-top{color:var(--muted)}.macro-bar-top{justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.track{background:#10160f;border-radius:99px;height:8px;overflow:hidden}.fill{border-radius:inherit;height:100%}.entry-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.entry-card{grid-template-columns:64px 1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.entry-card img,.photo-fallback,.photo-button img{object-fit:cover;border-radius:14px;width:64px;height:64px}.photo-fallback{background:#2a3a28;place-items:center;font-weight:700;display:grid}.entry-body{color:inherit;text-align:left;background:0 0;border:0;gap:2px;padding:0;display:grid}.entry-body span,.entry-body small,.suggestions small{color:var(--muted)}.icon-button,.ghost,.chip,.primary,.danger{cursor:pointer;border:0}.icon-button{width:36px;height:36px;color:var(--muted);background:#2a3328;border-radius:999px}.primary,.danger,.ghost{min-height:48px;scroll-margin-bottom:calc(96px + env(safe-area-inset-bottom));border-radius:14px;margin-bottom:4px;padding:0 16px}.form-actions{background:0 0;gap:10px;padding-top:10px;display:grid}.primary{background:var(--accent);color:#10200c;font-weight:700}.primary.compact{min-height:40px}.danger{color:var(--danger);background:#3a1f1f}.ghost{color:var(--accent-2);border:1px solid var(--line);background:0 0}label{color:var(--muted);gap:8px;padding:12px;font-size:13px;display:grid}label input,label select,label textarea{width:100%;min-height:44px;color:var(--text);background:#121212;border:0;border-radius:12px;padding:0 12px}label textarea{resize:vertical;min-height:88px;padding:12px}.day-field{width:fit-content;min-width:220px;max-width:100%;display:inline-grid}.day-field input[type=date]{width:100%;min-width:0}.macro-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.suggestions{gap:4px;padding:6px;display:grid}.suggestions button{color:inherit;text-align:left;background:#121212;border:0;border-radius:12px;padding:10px 12px;display:grid}.photo-button{min-height:180px;color:var(--muted);place-items:center;padding:0;display:grid;overflow:hidden}.photo-button img{border-radius:0;width:100%;height:180px}.history-actions{justify-content:flex-end;display:flex}.compact-date-button{border-radius:10px;min-height:32px;padding:0 12px;font-size:12px}.history-date-picker{padding:10px 12px}.ai-explanation-box{gap:8px;display:grid}.ai-explanation-table-wrap{overflow-x:auto}.ai-explanation-table{border-collapse:collapse;border:1px solid var(--line);background:#121212;border-radius:12px;width:100%;overflow:hidden}.ai-explanation-table th,.ai-explanation-table td{border-bottom:1px solid var(--line);text-align:left;color:var(--text);padding:8px 10px;font-size:12px}.ai-explanation-table th{color:var(--muted);font-weight:600}.ai-explanation-table tbody tr:last-child td{border-bottom:none}.ai-explanation-text{border:1px solid var(--line);color:var(--muted);background:#121212;border-radius:12px;margin:0;padding:12px;line-height:1.5}.portion-control,.inline-actions{gap:8px;display:grid}.portion-control{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:12px}.portion-header{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.portion-header strong{color:var(--text)}.portion-control input[type=range]{width:100%;accent-color:var(--text)}.portion-scale{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.inline-actions{margin-top:-2px}.empty,.hint,.loading{color:var(--muted)}.empty{text-align:center;gap:12px;padding:24px;display:grid}.error{color:var(--danger);margin:0}.day-chips{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.chip{white-space:nowrap;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:8px 12px}.chip.active{background:var(--text);color:#000}.tab-bar{width:min(560px,100%);padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg-2) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:6px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-bar button{min-height:42px;color:var(--muted);background:0 0;border:0;border-radius:12px}.tab-bar button.active{color:var(--text);background:#1f1f1f}.toast{background:var(--text);color:#000;text-align:center;border-radius:12px;margin-bottom:12px;padding:10px;font-weight:700;position:sticky;top:8px}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=720px){.app-shell{padding-top:28px}}
