@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-stretch:100%;font-display:swap;src:url(../media/b6df7c92285ebcd2-s.1cox7hpc1tfbr.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-stretch:100%;font-display:swap;src:url(../media/eeba9b1ad34c1404-s.3t00_18uk4swp.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-stretch:100%;font-display:swap;src:url(../media/5d52bd6c4cb3f315-s.p.12wv-xs8vggjn.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka Fallback;src:local(Arial);ascent-override:95.64%;descent-override:23.17%;line-gap-override:0.0%;size-adjust:101.84%}.fredoka_5dae6085-module__-KAe2W__className{font-family:Fredoka,Fredoka Fallback;font-style:normal}.fredoka_5dae6085-module__-KAe2W__variable{--font-fredoka:"Fredoka", "Fredoka Fallback"}
@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/224e262ef877bfa4-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/7f11d98043fdedc9-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.1d8-5gtibtj96.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.nunito_22336911-module__FLPYxG__className{font-family:Nunito,Nunito Fallback;font-style:normal}.nunito_22336911-module__FLPYxG__variable{--font-nunito:"Nunito", "Nunito Fallback"}
:root,[data-theme=light]{--surface-100:#fff8ee;--surface-200:#fff;--surface-300:#ffefd6;--ink:#2b2140;--ink-muted:#5e5673;--border:#e3d5bd;--border-strong:#8a7f6e;--brand:#ff6b4a;--on-brand:#2b2140;--feed:#ff6b4a;--feed-tint:#ffe1d9;--formula:#c9a0ff;--formula-tint:#efe4ff;--meal:#a3d977;--meal-tint:#ebf7df;--vitamin:#ffa94d;--vitamin-tint:#ffe8d1;--sleep:#8fb2ff;--sleep-tint:#e0eaff;--diaper:#ffc93c;--diaper-tint:#fff0c2;--bath:#6fd8e6;--bath-tint:#d8f4f8;--massage:#ff9ec2;--massage-tint:#ffe0ec;--growth:#5fd3a4;--growth-tint:#d7f5e8;--success:#0e7490;--danger:#b42a14;--focus-ring:var(--ink);--shadow-ledge:0 4px 0 #2b2140;--shadow-card:0 2px 0 #e3d5bd}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface-100:#1c1730;--surface-200:#272042;--surface-300:#14102a;--ink:#fff4e0;--ink-muted:#c4bbd6;--border:#4a4270;--border-strong:#8f86b0;--feed-tint:#4d2b33;--formula-tint:#3a2d58;--meal-tint:#2f4220;--vitamin-tint:#4a3519;--sleep-tint:#2b3358;--diaper-tint:#4a3d18;--bath-tint:#1c4048;--massage-tint:#4a2b40;--growth-tint:#1f4237;--success:#5cc8e0;--danger:#ff9f8a;--shadow-ledge:0 4px 0 #fff4e0;--shadow-card:0 2px 0 #0e0a1e}}[data-theme=dark]{--surface-100:#1c1730;--surface-200:#272042;--surface-300:#14102a;--ink:#fff4e0;--ink-muted:#c4bbd6;--border:#4a4270;--border-strong:#8f86b0;--feed-tint:#4d2b33;--formula-tint:#3a2d58;--meal-tint:#2f4220;--vitamin-tint:#4a3519;--sleep-tint:#2b3358;--diaper-tint:#4a3d18;--bath-tint:#1c4048;--massage-tint:#4a2b40;--growth-tint:#1f4237;--success:#5cc8e0;--danger:#ff9f8a;--shadow-ledge:0 4px 0 #fff4e0;--shadow-card:0 2px 0 #0e0a1e}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--font-display:var(--font-fredoka),"Baloo 2",system-ui,sans-serif;--font-body:var(--font-nunito),system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--surface-100);color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px;font-weight:500;line-height:24px}h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:600}button{font-family:var(--font-body);cursor:pointer}a{color:inherit}.bt-ic{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:24px;height:24px}.bt-sprite{width:0;height:0;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.bt-btn{justify-content:center;align-items:center;gap:var(--space-2);border:2px solid var(--ink);border-radius:var(--radius-pill);background:var(--brand);min-height:48px;color:var(--on-brand);font:800 16px/1 var(--font-body);box-shadow:var(--shadow-ledge);padding:0 24px;display:inline-flex}.bt-btn:active{box-shadow:none;transform:translateY(3px)}.bt-btn.secondary{background:var(--surface-200);color:var(--ink)}.bt-btn.ghost{color:var(--ink);border-color:var(--border-strong);box-shadow:none;background:0 0}.bt-btn.block{width:100%}.bt-quick{justify-content:space-between;align-items:flex-start;gap:var(--space-3);min-height:96px;padding:var(--space-4);border:2px solid var(--ink);border-radius:var(--radius-lg);color:var(--on-brand);font:800 16px/20px var(--font-body);text-align:left;box-shadow:var(--shadow-ledge);flex-direction:column;width:100%;display:flex}.bt-quick small{font:700 12px/16px var(--font-body);opacity:.85;display:block}.bt-quick:active{box-shadow:none;transform:translateY(3px)}.bt-status{gap:var(--space-3);padding:var(--space-4);border:2px solid var(--border);border-radius:var(--radius-lg);color:var(--ink);box-shadow:var(--shadow-card);grid-template-columns:48px 1fr;align-items:center;display:grid}.bt-status .ico,.bt-log .ico{width:48px;height:48px;color:var(--on-brand);border:2px solid var(--ink);border-radius:50%;place-items:center;display:grid}.bt-status .lbl{font:700 12px/16px var(--font-body);color:var(--ink-muted)}.bt-status .val{font:600 24px/28px var(--font-display)}.bt-status .det{font:500 14px/20px var(--font-body);color:var(--ink-muted)}.bt-flag{align-items:center;gap:var(--space-1);font:800 14px/18px var(--font-body);display:inline-flex}.bt-flag.ok{color:var(--success)}.bt-flag.warn{color:var(--danger)}.bt-log{gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-200);border:2px solid var(--border);border-radius:var(--radius-md);grid-template-columns:48px 1fr auto;align-items:center;display:grid}.bt-log .t{font:800 16px/20px var(--font-body)}.bt-log .d{font:500 14px/20px var(--font-body);color:var(--ink-muted)}.bt-log .time{font:700 12px/16px var(--font-body);color:var(--ink-muted);text-align:right;align-items:center;gap:8px;display:flex}.bt-log .rowbtn{color:var(--ink-muted);background:0 0;border:0;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.bt-log .rowbtn .bt-ic{width:18px;height:18px}.bt-log .rowbtn:hover{background:var(--surface-300);color:var(--ink)}.bt-log .rowbtn.del:hover{color:var(--danger)}.overlay{z-index:50;padding:var(--space-4);background:#00000073;place-items:center;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:400px;max-height:90dvh;overflow:auto}.modal h3{align-items:center;gap:var(--space-2);display:flex}.modal .ico{border:2px solid var(--ink);width:36px;height:36px;color:var(--on-brand);border-radius:50%;place-items:center;display:grid}.modal-actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}.modal-actions .bt-btn{flex:1}.dt-row{gap:var(--space-2);grid-template-columns:1.4fr 1fr;display:grid}.habit-body{gap:var(--space-6);display:grid}.bathgrid{gap:4px;margin-top:12px;display:grid}.bathgrid .row{grid-template-columns:var(--lbl,40px) repeat(var(--n),minmax(0,1fr));align-items:center;gap:3px;display:grid}.bathgrid .cell{aspect-ratio:1;border:2px solid var(--border);background:var(--surface-300);color:var(--on-brand);border-radius:6px;place-items:center;display:grid}.bathgrid .cell.on{background:var(--bath);border-color:var(--ink)}.bathgrid .cell .bt-ic{stroke-width:3px;width:12px;height:12px}.bathgrid .lbl{font:700 11px/14px var(--font-body);color:var(--ink-muted)}.clk-ic{width:18px;height:18px;color:var(--ink-muted)}.bt-card{padding:var(--space-6);background:var(--surface-200);border:2px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.bt-card h3{margin:0 0 var(--space-3);font:600 22px/28px var(--font-display)}.bt-field{gap:6px;display:grid}.bt-field label{font:800 14px/18px var(--font-body)}.bt-field .hint{font:500 13px/18px var(--font-body);color:var(--ink-muted)}.bt-input{border:2px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-200);min-height:48px;color:var(--ink);font:600 16px/24px var(--font-body);width:100%;padding:0 16px}.bt-seg{border:2px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-300);flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.bt-seg button{border-radius:var(--radius-pill);min-height:40px;color:var(--ink);font:800 14px/1 var(--font-body);background:0 0;border:0;padding:0 16px}.bt-seg button[aria-pressed=true]{background:var(--brand);color:var(--on-brand)}.bt-stepper{gap:var(--space-2);grid-template-columns:48px 1fr 48px;align-items:center;display:grid}.bt-stepper .bt-btn{min-width:48px;padding:0}.bt-stepper .bt-input{text-align:center;font:600 24px/28px var(--font-display)}.bt-sleep{gap:var(--space-4);padding:var(--space-6);border:2px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid}.bt-sleep .state{font:700 14px/18px var(--font-body);color:var(--ink-muted)}.bt-sleep .timer{font:600 40px/44px var(--font-display)}.bt-note{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface-200);font:700 14px/20px var(--font-body);align-items:center;display:flex}.bt-note.warn{border-color:var(--danger);color:var(--danger)}.bt-note.ok{color:var(--success)}.k-feed{background:var(--feed)}.k-formula{background:var(--formula)}.k-meal{background:var(--meal)}.k-vitamin{background:var(--vitamin)}.kt-vitamin{background:var(--vitamin-tint)}.kt-meal{background:var(--meal-tint)}.kt-formula{background:var(--formula-tint)}.k-sleep{background:var(--sleep)}.k-diaper{background:var(--diaper)}.k-bath{background:var(--bath)}.k-massage{background:var(--massage)}.k-growth{background:var(--growth)}.kt-feed{background:var(--feed-tint)}.kt-sleep{background:var(--sleep-tint)}.kt-diaper{background:var(--diaper-tint)}.kt-bath{background:var(--bath-tint)}.kt-massage{background:var(--massage-tint)}.kt-growth{background:var(--growth-tint)}.center{min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.auth{width:100%;max-width:380px}.brandhead{text-align:center;margin-bottom:var(--space-6)}.brandhead .logo{width:64px;height:64px;margin:0 auto var(--space-2);border:2px solid var(--ink);border-radius:var(--radius-lg);background:var(--feed);color:var(--on-brand);box-shadow:var(--shadow-ledge);place-items:center;display:grid}.brandhead h1{font-size:30px}.brandhead p{color:var(--ink-muted);margin:2px 0 0;font-size:14px}.shell{min-height:100dvh;display:grid}.sidebar{display:none}.content{width:100%;max-width:960px;padding:var(--space-4);gap:var(--space-6);margin:0 auto;padding-bottom:96px;display:grid}.head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.head h1{font-size:26px}.head p{color:var(--ink-muted);font:500 14px/20px var(--font-body);margin:2px 0 0}.sectitle{font:600 20px/26px var(--font-display);margin-bottom:var(--space-3)}.grid-q,.grid-s{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-mini{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.list{gap:var(--space-2);display:grid}.stat3{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat{padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-300)}.stat .l{font:700 11px/14px var(--font-body);color:var(--ink-muted)}.stat .v{font:600 20px/24px var(--font-display);margin-top:2px}.stat .s{font:500 11px/14px var(--font-body);color:var(--ink-muted)}.cap{font:700 12px/16px var(--font-body);color:var(--ink-muted);margin:0 0 var(--space-2)}.datehead{font:800 13px/18px var(--font-body);color:var(--ink-muted);margin:var(--space-3) 0 var(--space-1)}.tabs{border-top:2px solid var(--ink);background:var(--surface-200);z-index:20;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{font-size:10px}.tab .pillbg{width:44px;height:28px}.tab{font:800 11px/14px var(--font-body);color:var(--ink-muted);background:0 0;border:0;justify-items:center;gap:2px;padding:8px 0;display:grid}.tab[aria-current=page]{color:var(--ink)}.tab .pillbg{border-radius:var(--radius-pill);place-items:center;width:52px;height:30px;display:grid}.tab[aria-current=page] .pillbg{background:var(--brand);color:var(--on-brand)}@media (min-width:768px){.shell{grid-template-columns:220px 1fr}.sidebar{align-content:start;gap:var(--space-2);background:var(--surface-300);padding:var(--space-4);border-right:2px solid var(--ink);min-height:100dvh;display:grid;position:sticky;top:0}.sidebar .brand{align-items:center;gap:var(--space-2);font:600 22px/28px var(--font-display);margin-bottom:var(--space-3);display:flex}.sidebar .brand .logo{border-radius:var(--radius-md);background:var(--feed);border:2px solid var(--ink);width:36px;height:36px;color:var(--on-brand);place-items:center;display:grid}.navbtn{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-pill);font:800 14px/1 var(--font-body);color:var(--ink);text-align:left;background:0 0;border:0;display:flex}.navbtn[aria-current=page]{background:var(--brand);color:var(--on-brand);border:2px solid var(--ink)}.tabs{display:none}.content{padding:var(--space-6);padding-bottom:var(--space-8)}.grid-q{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-s{grid-template-columns:repeat(2,minmax(0,1fr))}.cols2{gap:var(--space-6);grid-template-columns:1fr 1fr;display:grid}}@media (prefers-reduced-motion:reduce){*{transition:none!important}.bt-btn:active,.bt-quick:active{transform:none}}.toast{left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:60;align-items:center;gap:var(--space-3);width:min(92vw,460px);padding:var(--space-3) var(--space-4);background:var(--surface-200);border:2px solid var(--danger);border-radius:var(--radius-md);box-shadow:var(--shadow-card);color:var(--danger);font:700 14px/20px var(--font-body);display:flex;position:fixed;transform:translate(-50%)}.toast span{flex:1}.toast .bt-btn{min-height:40px;padding:0 14px;font-size:14px}@media (min-width:768px){.toast{bottom:24px}}.auth-switch{color:var(--ink);font:800 14px/20px var(--font-body);cursor:pointer;background:0 0;border:0;padding:8px;text-decoration:underline}.auth-msg{font:700 14px/20px var(--font-body);text-align:center}.auth-msg.err{color:var(--danger)}.auth-msg.ok{color:var(--success)}.content,.habit-body{grid-template-columns:minmax(0,1fr)}.content>*,.habit-body>*{min-width:0}canvas{max-width:100%}.bt-input{min-width:0}.stat{overflow-wrap:anywhere;min-width:0}.stat .v{font-size:clamp(16px,4.8vw,20px)}.bathgrid.dense .cell{border-width:1px;border-radius:3px}.bt-seg.scroll{scrollbar-width:none;flex-wrap:nowrap;justify-self:stretch;max-width:100%;overflow-x:auto}.bt-seg.scroll::-webkit-scrollbar{display:none}.bt-seg.scroll button{flex:none}.bt-log.tap{cursor:pointer;text-align:left;width:100%;min-height:64px}.bt-log.tap:active{background:var(--surface-300)}.edit-hint{color:var(--ink-muted);width:18px!important;height:18px!important}.bt-btn.danger{color:var(--danger);border-color:var(--danger)}.tabs{padding-bottom:env(safe-area-inset-bottom)}@media (max-width:767px){.content{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.bt-card,.bt-sleep{padding:var(--space-4)}.bt-status .val{font-size:20px;line-height:24px}}@media (max-width:400px){.stat3{grid-template-columns:repeat(2,minmax(0,1fr))}}input[type=date].bt-input,input[type=time].bt-input{appearance:none;width:100%;min-width:0;max-width:100%;line-height:44px;display:block}input[type=date].bt-input::-webkit-date-and-time-value{text-align:left;margin:0}input[type=time].bt-input::-webkit-date-and-time-value{text-align:left;margin:0}.dt-row>*{min-width:0}.sleep-total{padding:var(--space-3) var(--space-4);border:2px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.sleep-total .l{font:700 12px/16px var(--font-body);color:var(--ink-muted)}.sleep-total .v{font:600 24px/28px var(--font-display)}.sleep-total .s{font:500 13px/18px var(--font-body);color:var(--ink-muted)}.seg-ic{vertical-align:-3px;margin-left:4px;width:16px!important;height:16px!important}#feedForm:empty,#mealForm:empty,#vitForm:empty{display:none}.vit-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-200);border:2px solid var(--border);border-radius:var(--radius-md);display:flex}.vit-row .t{font:800 16px/20px var(--font-body)}.vit-row .d{font:500 14px/20px var(--font-body);color:var(--ink-muted)}.vit-row .bt-btn{flex:none;min-height:44px;padding:0 16px;font-size:14px}.vit-row .bt-btn .bt-ic{width:20px;height:20px}.bathgrid.meal .cell.on{background:var(--meal)}.bathgrid.vit .cell.on{background:var(--vitamin)}.bathgrid .cell.part{background:var(--vitamin-tint);border-color:var(--vitamin);border-style:dashed}.bathgrid .cell.na{opacity:.35;border-style:dotted}.bathgrid .lbl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legend{font:700 12px/16px var(--font-body);color:var(--ink-muted);flex-wrap:wrap;gap:6px 14px;margin-top:10px;display:flex}.legend .sw{border:2px solid var(--border);background:var(--surface-300);vertical-align:-2px;border-radius:3px;width:12px;height:12px;margin-right:5px;display:inline-block}.legend .sw.on{background:var(--vitamin);border-color:var(--ink)}.legend .sw.part{background:var(--vitamin-tint);border-color:var(--vitamin);border-style:dashed}.legend .sw.na{opacity:.35;border-style:dotted}
