:root{--bg: #eef1ef;--panel: #fbfcfb;--ink: #16211e;--muted: #5d6b67;--line: #d4dbd8;--push: #0d6e62;--push-soft: #d4ebe6;--pull: #b4650f;--pull-soft: #f5e3cc;--water: #2463a8;--water-soft: #dce8f6;--tea: #5f6e17;--tea-soft: #e7ecd0;--coffee: #6e4a2e;--coffee-soft: #eee2d8;--due: #b8321f;--font-display: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;--font-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #111816;--panel: #18211e;--ink: #e5ece9;--muted: #93a39e;--line: #2b3733;--push: #4cc2b0;--push-soft: #1c3b36;--pull: #eba354;--pull-soft: #3d2c17;--water: #6ea8ec;--water-soft: #1c2e45;--tea: #b5c45a;--tea-soft: #2e3418;--coffee: #cf9f78;--coffee-soft: #3a2a1e;--due: #f07a64;color-scheme:dark}}:root[data-theme=dark]{--bg: #111816;--panel: #18211e;--ink: #e5ece9;--muted: #93a39e;--line: #2b3733;--push: #4cc2b0;--push-soft: #1c3b36;--pull: #eba354;--pull-soft: #3d2c17;--water: #6ea8ec;--water-soft: #1c2e45;--tea: #b5c45a;--tea-soft: #2e3418;--coffee: #cf9f78;--coffee-soft: #3a2a1e;--due: #f07a64;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}img{max-width:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.5}.wrap{max-width:980px;margin:0 auto;padding-inline:16px;padding-block:20px 48px;display:grid;gap:18px}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:.01em;margin:0;text-wrap:balance;line-height:1.05}h1{font-size:clamp(30px,6vw,44px);text-transform:uppercase}h2{font-size:22px;text-transform:uppercase;letter-spacing:.03em}.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.num{font-variant-numeric:tabular-nums}header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px}header .meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.chip{font-family:var(--font-mono);font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--panel)}.chip.due{color:var(--due);border-color:var(--due)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px;display:grid;gap:14px;min-width:0}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.counter{display:grid;gap:10px}.counter .top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.counter .mid{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.exercise-icon{width:104px;height:65px;flex:none}.push .exercise-icon{color:var(--push)}.pull .exercise-icon{color:var(--pull)}.big{font-family:var(--font-display);font-weight:700;font-size:72px;line-height:.9;font-variant-numeric:tabular-nums}.big small{font-size:26px;color:var(--muted);font-weight:600}.push .big{color:var(--push)}.pull .big{color:var(--pull)}.bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.bar>i{display:block;height:100%;width:0;border-radius:4px;transition:width .3s ease}.push .bar>i{background:var(--push)}.pull .bar>i{background:var(--pull)}.btns{display:flex;flex-wrap:wrap;gap:8px}button,.btn{font:600 15px/1 var(--font-body);padding:10px 14px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;min-height:42px}button:hover{border-color:var(--muted)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--push);outline-offset:2px}.push button.add{background:var(--push-soft);border-color:transparent;color:var(--push)}.pull button.add{background:var(--pull-soft);border-color:transparent;color:var(--pull)}button.primary{background:var(--ink);color:var(--panel);border-color:var(--ink)}button.ghost{background:transparent;color:var(--muted);font-weight:500}.custom{display:flex;gap:8px}input,select{font:15px var(--font-body);padding:9px 10px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink);min-height:42px;min-width:0}.custom input{width:84px}.suggest{display:grid;gap:6px}.when{font-family:var(--font-display);font-size:40px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.when.due{color:var(--due)}.what{font-size:17px;font-weight:600}.why{color:var(--muted);font-size:14px;max-width:60ch}.drinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.drink{display:grid;gap:8px;align-content:start;padding:12px;border-radius:8px}.drink.water{background:var(--water-soft);color:var(--water)}.drink.tea{background:var(--tea-soft);color:var(--tea)}.drink.coffee{background:var(--coffee-soft);color:var(--coffee)}.drink .dv{font-family:var(--font-display);font-size:38px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.drink .dv small{font-size:18px;font-weight:600;opacity:.75}.drink .dl{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.drink .bar>i{background:var(--water)}.drink button{background:var(--panel);border-color:transparent;color:inherit;padding:8px 10px;min-height:38px;font-size:14px}.cafbar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.cafbar>i{display:block;height:100%;width:0;background:var(--coffee);border-radius:4px}.cafbar.over>i{background:var(--due)}.rail-wrap{overflow-x:auto}.rail{position:relative;height:92px;min-width:560px;margin-inline:8px}.rail .axis{position:absolute;left:0;right:0;top:46px;height:2px;background:var(--line)}.rail .tick{position:absolute;top:52px;font:11px var(--font-mono);color:var(--muted);transform:translate(-50%)}.rail .tick:before{content:"";position:absolute;left:50%;top:-8px;width:1px;height:6px;background:var(--line)}.rail .now{position:absolute;top:6px;bottom:22px;width:2px;background:var(--due)}.rail .now span{position:absolute;top:-2px;left:5px;font:600 11px var(--font-mono);color:var(--due);white-space:nowrap}.mark{position:absolute;transform:translate(-50%);border-radius:50%}.mark.set-push{top:30px;width:12px;height:12px;background:var(--push)}.mark.set-pull{top:30px;width:12px;height:12px;background:var(--pull)}.mark.plan{top:32px;width:9px;height:9px;border:2px dashed var(--muted);background:transparent}.mark.water,.mark.tea,.mark.coffee{top:12px;width:10px;height:10px;border-radius:50% 50% 50% 0;transform:translate(-50%) rotate(-45deg)}.mark.water{background:var(--water)}.mark.tea{background:var(--tea)}.mark.coffee{background:var(--coffee)}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}.chart{width:100%;height:auto;display:block}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.stat .v{font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.stat .l{font-size:13px;color:var(--muted)}.log{margin:0;padding:0;list-style:none;display:grid;max-height:220px;overflow-y:auto}.log li{display:flex;gap:12px;padding:6px 0;border-top:1px solid var(--line);font-size:14px}.log time{font-family:var(--font-mono);color:var(--muted);font-size:13px;min-width:48px}.empty{color:var(--muted);font-size:14px}details summary{cursor:pointer;font-family:var(--font-display);font-size:22px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px}.form label{display:grid;gap:4px;font-size:13px;color:var(--muted)}.note{font-size:13px;color:var(--muted)}.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--ink);color:var(--panel);padding:10px 16px;border-radius:8px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.signin{min-height:100vh;display:grid;place-items:center;padding-inline:16px;padding-block:32px}.signin-card{max-width:440px;display:grid;gap:16px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:28px}.signin-card p{margin:0;color:var(--muted)}.google-btn{min-height:44px}.user{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.user img{border-radius:50%}.row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
