:root{--bg:#f5f1ec;--card:#fff;--text:#1f1c19;--secondary:#857d75;--tertiary:#b4aca4;--hair:#3c28141a;--fill:#7864501a;--fill-strong:#78645029;--accent:#d9895a;--danger:#d0453a;--radius:22px;--shadow:0 1px 2px #3c28140a, 0 6px 18px #3c28140d;--ease-release:cubic-bezier(.3, 1.45, .55, 1);--ease-out:cubic-bezier(.2, .9, .25, 1);--rounded:ui-rounded, "SF Pro Rounded", -apple-system, system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%;font:16px/1.4 -apple-system,system-ui,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Microsoft YaHei,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#141312;--card:#211f1d;--text:#f1ece6;--secondary:#a49c94;--tertiary:#6d665f;--hair:#ffffff17;--fill:#ffffff14;--fill-strong:#ffffff21;--shadow:none}.capsule:not(.tint):not(.tint-soft){background:var(--fill-strong);box-shadow:none;border-color:#0000}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0}html,body{height:100%;overflow:hidden}#app{flex-direction:column;height:100dvh;display:flex}.stage{background:var(--bg);transform-origin:50% 0;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}html.sheet-open,html.sheet-open body{background:#000}.pages{flex:1;min-height:0;position:relative}.page{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--bg);will-change:transform, opacity;position:absolute;inset:0;overflow-y:auto}.page-inner{max-width:640px;padding:0 max(16px, env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));margin:0 auto}button,a{font:inherit;color:inherit;touch-action:manipulation;-webkit-touch-callout:none}button{user-select:none;cursor:pointer}.muted{color:var(--secondary);font-size:.9em}button,.pressable{transition:transform .38s var(--ease-release), opacity .3s linear, background-color .25s linear}button.is-pressed,.pressable.is-pressed{opacity:.7;transition:transform .1s var(--ease-out), opacity .1s linear, background-color .1s linear;transform:scale(.96)}.card-body.is-pressed,.timer .started-at.is-pressed{opacity:1;transform:none}.card:has(>.card-body.is-pressed){transition:transform .1s var(--ease-out);transform:scale(.98)}.card{transition:transform .38s var(--ease-release)}.row-main.is-pressed{opacity:1;background:var(--fill);transform:none}@media (prefers-reduced-motion:reduce){button,.pressable,.card{transition:opacity .15s linear}button.is-pressed,.card:has(>.card-body.is-pressed){transform:none}}.top{width:100%;max-width:640px;padding:calc(12px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));flex:none;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex;position:relative}.baby{align-items:center;gap:10px;min-width:0;display:flex}.baby>div{flex-direction:column;min-width:0;line-height:1.25;display:flex}.baby strong{font-size:1.15em}.baby .muted{font-size:.82em}.baby-switch{font:inherit;color:inherit;background:0 0;border:none;padding:0;font-size:1.15em;font-weight:700}nav{background:var(--fill-strong);border-radius:999px;flex:none;padding:3px;display:flex}.tab{color:var(--secondary);background:0 0;border:none;border-radius:999px;padding:6px 13px;font-size:.88em}.tab.on{background:var(--card);color:var(--text);font-weight:600;box-shadow:0 1px 3px #00000014}.top:after{content:"";border-bottom:1px solid var(--hair);opacity:0;transition:opacity .2s linear;position:absolute;bottom:0;left:0;right:0}.top.scrolled:after{opacity:1}.btn{border:1px solid var(--hair);background:var(--card);border-radius:14px;min-height:46px;padding:10px 16px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.link{color:var(--accent);background:0 0;border:none;padding:10px 4px}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.link.danger-text{color:var(--danger)}.btn:disabled{opacity:.5}.capsule{border:1px solid var(--hair);background:var(--card);white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 16px;font-size:.95em;font-weight:600;display:inline-flex;box-shadow:0 1px 3px #3c28140f}.capsule.tint{background:var(--tint,var(--accent));color:#fff;box-shadow:none;border-color:#0000}.capsule.tint-soft{background:color-mix(in srgb, var(--tint) 14%, var(--card));color:color-mix(in srgb, var(--tint) 80%, var(--text));box-shadow:none;border-color:#0000}.capsule.small{min-height:30px;padding:0 12px;font-size:.85em}.glyph{flex:none}.btn-spinner{vertical-align:-2px;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:15px;height:15px;margin-right:8px;animation:.7s linear infinite fw-spin;display:inline-block}.is-pending{cursor:progress}button.is-pending:disabled{opacity:.85}.overlay{position:relative}.overlay .pending-content{display:contents}.is-pending.overlay .pending-content{visibility:hidden;align-items:center;gap:6px;display:inline-flex}.btn-spinner.centered{margin:-7.5px 0 0 -7.5px;position:absolute;top:50%;left:50%}.chips{border:none;flex-wrap:wrap;gap:8px;min-width:0;margin:0;padding:0;display:flex}.chip{border:1px solid var(--hair);background:var(--card);border-radius:999px;min-height:38px;padding:7px 14px}.chip.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--card));font-weight:600}.chevron{color:var(--tertiary);flex:none}.type-icon{background-color:var(--tint);width:26px;height:26px;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;flex:none}.home{flex-direction:column;gap:12px;padding-top:4px;display:flex}.cards{flex-direction:column;gap:12px;display:flex}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);position:relative}.card-body{text-align:left;border-radius:inherit;background:0 0;border:none;flex-direction:column;width:100%;padding:12px 16px 13px;display:flex}.card-head{align-items:center;gap:8px;width:100%;min-height:32px;padding-right:44px;display:flex}.card-head .type-icon{width:30px;height:30px}.card-title{font-size:1.12em;font-weight:700}.count{color:var(--secondary);background:var(--fill);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 9px;font-size:.82em}.card-main{justify-content:space-between;align-items:baseline;gap:12px;width:100%;margin-top:6px;display:flex}.card-big{letter-spacing:-.01em;font-variant-numeric:tabular-nums;min-width:0;font-size:1.5em;font-weight:700;line-height:1.15}.card-time{color:var(--secondary);font-variant-numeric:tabular-nums;flex:none}.card-detail{color:var(--text);opacity:.85;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;overflow:hidden}.card-add{background:var(--fill);width:36px;height:36px;color:var(--text);border:none;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:12px}.not-yet h3{color:var(--secondary);margin:6px 4px 8px;font-size:.85em;font-weight:600}.not-yet-list{flex-wrap:wrap;gap:8px;display:flex}.quick{background:var(--card);min-height:40px;box-shadow:var(--shadow);border:none;border-radius:999px;align-items:center;gap:6px;padding:0 12px 0 10px;font-size:.92em;display:inline-flex}.quick .type-icon{width:22px;height:22px}.quick .plus{width:12px;height:12px;color:var(--secondary)}.quick.more{color:var(--accent);padding:0 14px}.all{margin:4px auto 0;display:block}.today{text-align:left;background:var(--card);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);border:none;padding:12px 16px 10px;display:block}.today.is-pressed{opacity:1;transform:scale(.98)}.today-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.today-title{color:var(--secondary);font-size:.92em}.today-link{color:var(--secondary);align-items:center;gap:5px;font-size:.92em;display:inline-flex}.today-track{background-color:var(--fill);background-image:linear-gradient(to right, color-mix(in srgb, var(--text) 22%, transparent) 1px, transparent 1px), linear-gradient(to right, color-mix(in srgb, var(--text) 8%, transparent) 1px, transparent 1px);background-position:-.5px 0;background-size:12.5% 100%,4.1667% 100%;border-radius:4px;height:14px;display:block;position:relative;overflow:hidden}.today-bar,.today-dot{background:color-mix(in srgb, var(--tint) 90%, transparent);border-radius:2px;min-width:6px;position:absolute;top:0;bottom:0}.today-dot{width:4px;min-width:4px;transform:translate(-50%)}.today-icons{height:16px;margin-top:6px;display:block;position:relative}.today-group{align-items:center;gap:2px;display:flex;position:absolute;top:0}.today-group .type-icon{width:14px;height:14px}.today-more{background:var(--fill-strong);color:var(--secondary);font-variant-numeric:tabular-nums;border-radius:7px;padding:0 4px;font-size:10px;line-height:14px}.today-axis{height:14px;color:var(--tertiary);font-variant-numeric:tabular-nums;margin-top:4px;font-size:10px;display:block;position:relative}.today-axis>span{position:absolute;transform:translate(-50%)}.today-axis>span:first-child{transform:none}.today-axis>span:last-child{transform:translate(-100%)}.timer{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.timer-head{border-bottom:1px solid var(--hair);align-items:center;gap:8px;padding:12px 14px 12px 16px;display:flex}.timer-head .type-icon{width:28px;height:28px}.timer-title{flex:1;font-size:1.12em;font-weight:700}.timer-body{padding:12px 16px 16px}.started-at{background:0 0;border:none;align-items:center;gap:6px;padding:2px 0;font-size:1em;display:inline-flex}.timer-row{justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.clock{font-family:var(--rounded);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--tint);font-size:2.6em;font-weight:600;line-height:1.05}.clock.paused{opacity:.55}.timer-status{color:var(--secondary);align-items:center;gap:8px;min-height:30px;display:flex}.clock-small{font-family:var(--rounded);font-variant-numeric:tabular-nums;color:var(--tint);font-weight:600}.timer-status .capsule{margin-left:auto}.tiles{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.tile{background:var(--fill);border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:12px 10px 10px;transition:background-color .25s linear;display:flex}.tile.on{background:color-mix(in srgb, var(--tint) 14%, var(--card))}.tile-label{color:var(--secondary);font-size:.92em}.tile-clock{font-family:var(--rounded);font-variant-numeric:tabular-nums;color:var(--secondary);font-size:1.9em;font-weight:600;line-height:1.1}.tile.on .tile-clock{color:var(--tint)}.tile-btn{width:100%;margin-top:6px}.open-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:4px 16px}.open-row{padding:12px 0}.open-row+.open-row{border-top:1px solid var(--hair)}.open-text{align-items:center;gap:8px;min-width:0;display:flex}.open-text .type-icon{width:26px;height:26px}.open-title{flex:none;font-weight:700}.open-sub{color:var(--secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.9em;overflow:hidden}.open-actions{gap:8px;margin-top:10px;display:flex}.open-actions .capsule{flex:1}.open-more{border:none;border-top:1px solid var(--hair);width:100%;color:var(--accent);background:0 0;padding:12px 0;font-size:.92em;display:block}.records-head{justify-content:space-between;align-items:center;gap:12px;margin:6px 0 2px;display:flex}.records-head h1{margin:0;font-size:1.75em;font-weight:800}.day{content-visibility:auto;contain-intrinsic-size:auto 480px}.day h2{justify-content:space-between;align-items:baseline;margin:18px 4px 2px;font-size:1.15em;font-weight:700;display:flex}.day-age{color:var(--secondary);font-size:.75em;font-weight:400}.row{position:relative}.row+.row:before{content:"";border-top:1px solid var(--hair);position:absolute;top:0;left:64px;right:4px}.row-main{text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;padding:8px 4px;display:flex}.row-type{width:48px;color:var(--secondary);white-space:nowrap;flex-direction:column;flex:none;align-items:center;gap:2px;font-size:.72em;display:flex;overflow:hidden}.row-type .type-icon{width:30px;height:30px}.row-text{text-align:left;flex-direction:column;flex:1;min-width:0;display:flex}.row-line{text-overflow:ellipsis;white-space:nowrap;font-size:1.02em;overflow:hidden}.row-line strong{font-weight:700}.row-line strong.live{color:var(--tint)}.row-time{color:var(--secondary);font-variant-numeric:tabular-nums;font-size:.92em}.row-notes{color:var(--secondary);white-space:pre-wrap;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:.9em;display:-webkit-box;overflow:hidden}.row-photos{flex-wrap:wrap;gap:6px;padding:0 4px 10px 64px;display:flex}.thumb{object-fit:cover;border-radius:10px;display:block}.thumb-btn{cursor:zoom-in;background:0 0;border:none;padding:0}.thumb.placeholder{background:var(--fill);border:none}.empty,.end{text-align:center;color:var(--secondary);margin:24px 0;font-size:.92em}.sentinel{height:1px}.summary-asof{color:var(--secondary);margin:2px 4px 14px;font-size:.9em}.summary-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:4px 0}.summary-row{position:relative}.summary-row+.summary-row:before{content:"";border-top:1px solid var(--hair);position:absolute;top:0;left:54px;right:0}.summary-main{text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;min-height:52px;padding:12px 16px;display:flex}.summary-main:disabled{opacity:1;cursor:default}.summary-main .type-icon{width:28px;height:28px}.summary-name{flex:none;font-weight:600}.summary-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--text);margin-left:auto}.summary-note,.summary-sub{color:var(--secondary);margin:-6px 16px 10px 54px;font-size:.88em}.summary-sub{justify-content:space-between;margin-top:0;margin-bottom:8px;padding-right:17px;display:flex}.chevron-space{flex:none;width:7px}.summary-sub .summary-value{color:var(--secondary)}.summary-row:has(.summary-sub){padding-bottom:4px}.sheet-backdrop{z-index:20;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-dim{opacity:0;pointer-events:none;background:#00000052;position:absolute;inset:0}.sheet-scrim,.viewer-scrim{cursor:default;background:0 0;border:none;padding:0;transition:none;position:absolute;inset:0}.sheet-scrim.is-pressed,.viewer-scrim.is-pressed{opacity:1;transform:none}.sheet{background:var(--bg);width:100%;max-width:640px;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);overscroll-behavior:contain;padding:0 16px calc(20px + env(safe-area-inset-bottom));will-change:transform;border-radius:24px 24px 0 0;flex-direction:column;gap:12px;display:flex;position:relative;overflow-y:auto;transform:translateY(100%);box-shadow:0 -8px 30px #00000014}.grabber{background:var(--tertiary);opacity:.6;border-radius:3px;flex:none;width:36px;height:5px;margin:6px auto -6px}.sheet-head{background:var(--bg);z-index:1;justify-content:space-between;align-items:center;padding:10px 0 4px;display:flex;position:sticky;top:0}.sheet-head h2{margin:0;font-size:1.15em}.sheet-close:disabled{opacity:.35}.sheet-close{background:var(--fill-strong);width:32px;height:32px;color:var(--secondary);border:none;border-radius:50%;place-items:center;padding:0;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field>span:first-child{color:var(--secondary);padding-left:4px;font-size:.82em}.field input,.field select,.field textarea{font:inherit;color:inherit;background:var(--card);border:1px solid #0000;border-radius:14px;width:100%;min-width:0;max-width:100%;min-height:48px;padding:11px 14px;transition:border-color .2s linear;box-shadow:0 1px 2px #3c28140a}.field input[type=datetime-local],.field input[type=date],.field input[type=time]{appearance:none;text-align:left;display:block}.field input::-webkit-date-and-time-value{text-align:left}.field input:focus,.field select:focus,.field textarea:focus{border-color:color-mix(in srgb, var(--accent) 70%, transparent);outline:none}.field textarea{resize:none;min-height:84px}.with-unit{align-items:center;gap:8px;display:flex}.with-unit em{color:var(--secondary);flex:none;font-style:normal}.pair{gap:8px;display:flex}.pair>*{flex:1}.sheet-actions{flex-wrap:wrap;gap:8px;display:flex}.sheet-actions .btn{flex:1}.sheet-danger{justify-content:center;gap:8px;display:flex}.note{background:var(--fill);color:var(--secondary);border-radius:12px;margin:0;padding:9px 12px;font-size:.88em;line-height:1.45}.error{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, var(--card));animation:fw-rise .3s var(--ease-out);border-radius:12px;margin:0;padding:10px 12px;font-size:.92em}@keyframes fw-rise{0%{opacity:0;transform:translateY(6px)}}.viewer{z-index:30;background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.viewer img{pointer-events:none;object-fit:contain;max-width:100%;max-height:100%;position:relative}.viewer-note{color:#ddd;position:absolute;bottom:40px}.viewer-close{top:calc(12px + env(safe-area-inset-top));color:#fff;background:#ffffff26;border:none;border-radius:50%;width:40px;height:40px;font-size:1.4em;position:absolute;right:16px}.page-message{text-align:center;color:var(--secondary);margin-top:30vh;padding:0 16px}.page-message h1{color:var(--text);font-size:1.3em}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));background:var(--text);color:var(--bg);z-index:40;max-width:calc(100% - 32px);animation:fw-toast .35s var(--ease-out);border-radius:14px;padding:10px 16px;position:fixed;transform:translate(-50%)}.toast.error{background:var(--danger);color:#fff}@keyframes fw-toast{0%{opacity:0;transform:translate(-50%,12px)}}.spinner{border:3px solid var(--hair);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;margin:20px auto;animation:.8s linear infinite fw-spin}@keyframes fw-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}.toast{animation:none}}.avatar-placeholder,.baby .thumb{background:var(--fill);object-fit:cover;border-radius:50%;flex:none;width:42px;height:42px}.meal-item{background:var(--card);border-radius:12px;padding:8px 12px}.meal-item-head{justify-content:space-between;align-items:center;display:flex}.meal-item.removed strong{color:var(--secondary);text-decoration:line-through}
