:root{--bg:#f5f6f8;--surface:#fff;--border:#e3e6eb;--grid:#eceef2;--text:#1c2230;--muted:#6b7385;--accent:#3b6ef5;--accent-soft:#3b6ef555;--good:#1f9d63;--warn:#c98a12;--bad:#d64545;--radius:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,PingFang TC,Noto Sans TC,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#11141a;--surface:#1a1e26;--border:#2a303c;--grid:#232833;--text:#e8ebf1;--muted:#8c94a6;--accent:#6b93ff;--accent-soft:#6b93ff66;--good:#3cc685;--warn:#e2a93b;--bad:#f06a6a}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2{margin:0}h1{font-size:20px}h2{font-size:16px;font-weight:600}button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:8px 14px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.danger{color:var(--bad);border-color:var(--bad)}button.link{color:var(--accent);background:0 0;border:none;padding:4px 0}button.icon{color:var(--muted);background:0 0;border:none;padding:4px 8px;font-size:16px}button.icon:hover:not(:disabled){color:var(--text)}input{font:inherit;min-height:42px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;width:100%;min-width:0;padding:9px 12px;font-size:16px}input:focus{outline:2px solid var(--accent);outline-offset:-1px}input[type=date]{appearance:none;text-align:left;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=date]::-webkit-datetime-edit{padding:0}.app{max-width:920px;padding:env(safe-area-inset-top) max(16px, env(safe-area-inset-right)) 96px max(16px, env(safe-area-inset-left));margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.tabs{gap:4px;display:flex}.tabs button{color:var(--muted);background:0 0;border:none;align-items:center;gap:6px;display:flex}.tabs button.active{color:var(--accent);background:var(--surface);font-weight:600}.tab-icon{font-size:15px}main{display:block}.stack{flex-direction:column;gap:14px;display:flex}.grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.row{align-items:center;display:flex}.gap{gap:10px}.wrap{flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.stat{flex-direction:column;gap:6px;display:flex}.label{color:var(--muted);font-size:13px}.value{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.sub{color:var(--muted);font-size:12px}.muted{color:var(--muted)}.good{color:var(--good)}.bad{color:var(--bad)}.pill{border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:12px;font-weight:600}.pill.ok{color:var(--good);background:color-mix(in srgb, var(--good) 15%, transparent)}.pill.warn{color:var(--warn);background:color-mix(in srgb, var(--warn) 15%, transparent)}.pill.bad{color:var(--bad);background:color-mix(in srgb, var(--bad) 15%, transparent)}.progress{background:var(--grid);border-radius:999px;height:8px;margin-top:4px;overflow:hidden}.progress>div{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.progress>div.over{background:var(--bad)}.banner{text-align:left;border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.kcal-row{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px;display:grid}.kcal-row>div{flex-direction:column;gap:2px;display:flex}.kcal-row strong{font-variant-numeric:tabular-nums;font-size:20px}.form{flex-direction:column;gap:12px;display:flex}.form>button.primary{align-self:flex-start}.fields{flex-wrap:wrap;gap:12px;display:flex}.fields label{color:var(--muted);flex-direction:column;flex:150px;gap:6px;font-size:13px;display:flex}.fields label.grow{flex:2 220px}.segmented{background:var(--bg);border-radius:10px;align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--muted);background:0 0;border:none;padding:5px 12px;font-size:13px}.segmented button.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px #0002}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:999px;padding:5px 12px;font-size:13px}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.date-nav{align-items:center;gap:6px;display:flex}.date-nav input{width:auto}.date-nav button.icon{font-size:22px}.list{margin:0;padding:0;list-style:none}.list li{border-top:1px solid var(--grid);align-items:center;gap:12px;padding:8px 0;display:flex}.list li:first-child{border-top:none}.list li>span:first-child{flex:1}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.table th{text-align:left;color:var(--muted);padding:6px 8px;font-size:12px;font-weight:500}.table td{border-top:1px solid var(--grid);padding:8px}.table .num{text-align:right}.chart-tip{background:var(--surface);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.6;box-shadow:0 4px 16px #0003}.accent{color:var(--accent)}.empty{color:var(--muted);text-align:center;padding:28px 0;font-size:14px}.hint{color:var(--muted);margin:0;font-size:12px}@media (width<=720px){.grid{grid-template-columns:repeat(2,1fr)}.value{font-size:22px}.topbar{padding:14px 0}.app{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.tabs{background:var(--surface);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:10;justify-content:space-around;position:fixed;bottom:0;left:0;right:0}.tabs button{flex-direction:column;gap:2px;padding:4px 8px;font-size:11px}.tabs button.active{background:0 0}.tab-icon{font-size:18px}.kcal-row strong{font-size:17px}.table td:nth-child(4),.table th:nth-child(4){display:none}}.toast{background:var(--surface);border:1px solid var(--border);z-index:20;white-space:nowrap;border-radius:12px;align-items:center;gap:10px;padding:8px 8px 8px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0003}@media (width<=720px){.toast{bottom:calc(76px + env(safe-area-inset-bottom))}}
