:root{--bg: #B995A1;--surface: #F2ECE6;--border: #D2BAB0;--ink: #34222A;--ink-soft: #452F3A;--ink-faint: #5C4550;--accent: #F2ECE6;--accent-ink: #34222A;--diaper: #5286C5;--diaper-bg: #D5DAE0;--feed: #D97B54;--feed-bg: #EED8CC;--sleep: #48AD85;--sleep-bg: #D3E1D5;--danger: #B14A38;--diaper-wet: #5286C5;--diaper-dirty: #DBA32F;--diaper-both: #358E2F;--feed-bottle: #D97B54;--feed-nursing: #695BA4;--feed-solid: #48AD85;--pump: #A2457A;--pump-bg: #EBD5DF;--pump-left: #A2457A;--pump-right: #C08A2C;--shadow: 0 1px 2px rgba(44,42,50,.04), 0 4px 16px rgba(44,42,50,.06);--radius: 20px;--radius-sm: 12px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #241A1F;--surface: #3A2830;--border: #4A3941;--ink: #F5EDEA;--ink-soft: #D8C4C0;--ink-faint: #B39B96;--accent: #D3AEB8;--accent-ink: #241A1F;--diaper: #5285C4;--diaper-bg: #31384D;--feed: #C2653F;--feed-bg: #502F28;--sleep: #3C9572;--sleep-bg: #2B3C36;--danger: #D77A68;--diaper-wet: #5285C4;--diaper-dirty: #C08412;--diaper-both: #158312;--feed-bottle: #C2653F;--feed-nursing: #8F84D8;--feed-solid: #3C9572;--pump: #D27BAE;--pump-bg: #4C2B3E;--pump-left: #D27BAE;--pump-right: #C99A3E;--shadow: 0 1px 2px rgba(0,0,0,.2), 0 4px 20px rgba(0,0,0,.3)}}:root[data-theme=dark]{--bg: #241A1F;--surface: #3A2830;--border: #4A3941;--ink: #F5EDEA;--ink-soft: #D8C4C0;--ink-faint: #B39B96;--accent: #D3AEB8;--accent-ink: #241A1F;--diaper: #5285C4;--diaper-bg: #31384D;--feed: #C2653F;--feed-bg: #502F28;--sleep: #3C9572;--sleep-bg: #2B3C36;--danger: #D77A68;--diaper-wet: #5285C4;--diaper-dirty: #C08412;--diaper-both: #158312;--feed-bottle: #C2653F;--feed-nursing: #8F84D8;--feed-solid: #3C9572;--pump: #D27BAE;--pump-bg: #4C2B3E;--pump-left: #D27BAE;--pump-right: #C99A3E;--shadow: 0 1px 2px rgba(0,0,0,.2), 0 4px 20px rgba(0,0,0,.3)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-tap-highlight-color:transparent}body{min-height:100vh;padding-bottom:40px}.wrap{max-width:480px;margin:0 auto;padding:0 16px}.top{position:sticky;top:0;z-index:20;background:var(--bg);padding-top:18px;padding-bottom:8px}.header-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.baby-id{display:flex;flex-direction:column;min-width:0}.baby-name{font-size:22px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.baby-id.switchable{cursor:pointer}.switch-caret{font-size:14px;color:var(--ink-faint)}.entry.current{border-color:var(--ink)}.baby-age{font-size:13px;color:var(--ink-soft);font-weight:600;margin-top:1px}.icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;flex:none;color:var(--ink)}.icon-btn:active{transform:scale(.94)}.icon{flex:none;vertical-align:middle}.banner{margin-top:12px;border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:var(--shadow);animation:rise .25s ease}@keyframes rise{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.banner.sleep{background:var(--sleep-bg)}.banner.nurse{background:var(--feed-bg)}.banner-left{display:flex;align-items:center;gap:10px;min-width:0}.banner-text{min-width:0}.banner-title{font-weight:800;font-size:14px}.banner-timer{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.banner-end{border:none;border-radius:999px;padding:10px 18px;font-weight:800;font-size:13px;cursor:pointer;color:#fff;flex:none}.banner.sleep .banner-end{background:var(--sleep)}.banner.nurse .banner-end{background:var(--feed)}.banner.nurse.paused .banner-timer{opacity:.55}.banner.pump{background:var(--pump-bg)}.banner.pump .banner-end{background:var(--pump)}.banner.pump .banner-switch{border-color:var(--pump);color:var(--pump);margin-right:0;margin-top:4px}.pump-sides{flex:1;display:flex;justify-content:space-around;gap:8px;min-width:0}.pump-side{display:flex;flex-direction:column;align-items:center}.pump-side.paused .banner-timer{opacity:.55}.banner-switch{background:transparent;border:1.5px solid var(--feed);color:var(--feed);border-radius:999px;padding:9px 14px;font-weight:800;font-size:12px;margin-right:6px;cursor:pointer}@media (max-width: 400px){.banner{padding:12px;gap:8px}.banner-switch{padding:8px 10px;margin-right:4px}.banner-end{padding:9px 12px}}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.quick-btn{border:none;border-radius:var(--radius);padding:16px 6px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;box-shadow:var(--shadow);font-family:inherit;color:var(--ink)}.quick-btn .label{font-size:13px;font-weight:800}.quick-btn.diaper{background:var(--diaper-bg)}.quick-btn.feed{background:var(--feed-bg)}.quick-btn.sleep{background:var(--sleep-bg)}.quick-btn.pump{background:var(--pump-bg)}.quick-btn:active{transform:scale(.96)}.stats{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 10px;text-align:center}.stat-card.tappable{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.stat-num{font-size:19px;font-weight:800}.stat-label{font-size:11px;color:var(--ink-soft);font-weight:700;margin-top:2px}.section-title{margin-top:26px;margin-bottom:10px;font-size:15px;font-weight:800;color:var(--ink-soft)}.day-label{font-size:12px;font-weight:800;color:var(--ink-faint);margin:14px 0 8px}.entry{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 12px;margin-bottom:8px}.entry-editable{cursor:pointer}.entry-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}.entry.diaper{background:var(--diaper-bg)}.entry.feeding{background:var(--feed-bg)}.entry.sleep{background:var(--sleep-bg)}.entry.pump{background:var(--pump-bg)}.entry.diaper .entry-icon,.entry.feeding .entry-icon,.entry.sleep .entry-icon,.entry.pump .entry-icon{background:var(--surface)}.entry-body{flex:1;min-width:0}.entry-title{font-size:14px;font-weight:700}.entry-sub{font-size:12px;color:var(--ink-soft);margin-top:1px}.entry-time{font-size:12px;color:var(--ink-faint);font-weight:700;white-space:nowrap;flex:none;text-align:right}.entry-del{border:none;background:transparent;color:var(--ink-faint);font-size:16px;cursor:pointer;padding:4px;flex:none}.empty{text-align:center;padding:40px 20px;color:var(--ink-faint);font-size:14px;font-weight:600}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#14121a66;z-index:40;display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .2s ease}.scrim.open{opacity:1;pointer-events:auto}.scrim.center{align-items:center;justify-content:center}.sheet{background:var(--surface);width:100%;max-width:480px;margin:0 auto;border-radius:24px 24px 0 0;padding:10px 20px 26px;transform:translateY(100%);transition:transform .25s cubic-bezier(.32,.72,0,1);max-height:88vh;overflow-y:auto}.scrim.center .sheet{border-radius:24px;transform:scale(.94);max-width:380px}.scrim.open .sheet{transform:none}.sheet-handle{width:36px;height:4px;background:var(--border);border-radius:4px;margin:6px auto 14px}.scrim.center .sheet-handle{display:none}.sheet-title{font-size:18px;font-weight:800;margin-bottom:14px}.tab-row{display:flex;gap:8px;margin-bottom:18px}.tab-btn{flex:1;padding:10px 4px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);font-weight:800;font-size:13px;color:var(--ink-soft);cursor:pointer;font-family:inherit}.tab-btn.active.feed{border-color:var(--feed);color:var(--feed);background:var(--feed-bg)}.tab-btn.active.pump{border-color:var(--pump);color:var(--pump);background:var(--pump-bg)}.tab-btn.active.sleep{border-color:var(--sleep);color:var(--sleep);background:var(--sleep-bg)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.choice-grid.three{grid-template-columns:1fr 1fr 1fr}.choice-btn{padding:16px 8px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);font-family:inherit;font-weight:800;font-size:14px;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:6px}.choice-btn.sel.diaper{border-color:var(--diaper);background:var(--diaper-bg)}.choice-btn.sel.feed{border-color:var(--feed);background:var(--feed-bg)}.stepper{display:flex;align-items:center;justify-content:center;gap:20px;margin:10px 0 18px}.stepper-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--border);background:var(--surface);font-size:20px;font-weight:800;cursor:pointer;color:var(--ink)}.stepper-val{font-size:26px;font-weight:800;min-width:90px;text-align:center}.stepper-input{width:110px;font-size:26px;font-weight:800;text-align:center;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font-family:inherit;background:var(--surface);color:var(--ink)}.unit-toggle{display:flex;justify-content:center;gap:8px;margin:-6px 0 18px}.unit-btn{min-width:56px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--border);background:var(--surface);font-family:inherit;font-weight:800;font-size:13px;color:var(--ink-soft);cursor:pointer}.unit-btn.sel{border-color:var(--feed);background:var(--feed-bg);color:var(--feed)}.unit-btn.pump.sel{border-color:var(--pump);background:var(--pump-bg);color:var(--pump)}.pump-unit{margin:16px 0 12px}.pump-card{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin-bottom:10px}.pump-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pump-card-label{font-weight:800;font-size:15px}.latch-btn{border:1.5px solid var(--border);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:6px 12px;font-family:inherit;font-weight:800;font-size:12px;cursor:pointer}.latch-btn.sel{border-color:var(--pump);background:var(--pump-bg);color:var(--pump)}.pump-card-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.stepper.compact{gap:8px;margin:0}.stepper.compact .stepper-btn{width:38px;height:38px;font-size:18px}.stepper.compact .stepper-input{width:84px;font-size:20px;padding:5px 6px}.pump-min{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--ink-soft)}.pump-min .field-input{width:64px;padding:9px 8px;text-align:center}.pump-total{text-align:center;font-size:15px;font-weight:800;margin:6px 0 2px}.pump-total span{color:var(--pump)}.field-label{font-size:12px;font-weight:800;color:var(--ink-soft);margin:14px 0 6px}.field-input,.field-textarea{width:100%;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-family:inherit;font-size:14px;background:var(--surface);color:var(--ink)}.field-textarea{resize:none;min-height:60px}.primary-btn{width:100%;border:none;border-radius:999px;padding:15px;font-weight:800;font-size:15px;color:#fff;cursor:pointer;margin-top:8px;font-family:inherit}.primary-btn.diaper{background:var(--diaper)}.primary-btn.feed{background:var(--feed)}.primary-btn.sleep{background:var(--sleep)}.primary-btn.pump{background:var(--pump)}.primary-btn.brand{background:var(--accent);color:var(--accent-ink);border:1.5px solid var(--accent-ink)}.primary-btn:disabled{opacity:.5}.ghost-btn{width:100%;border:1.5px solid var(--border);background:transparent;border-radius:999px;padding:13px;font-weight:800;font-size:14px;color:var(--ink-soft);cursor:pointer;margin-top:10px;font-family:inherit}.ghost-btn.danger{color:var(--danger);border-color:var(--danger)}.primary-btn.danger{background:var(--danger)}.side-row{display:flex;gap:10px;margin-bottom:16px}.side-btn{flex:1;padding:22px 8px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);font-weight:800;font-size:15px;cursor:pointer;color:var(--ink);font-family:inherit}.side-btn.sel{border-color:var(--feed);background:var(--feed-bg);color:var(--feed)}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--ink-faint);font-weight:700;font-size:14px;text-align:center;padding:0 30px}.config-warning{background:var(--feed-bg);color:var(--feed);border-radius:var(--radius-sm);padding:14px;font-size:13px;font-weight:700;margin:20px 16px;text-align:left;line-height:1.5}.config-warning code{background:#00000014;padding:1px 5px;border-radius:4px}.auth-error{background:var(--diaper-bg);color:var(--danger);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;font-weight:700;margin-top:12px}.auth-link{text-align:center;margin-top:14px}.auth-link a{color:var(--ink-soft);font-size:13px;font-weight:700;cursor:pointer;text-decoration:underline}.view-tabs{display:flex;gap:8px;margin-top:14px}.view-tab{flex:1;padding:9px 4px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);font-weight:800;font-size:13px;color:var(--ink-soft);cursor:pointer;font-family:inherit}.view-tab.active{border-color:var(--ink);color:var(--ink)}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.filter-preset{border:1.5px solid var(--border);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:8px 14px;font-weight:800;font-size:12px;cursor:pointer;font-family:inherit}.filter-preset.active{border-color:var(--ink);color:var(--ink)}.filter-dates{display:flex;align-items:center;gap:6px;margin-top:10px}.filter-dates input{flex:1;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:9px 10px;font-family:inherit;font-size:12px;background:var(--surface);color:var(--ink);min-width:0}.filter-dates span{font-size:11px;color:var(--ink-faint);font-weight:700}.trend-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:14px}.trend-header{display:flex;align-items:center;gap:8px}.trend-title{font-weight:800;font-size:14px}.trend-stats{display:flex;gap:18px;margin-top:8px;flex-wrap:wrap}.trend-stat-num{font-size:17px;font-weight:800}.trend-stat-label{font-size:11px;color:var(--ink-soft);font-weight:700}.trend-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}.legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--ink-soft);font-weight:700}.legend-dot{width:9px;height:9px;border-radius:50%;flex:none}.chart-scroll{overflow-x:auto;margin-top:16px}.chart{display:flex;align-items:flex-end;gap:3px;height:96px;border-bottom:1px solid var(--border);position:relative}.chart-bar-col{flex:1;min-width:4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;cursor:pointer;position:relative}.chart-bar-col.fixed{flex:none;width:8px}.chart-seg{width:100%;max-width:22px;border-radius:4px 4px 0 0}.chart-seg:not(:last-child){margin-bottom:2px}.chart-peak-label{position:absolute;top:-16px;font-size:10px;font-weight:800;color:var(--ink-soft);white-space:nowrap}.chart-xlabels{display:flex;gap:3px;margin-top:6px}.chart-xlabel{flex:1;min-width:4px;text-align:center;font-size:10px;color:var(--ink-faint);font-weight:700}.chart-xlabel.fixed{flex:none;width:8px}.chart-tip{position:fixed;transform:translate(-50%,-100%);background:var(--ink);color:var(--bg);font-size:11px;font-weight:700;padding:5px 9px;border-radius:8px;pointer-events:none;z-index:10;width:max-content;max-width:calc(100vw - 16px);text-align:left}.chart-tip-date{font-size:12px;font-weight:900}.chart-tip hr{border:none;border-top:1px solid currentColor;opacity:.3;margin:4px 0}.report-empty{text-align:center;padding:20px 10px;color:var(--ink-faint);font-size:13px;font-weight:600}.day-nav-today{border:none;background:none;color:var(--ink-soft);font-size:12px;font-weight:800;text-decoration:underline;cursor:pointer;font-family:inherit;padding:0}.week-head{display:flex;align-items:baseline;gap:10px;margin-top:14px}.week-month{font-size:12px;font-weight:800;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}.week-date{flex:1;font-weight:800;font-size:15px}.week-strip{display:flex;align-items:stretch;margin-top:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.week-arrow{flex:none;width:28px;border:none;background:none;color:var(--ink-soft);font-size:20px;font-weight:800;cursor:pointer;font-family:inherit;padding:0}.week-arrow:disabled{opacity:.3;cursor:default}.week-day{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 0;border:none;border-left:1px solid var(--border);background:none;color:var(--ink);cursor:pointer;font-family:inherit}.week-day:nth-child(8){border-right:1px solid var(--border)}.week-day:disabled{color:var(--ink-faint);opacity:.45;cursor:default}.week-dow{font-size:11px;font-weight:800;color:inherit;opacity:.8}.week-num{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}.week-day.today .week-num{text-decoration:underline;text-underline-offset:3px}.week-day.sel{background:var(--ink);color:var(--surface)}.day-summary{margin-top:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.summary-row{display:flex;gap:14px;padding:14px 16px}.summary-row+.summary-row{border-top:1px solid var(--border)}.summary-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}.summary-row.diaper .summary-icon{background:var(--diaper-bg)}.summary-row.feeding .summary-icon{background:var(--feed-bg)}.summary-row.sleep .summary-icon{background:var(--sleep-bg)}.summary-row.pump .summary-icon{background:var(--pump-bg)}.summary-body{flex:1;min-width:0}.summary-title{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:800;margin-bottom:3px}.summary-badge{min-width:26px;padding:1px 9px;border-radius:999px;font-size:13px;font-weight:800;text-align:center;color:#fff}.summary-row.diaper .summary-badge{background:var(--diaper)}.summary-row.feeding .summary-badge{background:var(--feed)}.summary-row.sleep .summary-badge{background:var(--sleep)}.summary-row.pump .summary-badge{background:var(--pump)}.summary-line{font-size:14px;font-weight:600;color:var(--ink-soft);line-height:1.45;font-variant-numeric:tabular-nums}.summary-line.none{color:var(--ink-faint)}.latch-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--pump);background:var(--pump-bg);color:var(--pump);font-size:9px;font-weight:900;line-height:1;vertical-align:1px;margin-left:2px}.entry.pump .entry-sub+.entry-sub{margin-top:4px}.entry-cornered{align-items:flex-start}.entry-corner{flex:none;display:flex;flex-direction:column;align-items:flex-end;margin:-4px -4px 0 0}.entry-corner-top{display:flex;align-items:center;gap:4px}.entry-who{font-size:12px;color:var(--ink-faint);font-weight:600;padding-right:4px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.release{margin-bottom:14px}.release-date{font-size:12px;font-weight:800;color:var(--ink-soft);margin-bottom:6px}.release-list{margin:0;padding-left:20px;font-size:14px;line-height:1.45}.release-list li+li{margin-top:4px}
