:root{--bg:#f4f1ea;--surface:#fff;--input:#f6f7fb;--ink:#151821;--muted:#677080;--border:#d4d9e2;--danger:#b93c35;--accent:#283dff;--electric:#23d7a1;--pop:#ff7a45;--shadow:0 14px 0 #1518210f, 0 18px 34px #15182117;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}:root[data-color-theme=colorblind]{--bg:#f4f2ea;--surface:#fff;--input:#f3f6fa;--ink:#101923;--muted:#53606f;--border:#c9d2dc;--danger:#9f2f15;--accent:#0072b2;--electric:#e69f00;--pop:#cc79a7;--shadow:0 14px 0 #10192312, 0 18px 34px #1019231a}body{background:linear-gradient(135deg, #23d7a129, #fff0 220px), linear-gradient(180deg, #ffffffd1, #f6f4ef00 270px), var(--bg);min-width:320px;min-height:100svh;margin:0}:root[data-color-theme=colorblind] body{background:linear-gradient(135deg, #0072b229, #fff0 230px), linear-gradient(180deg, #ffffffdb, #f4f2ea00 280px), var(--bg)}#root{min-height:100svh}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #376bff4d}.app-shell{width:min(100%,520px);margin:0 auto;padding:22px 18px 46px}.status-baby{pointer-events:none;flex:0 0 106px;place-items:center;width:106px;height:106px;display:grid;position:relative}.cw-baby-scene{opacity:.96;width:126px;height:auto}.sleep-baby-image{width:128px;height:auto;overflow:visible}.sleep-baby-image *{vector-effect:non-scaling-stroke}.sleep-baby-raster{transform-box:fill-box;transform-origin:bottom;animation:3.4s ease-in-out infinite sleepImageBreathe}.sleep-shadow{fill:#5a1d3124;animation:3.4s ease-in-out infinite sleepShadow}.sleep-head,.sleep-body,.sleep-arm,.sleep-leg,.sleep-diaper,.sleep-curl,.sleep-face,.sleep-glasses path{stroke:#5a1d31;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.sleep-head,.sleep-body,.sleep-arm,.sleep-leg{fill:#ffd4bf}.sleep-body{fill:#ffd0b9}.sleep-diaper{fill:#fff9fb}.sleep-curl{fill:#c76c39}.sleep-face,.sleep-glasses path:last-child,.sleep-zzz path{fill:none}.sleep-glasses path{fill:#171b22}.sleep-glasses .shine{fill:none;stroke:#ffffff47;stroke-width:3px}.sleep-blush{fill:#ff8ca9;opacity:.68}.sleep-zzz path{stroke:#5a1d31;stroke-linecap:round;stroke-linejoin:round;stroke-width:5px;animation:2.2s ease-in-out infinite sleepZFloat}.sleep-zzz .two{animation-delay:.18s}.sleep-zzz .three{animation-delay:.32s}.cw-baby-scene *{vector-effect:non-scaling-stroke}.cw-crib,.cw-crib-front,.cw-sleep-kit,.cw-bottle,.cw-bottle-front,.cw-diaper-box,.cw-diaper-box-front,.cw-arm,.cw-leg,.cw-curl,.cw-eye,.cw-smile,.cw-drool,.cw-glasses path:last-child,.cw-box-mark{fill:none;stroke:#5a1d31;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.cw-head,.cw-body{fill:#ffd4bf;stroke:#5a1d31;stroke-linejoin:round;stroke-width:4px}.cw-body{fill:#ffd1ba}.cw-diaper,.cw-pillow,.cw-head-diaper{fill:#fff9fb;stroke:#5a1d31;stroke-linejoin:round;stroke-width:4px}.cw-curl{fill:#c76c39}.cw-blush{fill:#ff8ca9;opacity:.72}.cw-shadow{fill:#5a1d3129}.cw-glasses path:first-child{fill:var(--accent);stroke:#5a1d31;stroke-width:2.5px}.cw-bottle-body{fill:#dff7ee}.cw-bottle-cap{fill:#ffded3}.cw-box-front{fill:#fff1c9}.cw-box-lid{fill:#ffe5df}.cw-crib,.cw-sleep-kit,.cw-bottle,.cw-diaper-box,.cw-crib-front,.cw-bottle-front,.cw-diaper-box-front,.cw-drool,.cw-glasses,.cw-head-diaper{opacity:0}.scene-sleep .cw-sleep-kit,.scene-sleep .cw-drool,.scene-sleep .cw-glasses,.scene-awake .cw-crib-front,.scene-feed .cw-bottle-front,.scene-diaper .cw-diaper-box-front,.scene-diaper .cw-head-diaper{opacity:1}.cw-baby{transform-box:fill-box;transform-origin:bottom;animation:2.8s ease-in-out infinite cwBreathe}.scene-awake .cw-baby{animation:1.3s ease-in-out infinite cwWake}.scene-sleep .cw-baby{transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite cwSleep}.scene-sleep .cw-arm.right,.scene-sleep .cw-leg.right{opacity:0}.scene-sleep .cw-arm.left{transform-box:fill-box;transform-origin:100%;transform:rotate(-18deg)}.scene-sleep .cw-glasses{transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite cwGlassesSlip}.scene-sleep .cw-drool{stroke:#55b9ff;transform-box:fill-box;transform-origin:top;animation:2.2s ease-in-out infinite cwDrool}.scene-sleep .cw-zzz{animation:2s ease-in-out infinite cwZzz}.scene-sleep .cw-zzz.two{animation-delay:.18s}.scene-sleep .cw-zzz.three{animation-delay:.32s}.scene-feed .cw-bottle-front{transform-box:fill-box;transform-origin:50%;animation:1.15s ease-in-out infinite cwBottle}.scene-feed .cw-milk{stroke:#fff;stroke-width:7px;animation:1.15s ease-in-out infinite cwMilk}.scene-feed .cw-arm.left{animation:1.15s ease-in-out infinite cwBottleGrip}.scene-diaper .cw-baby{transform-box:fill-box;transform-origin:bottom;animation:1.35s ease-in-out infinite cwBoxPop}.scene-diaper .cw-head-diaper{transform-box:fill-box;transform-origin:50%;animation:1.2s ease-in-out infinite cwHeadDiaper}.scene-diaper .cw-diaper-box-front{transform-box:fill-box;transform-origin:bottom;animation:1.35s ease-in-out infinite cwBoxBounce}.baby-scene{opacity:.95;width:126px;height:auto}.baby-scene *{vector-effect:non-scaling-stroke}.crib-prop,.sleep-props,.diaper-box-prop,.bottle-prop,.baby-arm,.baby-leg,.baby-curl,.face-eye,.baby-smile,.baby-drool,.sunglasses path:last-child{fill:none;stroke:#5a1d31;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.baby{transform-box:fill-box;transform-origin:bottom;animation:2.8s ease-in-out infinite babyBreathe}.baby-shadow{fill:#5a1d3129}.baby-head,.baby-body{fill:#ffd4bf;stroke:#5a1d31;stroke-linejoin:round;stroke-width:4px}.baby-body{fill:#ffd1ba}.baby-diaper,.sleep-pillow,.loose-diaper,.head-diaper{fill:#fff9fb;stroke:#5a1d31;stroke-linejoin:round;stroke-width:4px}.baby-curl{fill:#c76c39;stroke-width:4px}.blush{fill:#ff8ca9;opacity:.72}.sunglasses path:first-child{fill:var(--accent);stroke:#5a1d31;stroke-width:2.5px}.crib-prop,.sleep-props,.bottle-prop,.diaper-box-prop,.head-diaper,.baby-drool,.sunglasses{opacity:0}.sleep-z{stroke-width:5px}.diaper-box-front{fill:#fff1c9}.diaper-box-lid{fill:#ffe5df}.bottle-body{fill:#dff7ee}.bottle-cap{fill:#ffded3}.scene-awake .crib-prop,.scene-sleep .sleep-props,.scene-sleep .baby-drool,.scene-sleep .sunglasses,.scene-feed .bottle-prop,.scene-diaper .diaper-box-prop,.scene-diaper .head-diaper{opacity:1}.scene-awake .baby{animation:1.3s ease-in-out infinite babyWakeBounce}.scene-sleep .baby{transform-box:fill-box;transform-origin:50%;animation:3.4s ease-in-out infinite babySideSleep}.scene-sleep .sunglasses{transform-box:fill-box;transform-origin:50%;animation:3.4s ease-in-out infinite glassesSlip}.scene-sleep .baby-drool{stroke:#55b9ff;transform-box:fill-box;transform-origin:top;animation:2.2s ease-in-out infinite droolDrip}.scene-feed .milk-line{stroke:#fff;stroke-width:7px;animation:1.2s ease-in-out infinite milkChug}.scene-feed .bottle-prop{transform-box:fill-box;transform-origin:50%;animation:1.2s ease-in-out infinite bottleChug}.scene-diaper .baby{transform-box:fill-box;transform-origin:bottom;animation:1.4s ease-in-out infinite boxPop}.scene-diaper .head-diaper{transform-box:fill-box;transform-origin:50%;animation:1.2s ease-in-out infinite headDiaperWobble}.scene-diaper .loose-diaper{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite looseDiaperFloat}.topbar,.section-heading,.status-panel,.timeline-item{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar{margin-bottom:18px;padding:14px 0 4px}.topbar-actions{align-items:center;gap:8px;display:flex}.offline-chip{color:#805c0f;background:#fff1c9;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.hidden-file{display:none}.baby-radar{border:2px solid var(--ink);background:#fbfcfd;border-radius:8px;grid-template-columns:minmax(0,1.15fr) minmax(128px,.85fr) minmax(150px,.9fr);align-items:center;gap:12px;margin:-4px 0 14px;padding:12px 14px;display:grid;box-shadow:5px 5px #15182114}.baby-radar>div,.baby-radar label{gap:4px;min-width:0;padding:0;display:grid}.baby-radar span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.baby-radar strong{color:var(--ink);overflow-wrap:anywhere;font-size:1rem;line-height:1.2}.baby-radar select{min-height:42px;padding:10px 12px;font-size:.86rem;font-weight:850}.auth-panel{border:2px solid var(--ink);background:var(--surface);border-radius:8px;gap:18px;margin-top:72px;padding:22px;display:grid;box-shadow:5px 5px #15182114}.auth-heading{text-align:center;justify-items:center;gap:10px;display:grid}.auth-heading .eyebrow{background:var(--ink);color:var(--surface);margin:0;box-shadow:3px 3px #1518212e}.auth-panel p{max-width:36ch;color:var(--muted);font-size:.9rem;font-weight:700;line-height:1.4}.auth-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.auth-button{width:100%}.onboarding-panel{border:2px solid var(--ink);background:#fbfcfd;border-radius:8px;gap:16px;padding:20px;display:grid;box-shadow:5px 5px #15182114}.onboarding-form{gap:14px;display:grid}.family-badge{border:2px solid var(--ink);background:#e7fff8;border-radius:8px;gap:5px;padding:13px 14px;display:grid;box-shadow:4px 4px #1518211a}.family-badge span{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:900}.family-badge strong{color:var(--ink);font-size:1rem}.family-badge small{background:var(--ink);width:fit-content;color:var(--surface);text-transform:uppercase;border-radius:6px;padding:4px 7px;font-size:.72rem;font-weight:900}.family-name-form{border:2px solid var(--border);background:var(--surface);border-radius:8px;padding:14px}.baby-switcher{padding:0}.family-list,.add-baby-form{border:2px solid var(--border);background:var(--surface);border-radius:8px;gap:10px;padding:14px;display:grid}.mini-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.mini-heading strong{color:var(--ink);font-size:.9rem;line-height:1.2}.mini-heading span{border:1px solid var(--border);width:fit-content;color:var(--muted);text-transform:uppercase;background:#f1f4f8;border-radius:999px;padding:4px 7px;font-size:.72rem;font-weight:900}.family-list-item{width:100%;min-height:54px;color:var(--ink);text-align:left;background:#fbfcfd;border:2px solid #dce2eb;border-radius:8px;align-items:center;gap:11px;padding:10px 12px;display:flex}.family-list-item.active{border-color:var(--ink);background:#e7fff8;box-shadow:4px 4px #1518211a}.family-list-item.static{cursor:default}.family-list-item svg{color:var(--accent);flex:none}.family-list-item span{gap:3px;min-width:0;display:grid}.family-list-item strong{color:var(--ink);font-size:.9rem;line-height:1.2}.family-list-item small{color:var(--muted);overflow-wrap:anywhere;font-size:.76rem;font-weight:700;line-height:1.25}.family-list-item em{background:var(--ink);color:var(--surface);text-transform:uppercase;border-radius:6px;margin-left:auto;padding:4px 7px;font-size:.72rem;font-style:normal;font-weight:900}.app-nav{border:2px solid var(--ink);background:var(--surface);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:0;margin-bottom:18px;padding:6px;display:grid;box-shadow:5px 5px #15182114}.nav-button{min-height:40px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:0;font-size:.82rem;font-weight:900}.nav-button:first-child{border-radius:6px 0 0 6px}.nav-button:last-child{border-radius:0 6px 6px 0}.nav-button+.nav-button{border-left-color:var(--border)}.nav-button.active{border-color:var(--ink);background:var(--ink);color:var(--surface)}.nav-button:not(.active):hover{background:var(--input);color:var(--ink);border-color:#15182129}.eyebrow,.status-label,.metrics-grid span,.bar-row span,.timeline-item span,label{color:var(--muted);font-size:.78rem;font-weight:700}.eyebrow{border:1px solid var(--ink);background:var(--electric);color:var(--ink);text-transform:uppercase;letter-spacing:.08em;box-shadow:3px 3px 0 var(--ink);border-radius:6px;margin:0 0 8px;padding:5px 8px;display:inline-flex}h1,h2,h3,p{margin:0}h1{color:var(--ink);font-size:2.25rem;line-height:.95}h2{color:var(--ink);font-size:1rem;line-height:1.25}h3{color:var(--ink);font-size:.9rem;line-height:1.25}button,input,select,textarea{font:inherit}button{cursor:pointer}button>*{pointer-events:none}.icon-button,.delete-button{border:1px solid var(--border);width:42px;height:42px;color:var(--ink);background:var(--surface);border-radius:8px;place-items:center;transition:transform .14s,box-shadow .14s,border-color .14s;display:inline-grid}.icon-button:hover,.delete-button:hover,.secondary-button:hover,.quick-action:hover{border-color:var(--ink);transform:none;box-shadow:inset 0 0 0 2px #1518211a}.status-panel,.last-log,.log-form,.trend-section,.timeline,.settings-section,.undo-panel{background:var(--surface);border-radius:8px}.status-panel{border:2px solid var(--ink);color:var(--muted);margin-bottom:14px;padding:20px;position:relative;overflow:hidden;box-shadow:5px 5px #15182114}.status-panel:after{z-index:0;content:"";background-image:var(--baby-bg);opacity:.2;background-position:right -8px center;background-repeat:no-repeat;background-size:172px;position:absolute;inset:0}.status-panel>div{z-index:1;max-width:64%;position:relative}.status-panel.asleep{background:#e7ebff}.status-panel.awake{background:#dff8ef}.status-panel.feed{background:#ffded3}.status-panel.diaper{background:#fff1c9}.status-panel.unknown{background:var(--surface)}:root[data-color-theme=colorblind] .status-panel.asleep{background:#dcecff}:root[data-color-theme=colorblind] .status-panel.awake{background:#fff0cf}:root[data-color-theme=colorblind] .status-panel.feed{background:#f5e3f0}:root[data-color-theme=colorblind] .status-panel.diaper{background:#eef1f5}.status-panel div{gap:7px;display:grid}.status-panel strong{color:var(--ink);font-size:1.65rem;line-height:1}.last-log{border:1px solid var(--border);justify-content:center;align-items:center;gap:16px;min-height:72px;margin-bottom:16px;padding:12px 14px;display:flex;position:relative;overflow:hidden;box-shadow:4px 4px #1518210f}.last-log:before{content:"";opacity:.55;background:linear-gradient(90deg,#fff0,#ffffff8c,#fff0);animation:4.8s ease-in-out infinite statusSweep;position:absolute;inset:0;transform:translate(-120%)}.last-log>*{z-index:1;position:relative}.last-log-meta{gap:4px;min-width:0;max-width:100%;display:grid}.last-log span,.last-log small{color:var(--muted);font-size:.78rem;font-weight:700}.last-log-status{color:var(--ink);white-space:nowrap;font-size:1.05rem;font-weight:950;line-height:1.1}.last-log small{white-space:nowrap;font-weight:600}.last-log-pulse{width:18px;height:18px;color:var(--accent);will-change:transform;background:currentColor;border:0;border-radius:999px;flex:none;justify-self:center;animation:2.4s cubic-bezier(.33,1,.68,1) infinite watchPulseDot;position:relative;transform:translateZ(0)}.last-log-pulse:before{content:"";border-radius:inherit;opacity:.28;will-change:transform, opacity;border:2px solid;animation:2.4s cubic-bezier(.33,1,.68,1) infinite watchPulseRing;position:absolute;inset:-6px;transform:scale(.55)}.last-log.indigo{background:#eef1ff}.last-log.mint{background:#e8f8f1}.last-log.coral{background:#ffe8e0}.last-log.gold{background:#fff4d6}.last-log.slate{background:#f1f4f8}:root[data-color-theme=colorblind] .last-log.indigo{background:#e0eef9}:root[data-color-theme=colorblind] .last-log.mint{background:#fff2d8}:root[data-color-theme=colorblind] .last-log.coral{background:#f6e4f0}:root[data-color-theme=colorblind] .last-log.gold,:root[data-color-theme=colorblind] .last-log.slate{background:#edf1f5}.last-log.indigo .last-log-pulse{color:#376bff}.last-log.mint .last-log-pulse{color:#23a978}.last-log.coral .last-log-pulse{color:#ff7a45}.last-log.gold .last-log-pulse{color:#d79b11}.last-log.slate .last-log-pulse{color:#64748b}:root[data-color-theme=colorblind] .last-log.indigo .last-log-pulse{color:#0072b2}:root[data-color-theme=colorblind] .last-log.mint .last-log-pulse{color:#e69f00}:root[data-color-theme=colorblind] .last-log.coral .last-log-pulse{color:#cc79a7}:root[data-color-theme=colorblind] .last-log.gold .last-log-pulse,:root[data-color-theme=colorblind] .last-log.slate .last-log-pulse{color:#56616f}.quick-grid{border:2px solid var(--ink);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-bottom:18px;display:grid;overflow:hidden;box-shadow:5px 5px #15182114}.quick-action{min-height:78px;color:var(--ink);box-shadow:none;border:0;border-radius:0;justify-content:center;align-items:center;gap:9px;font-weight:800;display:flex}.quick-action:nth-child(2n){border-left:1px solid #15182129}.quick-action:nth-child(n+3){border-top:1px solid #15182129}.quick-action.indigo,.timeline-icon.indigo{color:#283d8f;background:#dfe5ff}.quick-action.mint,.timeline-icon.mint{color:#146c4e;background:#dff7ee}.quick-action.coral,.timeline-icon.coral{color:#9a3a2b;background:#ffded3}.quick-action.gold,.timeline-icon.gold{color:#805c0f;background:#fff1c9}.quick-action.slate,.timeline-icon.slate{color:#334155;background:#e9edf2}:root[data-color-theme=colorblind] .quick-action.indigo,:root[data-color-theme=colorblind] .timeline-icon.indigo{color:#00527f;background:#d7eaff}:root[data-color-theme=colorblind] .quick-action.mint,:root[data-color-theme=colorblind] .timeline-icon.mint{color:#7a5200;background:#fff1c7}:root[data-color-theme=colorblind] .quick-action.coral,:root[data-color-theme=colorblind] .timeline-icon.coral{color:#7c3f65;background:#f3dced}:root[data-color-theme=colorblind] .quick-action.gold,:root[data-color-theme=colorblind] .timeline-icon.gold{color:#3f4d5d;background:#e8edf3}:root[data-color-theme=colorblind] .quick-action.slate,:root[data-color-theme=colorblind] .timeline-icon.slate{color:#3f4d5d;background:#edf1f5}.metrics-grid{border:2px solid var(--ink);background:var(--surface);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:16px;display:grid;overflow:hidden;box-shadow:5px 5px #15182114}.metrics-grid article{background:var(--surface);align-content:center;gap:7px;min-height:76px;padding:16px 15px;display:grid}.metrics-grid article+article{border-left:1px solid #c8ced9}.metrics-grid strong{color:var(--ink);font-size:1.1rem}.log-form,.trend-section,.timeline,.settings-section,.api-section{border-bottom:2px solid #d2d7df;gap:16px;margin-bottom:26px;padding:0 8px 26px;display:grid}.timeline{border-bottom:0;padding-bottom:10px}.log-form{border:2px solid var(--border);background:#fbfcfd;border-radius:8px;padding:18px;box-shadow:4px 4px #15182114}.log-fields{gap:12px;display:grid}.log-fields label{color:var(--ink);background:#fff;border:1px solid #dce2eb;border-radius:8px;gap:8px;padding:12px;font-size:.76rem;font-weight:900;box-shadow:2px 2px #1518210a}.log-fields input,.log-fields select,.log-fields textarea{background-color:#f6f8fb;border-width:1px;font-size:.88rem;font-weight:750}.log-fields select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 22px),calc(100% - 15px);background-repeat:no-repeat;background-size:7px 7px,7px 7px;padding-right:44px}.log-fields input:focus,.log-fields select:focus,.log-fields textarea:focus{border-color:var(--accent);outline-offset:2px;outline:2px solid #376bff2e}.log-submit{justify-content:center;align-items:center;gap:9px;display:inline-flex}.section-heading{min-height:36px;padding:4px 2px 2px}.section-heading>div,.group-heading{gap:4px;min-width:0;display:grid}.section-heading p,.group-heading p{color:var(--muted);max-width:34ch;font-size:.84rem;font-weight:650;line-height:1.35}label{gap:9px;padding-inline:6px;line-height:1.25;display:grid}input,select,textarea{box-sizing:border-box;background:var(--input);width:100%;color:var(--ink);border:2px solid #cfd5df;border-radius:8px;padding:14px 15px;line-height:1.3}textarea{resize:vertical;min-height:82px}.primary-button{border:2px solid var(--ink);background:var(--ink);min-height:48px;color:var(--surface);box-shadow:4px 4px 0 var(--pop);border-radius:8px;font-weight:800}.primary-button.log-submit{box-shadow:none}.primary-button.compact,.secondary-button{justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 14px;display:inline-flex}.secondary-button{border:2px solid var(--border);background:var(--surface);color:var(--ink);border-radius:8px;font-weight:800}.undo-panel{border:1px solid var(--border);background:#f7f8fa;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;padding:16px 18px;display:flex}.undo-panel span,.sync-note{color:var(--muted);font-size:.86rem;font-weight:700}.settings-form{gap:14px;display:grid}.settings-map{border:2px solid var(--border);background:#fbfcfd;border-radius:8px;flex-wrap:wrap;gap:8px;padding:12px;display:flex}.settings-map button{border:1px solid var(--border);background:var(--surface);color:var(--ink);text-transform:uppercase;border-radius:999px;padding:6px 9px;font-size:.74rem;font-weight:900}.settings-map button.active{border-color:var(--ink);background:var(--ink);color:var(--surface)}.settings-map button:hover{border-color:var(--ink);box-shadow:inset 0 0 0 2px #15182114}.settings-form .secondary-button{justify-self:start}.test-lab-panel{border:2px solid var(--ink);background:#f7f8fa;border-radius:8px;gap:13px;padding:14px;display:grid;box-shadow:4px 4px #15182114}.test-lab-actions{flex-wrap:wrap;gap:10px;display:flex}.test-lab-state{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:7px;padding:12px;display:grid}.test-lab-state span{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem;font-weight:800}.sync-note{line-height:1.35}.toggle-row{justify-content:space-between;align-items:center;gap:18px;padding:14px 6px;display:flex}.toggle-row span{gap:5px;min-width:0;display:grid}.toggle-row small{color:var(--muted);font-size:.82rem;font-weight:650;line-height:1.35}.toggle-row input{width:46px;height:28px;accent-color:var(--accent);flex:none}.settings-group{border:2px solid var(--border);background:#fbfcfd;border-radius:8px;gap:18px;padding:22px;display:grid}.api-hero,.api-card,.api-schema-card,.api-security{border:2px solid var(--border);background:#fbfcfd;border-radius:8px}.api-hero{border-color:var(--ink);gap:16px;padding:20px;display:grid;box-shadow:5px 5px #15182114}.api-hero>div:first-child{gap:8px;display:grid}.api-kicker{border:1px solid var(--ink);background:var(--electric);width:fit-content;color:var(--ink);text-transform:uppercase;border-radius:6px;padding:4px 8px;font-size:.72rem;font-weight:950}.api-hero strong{color:var(--ink);font-size:1.2rem;line-height:1.15}.api-hero p,.api-flow p,.api-security p{color:var(--muted);font-size:.86rem;font-weight:700;line-height:1.4}.api-stack,.api-flow,.api-schema-grid,.api-endpoints{gap:12px;display:grid}.api-stack{grid-template-columns:repeat(3,minmax(0,1fr))}.api-stack span,.api-flow article{border:1px solid var(--border);background:var(--surface);min-height:72px;color:var(--ink);text-align:center;border-radius:8px;place-items:center;gap:7px;padding:12px;font-size:.78rem;font-weight:900;display:grid}.api-stack svg{color:var(--accent)}.api-flow{grid-template-columns:repeat(4,minmax(0,1fr))}.api-flow article{text-align:left;align-content:start;place-items:start}.api-flow span{background:var(--ink);width:28px;height:28px;color:var(--surface);border-radius:999px;place-items:center;font-size:.8rem;font-weight:950;display:grid}.api-flow strong,.api-schema-card strong,.api-card-body strong,.api-security strong{color:var(--ink);line-height:1.25}.api-schema-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.api-schema-card{gap:10px;padding:14px;display:grid}.api-schema-card div{flex-wrap:wrap;gap:7px;display:flex}.api-schema-card span{color:#283d8f;background:#eef1ff;border-radius:6px;padding:5px 8px;font-size:.74rem;font-weight:850}:root[data-color-theme=colorblind] .api-schema-card span{color:#00527f;background:#d7eaff}.api-card{gap:14px;padding:16px;display:grid}.api-card-top{align-items:center;gap:10px;min-width:0;display:flex}.method-pill{border:2px solid var(--ink);min-width:54px;color:var(--ink);text-align:center;border-radius:6px;flex:none;padding:5px 8px;font-size:.72rem;font-weight:950}.method-pill.get{background:#dff7ee}.method-pill.post{background:#fff1c9}.api-card code{min-width:0;color:var(--ink);overflow-wrap:anywhere;font-size:.86rem;font-weight:850}.api-card-body{gap:12px;display:grid}.api-card dl{gap:8px;margin:0;display:grid}.api-card dl div{background:var(--surface);border-radius:8px;grid-template-columns:78px minmax(0,1fr);gap:10px;padding:9px 10px;display:grid}.api-card dt,.api-card dd,.api-card li{font-size:.78rem;line-height:1.35}.api-card dt{color:var(--muted);font-weight:900}.api-card dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:750}.api-card ul{color:var(--muted);gap:6px;margin:0;padding-left:18px;font-weight:750;display:grid}.api-security{border-color:var(--ink);background:#e7fff8;gap:12px;padding:16px;display:flex}.api-security svg{color:var(--accent);flex:none}.sync-panel,.invite-grid{gap:12px;display:grid}.sync-status-row{border:2px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:10px;min-width:0;padding:12px 14px;display:flex}.sync-status-row svg{color:var(--accent);flex:none}.sync-status-row .sync-note{margin:0}.invite-grid{grid-template-columns:minmax(0,1fr) auto;align-items:end}.invite-code{border:2px solid var(--ink);background:#e7fff8;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid;box-shadow:5px 5px #15182124}.invite-code div{gap:6px;min-width:0;display:grid}.invite-code span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:850}.invite-code strong{color:var(--ink);letter-spacing:.08em;overflow-wrap:anywhere;font-size:1.25rem}.invite-locked{border:2px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:10px;padding:12px 14px;display:flex}.invite-locked svg{color:var(--muted);flex:none}.invite-locked p{color:var(--muted);font-size:.84rem;font-weight:750;line-height:1.35}button:disabled{cursor:wait;opacity:.7}.bars{gap:12px;display:grid}.chart-block{border:2px solid var(--border);background:#fbfcfd;border-radius:8px;gap:12px;padding:16px;display:grid}.graph-axis{color:var(--muted);grid-template-columns:repeat(3,1fr);padding-left:92px;font-size:.72rem;font-weight:800;display:grid}.graph-axis span:nth-child(2){text-align:center}.graph-axis span:last-child{text-align:right}.bar-row{grid-template-columns:82px 1fr 62px;align-items:center;gap:10px;min-height:34px;display:grid}.bar-track{background:linear-gradient(90deg, #15182114 1px, transparent 1px) 0 0 / 25% 100%, var(--input);border:1px solid #d8dde6;border-radius:8px;height:22px;overflow:hidden}.bar-fill{border-radius:inherit;background:#376bff;justify-content:flex-end;align-items:center;min-width:0;height:100%;padding-right:7px;display:flex;overflow:hidden}:root[data-color-theme=colorblind] .bar-fill{background:#0072b2}.bar-fill small,.activity-fill small{color:#fff;white-space:nowrap;text-shadow:0 1px 1px #15182147;font-size:.72rem;font-weight:900;line-height:1}.bar-row strong{color:var(--ink);text-align:right;font-size:.82rem}.activity-bars{gap:12px;display:grid}.activity-row{grid-template-columns:82px 1fr 62px;align-items:start;gap:10px;min-height:36px;display:grid}.activity-row span{color:var(--muted);font-size:.78rem;font-weight:700}.activity-row strong{color:var(--ink);text-align:right;font-size:.82rem}.activity-track{background:linear-gradient(90deg, #15182114 1px, transparent 1px) 0 0 / 25% 100%, var(--input);border:1px solid #d8dde6;border-radius:8px;height:24px;display:flex;overflow:hidden}.activity-graph{gap:7px;min-width:0;display:grid}.activity-fill{justify-content:center;align-items:center;min-width:0;height:100%;padding-inline:6px;display:flex;overflow:hidden}.activity-fill.sleep,.legend-swatch.sleep{background:#376bff}.activity-fill.awake,.legend-swatch.awake{background:#23d7a1}:root[data-color-theme=colorblind] .activity-fill.sleep,:root[data-color-theme=colorblind] .legend-swatch.sleep{background:#0072b2}:root[data-color-theme=colorblind] .activity-fill.awake,:root[data-color-theme=colorblind] .legend-swatch.awake{background:#e69f00}.activity-summary{color:var(--muted);overflow-wrap:anywhere;font-size:.74rem;font-weight:800;line-height:1.25}.chart-legend{flex-wrap:wrap;gap:12px;display:flex}.chart-legend span{color:var(--muted);align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:inline-flex}.legend-swatch{border-radius:4px;width:12px;height:12px;display:inline-block}.timeline-item{border-top:1px solid var(--border);align-items:flex-start;padding:16px 2px}.timeline-item:first-of-type{border-top:0}.timeline-item>div:nth-child(2){flex:1;gap:5px;min-width:0;display:grid}.timeline-item strong{color:var(--ink);line-height:1.25}.timeline-item p{color:var(--muted);overflow-wrap:anywhere;font-size:.88rem;line-height:1.4}.timeline-icon{border:1px solid #1518211f;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:grid}.delete-button{width:34px;height:34px;color:var(--danger);box-shadow:none;flex:none}.icon-button.small{width:34px;height:34px}.timeline-actions,.edit-actions{align-items:center;gap:8px;display:flex}.timeline-actions{flex:none}.timeline-edit{border-top:1px solid var(--border);gap:14px;padding:18px 8px;display:grid}.timeline-edit:first-of-type{border-top:0}.edit-fields{gap:14px;display:grid}.edit-actions{justify-content:flex-end}.empty{color:var(--muted);font-size:.9rem;line-height:1.4}@media (width>=760px){.app-shell{padding-top:30px}}@media (width<=390px){.topbar{align-items:flex-start}.baby-radar{grid-template-columns:1fr}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.app-nav{padding:5px}.nav-button{min-height:38px;font-size:.7rem}.metrics-grid{grid-template-columns:1fr}.metrics-grid article+article{border-top:1px solid var(--border);border-left:0}.timeline-actions{flex-direction:column}.section-heading{align-items:flex-start}.bar-row,.activity-row{grid-template-columns:72px 1fr 58px;gap:8px}.graph-axis{padding-left:80px}.settings-group{padding:20px}.api-stack,.api-flow,.api-schema-grid{grid-template-columns:1fr}.api-card-top,.api-security{align-items:flex-start}.api-card dl div{grid-template-columns:1fr;gap:4px}.invite-grid,.invite-code{grid-template-columns:1fr}.invite-grid .secondary-button{width:100%}.status-panel{padding-right:124px}.status-panel:after{background-position:right -24px center;background-size:154px}.status-panel>div{max-width:none}}@keyframes scenePulse{0%,to{transform:scale(.98)}50%{transform:scale(1.04)}}@keyframes statusSweep{0%,65%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes watchPulseDot{0%{opacity:.78;transform:translateZ(0)scale(.92)}45%{opacity:1;transform:translateZ(0)scale(1)}to{opacity:.78;transform:translateZ(0)scale(.92)}}@keyframes watchPulseRing{0%{opacity:.3;transform:scale(.55)}75%{opacity:0;transform:scale(1.6)}to{opacity:0;transform:scale(1.6)}}@keyframes cwBreathe{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes sleepImageBreathe{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(4px)rotate(1deg)}}@keyframes sleepShadow{0%,to{opacity:.12;transform:scaleX(.96)}50%{opacity:.18;transform:scaleX(1.04)}}@keyframes sleepZFloat{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}@keyframes cwWake{0%,to{transform:translateY(0)scaleY(1)}45%{transform:translateY(-7px)scaleY(1.03)}}@keyframes cwSleep{0%,to{transform:translate(-16px,28px)rotate(78deg)scale(.86)}50%{transform:translate(-18px,31px)rotate(81deg)scale(.86)}}@keyframes cwGlassesSlip{0%,to{transform:translateY(0)rotate(0)}48%,70%{transform:translateY(12px)rotate(-8deg)}}@keyframes cwDrool{0%,to{opacity:.3;transform:scaleY(.6)}45%{opacity:1;transform:scaleY(1.15)}}@keyframes cwZzz{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}@keyframes cwBottle{0%,to{transform:translate(-40px,26px)rotate(-58deg)scale(.88)}50%{transform:translate(-42px,23px)rotate(-48deg)scale(.88)}}@keyframes cwMilk{0%,to{opacity:.3;stroke-dasharray:10 16}50%{opacity:1;stroke-dasharray:22 8}}@keyframes cwBottleGrip{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes cwBoxPop{0%,to{transform:translateY(10px)scale(.88)}50%{transform:translateY(-3px)scale(.9)}}@keyframes cwHeadDiaper{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-2px)rotate(6deg)}}@keyframes cwBoxBounce{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(4px)rotate(2deg)}}@keyframes starBlink{0%,to{opacity:.18}50%{opacity:.45}}@keyframes babyIdle{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(-1deg)}}@keyframes babySleep{0%,to{transform:translate(4px,18px)rotate(78deg)scale(.9)}50%{transform:translate(2px,22px)rotate(82deg)scale(.9)}}@keyframes babyWake{0%,to{transform:translateY(0)scaleY(1)}45%{transform:translateY(-7px)scaleY(1.03)}}@keyframes babyWiggle{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes propFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glassesSlip{0%,to{transform:translateY(0)rotate(0)}45%,65%{transform:translateY(18px)rotate(-9deg)}}@keyframes droolDrip{0%,to{opacity:.25;transform:scaleY(.65)}45%{opacity:1;transform:scaleY(1.15)}}@keyframes cribGrip{0%,to{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}@keyframes bottleTip{0%,to{transform:rotate(-16deg)}50%{transform:rotate(10deg)}}@keyframes bottleChug{0%,to{transform:translate(-42px,24px)rotate(-58deg)scale(.88)}50%{transform:translate(-44px,22px)rotate(-48deg)scale(.88)}}@keyframes milkChug{0%,to{opacity:.3;stroke-dasharray:10 18}50%{opacity:1;stroke-dasharray:22 8}}@keyframes bottleHold{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes diaperWiggle{0%,to{transform:rotate(-9deg)}50%{transform:rotate(8deg)}}@keyframes boxBounce{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(4px)rotate(4deg)}}@keyframes diaperPop{0%,to{transform:translateY(4px)rotate(-5deg)}50%{transform:translateY(-8px)rotate(7deg)}}@keyframes headDiaperWobble{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-2px)rotate(6deg)}}@keyframes babyPop{0%,to{transform:translateY(10px)scale(.88)}50%{transform:translateY(-2px)scale(.9)}}@keyframes armReach{0%,to{transform:rotate(0)}50%{transform:rotate(-12deg)}}
