:root{--bg: #f6f3ee;--surface: #fffdf9;--surface-2: #f0ece5;--ink: #2b2f36;--muted: #8a9099;--hairline: #e6e1d9;--accent: #6f9a86;--accent-ink: #3e6354;--accent-soft: #d9e6df;--on-accent: #ffffff;--danger: #a4675c;--r: 12px;--r-sm: 9px;--tap: 44px;--col: 640px;--gut: 20px;--fast: .18s;--ease: cubic-bezier(.2, .7, .3, 1);--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #16181c;--surface: #1f2227;--surface-2: #23262c;--ink: #e8e6e1;--muted: #8b9098;--hairline: #2b2f36;--accent: #8fb8a4;--accent-ink: #a8cbba;--accent-soft: #243129;--on-accent: #12241c;--danger: #c78e83}}:root[data-theme=dark]{color-scheme:dark;--bg: #16181c;--surface: #1f2227;--surface-2: #23262c;--ink: #e8e6e1;--muted: #8b9098;--hairline: #2b2f36;--accent: #8fb8a4;--accent-ink: #a8cbba;--accent-soft: #243129;--on-accent: #12241c;--danger: #c78e83}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.skip{position:absolute;left:-9999px;top:0;background:var(--surface);color:var(--ink);padding:10px 14px;z-index:60}.skip:focus{left:8px;top:8px}.topbar{display:none}.topbar-in{max-width:var(--col);margin:0 auto;padding:0 var(--gut);height:58px;display:flex;align-items:center;gap:24px}.wordmark{font-size:15px;font-weight:500;letter-spacing:.02em}.toptabs{display:flex;gap:4px;margin-left:auto}.toptabs button{background:none;border:0;padding:8px 12px;min-height:var(--tap);border-radius:var(--r-sm);color:var(--muted);font-size:14px;cursor:pointer}.toptabs button[aria-current=page]{color:var(--ink);background:var(--surface)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--hairline);padding:4px max(6px,var(--sal)) calc(4px + var(--sab)) max(6px,var(--sar))}.tabbar button{background:none;border:0;min-height:var(--tap);padding:7px 2px 6px;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted);font-size:11.5px;letter-spacing:.01em;cursor:pointer;border-radius:var(--r-sm)}.tabbar button svg{width:21px;height:21px;display:block}.tabbar button[aria-current=page]{color:var(--accent-ink)}.view{max-width:var(--col);margin:0 auto;padding:calc(var(--sat) + 22px) max(var(--gut),var(--sar)) calc(110px + var(--sab)) max(var(--gut),var(--sal));outline:none}@media(min-width:768px){.topbar{display:block;position:sticky;top:0;z-index:40;padding-top:var(--sat);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--hairline)}.tabbar{display:none}.view{padding-top:30px;padding-bottom:80px}}h1,h2,h3{font-weight:500;margin:0}h1{font-size:17px}h2{font-size:15px}h3{font-size:14px}.eyebrow{font-size:13px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.section{margin-top:34px}.section>h2{margin-bottom:12px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}hr.rule{border:0;border-top:1px solid var(--hairline);margin:28px 0}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);padding:16px 18px}.card+.card{margin-top:12px}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tiles.two{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);padding:13px 12px 12px;min-width:0}.tile .v{font-size:25px;font-weight:250;line-height:1.1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.tile .k{font-size:13px;color:var(--muted);margin-top:3px;line-height:1.3;min-height:2.6em;text-wrap:balance}.btn{appearance:none;background:var(--surface);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-sm);min-height:var(--tap);padding:10px 16px;font-size:15px;cursor:pointer;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.btn:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--hairline))}.btn:active{background:var(--surface-2)}.btn[disabled]{opacity:.5;cursor:default}.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.quiet{background:none;border-color:transparent;color:var(--muted)}.btn.quiet:hover{color:var(--ink);border-color:var(--hairline)}.btn.link{background:none;border:0;min-height:var(--tap);padding:8px 0;color:var(--accent-ink);font-size:14px;cursor:pointer;text-align:left}.btn.danger{color:var(--danger)}.btn.tiny{min-height:34px;padding:5px 11px;font-size:13px}.btn.wide{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:10px}.btn-row .btn{flex:1 1 auto}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips button{background:none;border:1px solid var(--hairline);border-radius:100px;min-height:36px;padding:6px 15px;font-size:13.5px;color:var(--muted);cursor:pointer}.chips button[aria-pressed=true]{background:var(--accent-soft);border-color:transparent;color:var(--accent-ink)}.today-head{padding-top:6px}.today-date{font-size:13px;color:var(--muted);letter-spacing:.01em}.count{font-size:clamp(88px,30vw,132px);font-weight:200;line-height:.96;letter-spacing:-.045em;margin:6px 0 0;font-variant-numeric:tabular-nums;display:block}.count.dim{color:var(--muted)}.count-label{font-size:14px;color:var(--muted);margin-top:-2px}.goal-line{font-size:13px;color:var(--muted);margin-top:8px}.add-row{display:flex;align-items:center;gap:14px;margin-top:26px}.add{width:88px;height:88px;border-radius:50%;border:1px solid transparent;background:var(--accent);color:var(--on-accent);font-size:15px;font-weight:400;letter-spacing:.01em;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:transform var(--fast) var(--ease),filter var(--fast) var(--ease)}.add:active{transform:scale(.96)}.add .plus{font-size:30px;font-weight:200;line-height:1;margin-bottom:3px}.add-in{display:flex;flex-direction:column;align-items:center;gap:1px}.add-side{display:flex;flex-direction:column;gap:0;align-items:flex-start;min-width:0}.message{margin-top:28px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);padding:16px 18px;display:flex;gap:12px;align-items:flex-start}.message p{margin:0;font-size:15px;line-height:1.55}.message .cycle{margin-left:auto;flex:0 0 auto;background:none;border:0;color:var(--muted);cursor:pointer;width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.message .cycle:hover{background:var(--surface-2);color:var(--ink)}.message .cycle svg{width:16px;height:16px}.chart-wrap{margin-top:10px}.chart{width:100%;display:block;height:120px}.chart.tall{height:170px}.chart-cap{font-size:13px;color:var(--muted);margin-top:8px}.chart-empty{font-size:13px;color:var(--muted);padding:26px 0;text-align:center}.headline{font-size:clamp(56px,18vw,82px);font-weight:200;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.headline-k{font-size:14px;color:var(--muted);margin-top:6px}.trend-grid{display:grid;gap:26px}@media(min-width:1024px){body.wide-view{--col: 980px}.trend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 28px}.trend-grid .span2{grid-column:1 / -1}}.list{border-top:1px solid var(--hairline)}.row{display:flex;align-items:center;gap:14px;width:100%;min-height:54px;padding:11px 2px;border:0;border-bottom:1px solid var(--hairline);background:none;text-align:left;color:inherit;font-size:15px;cursor:pointer}.row:hover{background:color-mix(in srgb,var(--surface) 70%,transparent)}.row .rl{min-width:0;flex:1 1 auto}.row .rl .sub{font-size:13px;color:var(--muted);margin-top:1px}.row .rv{flex:0 0 auto;font-size:19px;font-weight:250;font-variant-numeric:tabular-nums}.row .rv.zero{color:var(--accent-ink);font-size:13.5px;font-weight:400}.row .rv.none{color:var(--muted);font-size:13.5px;font-weight:400}.seg{display:grid;grid-auto-flow:column;gap:2px;background:var(--surface-2);border-radius:100px;padding:3px;margin-bottom:18px}.seg button{border:0;background:none;min-height:38px;border-radius:100px;font-size:14px;color:var(--muted);cursor:pointer}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink)}.empty{color:var(--muted);font-size:14px;padding:26px 0}.field{display:block;margin-top:16px}.field>span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-sm);padding:11px 12px;min-height:var(--tap);font-size:16px}.field textarea{min-height:96px;resize:vertical;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.setrow{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--hairline);min-height:var(--tap)}.setrow .sl{flex:1 1 auto;min-width:0;font-size:15px}.setrow .sl .sub{font-size:13px;color:var(--muted);margin-top:1px}.setrow .sr{flex:0 0 auto;display:flex;align-items:center;gap:10px}.setrow input[type=time]{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-sm);padding:7px 9px;min-height:38px;font-size:15px}.switch{position:relative;width:46px;height:28px;flex:0 0 auto;display:inline-block}.switch input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch .track{position:absolute;inset:0;border-radius:100px;background:var(--surface-2);border:1px solid var(--hairline);transition:background var(--fast) var(--ease);pointer-events:none}.switch .knob{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:var(--muted);transition:transform var(--fast) var(--ease),background var(--fast) var(--ease);pointer-events:none}.switch input:checked~.track{background:var(--accent-soft);border-color:transparent}.switch input:checked~.knob{transform:translate(18px);background:var(--accent)}.switch input:focus-visible~.track{outline:2px solid var(--accent);outline-offset:2px}.status{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.5}.status.ok{color:var(--accent-ink)}.status.err{color:var(--danger)}.radio-list{display:grid;gap:2px}.radio-row{display:flex;gap:12px;align-items:flex-start;padding:11px 0;min-height:var(--tap);cursor:pointer;border-bottom:1px solid var(--hairline)}.radio-row input{margin:3px 0 0;width:18px;height:18px;accent-color:var(--accent);flex:0 0 auto}.radio-row>span{min-width:0}.radio-row .rt{display:block;font-size:15px}.radio-row .rs{display:block;font-size:13px;color:var(--muted);margin-top:1px;line-height:1.4}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.foot{margin-top:40px;font-size:13px;color:var(--muted)}.foot a{color:var(--muted)}.foot .links{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}.sheet-host{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center}.sheet-host[hidden]{display:none}.scrim{position:absolute;inset:0;background:#14161a61;animation:fade var(--fast) var(--ease)}.sheet{position:relative;width:100%;max-width:var(--col);max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg);border-radius:18px 18px 0 0;border:1px solid var(--hairline);border-bottom:0;padding:10px max(var(--gut),var(--sar)) calc(22px + var(--sab)) max(var(--gut),var(--sal));animation:rise .22s var(--ease)}.sheet-grip{width:38px;height:4px;border-radius:100px;background:var(--hairline);margin:2px auto 14px}.sheet-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}.sheet-head h2{flex:1 1 auto}.sheet-actions{display:flex;gap:10px;margin-top:22px}.sheet-actions .btn{flex:1 1 0}@media(min-width:768px){.sheet-host{align-items:center}.sheet{border-radius:var(--r);border-bottom:1px solid var(--hairline);max-width:480px;padding-bottom:22px;animation:fade var(--fast) var(--ease)}.sheet-grip{display:none}}.toast-host{position:fixed;left:0;right:0;bottom:calc(78px + var(--sab));z-index:50;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 var(--gut);pointer-events:none}@media(min-width:768px){.toast-host{bottom:calc(26px + var(--sab))}}.toast{pointer-events:auto;max-width:460px;width:100%;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);padding:12px 15px;font-size:14px;line-height:1.5;display:flex;align-items:center;gap:12px;animation:rise var(--fast) var(--ease)}.toast.out{animation:fadeout var(--fast) var(--ease) forwards}.toast .tx{flex:1 1 auto;min-width:0}.toast button{flex:0 0 auto;background:none;border:0;color:var(--accent-ink);font-size:14px;cursor:pointer;padding:6px 4px;min-height:34px}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes fadeout{to{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.stepper{display:flex;align-items:center;justify-content:center;gap:20px;padding:10px 0 4px}.btn.step{width:56px;height:56px;border-radius:50%;font-size:22px;font-weight:300;padding:0;display:grid;place-items:center}.step-v{font-size:54px;font-weight:200;min-width:72px;text-align:center;font-variant-numeric:tabular-nums;line-height:1}.add .lbl{font-size:12.5px;letter-spacing:.01em}
