:root{--bg:#0f0f10;--surface:#1a1a1c;--border:#2a2a2d;--text:#f2f2f2;--muted:#9a9a9e;--accent:#4ade80;--error:#f87171;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);padding:1rem 1.25rem;font-size:1.1rem}main{flex:1;min-height:0;padding-bottom:4.5rem;overflow-y:auto}.screen{flex-direction:column;gap:1rem;max-width:480px;margin:0 auto;padding:1.25rem;display:flex}.screen.centered{text-align:center;justify-content:center;align-items:center;min-height:100vh}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem}.card h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .5rem;font-size:.85rem}.big{margin:.25rem 0;font-size:1.75rem;font-weight:600}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--error);font-size:.9rem}.stack{flex-direction:column;gap:.75rem;display:flex}label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}input,select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.65rem .8rem;font-size:1rem}button,.button{background:var(--accent);color:#0f0f10;cursor:pointer;text-align:center;border:none;border-radius:8px;padding:.7rem 1rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-block}button:disabled{opacity:.6;cursor:default}button.ghost{color:var(--muted);border:1px solid var(--border);background:0 0;margin:0 1.25rem}.date-heading{color:var(--muted);text-transform:capitalize;margin:0;font-size:.95rem}.small{font-size:.8rem}.kcal-row{align-items:baseline;gap:.35rem;margin:.25rem 0 .75rem;display:flex}.kcal-row .big{margin:0}.kcal-bar{margin-bottom:.5rem}.budget-line{color:var(--accent);margin:0 0 .5rem;font-size:.85rem}.budget-line.over{color:var(--error)}.kcal-bar-track{background:var(--bg);border-radius:999px;height:8px;position:relative;overflow:visible}.kcal-bar-range{background:linear-gradient(90deg,#4ade8059,#4ade80d9);border-radius:999px;min-width:4px;height:8px;position:absolute;top:0}.kcal-bar-mid{background:var(--accent);border-radius:1px;width:2px;height:12px;position:absolute;top:-2px;transform:translate(-1px)}.weight-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.weight-row .big{margin:0 0 .25rem}.pill{background:var(--border);color:var(--muted);border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.75rem;display:inline-block}.pill.up{color:var(--error);background:#f8717126}.pill.down{color:var(--accent);background:#4ade8026}.sparkline{flex-shrink:0}.entry-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.entry-list li{align-items:center;gap:.65rem;display:flex}.meal-icon{text-align:center;flex-shrink:0;width:1.6rem;font-size:1.3rem}.entry-main{flex-direction:column;flex:1;min-width:0;display:flex}.entry-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.entry-kcal{text-align:right;flex-direction:column;flex-shrink:0;font-size:.9rem;display:flex}.tabbar{border-top:1px solid var(--border);background:var(--surface);display:flex;position:sticky;bottom:0}.tabbar button{color:var(--muted);background:0 0;border-radius:0;flex:1;padding:.9rem;font-weight:500}.tabbar button.active{color:var(--accent)}main.main-flush{flex-direction:column;min-height:0;padding-bottom:0;display:flex}.chat-screen{flex-direction:column;flex:1;width:100%;max-width:480px;min-height:0;margin:0 auto;display:flex}.chat-log{flex-direction:column;flex:1;gap:.75rem;padding:1rem 1.25rem;display:flex;overflow-y:auto}.chat-hint{text-align:center;margin-top:2rem}.bubble{border-radius:14px;max-width:85%;padding:.65rem .9rem;font-size:.95rem;line-height:1.4}.bubble.user{background:var(--accent);color:#0f0f10;border-bottom-right-radius:4px;align-self:flex-end}.bubble.assistant{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.bubble.assistant .kcal-row{margin:.35rem 0}.bubble-img{border-radius:10px;max-width:220px;display:block}.chat-transcript{margin:0 0 .35rem;font-style:italic}.chat-note{margin:.25rem 0 0}.chat-today{border-top:1px solid var(--border);margin:.5rem 0 0;padding-top:.5rem}.chat-inputbar{border-top:1px solid var(--border);background:var(--surface);align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.chat-inputbar input[type=text]{flex:1}.icon-btn{color:var(--text);background:0 0;border:none;border-radius:999px;padding:.4rem;font-size:1.3rem;line-height:1}.icon-btn.send{background:var(--accent);color:#0f0f10}.icon-btn.mic.recording{background:var(--error);color:#fff}
