:root{--bg: #f4f5f4;--card: #fff;--text: #1c1f1d;--muted: #6f7773;--line: #e3e6e4;--chip: #eceeed;--accent: #1f9d63;--accent-text: #fff;--warn: #d9822b;--water: #3d82d6;--over: #8e5bd9;--danger: #d9382f;--tab-h: 58px;--radius: 14px}@media(prefers-color-scheme:dark){:root{--bg: #121413;--card: #1c1f1e;--text: #eceeed;--muted: #98a09b;--line: #2b2f2d;--chip: #2a2e2c;--accent: #2fb877;--accent-text: #08150f;--warn: #e8954a;--water: #5b9be6;--over: #a883ec;--danger: #ef5b52}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font:16px/1.35 -apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;-webkit-text-size-adjust:100%}#app{min-height:100%}.screen{padding:calc(env(safe-area-inset-top) + 14px) calc(env(safe-area-inset-right) + 14px) calc(var(--tab-h) + env(safe-area-inset-bottom) + 24px) calc(env(safe-area-inset-left) + 14px);max-width:560px;margin:0 auto}h1{font-size:22px;margin:0 0 12px}h2{font-size:13px;margin:18px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.muted{color:var(--muted);font-size:13px}.small{font-size:13px}.err{color:var(--danger);margin:8px 0}.note{color:var(--warn);font-size:12px;margin-left:6px;white-space:nowrap}input,select{font:inherit;font-size:16px;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:0 12px;min-height:44px;width:100%}input:focus{outline:2px solid var(--accent);outline-offset:-1px}label.field{display:block;margin:10px 0 0;font-size:13px;color:var(--muted)}label.field input,label.field select{margin-top:4px;color:var(--text);font-size:16px}button{font:inherit;color:var(--text);background:var(--chip);border:0;border-radius:10px;min-height:44px;padding:0 14px;cursor:pointer}button.primary{background:var(--accent);color:var(--accent-text);font-weight:600}button.link{background:none;color:var(--muted);padding:0 6px;min-height:44px}button.danger{color:var(--danger)}button:disabled{opacity:.5}.card{background:var(--card);border-radius:var(--radius);padding:12px 14px;margin:8px 0}.list{background:var(--card);border-radius:var(--radius);overflow:hidden}.row{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.row:last-child{border-bottom:0}.row .grow{flex:1;min-width:0}.row .ico{width:38px;height:38px;border-radius:9px;background:var(--chip);flex:none;display:flex;align-items:center;justify-content:center;font-size:20px}.macros{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;text-align:center;margin:10px 0}.macros div{background:var(--card);border-radius:10px;padding:8px 0;font-size:12px;color:var(--muted)}.macros b{display:block;font-size:20px;color:var(--text)}.line{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:15px}.bar{height:8px;background:var(--chip);border-radius:4px;margin:4px 0 10px;overflow:hidden}.bar i{display:block;height:100%;border-radius:4px;background:var(--accent)}.bar.over i{background:var(--over)}.bar.danger i{background:var(--danger)}.bar.warn i{background:var(--warn)}.bar.water i{background:var(--water)}.left{color:var(--warn);font-weight:600}.left.done{color:var(--accent)}.left.over{color:var(--over)}.badge{color:var(--danger);font-weight:600;font-size:12px;margin-left:4px}.seg{display:flex;border:1px solid var(--accent);border-radius:10px;overflow:hidden;margin:4px 0}.seg button{flex:1;border-radius:0;background:none;min-height:40px}.seg button.on{background:var(--accent);color:var(--accent-text)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.chips button{min-width:64px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar a{flex:1;height:var(--tab-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;color:var(--muted);text-decoration:none}.tabbar a span.i{font-size:20px;line-height:1}.tabbar a.on{color:var(--accent);font-weight:600}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0006}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:31;background:var(--card);border-radius:18px 18px 0 0;padding:16px calc(env(safe-area-inset-right) + 16px) calc(env(safe-area-inset-bottom) + 16px) calc(env(safe-area-inset-left) + 16px);max-width:560px;margin:0 auto}.sheet h3{margin:0 0 4px;font-size:18px}.sheet .inline{display:flex;gap:8px;align-items:center}.sheet .inline input{flex:1;font-size:20px;min-height:52px}.sheet .go{width:100%;margin-top:8px;min-height:52px}.toast{position:fixed;left:12px;right:12px;z-index:40;max-width:536px;margin:0 auto;bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 10px);background:#2b2f2d;color:#fff;border-radius:12px;padding:4px 6px 4px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px}.toast button{background:none;color:#7ee0aa;font-weight:600}.loginbox{padding-top:15vh}
