:root{color-scheme:light;--bg:#f6f7f5;--surface:#fff;--ink:#24342c;--muted:#65726b;--line:#e5e9e5;--green:#346a4c;--green-deep:#27543b;--green-soft:#edf3ed;--amber:#fbf1e1;--amber-ink:#805721;--lilac:#f0edf7;--lilac-ink:#6b5b91;--blue:#eaf2f7;--blue-ink:#41677d;--rose:#f9ecef;--rose-ink:#955661;--orange:#fbede3;--orange-ink:#915c35;--danger:#ab3c40;--radius:16px;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;font-synthesis:none}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-bottom:90px}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.5}button,input,textarea,select{font:inherit}button,a,[role=button]{touch-action:manipulation}button{cursor:pointer;border:0;background:none;color:inherit;user-select:none;-webkit-user-select:none}button:disabled{opacity:.45;cursor:default}a{color:inherit;text-decoration:none}button:active:not(:disabled),a:active{opacity:.65}button:focus-visible,a:focus-visible{outline:3px solid var(--green);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:26px;font-weight:650;line-height:1.3;letter-spacing:-.5px}h2{font-size:17px;font-weight:600}h3{font-size:16px}b,strong{font-weight:600}small{font-size:12px}.muted{color:var(--muted)}input,select,textarea{width:100%;min-width:0;max-width:100%;border:1px solid #d8dfda;border-radius:10px;background:#fff;color:var(--ink);padding:11px 12px;min-height:46px;font-size:16px;outline:0}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #346a4c18}textarea{resize:vertical;line-height:1.6}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--green)}input::placeholder,textarea::placeholder{color:#758079}label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:500}label+label,form>label,form>.form-grid{margin-top:16px}.icon{display:inline-block;width:22px;height:22px;flex-shrink:0;background:currentColor;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat;vertical-align:middle}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:10px}.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 16px;border-radius:10px;line-height:1.4;font-size:14px;font-weight:500;white-space:nowrap}.primary{background:var(--green);color:white}.secondary{background:white;color:var(--green-deep);border:1px solid #d8e1d9}.danger{background:var(--danger);color:white}.primary .icon,.secondary .icon{width:19px;height:19px}.primary.small{padding:9px 12px;font-size:13px}.full{width:100%}.text-btn,.danger-text{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;font-size:14px;color:var(--green)}.text-btn .icon,.danger-text .icon{width:17px;height:17px}.danger-text{color:var(--danger)}.file-input{position:fixed;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;opacity:0;overflow:hidden;clip-path:inset(50%);pointer-events:none}.initial-loading{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--green);font-size:24px}.initial-loading span{color:var(--muted);font-size:14px}
/* Navigation stays quiet; the selected baby's data is the primary content. */
.app-shell{min-height:100dvh}.sidebar{overflow-y:auto;position:fixed;inset:0 auto 0 0;width:216px;padding:28px 20px 0;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:10px;text-align:left;padding:0;font-size:23px;font-weight:650}.brand>.icon{width:30px;height:30px;color:var(--green)}.brand small{display:none}.baby-switch{display:flex;position:relative;gap:10px;align-items:center;padding:14px 12px;margin:28px 0 20px;border-radius:12px;background:var(--green-soft)}.baby-avatar{color:var(--green);width:28px;height:28px}.baby-switch div{display:flex;flex:1;flex-direction:column;min-width:0}.baby-switch strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.baby-switch div>span{font-size:12px;color:var(--muted);margin-top:2px}.baby-switch select{position:absolute;inset:0;opacity:0;cursor:pointer}.nav-item{display:flex;align-items:center;gap:12px;min-height:48px;width:100%;padding:10px 14px;margin-bottom:5px;border-radius:10px;text-align:left;color:var(--muted);font-size:15px}.nav-item.active{background:var(--green-soft);color:var(--green-deep);font-weight:600}.nav-item i{display:none}.sidebar-bottom{margin-top:auto}.account{display:flex;align-items:center;gap:8px;padding:18px 0;border-top:1px solid var(--line)}.avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;background:var(--green-soft);border-radius:50%;color:var(--green);font-size:14px}.account>div{flex:1;min-width:0;display:flex;flex-direction:column}.account b{font-size:14px}.account small{font-size:11px;color:var(--muted)}.account .icon-btn{min-width:36px;color:var(--muted)}.main-shell{margin-left:216px}.topbar{height:64px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;gap:12px;font-size:13px;color:var(--muted)}.slash{color:#9aa59d}.sync-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);min-height:44px}.sync-status .icon{width:17px;height:17px;color:var(--green)}.sync-status.is-offline{color:#8b5a1b}.content{padding:28px 32px 48px;max-width:1152px;margin:auto}.mobile-baby,.bottom-nav{display:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.page-heading p{font-size:14px;color:var(--muted);margin-top:6px}.heading-actions{display:flex;align-items:center;gap:8px}.day-picker{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff}.day-picker label{position:relative;flex-direction:row;align-items:center;justify-content:center;gap:8px;min-width:90px;min-height:44px;font-size:14px}.day-picker input{position:absolute;inset:0;opacity:0;cursor:pointer;padding:0}.day-picker input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.day-picker .icon{width:18px;height:18px}.demo-banner,.offline-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#fff3dc;color:#805a22;font-size:12px}.offline-banner{background:var(--blue);color:var(--blue-ink)}.demo-banner .icon,.offline-banner .icon{width:16px;height:16px}
/* Daily totals use one surface instead of four oversized colored cards. */
.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 0;margin-bottom:12px}.summary-card{padding:0 24px;min-width:0}.summary-card+.summary-card{border-left:1px solid var(--line)}.summary-top{font-size:13px;color:var(--muted)}.summary-card>strong{display:block;margin:7px 0 4px;font-size:30px;line-height:1.35;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:var(--ink)}.summary-card small{font-size:12px;font-weight:400;letter-spacing:0;margin:0 3px}.summary-card p{font-size:12px;color:var(--muted)}.last-feed{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);margin:0 2px 20px}.last-feed>.icon{width:16px;height:16px}.last-feed>span{margin-left:auto}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:8px}.section-heading h2{display:flex;align-items:center;gap:7px}.section-heading>.icon{color:var(--muted)}.count{font-size:12px;font-weight:400;color:var(--muted)}.quick-section{margin-bottom:24px}.quick-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.quick-add{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:8px 0;min-width:0;border-radius:12px}.quick-add strong{font-size:14px;font-weight:500}.quick-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:16px;flex-shrink:0}.quick-icon .icon{width:24px;height:24px}.amber{background:var(--amber);color:var(--amber-ink)}.lilac{background:var(--lilac);color:var(--lilac-ink)}.blue{background:var(--blue);color:var(--blue-ink)}.green{background:var(--green-soft);color:var(--green)}.rose{background:var(--rose);color:var(--rose-ink)}.orange{background:var(--orange);color:var(--orange-ink)}.timeline-panel,.records-panel,.chart-panel,.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;min-width:0}.timeline-panel .section-heading{margin-bottom:0}.timeline{display:flex;flex-direction:column}.record-row{display:flex;align-items:center;gap:14px;width:100%;min-height:78px;text-align:left;padding:14px 0}.record-row+.record-row{border-top:1px solid #edf0ed}.record-time{width:42px;flex-shrink:0;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;align-self:flex-start;padding-top:6px}.record-symbol{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.record-symbol .icon{width:20px;height:20px}.record-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.record-copy strong{font-size:15px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}.record-copy>span{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-copy small{font-size:12px;color:var(--muted)}.record-chevron{width:15px;height:15px;color:var(--muted)}.record-thumb{width:48px;height:48px;object-fit:cover;flex-shrink:0;border-radius:8px}.pending-tag{display:inline-block;font-style:normal;font-size:11px;padding:1px 5px;margin-left:5px;background:var(--amber);color:var(--amber-ink);border-radius:4px}.empty-state{min-height:160px;padding:24px 12px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:12px}.empty-state>.icon{width:34px;height:34px;color:var(--muted)}.empty-state p{color:var(--muted);font-size:14px;line-height:1.7}.empty-state.large{background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-height:320px}.empty-state.large .primary{margin-top:4px}.empty-state.compact{min-height:120px}.active-timers{margin:16px 0}.running-timer{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px;margin-bottom:8px}.running-timer>div{flex:1;display:flex;flex-direction:column;gap:3px}.running-timer strong{font-size:14px}.running-timer span{font-size:12px}.running-timer b{font-size:22px;font-variant-numeric:tabular-nums}
/* The feed crosses days; only the next batch of rows is mounted on scroll. */
.filter-toolbar{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.filter-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:8px 13px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:14px;white-space:nowrap}.chip.selected{border-color:#bad0bf;background:var(--green-soft);color:var(--green-deep);font-weight:600}.chip .icon{width:17px;height:17px}.filter-chips select{width:auto;max-width:150px;font-size:14px;min-height:44px;padding:9px}.record-tools{display:flex;align-items:center;gap:8px}.search{display:flex;flex-direction:row;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 10px;flex:1;max-width:420px}.search input{border:0;background:none;padding:10px 0;box-shadow:none}.search .icon{width:18px;height:18px;color:var(--muted)}.date-jump{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;min-width:74px;min-height:44px;font-size:14px;margin:0}.date-jump input{position:absolute;inset:0;opacity:0;padding:0;cursor:pointer}.date-jump input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.date-jump .icon{width:18px;height:18px}.timeline-day+.timeline-day{margin-top:20px}.timeline-day-heading{background:var(--bg);margin:0 -20px;padding:11px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.timeline-day-heading h2{font-size:15px}.timeline-day-heading>span{font-size:12px;color:var(--muted);white-space:nowrap}.feed-more{text-align:center;padding:22px 0 8px}.feed-end{text-align:center;padding:24px 0 8px;color:var(--muted);font-size:12px}
.chart-panel{margin-bottom:20px}.segmented{display:flex;gap:2px;background:var(--bg);padding:3px;border-radius:9px}.segmented button{min-height:38px;padding:7px 14px;font-size:13px;color:var(--muted);border-radius:7px}.segmented .selected{background:#fff;color:var(--green)}.chart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.chart-toolbar p{font-size:14px;color:var(--muted)}.chart-toolbar p strong{font-size:24px;color:var(--green)}.bar-chart{display:flex;gap:12px;margin:24px 0 12px;height:224px}.chart-y{display:flex;flex-direction:column;justify-content:space-between;padding:14px 0 28px;font-size:11px;color:var(--muted);text-align:right;min-width:28px}.bar-area{display:flex;flex:1;min-width:0;gap:12px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0,transparent calc(50% - 1px),#edf0ed 50%)}.bar-column{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;flex:1;min-width:0;gap:5px}.bar-track{height:165px;width:100%;display:flex;align-items:flex-end;justify-content:center}.bar{width:min(100%,32px);background:var(--bar-color);border-radius:4px 4px 0 0}.bar-value,.bar-column>span{font-size:11px;color:var(--muted)}.chart-foot{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-top:16px;line-height:1.7}.chart-foot .icon{width:16px;height:16px}.stats-columns,.family-columns,.settings-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.growth-current{display:flex;align-items:baseline;gap:8px;margin:20px 0}.growth-current strong{font-size:36px;font-variant-numeric:tabular-nums}.growth-current span{font-size:14px;color:var(--muted)}.growth-current small{font-size:12px;color:var(--muted);margin-left:auto}.line-chart{width:100%;height:auto;max-height:220px}.grid-line{stroke:var(--line)}.chart-dates{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.milestone-list>button{display:flex;align-items:center;gap:12px;text-align:left;padding:14px 0;width:100%}.milestone-list>button+button{border-top:1px solid var(--line)}.milestone-stamp{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--green-soft);color:var(--green)}.milestone-list>button>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:4px}.milestone-list strong{font-size:14px}.milestone-list small{font-size:12px;color:var(--muted)}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.photo-card{background:#fff;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:12px;text-align:left;min-width:0}.photo-wrap{aspect-ratio:1;overflow:hidden}.photo-wrap img{width:100%;height:100%;object-fit:cover}.photo-caption{display:flex;flex-direction:column;gap:5px;padding:12px}.photo-caption strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-caption span{font-size:12px;color:var(--muted)}.lightbox-photo{display:block;max-width:100%;max-height:65dvh;object-fit:contain;margin:auto;border-radius:10px}.photo-lightbox-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.photo-lightbox-footer>.muted{flex:1;font-size:13px}
.family-hero{display:flex;align-items:center;gap:16px;padding:20px;background:var(--green-soft);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:20px}.family-hero-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--green)}.family-hero-icon .icon{width:36px;height:36px}.family-hero h2{font-size:21px}.family-hero p{color:var(--muted);font-size:13px;margin-top:5px}.family-private{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-left:auto}.family-private .icon{width:16px;height:16px}.family-columns{margin-bottom:20px}.member{display:flex;align-items:center;gap:12px;padding:16px 0;min-height:76px}.member+.member{border-top:1px solid var(--line)}.member>div{display:flex;flex-direction:column;gap:4px;flex:1}.member strong{font-size:15px}.member strong small{font-size:11px;color:var(--muted);margin-left:7px;font-weight:400}.member>div>span{font-size:13px;color:var(--muted)}.member>.icon{width:20px;height:20px;color:var(--green)}.baby-profile{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 0}.profile-leaf{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:12px;background:var(--green-soft);color:var(--green)}.baby-profile>div{display:flex;flex:1;flex-direction:column;gap:4px}.baby-profile strong{font-size:15px}.baby-profile>div>span{font-size:13px;color:var(--muted)}.baby-profile>.icon{width:18px;height:18px;color:var(--muted)}.family-list{display:flex;gap:8px;flex-wrap:wrap}.mobile-settings{display:none}.panel>.muted{font-size:13px;line-height:1.7;margin-bottom:8px}.settings-list{display:flex;flex-direction:column}.settings-list>button,.settings-list>a{display:flex;align-items:center;gap:12px;padding:16px 0;min-height:76px;width:100%;text-align:left}.settings-list>button+button,.settings-list>button+a,.settings-list>a+button{border-top:1px solid var(--line)}.settings-list>button>.icon:first-child,.settings-list>a>.icon:first-child{color:var(--green)}.settings-list>button>span:not(.icon),.settings-list>a>span:not(.icon){display:flex;flex-direction:column;gap:4px;flex:1}.settings-list strong{font-size:14px}.settings-list small{font-size:12px;color:var(--muted)}.settings-list>button>.icon:last-child,.settings-list>a>.icon:last-child{width:17px;height:17px;color:var(--muted)}.inventory-list>div{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.inventory-list>div>span{display:flex;flex:1;flex-direction:column;gap:4px}.inventory-list strong,.inventory-list b{font-size:14px}.inventory-list small{font-size:12px;color:var(--muted)}.inventory-list+.secondary{margin-top:16px}.custom-list{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.sound-button{display:flex;width:100%;margin-top:8px}.sound-button+small{display:block;text-align:center;font-size:12px}.settings-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;font-size:12px;color:var(--muted)}
/* Native file capture precedes this form. The preview remains above optional fields. */
dialog{border:1px solid var(--line);border-radius:18px;padding:0;width:560px;max-width:calc(100% - 32px);max-height:calc(100dvh - 48px);color:var(--ink);background:#fff;box-shadow:0 20px 80px #162b2833;overscroll-behavior:contain}dialog::backdrop{background:#172a265c}.wide-dialog{width:760px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.modal-head h2{font-size:18px}.modal-head .icon-btn{color:var(--muted);margin:-4px -8px -4px 0}.modal-body{padding:20px;overflow-wrap:anywhere}.modal-body>p{font-size:14px;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label+label{margin:0}.form-grid label:first-child{grid-column:1/-1}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.form-footer>.muted{display:flex;align-items:center;gap:5px;font-size:12px}.form-footer>.muted .icon{width:15px;height:15px}.form-error{font-size:13px;line-height:1.6;color:var(--danger);margin:12px 0;white-space:pre-line}.form-error:empty{margin:0}.timer-start{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:var(--bg);border-radius:10px;margin-bottom:16px}.timer-start p{font-size:13px;color:var(--muted)}.timer-start .secondary{font-size:13px;padding:10px}.checkbox-row{flex-direction:row;align-items:center;grid-column:1/-1}.photo-input-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;font-size:14px}.photo-input-header .muted{font-size:12px;font-weight:400;margin-left:4px}.photo-actions{display:flex;gap:8px}.photo-actions .text-btn{padding:0 6px}.form-photos{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0}.form-photos img{width:86px;height:86px;border-radius:10px;object-fit:cover}.form-photos>div{position:relative;height:86px}.remove-photo{position:absolute;right:-5px;top:-5px;width:32px;height:32px;border-radius:50%;background:#2e4237;color:white;border:2px solid white;display:flex;align-items:center;justify-content:center}.remove-photo .icon{width:16px;height:16px}.capture-preview{margin:0 0 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.capture-preview>div{height:auto}.capture-preview img{width:100%;height:auto;max-height:280px;aspect-ratio:1;object-fit:cover}.capture-preview>div:only-child{grid-column:1/-1}.capture-preview>div:only-child img{aspect-ratio:auto;max-height:320px;object-fit:contain;background:var(--bg)}.type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.type-grid>button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:10px 0;min-height:92px;border-radius:12px;font-size:14px}.invite-result{padding:16px;margin-top:16px;background:var(--bg);border:1px solid var(--line);border-radius:10px}.invite-result .muted{font-size:13px;margin:12px 0}.form-hint{font-size:13px;color:var(--muted);margin-top:12px;line-height:1.7}.install-steps{padding-left:20px}.install-steps li{padding:4px 0 12px;font-size:14px}.install-steps p{font-size:13px;color:var(--muted);margin-top:6px}.queue-row{display:flex;align-items:center;gap:12px;width:100%;padding:14px 0;text-align:left;border-bottom:1px solid var(--line);margin-bottom:8px}.queue-row>span:not(.icon){flex:1;display:flex;flex-direction:column;gap:4px;font-size:14px}.queue-row small{font-size:12px;color:var(--muted)}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,8px);z-index:1000;opacity:0;pointer-events:none;background:#263e31;color:white;border-radius:10px;padding:12px 18px;font-size:14px;width:max-content;max-width:calc(100% - 32px);text-align:center;transition:opacity .15s,transform .15s}#toast.show{opacity:1;transform:translate(-50%,0)}
/* Sign in is a short form, without the marketing panel used by the old layout. */
.welcome{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px}.welcome-story{width:380px;max-width:100%;margin-bottom:28px}.welcome-story .brand{justify-content:center}.welcome-copy,.welcome-bottom{display:none}.welcome-form{width:380px;max-width:100%}.auth-box{background:#fff;padding:24px;border:1px solid var(--line);border-radius:16px}.mini-leaf{display:none}.auth-box h2{font-size:22px}.auth-box>.muted{font-size:13px;margin-top:8px}.auth-tabs{display:flex;background:var(--bg);padding:4px;border-radius:10px;margin:20px 0}.auth-tabs button{flex:1;min-height:40px;color:var(--muted);font-size:14px;border-radius:7px}.auth-tabs button.active{background:#fff;color:var(--green);font-weight:600}.auth-box form>label:first-child{margin:0}.auth-box form>.primary{margin-top:16px}.auth-foot{font-size:11px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px;margin-top:20px}.auth-foot .icon{width:15px;height:15px}.demo-button{min-height:44px;width:100%;color:var(--green);font-size:13px;margin-top:10px}.demo-button .icon{width:16px;height:16px}
@media(hover:hover) and (pointer:fine){.primary:hover{background:var(--green-deep)}.secondary:hover,.icon-btn:hover,.chip:hover,.quick-add:hover,.type-grid>button:hover{background:var(--green-soft)}.record-row:hover{background:#fafbf9}.nav-item:hover{color:var(--green);background:var(--green-soft)}}
@media(max-width:1040px){.content{padding:24px}.topbar{padding:0 24px}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:12px}.stats-columns,.family-columns,.settings-columns{grid-template-columns:1fr}.family-private{display:none}.summary-card{padding:0 16px}.summary-card>strong{font-size:27px}}
@media(max-width:760px),(max-height:500px) and (max-width:1000px){.sidebar{display:none}.main-shell{margin:0}.topbar{height:calc(58px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 16px 0;border-bottom:0;background:var(--bg)}.breadcrumb{display:none}.mobile-baby{display:flex;align-items:center;gap:7px;min-width:0}.mobile-baby>.icon{width:22px;height:22px;color:var(--green)}.mobile-baby strong{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-baby>span{font-size:12px;color:var(--muted);white-space:nowrap}.sync-status{font-size:12px;flex-shrink:0}.content{padding:12px 16px calc(96px + env(safe-area-inset-bottom,0px));max-width:620px}.page-heading{margin-bottom:16px;gap:12px;flex-wrap:wrap}.page-heading h1{font-size:24px}.heading-actions{gap:8px;flex-wrap:wrap}.heading-actions .primary,.heading-actions .secondary{padding:10px 12px}.day-picker label{min-width:76px}.day-picker .icon-btn{min-width:40px}.summary-grid{padding:15px 0;border-radius:14px}.summary-card{padding:0 12px}.summary-top{font-size:12px}.summary-card>strong{font-size:25px;margin:5px 0;white-space:nowrap}.summary-card small{font-size:11px;margin:0 2px}.summary-card p{font-size:11px;white-space:nowrap}.last-feed{font-size:12px;margin-bottom:16px}.section-heading h2{font-size:16px}.section-heading .text-btn{font-size:13px}.quick-section{margin-bottom:20px}.quick-grid{gap:8px}.quick-add{padding:7px 0;gap:6px}.quick-add strong{font-size:13px}.quick-icon{width:46px;height:46px;border-radius:15px}.timeline-panel,.records-panel,.chart-panel,.panel{padding:12px 16px;border-radius:14px}.record-row{gap:10px;min-height:76px;padding:13px 0}.record-time{width:38px;font-size:13px}.record-symbol{width:32px;height:32px;border-radius:11px}.record-symbol .icon{width:18px;height:18px}.record-copy strong{font-size:14px}.record-copy>span{font-size:12px}.record-copy small{font-size:11px}.record-chevron{width:13px;height:13px}.record-thumb{width:44px;height:44px}.bottom-nav{display:flex;position:fixed;inset:auto 0 0;background:#fffffff5;border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));z-index:15;backdrop-filter:blur(12px);gap:4px}.bottom-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-width:0;min-height:52px;flex:1;font-size:11px;color:var(--muted);border-radius:10px}.bottom-nav button>.icon{width:23px;height:23px}.bottom-nav button.active{color:var(--green);font-weight:600;background:var(--green-soft)}.demo-banner,.offline-banner{font-size:11px;align-items:flex-start;justify-content:flex-start}.demo-banner .icon,.offline-banner .icon{margin-top:1px;flex-shrink:0}.filter-chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px 6px;scrollbar-width:none}.filter-chips>*{flex-shrink:0}.filter-chips::-webkit-scrollbar{display:none}.chip{padding:8px 12px;font-size:13px}.record-tools{gap:4px;flex-wrap:wrap}.record-tools .search{flex-basis:140px}.record-tools .date-jump{min-width:68px}.record-tools .text-btn{font-size:12px}.timeline-day-heading{margin:0 -16px;padding:10px 16px;flex-wrap:wrap;gap:3px}.timeline-day-heading h2{font-size:14px}.timeline-day-heading>span{font-size:11px}.timeline-day+.timeline-day{margin-top:16px}.running-timer{padding:12px;gap:8px;flex-wrap:wrap}.running-timer>.icon{width:20px;height:20px}.running-timer b{font-size:20px}.chart-toolbar>.filter-chips{margin:0;padding:0;flex-wrap:wrap;overflow:visible}.chart-toolbar p{margin-left:auto}.chart-toolbar .chip{font-size:12px;padding:8px 10px}.bar-chart{gap:8px;height:204px;margin-top:22px}.bar-area{gap:6px}.bar-track{height:150px}.bar-column>span,.bar-value{font-size:10px}.bar-column>span{white-space:nowrap}.bar-column:nth-child(even)>span{visibility:hidden}.chart-foot{font-size:12px;align-items:flex-start}.stats-columns,.family-columns,.settings-columns{gap:16px}.chart-panel{margin-bottom:16px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-caption{padding:10px}.photo-caption strong{font-size:13px}.photo-caption span{font-size:11px}.family-hero{padding:16px;gap:10px;margin-bottom:16px}.family-hero-icon{width:38px;height:38px}.family-hero-icon .icon{width:30px;height:30px}.family-hero h2{font-size:19px}.family-hero p{font-size:12px}.mobile-settings{display:flex;width:100%;justify-content:space-between;margin-top:16px}.growth-current strong{font-size:32px}.growth-current small{font-size:11px}.settings-footer{font-size:12px}.panel>.muted{font-size:13px}dialog{width:100%;max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0px) - 16px);margin:auto 0 0;border-radius:18px 18px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom,0px)}.modal-head{padding:14px 16px}.modal-body{padding:16px}.form-grid{gap:14px 12px}.form-footer>.muted{display:none}.form-footer>.primary{margin-left:auto}.photo-input-header{font-size:13px;gap:4px}.photo-input-header .muted{display:none}.type-grid{gap:8px}.type-grid>button{font-size:13px}.type-grid .quick-icon{width:44px;height:44px}.timer-start{flex-wrap:wrap}.timer-start .secondary{margin-left:auto}.lightbox-photo{max-height:58dvh}#toast{bottom:calc(84px + env(safe-area-inset-bottom,0px));font-size:13px}.welcome{justify-content:flex-start;padding-top:48px}.auth-box{padding:20px}.auth-foot{font-size:10px}}
@media(max-width:374px){.content{padding-left:12px;padding-right:12px}.summary-card{padding:0 8px}.summary-card>strong{font-size:23px}.summary-card small{font-size:10px}.summary-card p{font-size:10px}.record-row{gap:8px}.record-thumb{width:36px;height:36px}.record-symbol{width:28px;height:28px}.record-time{width:35px}.record-copy strong{font-size:13px}.photo-actions{gap:2px}.heading-actions .secondary{font-size:13px;padding:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.bottom-nav,.heading-actions,.demo-banner,.offline-banner,.quick-section,#toast,.filter-toolbar,.feed-more{display:none!important}.main-shell{margin:0}.content{padding:0;max-width:none}.record-row{break-inside:avoid}.stats-columns{display:block}body{background:white}}

.form-grid label:has(input[name="title"]){grid-column:1/-1}.photo-first-form .form-footer{position:sticky;bottom:0;background:#fff;padding:12px 0;margin-bottom:-4px;z-index:1}.photo-first-form .form-footer .primary{width:100%}@media(max-width:760px),(max-height:500px) and (max-width:1000px){.capture-preview>div:only-child img{max-height:220px}.capture-preview{margin-bottom:16px}.photo-first-form .form-footer{bottom:calc(-16px - env(safe-area-inset-bottom,0px));margin:16px -16px -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 12px #24342c08}}

/* Native file controls cover their visible entry. A real tap opens the picker;
   no display:none, clipped/offscreen input, input.click(), or prevented default. */
.photo-picker{position:relative;cursor:pointer;margin:0;overflow:hidden;user-select:none;-webkit-user-select:none}
.photo-picker+.photo-picker{margin:0}.photo-picker.is-disabled{opacity:.45;cursor:default}
.photo-picker .direct-file-input{position:absolute;inset:0;width:100%;height:100%;min-height:100%;margin:0;padding:0;border:0;border-radius:inherit;opacity:0;cursor:pointer;z-index:1;clip-path:none;pointer-events:auto}
.photo-picker:focus-within{outline:3px solid var(--green);outline-offset:3px}.photo-picker:active{opacity:.65}
.type-grid>.type-photo{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:10px 0;min-height:92px;border-radius:12px;font-size:14px}

.baby-ai-summary{padding:0 0 20px;margin-bottom:22px;border-bottom:1px solid var(--line);max-width:740px}.baby-ai-summary h2{font-size:18px;margin:0 0 8px;color:var(--green);font-weight:600}.baby-ai-summary p{margin:0;line-height:1.85;font-size:15px;color:var(--ink)}.paper-pickers{display:flex;gap:12px;margin:16px 0}.paper-pickers .photo-picker{flex:1;min-height:44px;justify-content:center}.paper-preview{display:block;width:100%;max-height:220px;object-fit:contain;margin:12px auto;background:var(--bg);border-radius:8px}.paper-preview[hidden]{display:none}.paper-original{margin-bottom:16px}.paper-original summary{min-height:44px;cursor:pointer}.paper-row{border-bottom:1px solid var(--line);padding:12px 0}.paper-row>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;min-height:44px}.paper-row>summary>span{font-size:12px;color:var(--muted);flex-shrink:0}.paper-row summary .checkbox-row{margin:0;min-height:44px;flex:1}.paper-row-body{padding-top:12px}.paper-row blockquote{margin:0 0 12px;border-left:2px solid var(--line);padding-left:12px;color:var(--muted);font-size:14px}.paper-fields{display:contents}.paper-confirm{margin:20px 0;align-items:flex-start}.paper-row input,.paper-row select,.paper-row textarea{max-width:100%;min-width:0}#paper-review-error:empty{display:none}@media(max-width:760px){.baby-ai-summary{margin-bottom:20px;padding-bottom:16px}.baby-ai-summary h2{font-size:17px}.baby-ai-summary p{font-size:14px}.paper-row .form-grid{grid-template-columns:1fr 1fr}.paper-row .form-grid label:first-child{grid-column:1/-1}}

.summary-copy>small{display:block;margin-top:10px;color:var(--muted);font-size:12px}.photo-moment{color:var(--green);line-height:1.8;font-size:15px}

.mobile-baby{position:relative;min-height:48px}.mobile-baby>select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}.mobile-baby>.icon:last-of-type{width:14px;height:14px}.deleted-baby{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.deleted-baby p{margin:5px 0 0}#delete-baby,#choose-profile{margin-top:12px}#paper-review>[name=target_baby],#paper-review>label:first-child{margin-bottom:16px}.record-time{white-space:nowrap}

.paper-task-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.paper-task-row>div{min-width:0}.paper-task-row strong{display:block;font-size:15px}.paper-task-row small{display:block;color:var(--muted);margin-top:6px;font-size:12px}.paper-task-row p{font-size:13px;color:var(--muted);line-height:1.7;margin:8px 0 0}.paper-task-row button{flex-shrink:0;min-height:44px}.paper-task-state{font-size:19px;font-weight:600;color:var(--green)}#paper-progress>.full,#paper-start>.text-btn{margin-top:12px}#paper-task-list:empty{display:none}

.paper-notice-button{display:block;width:100%;text-align:left;padding:12px 14px;margin:0 0 18px;background:var(--green-soft);color:var(--green);border-radius:10px;font-size:14px;min-height:44px}

.paper-compare-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.paper-compare-heading p{margin:0}.paper-compare-heading strong{font-size:18px;color:var(--green)}.paper-compare-heading span{display:block;font-size:13px;color:var(--muted);margin-top:5px}.paper-compare-heading button{flex-shrink:0}.paper-duplicate-group,.paper-review-group,.paper-warning-group{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.paper-duplicate-group>summary,.paper-review-group>summary,.paper-warning-group>summary{min-height:44px;cursor:pointer;line-height:1.7;padding:8px 0;font-size:14px;color:var(--muted)}.paper-duplicate{padding:14px 0;border-bottom:1px solid var(--line)}.paper-duplicate>strong{font-size:14px}.paper-duplicate>p,.paper-duplicate blockquote{font-size:13px;color:var(--muted);line-height:1.7}.paper-existing{padding:12px;background:var(--bg);border-radius:8px;margin:10px 0;font-size:13px}.paper-existing strong{font-size:12px;color:var(--muted)}.paper-existing p{margin:5px 0;line-height:1.7}.paper-no-new{padding:18px 0;color:var(--muted)}.paper-import-footer{position:sticky;bottom:0;background:var(--surface);padding:12px 0;z-index:2;border-top:1px solid var(--line);margin-top:20px}.paper-import-footer small{display:block;text-align:center;color:var(--muted);font-size:12px;margin-top:7px}.paper-review-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.paper-row>summary{flex-wrap:wrap}.paper-row>summary>span{white-space:normal;font-size:13px}.paper-row>summary>.checkbox-row{min-width:180px}

.summary-guidance{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.summary-guidance p{font-size:14px;line-height:1.8}.summary-guidance summary{font-size:12px;color:var(--muted);cursor:pointer;min-height:44px;padding:8px 0}.summary-guidance a{display:block;font-size:12px;line-height:1.7;color:var(--green)}.summary-guidance small{display:block;margin-top:6px}

.summary-story.has-photo{display:grid;grid-template-columns:clamp(96px,29%,148px) minmax(0,1fr);gap:16px;align-items:start}.summary-copy{min-width:0}.summary-copy h2{line-height:1.5;text-wrap:balance}.summary-copy>p{line-height:1.8;letter-spacing:.01em;overflow-wrap:anywhere}.summary-cover{display:block;width:100%;aspect-ratio:3/4;align-self:start;padding:3px;margin:2px 0 0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);box-shadow:0 2px 8px #193d2010;cursor:zoom-in}.summary-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 38%;border-radius:10px}.summary-cover:focus-visible{outline:2px solid var(--green);outline-offset:3px}@media(max-width:359px){.summary-story.has-photo{grid-template-columns:84px minmax(0,1fr);gap:12px}.summary-copy h2{font-size:16px}.summary-copy>p{font-size:14px}}.summary-guidance .summary-tip-kicker{margin:0 0 7px;font-size:11px;letter-spacing:.08em;color:var(--muted)}.summary-guidance h3{font-size:14px;line-height:1.6;margin:0 0 6px;font-weight:600;color:var(--green)}

.paper-notice{display:flex;align-items:center;gap:4px;background:var(--green-soft);border-radius:10px;margin-bottom:18px}.paper-notice .paper-notice-button{margin:0;flex:1;min-width:0}.paper-notice-dismiss{width:44px;height:44px;flex:none;padding:0;font-size:22px;color:var(--muted);background:transparent;border:0}
