.growth-chart{margin:16px 0}.growth-chart figcaption{text-align:left;font-weight:600;padding:8px 0}.growth-chart text{fill:currentColor;font-size:10px}.growth-chart circle{cursor:pointer}.growth-list{margin-top:12px;border:var(--bw) solid var(--line);border-radius:var(--radius);overflow:hidden}.growth-list-header{min-height:44px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:var(--bw) solid var(--line)}.growth-list-header h3{margin:0;font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.04em}.growth-list-header span{color:var(--muted);font-size:13px;white-space:nowrap}.growth-row{height:56px;padding:6px 8px 6px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.growth-row:last-child{border-bottom:0}.growth-row.selected{background:color-mix(in oklab,var(--accent) 15%,transparent);outline:2px solid var(--accent);outline-offset:-2px}.growth-row-copy{min-width:0}.growth-row-value{display:flex;align-items:baseline;gap:8px;min-width:0}.growth-row-value strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.growth-row time{display:block;margin-top:2px;color:var(--muted);font-size:12px}.growth-delta{font-size:12px;font-weight:700;white-space:nowrap}.growth-delta.increase{color:var(--lime)}.growth-delta.decrease{color:var(--red)}.growth-delta.neutral{color:var(--muted)}.growth-row-actions{display:flex;gap:4px}.growth-icon-button{width:42px;height:42px;min-width:42px;padding:8px;display:grid;place-items:center;border:var(--bw) solid var(--line);border-radius:var(--radius);background:transparent;color:var(--paper)}.growth-icon-button.danger{color:var(--red)}.growth-icon-button svg{width:20px;height:20px;fill:currentColor}.report-section{overflow-wrap:anywhere}.report-controls{display:grid;gap:var(--sp-3)}.report-controls label{display:grid;gap:var(--sp-2);min-width:0}.report-controls input,.report-controls select{width:100%;min-width:0;max-width:100%;box-sizing:border-box;font:inherit}.report-controls input{padding:var(--sp-2)}.report-disclaimer{font-size:.85rem}.report-export{display:flex;align-items:center;justify-content:center;gap:var(--sp-2)}.report-export span{font-size:1.2em;line-height:1}.report-share{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.report-share p{grid-column:1 / -1;margin:0}.activity-comparison{margin:24px 0}.activity-comparison h2{font-size:18px}.activity-comparison p{font-size:13px}.comparison-table{overflow-x:auto}.comparison-table table{width:100%;border-collapse:collapse;font-size:12px}.comparison-table caption{text-align:left;padding:8px 0}.comparison-table th,.comparison-table td{text-align:left;padding:6px 3px;border-bottom:1px solid var(--line-dim)}.handoff-card{margin:16px 0;padding:16px;border:1px solid var(--line-dim);border-radius:16px}.handoff-card h2{font-size:1rem;margin:0 0 12px}.handoff-item{margin-bottom:8px;border-bottom:1px solid var(--line-dim)}.handoff-item summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;padding:8px 0;font-size:.875rem}.handoff-card p{font-size:.8rem;margin:4px 0;overflow-wrap:anywhere}.handoff-note{white-space:pre-wrap}.activity-screen{padding-bottom:16px}.activity-screen>h1{margin:0 0 16px;font:800 24px/1.1 var(--font-mono)}.activity-live{display:grid;gap:8px}.activity-live:empty{display:none}.activity-screen .daylbl{margin:16px 0 0}:root{--ink: #060409;--console: #0b0813;--bg: #14101a;--panel: #1d1826;--panel-2: #262030;--line: #4b4260;--line-dim: #2d2739;--paper: #f2efe6;--muted: #a49eb5;--c-breast: #ff5fa2;--c-bottle: #ffd23f;--c-sleep: #6d87ff;--c-diaper: #3be0c8;--c-solids: #ff8a3d;--c-meds: #b7f34d;--yellow: var(--c-bottle);--lime: var(--c-meds);--red: #ff4d5e;--accent: var(--c-bottle);--spectrum: linear-gradient(90deg, var(--c-breast) 0 16.66%, var(--c-bottle) 16.66% 33.33%, var(--c-sleep) 33.33% 50%, var(--c-diaper) 50% 66.66%, var(--c-solids) 66.66% 83.33%, var(--c-meds) 83.33% 100%);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--bw: 2px;--bw-heavy: 3px;--shadow: 4px 4px 0 var(--ink);--shadow-lg: 5px 5px 0 var(--ink);--radius: 2px;--font-sans: system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--paper);font:500 15px/1.45 var(--font-sans);color-scheme:dark;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}::selection{background:var(--yellow);color:var(--ink)}.app{display:flex;flex-direction:column;height:100%}.masthead{display:flex;justify-content:space-between;align-items:center;background:var(--console);color:var(--paper);padding:calc(11px + env(safe-area-inset-top)) 16px 11px;border-bottom:4px solid;border-image:var(--spectrum) 1}.mast-word{display:flex;align-items:center;gap:8px;font-weight:900;font-size:17px;letter-spacing:-.02em}.mast-word:before{content:"";width:12px;height:12px;background:var(--c-breast);border:2px solid var(--ink);box-shadow:2px 2px color-mix(in oklab,var(--c-breast) 40%,var(--ink))}.mast-word i{font-style:normal;background:var(--yellow);color:var(--ink);padding:1px 5px 2px;letter-spacing:.04em}.mast-baby{background:none;border:0;color:var(--paper);padding:0;display:flex;align-items:center;gap:5px;font-weight:900;font-size:17px;letter-spacing:-.02em}.mast-baby span{color:var(--yellow);font-size:12px}.mast-actions{display:flex;align-items:center;gap:var(--sp-1)}.sync-indicator{position:relative}.sync-trigger,.mast-settings{width:44px;height:44px;padding:0;display:grid;place-items:center;border:var(--bw) solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--paper)}.sync-led{width:11px;height:11px;border-radius:50%;background:var(--c-meds);border:var(--bw) solid var(--ink);box-shadow:2px 2px color-mix(in oklab,var(--c-meds) 35%,var(--ink))}.sync-trigger[data-sync-state=reconnecting] .sync-led,.sync-trigger[data-sync-state=stale] .sync-led{background:var(--yellow);box-shadow:2px 2px color-mix(in oklab,var(--yellow) 35%,var(--ink))}.sync-trigger[data-sync-state=offline] .sync-led,.sync-trigger[data-sync-state=error] .sync-led{background:var(--red);box-shadow:2px 2px color-mix(in oklab,var(--red) 35%,var(--ink))}.sync-popover{position:absolute;z-index:20;top:calc(100% + var(--sp-2));right:calc(-44px - var(--sp-1));width:max-content;max-width:calc(100vw - (2 * var(--sp-4)));padding:var(--sp-2) var(--sp-3);border:var(--bw) solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--paper);box-shadow:var(--shadow);font:700 11px/1.4 var(--font-mono);letter-spacing:.02em}.app-main{flex:1;overflow-y:auto;width:100%;max-width:600px;align-self:center;padding:18px 16px calc(28px + env(safe-area-inset-bottom))}.tabbar{display:flex;background:var(--console);border-top:var(--bw) solid var(--line-dim);padding-bottom:env(safe-area-inset-bottom)}.tabbar button{flex:1;background:transparent;border:0;color:var(--muted);border-right:var(--bw) solid var(--line-dim);padding:15px 0 13px;font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.tabbar button:last-child{border-right:0}.tabbar button.active{background:var(--yellow);color:var(--ink)}.tabbar button:focus-visible{outline-offset:-3px}.sectlbl{display:flex;align-items:center;gap:8px;margin:20px 2px 10px;font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.sectlbl:before{content:"";width:8px;height:8px;flex-shrink:0;background:var(--yellow);border:1px solid var(--ink)}.sectlbl:after{content:"";flex:1;height:var(--bw);background:var(--line-dim)}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:14px}.gbtn{--c: var(--panel-2);--glow: color-mix(in oklab, var(--c) 40%, var(--ink));background:var(--c);color:var(--ink);border:var(--bw-heavy) solid var(--ink);border-radius:var(--radius);padding:12px 4px 10px;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:4px 4px 0 var(--glow);transition:transform .06s ease,box-shadow .06s ease}.gbtn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--glow)}.gbtn[data-type=breast]{--c: var(--c-breast)}.gbtn[data-type=bottle]{--c: var(--c-bottle)}.gbtn[data-type=sleep]{--c: var(--c-sleep)}.gbtn[data-type=diaper]{--c: var(--c-diaper)}.gbtn[data-type=solids]{--c: var(--c-solids)}.gbtn[data-type=meds]{--c: var(--c-meds)}.gbtn .ic{font-size:22px;line-height:1.2}.gbtn .nm{font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.02em}.gbtn .ago{margin-top:4px;padding:2px 6px;background:var(--ink);color:var(--c);font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.04em;font-variant-numeric:tabular-nums}.more-row{display:flex;gap:8px;margin-bottom:4px}.more-row .btn-link{width:auto;flex:1;background:var(--panel);color:var(--paper);border:var(--bw) solid var(--line);border-radius:var(--radius);padding:10px 0;text-decoration:none}.totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:6px}.totals .t{--c: var(--yellow);--c-dark: color-mix(in oklab, var(--c) 24%, var(--ink));min-width:0;text-align:left;background:var(--c);color:var(--c-dark);border:var(--bw-heavy) solid var(--ink);border-radius:var(--radius);box-shadow:4px 4px color-mix(in oklab,var(--c) 40%,var(--ink));padding:var(--sp-3) var(--sp-2)}.totals .t[data-type=breast]{--c: var(--c-breast)}.totals .t[data-type=solids]{--c: var(--c-solids)}.totals .t[data-type=diaper]{--c: var(--c-diaper)}.totals .t[data-type=sleep]{--c: var(--c-sleep)}.totals .t b{display:block;font:700 24px/1.2 var(--font-mono);font-variant-numeric:tabular-nums;color:inherit}.totals .t span{display:block;margin-top:var(--sp-1);font:800 9px/1.25 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:inherit}.totals .t .diaper-breakdown{white-space:nowrap;letter-spacing:.02em}.totals .t .diaper-breakdown[data-condensed]{font-size:8px;letter-spacing:0;transform:scaleX(.52);transform-origin:left center}.tl{display:flex;flex-direction:column}.tl .row{position:relative;display:flex;gap:12px;align-items:center;background:none;border:0;border-bottom:var(--bw) solid var(--line-dim);color:var(--paper);padding:11px 2px;text-align:left;font-size:14px}.tl .row .tm{margin-left:auto;flex-shrink:0;font:500 12px var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums}.tl .row .type-tile{--c: var(--panel-2);position:relative;width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;font-size:13px;line-height:1;background:var(--c);border:var(--bw) solid var(--ink);box-shadow:2px 2px color-mix(in oklab,var(--c) 40%,var(--ink))}.tl .row[data-type=breast] .type-tile{--c: var(--c-breast)}.tl .row[data-type=bottle] .type-tile{--c: var(--c-bottle)}.tl .row[data-type=sleep] .type-tile{--c: var(--c-sleep)}.tl .row[data-type=diaper] .type-tile{--c: var(--c-diaper)}.tl .row[data-type=solids] .type-tile{--c: var(--c-solids)}.tl .row[data-type=meds] .type-tile{--c: var(--c-meds)}.tl .row[data-type=note] .type-tile{--c: var(--muted)}.timeline-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.timeline-copy strong{font-weight:700;overflow-wrap:anywhere}.timeline-subtitle{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.timer-banner{--c: var(--lime);width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--c);color:var(--ink);border:var(--bw-heavy) solid var(--ink);border-radius:var(--radius);box-shadow:5px 5px color-mix(in oklab,var(--c) 40%,var(--ink));padding:12px 14px;margin-bottom:16px;text-align:left;transition:transform .06s ease,box-shadow .06s ease}.timer-banner:active{transform:translate(4px,4px);box-shadow:1px 1px 0 var(--ink)}.timer-banner[data-type=breast]{--c: var(--c-breast)}.timer-banner[data-type=sleep]{--c: var(--c-sleep)}.tb-info{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.tb-live{display:flex;align-items:center;gap:8px;font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.05em}.tb-live .pulse{width:10px;height:10px;background:var(--ink);animation:tb-blink 1s steps(2,end) infinite}@keyframes tb-blink{50%{opacity:.15}}.tb-stop{padding:3px 6px;background:var(--ink);color:var(--c);font:700 9px var(--font-mono);text-transform:uppercase;letter-spacing:.12em}.tb-time{font:700 26px/1 var(--font-mono);font-variant-numeric:tabular-nums}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in oklab,var(--ink) 60%,transparent);z-index:60}.baby-drawer{position:absolute;top:0;left:0;height:100%;width:min(80vw,320px);background:var(--bg);color:var(--paper);border-right:var(--bw-heavy) solid var(--ink);box-shadow:var(--shadow-lg);padding:calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.baby-drawer h3{margin:0 0 4px;font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.baby-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.baby-item{width:100%;text-align:left;background:var(--panel);color:var(--paper);border:var(--bw) solid var(--ink);border-radius:var(--radius);padding:12px 14px;font-weight:800;box-shadow:3px 3px 0 var(--ink);transition:transform .06s ease,box-shadow .06s ease}.baby-item:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}.baby-item.active{background:var(--yellow);color:var(--ink)}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#040308c7;display:flex;align-items:flex-end;z-index:50}.sheet{--c: var(--yellow);width:100%;max-width:600px;margin:0 auto;background:var(--panel);border-top:4px solid var(--c);padding:14px 16px calc(22px + env(safe-area-inset-bottom))}.sheet[data-type=breast]{--c: var(--c-breast)}.sheet[data-type=bottle]{--c: var(--c-bottle)}.sheet[data-type=sleep]{--c: var(--c-sleep)}.sheet[data-type=diaper]{--c: var(--c-diaper)}.sheet[data-type=solids]{--c: var(--c-solids)}.sheet[data-type=meds]{--c: var(--c-meds)}.grab{width:44px;height:6px;background:var(--line);margin:0 auto 14px}.sheet h4,.sheet h4+*{margin-top:0}h4{margin:2px 0 16px;font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:-.01em}.toggle{display:flex;margin-bottom:14px;border:var(--bw) solid var(--line);border-radius:var(--radius);background:var(--panel-2)}.toggle .opt{flex:1;padding:11px 0;background:transparent;color:var(--paper);border:0;border-right:var(--bw) solid var(--line);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.toggle .opt:last-child{border-right:0}.toggle .opt.on{background:var(--yellow);color:var(--ink)}.toggle .opt:focus-visible{outline-offset:-3px}.stepper{display:flex;align-items:center;justify-content:space-between;background:var(--panel-2);border:var(--bw) solid var(--line);border-radius:var(--radius);padding:9px 10px;margin-bottom:14px}.stepper .pm{width:44px;height:44px;background:var(--yellow);color:var(--ink);border:var(--bw-heavy) solid var(--ink);border-radius:var(--radius);font-size:22px;font-weight:900;line-height:1;box-shadow:3px 3px color-mix(in oklab,var(--yellow) 35%,var(--ink));transition:transform .06s ease,box-shadow .06s ease}.stepper .pm:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}.stepper .mid{text-align:center}.stepper .mid b{display:block;font:700 24px/1.2 var(--font-mono);font-variant-numeric:tabular-nums}.stepper .mid span{font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.timefield{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--panel-2);border:var(--bw) solid var(--line-dim);border-radius:var(--radius);padding:12px 14px;margin-bottom:14px}.timefield:focus-within{border-color:var(--yellow)}.timefield>span{font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.timefield input{background:none;border:0;color:var(--paper);font:500 14px var(--font-mono);text-align:right;min-width:0}.text-input{width:100%;display:block;background:var(--panel-2);color:var(--paper);border:var(--bw) solid var(--line-dim);border-radius:var(--radius);padding:12px 14px;margin-bottom:14px;font:inherit;resize:vertical}.text-input::placeholder{color:var(--muted)}.text-input:focus{border-color:var(--yellow);outline:none}.sheet-actions{display:flex;gap:12px;margin-top:6px}.btn-primary{flex:1;background:var(--yellow);color:var(--ink);border:var(--bw-heavy) solid var(--ink);border-radius:var(--radius);padding:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;box-shadow:4px 4px color-mix(in oklab,var(--yellow) 35%,var(--ink));transition:transform .06s ease,box-shadow .06s ease}.btn-primary:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}.btn-ghost{flex:1;background:transparent;color:var(--paper);border:var(--bw) solid var(--line);border-radius:var(--radius);padding:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.btn-secondary{background:var(--panel-2);color:var(--paper);border:var(--bw) solid var(--line);border-radius:var(--radius);font:800 12px var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.btn-small{padding:var(--sp-2) var(--sp-3)}.card-section .btn-primary,.card-section .btn-ghost{display:block;width:100%}.btn-start{width:100%;background:var(--c-sleep);color:var(--ink);border:var(--bw-heavy) solid var(--ink);border-radius:var(--radius);padding:15px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;box-shadow:4px 4px color-mix(in oklab,var(--c-sleep) 35%,var(--ink));margin-bottom:12px;transition:transform .06s ease,box-shadow .06s ease}.btn-start:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}.btn-link{display:block;width:100%;background:none;border:0;color:var(--muted);padding:8px;font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.timer-display{text-align:center;padding:14px;margin-bottom:12px;color:var(--lime);border:var(--bw) dashed var(--line);font:700 16px var(--font-mono);font-variant-numeric:tabular-nums}.chart{display:block;width:100%;background:var(--panel);border:var(--bw) solid color-mix(in oklab,var(--accent) 45%,var(--line-dim));border-radius:var(--radius);box-shadow:4px 4px color-mix(in oklab,var(--accent) 22%,var(--ink));margin:10px 0 18px}.latest{margin:12px 2px 2px;font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.latest b{font:700 20px var(--font-mono);color:var(--yellow);margin-left:4px}.filter-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.filter-row .sectlbl{margin:0;flex-shrink:0}.filter-row .sectlbl:after{display:none}.filter-row select{flex:1}select{background:var(--panel-2);color:var(--paper);border:var(--bw) solid var(--line);border-radius:var(--radius);padding:9px 10px;font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.06em}select:focus{border-color:var(--yellow);outline:none}.card-section{background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:var(--sp-4) var(--sp-3);margin-bottom:var(--sp-5)}.card-section h3{display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3);font:900 16px var(--font-mono);text-transform:uppercase;letter-spacing:.02em}.card-section h3:before{content:"";width:10px;height:10px;flex-shrink:0;background:var(--c-diaper);border:2px solid var(--ink)}section.card-section:nth-of-type(1) h3:before{background:var(--c-breast)}section.card-section:nth-of-type(2) h3:before{background:var(--c-bottle)}section.card-section:nth-of-type(3) h3:before{background:var(--c-diaper)}.card-section .filter-row{justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.card-section .filter-row select{flex:0 0 auto;min-width:84px}.card-section select{padding:var(--sp-2) var(--sp-3)}.card-section .btn-ghost{margin-top:var(--sp-2)}.baby-row{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) 0;border-bottom:var(--bw) solid var(--line-dim)}.baby-row:first-of-type{padding-top:0}.baby-row-name{margin:0;font:900 15px var(--font-mono);text-transform:uppercase;letter-spacing:.02em;color:var(--paper)}.baby-row .text-input,.baby-row .timefield{margin-bottom:0}.settings-row-main,.device-row{display:flex;align-items:center;gap:var(--sp-3)}.device-row{padding:var(--sp-3) 0;border-bottom:var(--bw) solid var(--line-dim)}.settings-row-copy{flex:1;min-width:0}.settings-row-copy p{margin:0}.settings-row-actions{display:flex;gap:var(--sp-2)}.baby-avatar,.device-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;background:var(--c-breast);color:var(--ink);border:var(--bw) solid var(--ink);border-radius:50%;font:900 16px var(--font-mono)}.device-icon{background:var(--c-sleep)}.device-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}.settings-icon-button{width:42px;height:42px;padding:var(--sp-2);display:grid;place-items:center;background:var(--panel-2);color:var(--paper);border:var(--bw) solid var(--line);border-radius:var(--radius)}.settings-icon-button svg,.baby-add-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}.baby-edit{display:grid;gap:var(--sp-2);padding-left:calc(40px + var(--sp-3))}.baby-add{display:flex;gap:var(--sp-2);align-items:stretch;padding-top:var(--sp-3);margin-bottom:var(--sp-2)}.baby-add .text-input{flex:1;min-width:0;margin-bottom:0}.baby-add .btn-primary{flex:0 0 auto;width:auto;display:inline-flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-3)}.edit-duration{margin:2px 0 0;text-align:right;font:800 12px var(--font-mono);letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.first-baby{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 18px}.first-baby-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px;background:var(--panel);border:var(--bw-heavy) solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:26px 22px}.first-baby-kicker{align-self:flex-start;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);font:900 11px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;padding:3px 9px}.first-baby-card h2{margin:0;font-size:26px;font-weight:900;line-height:1.05;text-transform:uppercase;letter-spacing:.01em}.first-baby-sub{margin:-4px 0 4px;color:var(--muted);font-size:14px;line-height:1.4}.first-baby-card .text-input,.first-baby-card .timefield{margin-bottom:0}.first-baby-submit{width:100%;margin-top:4px}.login-screen{min-height:100%;display:grid;place-items:center;padding:calc(24px + env(safe-area-inset-top)) 18px calc(32px + env(safe-area-inset-bottom))}.login-card{width:100%;max-width:400px;background:var(--panel);border:var(--bw-heavy) solid var(--line);border-radius:var(--radius);box-shadow:6px 6px 0 var(--ink)}.login-brand{background:var(--console);color:var(--paper);border-bottom:4px solid;border-image:var(--spectrum) 1;padding:28px 18px 20px;text-align:center}.login-word{display:flex;align-items:center;justify-content:center;gap:11px;font-weight:900;font-size:32px;line-height:1.1;letter-spacing:-.02em}.login-logo{width:20px;height:20px;flex-shrink:0;background:var(--c-breast);border:2.5px solid var(--ink);box-shadow:3px 3px color-mix(in oklab,var(--c-breast) 40%,var(--ink))}.login-word i{font-style:normal;background:var(--yellow);color:var(--ink);padding:2px 9px 4px;letter-spacing:.04em}.login-tag{margin:11px 0 0;font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.24em;color:var(--muted)}.login-fields{padding:24px 20px 26px}.login-label{display:block;margin:0 0 7px 2px;font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.login-card .text-input{background:var(--bg);color:var(--paper);border:var(--bw) solid var(--line);box-shadow:3px 3px 0 var(--ink);padding:14px;margin-bottom:18px;font:500 16px var(--font-mono)}.login-card .text-input:focus{border-color:var(--yellow);box-shadow:3px 3px color-mix(in oklab,var(--yellow) 30%,var(--ink))}.login-error{display:flex;align-items:center;gap:10px;margin:-2px 0 16px;background:var(--red);color:var(--ink);border:var(--bw) solid var(--ink);border-radius:var(--radius);box-shadow:3px 3px color-mix(in oklab,var(--red) 40%,var(--ink));padding:10px 12px;font:700 12px/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.login-error:before{content:"!";flex-shrink:0;width:20px;height:20px;display:grid;place-items:center;background:var(--ink);color:var(--red);font:900 13px var(--font-mono)}.login-card .btn-primary{display:block;width:100%;margin-top:2px;padding:15px;font-size:15px}.login-card .btn-primary:disabled{cursor:wait}.login-splash{display:flex;align-items:center;gap:10px;font-weight:900;font-size:24px;letter-spacing:-.02em;color:var(--paper)}.login-splash:before{content:"";width:16px;height:16px;background:var(--c-breast);border:2.5px solid var(--ink);box-shadow:3px 3px color-mix(in oklab,var(--c-breast) 40%,var(--ink));animation:tb-blink 1s steps(2,end) infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.gbtn:active,.btn-primary:active,.btn-start:active,.stepper .pm:active,.timer-banner:active{transform:none}}.sleep-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--bg);color:var(--paper);display:flex;flex-direction:column;padding:env(safe-area-inset-top) 18px env(safe-area-inset-bottom)}.sleep-head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;padding:14px 0;font:700 12px var(--font-mono);letter-spacing:.18em;text-align:center}.sleep-page .sleep-head{color:var(--c-sleep)}.breast-page .sleep-head{color:var(--c-breast)}.sleep-back{background:var(--panel);color:var(--paper);border:var(--bw) solid var(--line);border-radius:var(--radius);width:36px;height:36px;font-size:22px;line-height:1}.sleep-prestart,.sleep-manual,.sleep-running,.breast-body{flex:1;display:flex;flex-direction:column;align-items:center;gap:16px;padding-top:24px}.sleep-duration{font:700 64px/1 var(--font-mono);color:var(--paper);margin-top:32px;font-variant-numeric:tabular-nums}.sleep-duration-label{font:700 10px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.sleep-stop{margin:24px 0;width:150px;height:150px;border-radius:50%;background:var(--panel);color:var(--c-sleep);border:var(--bw-heavy) solid var(--c-sleep);font:700 22px var(--font-mono);letter-spacing:.08em;box-shadow:4px 4px color-mix(in oklab,var(--c-sleep) 35%,var(--ink))}.sleep-stop:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}.sleep-stop.stopped{color:var(--muted);border-color:var(--line);box-shadow:none}.sleep-stop.paused{background:var(--c-sleep);color:var(--ink)}.sleep-startrow{display:flex;align-items:center;gap:10px;font:500 14px var(--font-sans);color:var(--muted)}.sleep-startrow b{color:var(--paper);font:700 16px var(--font-mono)}.sleep-edit{background:var(--c-diaper);color:var(--ink);border:var(--bw) solid var(--ink);border-radius:var(--radius);width:34px;height:34px;font-size:15px}.sleep-note{width:100%;min-height:72px;resize:vertical;background:var(--panel);color:var(--paper);border:var(--bw) solid var(--line-dim);border-radius:var(--radius);padding:10px;font:inherit}.sleep-note:focus{border-color:var(--yellow);outline:none}.sleep-actions{margin-top:auto;width:100%;display:flex;gap:12px;padding:16px 0}.sleep-actions button{flex:1;padding:14px}.sleep-notice{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}.breast-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--bg);color:var(--paper);display:flex;flex-direction:column;padding:env(safe-area-inset-top) 18px env(safe-area-inset-bottom)}.breast-tag{text-align:center;color:var(--muted);margin:2px 0 12px;font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.12em}.breast-sides{display:flex;justify-content:center;gap:40px;margin:12px 0 4px}.breast-col{display:flex;flex-direction:column;align-items:center;position:relative}.breast-circle{width:120px;height:120px;border-radius:50%;background:var(--panel);color:var(--c-breast);border:var(--bw-heavy) solid var(--c-breast);font:700 44px var(--font-mono);box-shadow:4px 4px color-mix(in oklab,var(--c-breast) 35%,var(--ink));transition:transform .06s ease,box-shadow .06s ease}.breast-circle:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}.breast-circle.active{background:var(--c-breast);color:var(--ink)}.breast-side-time{margin-top:8px;font:700 15px var(--font-mono);color:var(--paper);font-variant-numeric:tabular-nums}.breast-last{position:absolute;top:-10px;z-index:1;background:var(--yellow);color:var(--ink);border:var(--bw) solid var(--ink);border-radius:999px;padding:2px 12px;font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.breast-hint{text-align:center;color:var(--muted);margin:16px 0;font:500 13px var(--font-sans)}.install-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--c-meds);color:var(--ink);border:var(--bw-heavy) solid var(--ink);border-radius:var(--radius);box-shadow:4px 4px color-mix(in oklab,var(--c-meds) 35%,var(--ink));padding:10px 12px;margin-bottom:12px;font:700 13px var(--font-sans)}.install-banner-actions{display:flex;align-items:center;gap:8px}.install-banner .btn-primary{padding:8px 12px}.install-banner .btn-link{color:var(--ink);font-size:16px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}.chip{--c: var(--muted);display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;font-size:20px;line-height:1;background:var(--panel);color:var(--paper);border:var(--bw) solid var(--line-dim);border-radius:var(--radius);opacity:.55;cursor:pointer;transition:transform .06s ease,opacity .06s ease}.chip[aria-label=breast]{--c: var(--c-breast)}.chip[aria-label=bottle]{--c: var(--c-bottle)}.chip[aria-label=solids]{--c: var(--c-solids)}.chip[aria-label=sleep]{--c: var(--c-sleep)}.chip[aria-label=diaper]{--c: var(--c-diaper)}.chip[aria-label=meds]{--c: var(--c-meds)}.chip[aria-pressed=true]{opacity:1;color:var(--ink);background:var(--c);border-color:var(--ink);box-shadow:3px 3px color-mix(in oklab,var(--c) 40%,var(--ink))}.chip[aria-pressed=true]:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.daylbl{font:900 11px var(--font-sans);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin:16px 0 4px}.seeall{width:auto;display:block;margin:16px auto 8px;background:var(--panel);color:var(--paper);border:var(--bw) solid var(--line);border-radius:var(--radius);padding:10px 18px}.sheet{display:flex;flex-direction:column;max-height:100%;min-height:0;overflow:hidden}.sheet-title{flex:none;font-size:18px;margin:0 0 12px}.sheet-body{overflow-y:auto;overscroll-behavior:contain;min-height:0}.sheet-footer{flex:none;background:var(--panel)}.sheet-footer:empty{display:none}.sheet-footer .sleep-actions{margin:0;padding:12px 0 0}.sheet .sleep-page,.sheet .breast-page{position:static;padding:0;background:transparent}.sheet .breast-sides{gap:20px}.sheet-body>div>h4:first-child{margin-top:0}.sheet-footer .sheet-actions,.sheet-footer .sleep-actions{flex-wrap:wrap}.sheet-footer .sheet-actions>button,.sheet-footer .sleep-actions>button{flex:1 1 8em;min-width:0;overflow-wrap:anywhere}.pwa-update{padding:12px 16px;border-bottom:1px solid var(--line);flex-shrink:0;max-height:35dvh;overflow:auto}.pwa-update p{margin:0 0 8px}.pwa-update button{margin:0 8px 8px 0}.pwa-update summary{cursor:pointer}.history-filter-card{display:grid;gap:var(--sp-3);margin:0 4px var(--sp-5) 0;padding:var(--sp-3);background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.history-filter-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.history-filter-header h2{margin:0;font:900 13px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.history-filter-header [role=status]{color:var(--muted);font:700 12px var(--font-mono)}.history-date-row,.history-filter-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-2)}.history-date-field{min-width:0}.history-date-field>span{display:flex;align-items:center;gap:var(--sp-1);margin-bottom:var(--sp-1);color:var(--muted);font:700 11px var(--font-mono)}.history-date-field>span svg:first-child{color:var(--yellow)}.history-date-field>span svg:last-child{margin-left:auto}.history-date-field svg,.history-search-field svg,.history-filter-actions svg,.history-type-chips svg{width:16px;height:16px;flex:none}.history-date-field input,.history-search-field{width:100%;min-width:0;color:var(--paper);background:var(--panel-2);border:var(--bw) solid var(--line-dim);border-radius:var(--radius);font:500 13px var(--font-mono)}.history-date-field input{min-height:42px;padding:var(--sp-2)}.history-date-field input:focus-visible,.history-search-field:focus-within{border-color:var(--yellow);outline:none}.history-search-field{min-height:44px;display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-3)}.history-search-field>svg{color:var(--yellow)}.history-search-field input{width:100%;min-width:0;padding:var(--sp-2) 0;color:inherit;background:transparent;border:0;font:inherit}.history-search-field input:focus{outline:0}.history-search-field input::placeholder{color:var(--muted)}.history-search-field input::-webkit-search-cancel-button{display:none}.history-search-field button{width:32px;height:32px;display:grid;place-items:center;padding:0;background:transparent;color:var(--paper);border:0}.history-type-chips{display:flex;flex-wrap:wrap;gap:6px}.history-type-chips button{min-height:36px;display:inline-flex;align-items:center;gap:var(--sp-1);padding:6px 9px;background:var(--panel-2);color:var(--paper);border:var(--bw) solid var(--line-dim);border-radius:var(--radius);font:800 12px var(--font-sans)}.history-type-chips button[aria-pressed=true]{background:var(--yellow);color:var(--ink);border-color:var(--ink);box-shadow:2px 2px 0 var(--ink)}.history-filter-actions button{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:10px}.history-filter-card:lang(es) .history-filter-actions button{gap:var(--sp-1);letter-spacing:.02em}.history-filter-alert,.history-stale{margin:0}.history-filter-alert{color:var(--red)}.history-stale{color:var(--muted);font-size:13px}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:var(--sp-4);background:color-mix(in oklab,var(--ink) 75%,transparent)}.dialog-card{width:min(100%,420px);max-height:100%;overflow:auto;padding:var(--sp-4);background:var(--panel);color:var(--paper);border:var(--bw) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.dialog-card h2{margin:0 0 var(--sp-2);font-size:20px}.dialog-card p{margin:0 0 var(--sp-4);color:var(--muted)}.dialog-actions{display:flex;gap:var(--sp-2)}.dialog-actions button{flex:1;min-width:0;min-height:44px;text-transform:none;letter-spacing:normal}.dialog-danger{padding:var(--sp-3);background:var(--red);color:var(--ink);border:var(--bw) solid var(--ink);border-radius:var(--radius);font-weight:800}.toast{position:fixed;z-index:150;bottom:var(--sp-5);left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 2 * var(--sp-4));display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--panel);color:var(--paper);border:var(--bw) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.sheet[data-type=breast],.sheet[data-type=sleep]{padding:var(--sp-2) var(--sp-3) calc(var(--sp-2) + env(safe-area-inset-bottom))}.sheet[data-type=breast]>.sheet-title,.sheet[data-type=sleep]>.sheet-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sheet[data-type=breast] .sheet-body,.sheet[data-type=sleep] .sheet-body{overflow-x:hidden;overflow-y:auto}.sheet[data-type=breast] .sheet-body:has(.session[data-session-variant=timer]),.sheet[data-type=sleep] .sheet-body:has(.session[data-session-variant=timer]){overflow:clip}.session{--session-accent: var(--c-sleep);width:100%}.session[data-session-type=breast]{--session-accent: var(--c-breast)}.session .sleep-head{height:40px;padding:0;color:var(--session-accent)}.session-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.session .sleep-back{width:32px;height:32px}.session-body{display:grid;grid-template-rows:60px 132px 32px 36px 48px auto;gap:var(--sp-2);align-items:center;text-align:center}.session .sleep-duration{margin:0;font-size:44px}.session-controls{height:132px;display:grid;place-items:center;overflow:hidden}.session .sleep-stop{width:112px;height:112px;margin:0;font-size:18px}.session .breast-sides{margin:0;gap:var(--sp-5)}.session .breast-circle{width:88px;height:88px;font-size:32px}.session .breast-side-time{margin-top:var(--sp-1);font-size:13px}.session .breast-last{top:0}.session-hint{align-self:start;margin:0;color:var(--muted);font-size:12px;line-height:16px}.session .sleep-startrow{justify-content:center;min-height:36px}.session-note{height:48px}.session .sleep-note{min-height:48px;height:48px;resize:none}.session-footer-actions{width:100%;padding-top:var(--sp-2)}.sheet-footer .session-footer-actions .sleep-actions{padding:0}.session-delete{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);width:100%;min-height:28px;padding:var(--sp-1) var(--sp-2);background:transparent;color:var(--red);border:0;font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.session-delete svg,.session-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}.session-time-grid,.session-duration-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.session-pauses{width:100%;display:grid;gap:var(--sp-2)}.session-pause{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) 32px;gap:var(--sp-1);align-items:end}.session-pause>span{align-self:center;color:var(--muted);font:700 11px var(--font-mono)}.session-pause .timefield{margin:0}.session-icon{width:32px;height:40px;display:grid;place-items:center;background:transparent;border:var(--bw) solid var(--line);border-radius:var(--radius)}.session-icon.danger{color:var(--red)}.session-add-pause{width:100%}.session[data-session-variant=edit] .session-body{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-3);text-align:left}.session[data-session-variant=edit] [data-testid=session-start]{order:1}.session[data-session-variant=edit] [data-testid=session-duration]{order:2;text-align:center}.session[data-session-variant=edit] [data-testid=session-controls]{order:3}.session[data-session-variant=edit] .session-hint{order:4;text-align:center}.session[data-session-variant=edit] [data-testid=session-note]{order:5}.session[data-session-variant=edit] [data-testid=session-actions]{order:6}.session[data-session-variant=edit] .session-controls{width:100%;height:auto;display:flex;flex-direction:column;gap:var(--sp-3);overflow:visible}@media(max-height:700px){.session-body{grid-template-rows:52px 116px 28px 34px 40px auto;gap:var(--sp-1)}.session-controls{height:116px}.session .sleep-stop{width:104px;height:104px}.session .breast-circle{width:82px;height:82px}.session-note,.session .sleep-note{min-height:40px;height:40px}.session-footer-actions{padding-top:var(--sp-1)}.sheet-footer .session-footer-actions .sleep-actions button{padding:var(--sp-2)}.session-hint{font-size:11px;line-height:14px}}@media(max-width:420px){.session-time-grid{grid-template-columns:minmax(0,1fr)}.session-pause{grid-template-columns:minmax(0,1fr) 32px;align-items:center}.session-pause>span{grid-column:1;grid-row:1}.session-pause .session-icon{grid-column:2;grid-row:1}.session-pause .timefield{grid-column:1 / -1}}
