@property --bg{syntax:"<color>";inherits:true;initial-value:#1b1726}@property --bg2{syntax:"<color>";inherits:true;initial-value:#2a2140}@property --text{syntax:"<color>";inherits:true;initial-value:#f7f0ff}:root{--bg:#1b1726;--bg2:#2a2140;--text:#f7f0ff;--glow1:#ff9f8a;--glow2:#8b6cf0;--glow3:#5fc9c2;--glow-opacity:.32;--c-feed:#ffab91;--c-wet:#7cc8ee;--c-dirty:#d6ac6f;--c-nap:#b3a4ff;--c-night:#7d8cf0;--c-tummy:#8fdb9f;--c-pump:#f6a8cf;--c-fussy:#f0a35e;--c-spitup:#c9d3e6;--c-bath:#69d7d0;--c-books:#c3d96b;--c-doctor:#f5cd6a;--v-feed:#d96a40;--v-sleep:#9085e9;--v-tummy:#2fa36b;--v-diaper:#3b93e0;--v-pump:#d55181;--v-fussy:#c98500;--puff:#efe8ff;--puff-ink:#2b2340;--puff-cheek:#ff9fb3;--puff-prop:#f5cd6a;--v-track:color-mix(in oklab, var(--text) 7%, transparent);--v-grid:color-mix(in oklab, var(--text) 16%, transparent);--v-ink:var(--text);--muted:color-mix(in oklab, var(--text) 64%, transparent);--faint:color-mix(in oklab, var(--text) 12%, transparent);--surface:color-mix(in oklab, var(--bg) 60%, transparent);--surface-strong:color-mix(in oklab, var(--bg) 93%, var(--text));--border:color-mix(in oklab, var(--text) 11%, transparent);--danger:#ff8a8a;--radius:22px;--font:"Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;transition:--bg 1.2s var(--ease), --bg2 1.2s var(--ease), --text .8s var(--ease)}:root[data-theme=day]{--bg:#fff8f1;--bg2:#f4ecff;--text:#2b2340;--glow1:#ffc2b0;--glow2:#cbbcff;--glow3:#a8e8e2;--glow-opacity:.55;--c-feed:#e8785a;--c-wet:#3b9fd4;--c-dirty:#a8773a;--c-nap:#7c67e6;--c-night:#4f5fcf;--c-tummy:#3fae5a;--c-pump:#d8649f;--c-fussy:#c07318;--c-spitup:#7f8ca8;--c-bath:#22a79f;--c-books:#7f9a1f;--c-doctor:#c9971a;--puff:#fff;--puff-ink:#2b2340;--puff-cheek:#ff9fb3;--puff-prop:#e0a92a;--v-feed:#e2622f;--v-sleep:#6a55d8;--v-tummy:#1f8f4e;--v-diaper:#2a78d6;--v-pump:#d0457c;--v-fussy:#b07a00;--surface:oklab(100% 0 5.96046e-8/.72);--surface-strong:#fff;--border:color-mix(in oklab, var(--text) 10%, transparent);--danger:#c93c3c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=night]{--bg:#0b0806;--bg2:#120c08;--text:#d9a98a;--glow1:#6b2f1c;--glow2:#3a1c14;--glow3:#4a2a12;--glow-opacity:.25;--puff:#5a3e30;--puff-ink:#140d09;--puff-cheek:#7a4535;--puff-prop:#a07850;--c-feed:#d99070;--c-wet:#b99a78;--c-dirty:#b08058;--c-nap:#c49a86;--c-night:#a88070;--c-tummy:#b8a070;--c-pump:#c98a80;--c-fussy:#c08a5a;--c-spitup:#a89c8c;--c-bath:#b0a080;--c-books:#b0a868;--c-doctor:#c9a060;--muted:color-mix(in oklab, var(--text) 58%, transparent);--danger:#d77b5f}@media (prefers-reduced-motion:reduce){:root{transition:none}}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}html{touch-action:manipulation;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid color-mix(in oklab, var(--text) 70%, transparent);outline-offset:2px}[tabindex="-1"]:focus{outline:none}[hidden]{display:none!important}.bg{z-index:-1;background:radial-gradient(120% 90% at 50% 0%, var(--bg2), var(--bg) 70%);position:fixed;inset:0;overflow:hidden}.glow{filter:blur(80px);width:60vmax;height:60vmax;opacity:var(--glow-opacity);border-radius:50%;animation:38s ease-in-out infinite alternate drift;position:absolute}.g1{background:var(--glow1);top:-25vmax;left:-20vmax}.g2{background:var(--glow2);animation-duration:46s;animation-delay:-12s;top:10vmax;right:-30vmax}.g3{background:var(--glow3);animation-duration:52s;animation-delay:-30s;bottom:-35vmax;left:10vmax}@keyframes drift{to{transform:translate(6vmax,4vmax)scale(1.08)}}.app{max-width:720px;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));margin:0 auto}.topbar{justify-content:space-between;align-items:center;min-height:44px;display:flex}.brand{letter-spacing:.01em;align-items:center;gap:10px;font-size:1.05rem;font-weight:800;display:flex}.brand-dot{background:linear-gradient(135deg, var(--c-feed), var(--c-nap));width:12px;height:12px;box-shadow:0 0 14px color-mix(in oklab, var(--c-feed) 60%, transparent);border-radius:50%}.icon-btn{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:14px;place-items:center;transition:background .2s,color .2s;display:inline-grid}.icon-btn:hover{background:var(--faint);color:var(--text)}.icon-btn:disabled{opacity:.3;cursor:default;background:0 0}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.daynav{grid-template-columns:44px 1fr 44px;align-items:center;margin:8px 0 16px;display:grid}.daynav-title{text-align:center}.daynav h1{letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:800}.link-btn{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;padding:2px 6px;font-size:.85rem;text-decoration:underline}.banner{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;font-size:.9rem;display:flex}.banner .chip{flex:none}.tip-actions{flex:none;align-items:center;gap:6px}.tip-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}@media (width<=480px){.banner:has(.tip-actions){flex-wrap:wrap}.banner .tip-actions{margin-left:auto}}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width>=560px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{--c:var(--c-feed);border-radius:var(--radius);border:1px solid var(--border);background:radial-gradient(120% 90% at 0% 0%, color-mix(in oklab, var(--c) 22%, transparent), transparent 60%), var(--surface);-webkit-backdrop-filter:blur(14px);text-align:left;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;grid-template-rows:auto auto 1fr;grid-template-columns:auto 1fr;align-content:start;column-gap:10px;min-height:112px;padding:14px 14px 12px;transition:border-color .3s,box-shadow .3s;display:grid;position:relative;overflow:hidden}.card:hover{border-color:color-mix(in oklab, var(--c) 45%, transparent)}.card-emoji{transform-box:fill-box;grid-row:1/span 2;font-size:1.7rem;line-height:1}.card-label{color:color-mix(in oklab, var(--c) 70%, var(--text));font-size:.95rem;font-weight:700}.card-primary{font-variant-numeric:tabular-nums;letter-spacing:-.01em;grid-column:1/-1;margin-top:10px;font-size:1.25rem;font-weight:800;line-height:1.2}.card-secondary{color:var(--muted);grid-column:1/-1;margin-top:3px;font-size:.8rem;line-height:1.3}.card.is-ongoing{border-color:color-mix(in oklab, var(--c) 60%, transparent);box-shadow:0 0 0 1px color-mix(in oklab, var(--c) 30%, transparent), 0 10px 40px -12px var(--c)}.card.is-ongoing:after{content:"";border-radius:inherit;background:radial-gradient(90% 70% at 50% 110%, color-mix(in oklab, var(--c) 35%, transparent), transparent 70%);pointer-events:none;animation:4.5s ease-in-out infinite breathe;position:absolute;inset:0}@keyframes breathe{0%,to{opacity:.35}50%{opacity:1}}.card-ring{border-radius:inherit;pointer-events:none;opacity:0;box-shadow:inset 0 0 0 2px var(--c);position:absolute;inset:0}.daylog{margin-top:26px}.section-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.section-head h2{margin:0;font-size:1.05rem;font-weight:800}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;min-height:36px;padding:8px 14px;font-size:.85rem;font-weight:700}.chip:hover{border-color:color-mix(in oklab, var(--text) 30%, transparent)}.chip.primary{background:var(--text);color:var(--bg);border-color:#0000}.entries{gap:6px;margin:0;padding:0;list-style:none;display:grid}.entry{--c:var(--c-feed);border:1px solid var(--border);border-left:3px solid var(--c);background:var(--surface);text-align:left;border-radius:14px;grid-template-columns:4.6rem 1.6rem 1fr auto;align-items:center;gap:8px;width:100%;padding:10px 12px;display:grid}.entry:hover{border-color:color-mix(in oklab, var(--c) 45%, transparent);border-left-color:var(--c)}.entry-time{font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:700}.entry-time small{color:var(--muted);font-size:.7rem;font-weight:600;display:block}.entry-emoji{font-size:1.15rem}.entry-text{min-width:0}.entry-title{font-size:.92rem;font-weight:700}.entry-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;display:block;overflow:hidden}.entry-dur{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.entry-dur.is-ongoing{color:var(--c)}.empty{color:var(--muted);margin:6px 2px;font-size:.9rem}.daynote{gap:6px;margin-top:18px;display:grid}.daynote-label{font-size:.95rem;font-weight:800}textarea,input[type=text],input[type=number],input[type=datetime-local],select{border:1px solid var(--border);background:var(--surface);border-radius:14px;width:100%;padding:10px 12px;font-size:1rem}textarea{resize:vertical;min-height:3.2em}input[type=datetime-local],input[type=number]{appearance:none;text-align:left;min-width:0;max-width:100%;min-height:46px;display:block}input[type=datetime-local]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=datetime-local]:disabled{opacity:.45}.check{min-height:32px}.foot{text-align:center;color:var(--muted);margin-top:28px;font-size:.78rem}.foot p{margin:0 0 6px}.foot-meta{justify-content:center;align-items:center;gap:8px;display:flex}.foot-meta a{min-height:32px;color:inherit;align-items:center;gap:5px;font-weight:700;text-decoration:none;display:inline-flex}.foot-meta a:hover{color:var(--text)}.foot-meta svg{fill:currentColor;width:14px;height:14px}#app-version{font-variant-numeric:tabular-nums}.toasts{left:50%;bottom:max(16px, env(safe-area-inset-bottom));z-index:20;pointer-events:none;gap:8px;width:min(560px,100% - 24px);display:grid;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--surface-strong);border:1px solid var(--border);animation:toast-in .35s var(--ease);border-radius:18px;padding:12px 14px;box-shadow:0 16px 40px -16px #0009}.toast-msg{font-size:.95rem;font-weight:700}.toast-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.toast-actions:empty{display:none}.toast .chip{min-height:34px;padding:6px 12px}.toast.leaving{animation:.25s forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)}}.sheet{border:1px solid var(--border);background:var(--surface-strong);width:min(560px,100%);max-height:min(92dvh,900px);color:var(--text);border-radius:26px 26px 0 0;margin:auto auto 0;padding:0;overflow:auto}@media (width>=600px){.sheet{border-radius:26px;margin:auto}}.sheet[open]{animation:sheet-in .35s var(--ease)}.sheet::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}.sheet form{padding:18px 18px max(18px, env(safe-area-inset-bottom));gap:16px;display:grid}.sheet-head{justify-content:space-between;align-items:center;display:flex}.sheet-head h2{margin:0;font-size:1.2rem;font-weight:800}.field{gap:6px;display:grid}.field>.field-label,.field>legend{color:var(--muted);padding:0;font-size:.85rem;font-weight:700}fieldset.field{border:0;min-width:0;margin:0;padding:0}.row{grid-template-columns:1fr 1fr;align-items:start;gap:10px;display:grid}@media (width<=520px){.row{grid-template-columns:minmax(0,1fr);gap:16px}}.row>*,.field{min-width:0}.hint{color:var(--muted);margin:0;font-size:.8rem}.error{color:var(--danger);margin:0;font-size:.85rem;font-weight:700}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg label{position:relative}.seg input{opacity:0;pointer-events:none;position:absolute}.seg span{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:8px 14px;font-size:.9rem;font-weight:700;display:inline-flex}.seg input:checked+span{background:var(--text);color:var(--bg);border-color:#0000}.seg input:focus-visible+span{outline:2px solid var(--text);outline-offset:2px}.check{align-items:center;gap:10px;font-size:.92rem;font-weight:600;display:flex}.check input{width:20px;height:20px;accent-color:var(--text)}.actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.actions .spacer{flex:1}.btn{border:1px solid var(--border);background:var(--surface);border-radius:14px;min-height:44px;padding:10px 18px;font-weight:800}.btn.primary{background:var(--text);color:var(--bg);border-color:#0000}.btn.danger{color:var(--danger)}.settings-section{border-top:1px solid var(--border);gap:12px;padding-top:14px;display:grid}.settings-section h3{margin:0;font-size:.95rem;font-weight:800}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.install-steps{gap:8px;margin:0;padding-left:1.2em;font-size:.85rem;line-height:1.45;display:grid}.status-line{color:var(--muted);margin:0;font-size:.85rem}.status-line.warn{color:var(--danger);font-weight:700}@media (prefers-reduced-motion:reduce){.glow,.card.is-ongoing:after,.toast,.sheet[open]{animation:none}}:root[data-theme=night] .glow{animation:none}:root[data-theme=night] :is(.card-emoji,.entry-emoji,.seg span,.toast-msg){filter:sepia(.5)saturate(.6)brightness(.75)}.topbar-actions{gap:2px;display:flex}@media (hover:none){.kbd-only{display:none}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dayclock{margin-top:22px}.viz-box svg{width:100%;height:auto;font-family:var(--font);display:block;overflow:visible}.clock-box{max-width:420px;margin:0 auto}.rc-tracks circle{stroke:var(--v-track)}.rc-ticks line{stroke:var(--v-grid);stroke-width:1px}.rc-ticks line.major{stroke-width:1.5px}.rc-ticks text,.ds-grid text,.wr-hour{fill:var(--muted);font-size:11px;font-weight:700}.rc-sleep{stroke:var(--v-sleep);stroke-width:18px;stroke-linecap:round}.rc-sleep.nap{stroke-width:12px}.rc-sleep.ongoing{stroke-dasharray:2 3;animation:2.4s ease-in-out infinite pulse-op}.rc-tummy{stroke:var(--v-tummy);stroke-width:8px;stroke-linecap:round}.rc-pump{stroke:var(--v-pump);stroke-width:8px;stroke-linecap:round}.rc-fussy{stroke:var(--v-fussy);stroke-width:8px;stroke-linecap:round}.rc-hit,.ds-hit{stroke:#0000;fill:#0000;stroke-width:26px}.rc-dots .rc-hit,.ds-hit{stroke-width:0}.rc-feed{fill:var(--v-feed);stroke:var(--surface-strong);stroke-width:2px}.rc-diaper{stroke:var(--v-diaper);stroke-width:2px;fill:var(--surface-strong)}.rc-diaper.dirty,.rc-diaper.both{fill:var(--v-diaper)}.rc-diaper.both{stroke:var(--surface-strong);paint-order:stroke;outline:none}.rc-emoji{font-size:13px}.rc-mark{cursor:pointer;outline:none}.rc-mark:focus-visible .rc-sleep,.rc-mark:focus-visible circle:not(.rc-hit){filter:drop-shadow(0 0 3px var(--text))}.rc-now line{stroke:var(--text);stroke-width:1.5px;stroke-linecap:round;opacity:.7}.rc-now circle{fill:var(--text)}.rc-hero{fill:var(--text);letter-spacing:-.02em;font-size:26px;font-weight:800}.rc-sub{fill:var(--muted);font-size:11px;font-weight:700}@keyframes pulse-op{50%{opacity:.55}}.viz-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:8px 0 0;padding:0;font-size:.8rem;font-weight:700;list-style:none;display:flex}.viz-legend li{align-items:center;gap:6px;display:inline-flex}.viz-legend small{font-weight:600}.sw{border-radius:4px;width:12px;height:12px}.sw.sleep{background:var(--v-sleep)}.sw.feed{background:var(--v-feed);border-radius:50%}.sw.feed.tick{border-radius:2px;width:4px}.sw.feed.dot{width:7px;height:7px}.sw.diaper{background:var(--v-diaper);border-radius:50%}.sw.tummy{background:var(--v-tummy)}.sw.pump{background:var(--v-pump)}.sw.fussy{background:var(--v-fussy)}.viz-tip{z-index:50;background:var(--surface-strong);border:1px solid var(--border);pointer-events:none;border-radius:12px;max-width:min(320px,100vw - 16px);padding:8px 11px;font-size:.85rem;font-weight:700;position:fixed;top:0;left:0;box-shadow:0 10px 30px -10px #00000080}.sheet.tall{width:min(720px,100%);height:min(94dvh,1100px)}.trends{padding:18px 18px max(24px, env(safe-area-inset-bottom));gap:16px;display:grid}.viz-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;gap:8px;padding:14px;display:grid}.viz-card h3{margin:0;font-size:1rem;font-weight:800}.rings-box{width:100%;max-width:420px;margin:0 auto}.ds-grid line{stroke:var(--v-grid);stroke-width:.6px;stroke-dasharray:2 3}.ds-grid line.major{stroke-dasharray:none}.ds-day{fill:var(--muted);font-size:11px;font-weight:700}.ds-track{fill:var(--v-track)}.ds-sleep{fill:var(--v-sleep)}.ds-sleep.nap{fill:color-mix(in oklab, var(--v-sleep) 70%, var(--surface-strong))}.ds-feed{fill:var(--v-feed)}.ds-mark{cursor:pointer}.wr-track{fill:none;stroke:var(--v-track);stroke-width:10px}.wr-sleep{fill:none;stroke:var(--v-sleep);stroke-width:10px;stroke-linecap:butt;cursor:pointer}.wr-feed{fill:var(--v-feed);stroke:var(--surface-strong);stroke-width:1.5px;cursor:pointer}.wr-spoke{stroke:var(--v-grid);stroke-width:.8px}.wr-day{fill:var(--muted);paint-order:stroke;stroke:var(--surface-strong);stroke-width:3px;font-size:9.5px;font-weight:800}.table-wrap{overflow-x:auto}table.totals{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.82rem}table.totals caption{text-align:left;padding-bottom:8px;font-size:1rem;font-weight:800}table.totals th,table.totals td{text-align:right;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--border);padding:6px 8px}table.totals th[scope=row],table.totals thead th:first-child{text-align:left}table.totals thead th{color:var(--muted);font-weight:700}.keys{gap:6px;margin:0;display:grid}.keys div{grid-template-columns:7rem 1fr;align-items:center;display:grid}.keys dd{margin:0}kbd{border:1px solid var(--border);background:var(--surface);min-width:1.8em;font:700 .85rem var(--font);text-align:center;border-bottom-width:2px;border-radius:7px;padding:2px 7px;display:inline-block}.ambient{color:#b78a6c;background:#050403;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0}.ambient::backdrop{background:#050403}.amb{text-align:center;cursor:pointer;place-content:center;gap:5vh;height:100%;padding:24px;display:grid}.amb-clock{letter-spacing:-.03em;font-variant-numeric:tabular-nums;opacity:.9;font-size:clamp(3rem,16vw,9rem);font-weight:800}.amb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6vw;display:grid}.amb-label{opacity:.7;font-size:clamp(.9rem,3.5vw,1.3rem);font-weight:700}.amb-big{font-variant-numeric:tabular-nums;font-size:clamp(1.8rem,9vw,4.5rem);font-weight:800}.amb-sub{opacity:.6;font-size:clamp(.8rem,3vw,1.1rem)}.amb-hint{opacity:.35;margin:0;font-size:.8rem}:root[data-theme=night] .viz-box svg{filter:sepia(.45)saturate(.7)brightness(.8)}@media (prefers-reduced-motion:reduce){.rc-sleep.ongoing{animation:none}}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.seg.small span{min-height:32px;padding:5px 12px;font-size:.8rem}.hm-box{overflow-x:auto}table.heatmap{border-collapse:separate;border-spacing:3px 2px;table-layout:fixed;width:100%}table.heatmap thead th{color:var(--muted);text-align:center;padding-bottom:4px;font-size:.72rem;font-weight:700}table.heatmap thead th:first-child{width:2.6rem}.hm-col{white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;display:block;overflow:hidden}table.heatmap tbody th{color:color-mix(in oklab, var(--muted) 60%, transparent);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:6px;font-size:.68rem;font-weight:700}table.heatmap tbody th.major{color:var(--muted)}.hm-cell{background:var(--v-track);cursor:pointer;border-radius:4px;height:15px}.hm-cell.l1{background:color-mix(in oklab, var(--c) 22%, var(--v-track))}.hm-cell.l2{background:color-mix(in oklab, var(--c) 40%, var(--v-track))}.hm-cell.l3{background:color-mix(in oklab, var(--c) 60%, var(--v-track))}.hm-cell.l4{background:color-mix(in oklab, var(--c) 80%, var(--v-track))}.hm-cell.l5{background:var(--c)}.hm-legend{--c:var(--muted);color:var(--muted);justify-content:center;align-items:center;gap:4px;margin-top:8px;font-size:.75rem;font-weight:700;display:flex}.hm-legend i{width:18px;height:12px;display:inline-block}.hm-legend span{margin:0 4px}:root[data-theme=night] .hm-box{filter:sepia(.45)saturate(.7)brightness(.8)}.clock-box.grid-box{max-width:none}.dayclock .section-head{margin-bottom:4px}table.daygrid{border-spacing:3px 2px}.dg-cell{background:var(--v-track);border-radius:5px;height:18px;padding:0;position:relative;overflow:hidden}.dg-seg{background:var(--c);cursor:pointer;border-radius:3px;min-width:3px;position:absolute;top:2px;bottom:2px}.dg-seg.ongoing{background:repeating-linear-gradient(90deg, var(--c) 0 4px, color-mix(in oklab, var(--c) 45%, transparent) 4px 6px)}.dg-mark{background:var(--c);width:9px;height:9px;box-shadow:0 0 0 2px var(--surface-strong);cursor:pointer;border-radius:50%;margin:-4.5px 0 0 -4.5px;position:absolute;top:50%}.dg-mark.wet{background:var(--surface-strong);box-shadow:inset 0 0 0 2px var(--c)}.dg-now{background:var(--text);opacity:.8;pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.daygrid tr.is-now th{color:var(--text)}.daygrid tr.is-future .dg-cell{opacity:.45}.dg-hint{text-align:center;margin-top:6px}.dg-glyph{color:var(--c);cursor:pointer;text-shadow:0 0 3px var(--surface-strong);font-size:15px;font-weight:900;line-height:1;position:absolute;top:50%;transform:translate(-50%,-50%)}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width>=620px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.stat{background:var(--surface-strong);border:1px solid var(--border);border-radius:14px;align-content:start;gap:2px;min-width:0;padding:12px;display:grid}.stat-label{color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.stat-value{letter-spacing:-.01em;margin:2px 0 0;font-size:1.45rem;font-weight:800;line-height:1.15}.stat-sub{color:var(--muted);margin:0;font-size:.78rem;line-height:1.3}.stat-basis{color:color-mix(in oklab, var(--muted) 75%, transparent);margin:4px 0 0;font-size:.68rem}.stat.pending .stat-value{color:var(--muted)}.stat svg{width:100%;max-width:180px;height:auto;margin-top:6px;display:block;overflow:visible}.spark polyline{fill:none;stroke:color-mix(in oklab, var(--c) 55%, var(--muted));stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round}.spark circle{fill:var(--c)}.window .w-track{fill:var(--v-track)}.window .w-band{fill:color-mix(in oklab, var(--v-sleep) 55%, transparent)}.window .w-tick{fill:var(--v-sleep)}.window text{fill:var(--muted);font:700 7px var(--font)}.weekbars rect{fill:color-mix(in oklab, var(--v-tummy) 45%, var(--v-track))}.weekbars rect.now{fill:var(--v-tummy)}.weekbars line{stroke:var(--v-grid);stroke-width:.6px}.companion{align-items:center;gap:10px;min-height:64px;margin:-6px 0 12px;display:flex}.puff-host{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:16px;flex:none;width:84px;padding:0}.buddy{width:100%;height:auto;display:block;overflow:visible}.coin-chip{background:color-mix(in oklab, var(--puff-prop) 16%, transparent);font-variant-numeric:tabular-nums;color:var(--text);cursor:pointer;border:0;border-radius:14px;flex:none;align-items:center;gap:6px;margin-left:auto;padding:4px 10px 4px 6px;font-family:inherit;font-size:.88rem;font-weight:800;display:inline-flex;position:relative}.coin-chip:focus-visible{outline:2px solid var(--puff-prop);outline-offset:2px}.coin{background:radial-gradient(circle at 35% 30%, #fff6c8 0 18%, transparent 19%), var(--puff-prop);width:16px;height:16px;box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--puff-prop) 70%, #8a5a00);border-radius:50%}.coin-nums{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.coin-all{color:var(--muted);white-space:nowrap;font-size:.7rem;font-weight:700}.coin-pop{opacity:0;color:color-mix(in oklab, var(--puff-prop) 60%, var(--text));pointer-events:none;font-size:.8rem;font-weight:800;position:absolute;top:-4px;right:6px}.puff-host:focus-visible{outline:2px solid var(--puff-prop);outline-offset:2px}.coin-total .coin{vertical-align:-3px;display:inline-block}:root[data-theme=night] .coin-chip{opacity:.75}.companion-line{color:var(--muted);margin:0;font-size:.92rem;font-weight:700;line-height:1.3}.buddy .p-fill{fill:var(--puff);stroke:color-mix(in oklab, var(--puff-ink) 12%, transparent);stroke-width:1.5px}.buddy .p-shadow{fill:color-mix(in oklab, var(--text) 12%, transparent)}.buddy .p-eyes ellipse{fill:var(--puff-ink)}.buddy .p-glint{fill:var(--puff)}.buddy .p-cheek{fill:var(--puff-cheek);opacity:.55}.buddy .p-closed,.buddy .p-smile,.buddy .p-wince{fill:none;stroke:var(--puff-ink);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.buddy .p-o{fill:var(--puff-ink)}.buddy .p-sweat{fill:#8ecbf0}.buddy .p-zs text{fill:var(--muted);font:800 11px var(--font)}.buddy .p-prop{opacity:0}.buddy .p-prop.show{opacity:1}.buddy .p-bottle rect{fill:#fff;stroke:var(--puff-ink);stroke-width:1.2px}.buddy .p-bottle .p-nipple{fill:var(--puff-prop)}.buddy .p-drop path,.buddy .p-bubbles circle{fill:oklab(79.7354% -.0579818 -.072306/.7);stroke:#7cc8ee;stroke-width:1px}.buddy .p-stink path{fill:none;stroke:#b8a07a;stroke-width:2px;stroke-linecap:round}.buddy .p-sparkles path,.buddy .p-plus rect{fill:var(--puff-prop)}.buddy .p-plus rect{fill:#ff8a8a}.buddy .p-hearts path{fill:#ff8fab}.buddy .p-bob,.buddy .p-body,.buddy .p-eyes,.buddy .p-prop{transform-box:fill-box;transform-origin:50% 100%}.buddy .p-eyes{transform-origin:50%}.buddy .p-o,.buddy .p-wince,.buddy .p-closed,.buddy .p-sweat,.buddy .p-zs,.buddy[data-face=o] .p-smile,.buddy[data-face=wince] .p-smile{display:none}.buddy[data-face=o] .p-o,.buddy[data-face=wince] .p-wince{display:inline}.buddy[data-state=sleeping] .p-eyes{display:none}.buddy[data-state=sleeping] .p-closed,.buddy[data-state=sleeping] .p-zs,.buddy[data-state=fussy] .p-sweat{display:inline}.buddy .p-bob{animation:4.5s ease-in-out infinite puff-bob}.buddy .p-eyes{animation:5s infinite puff-blink}.buddy[data-state=sleeping] .p-bob{animation:5s ease-in-out infinite puff-breathe}.buddy[data-state=fussy] .p-bob{animation:.9s ease-in-out infinite puff-wobble}.buddy[data-state=tummy] .p-bob{animation:2.4s ease-in-out infinite puff-roll}.buddy .p-zs text{animation:3s ease-in-out infinite puff-z}.buddy .p-zs text:nth-child(2){animation-delay:1s}.buddy .p-zs text:nth-child(3){animation-delay:2s}@keyframes puff-bob{50%{transform:translateY(-3px)}}@keyframes puff-breathe{50%{transform:scale(1.04,.97)}}@keyframes puff-wobble{25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes puff-roll{25%{transform:rotate(-9deg)translate(-3px)}75%{transform:rotate(9deg)translate(3px)}}@keyframes puff-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.buddy[data-time=evening] .p-eyes,.buddy[data-time=night] .p-eyes{animation-name:puff-blink-drowsy}.buddy[data-time=evening][data-state=idle] .p-bob,.buddy[data-time=night][data-state=idle] .p-bob{animation-duration:6.5s}@keyframes puff-blink-drowsy{0%,88%,to{transform:scaleY(.72)}93%{transform:scaleY(.1)}}@keyframes puff-z{0%{opacity:0;transform:translateY(4px)}30%{opacity:1}to{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.buddy *,.buddy .p-bob{animation:none!important}.buddy .p-zs text{opacity:1}}:root[data-theme=night] .buddy .p-bob,:root[data-theme=night] .buddy .p-eyes{animation-duration:9s}.head-actions{gap:6px;display:flex}.recap{padding:18px 18px max(20px, env(safe-area-inset-bottom));gap:14px;display:grid}.recap-frame{aspect-ratio:1080/1350;background:var(--surface);border:1px solid var(--border);border-radius:20px;width:min(100%,460px);margin:0 auto;overflow:hidden}.recap-img{width:100%;height:100%;display:block}.recap-img:not([src]){visibility:hidden}.recap-actions{justify-content:center}.bg:not([data-bg=glow]):not([data-bg=none]) .glow{opacity:calc(var(--glow-opacity) * .35)}.bg[data-bg=none] .glow{display:none}.scene-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}:root[data-theme=night] .scene-canvas{opacity:.45}.scene-picker{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.scene-tile{border:1px solid var(--border);background:var(--surface);text-align:center;cursor:pointer;border-radius:14px;gap:4px;padding:6px;font-size:.78rem;font-weight:700;display:grid;position:relative}.scene-tile svg{width:100%;height:auto;display:block}.scene-tile input{opacity:0;pointer-events:none;position:absolute}.scene-tile:has(input:checked){border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.scene-tile:has(input:focus-visible){outline:2px solid var(--text);outline-offset:2px}.buddy .c-tail,.buddy .c-ears,.buddy .c-ear-l,.buddy .c-ear-r,.buddy .c-nose,.buddy .c-wing,.buddy .c-topknot,.buddy .c-arm-l,.buddy .c-arm-r,.buddy .c-curl,.buddy .c-twinkle path,.buddy .c-horn,.buddy .c-sparkle,.buddy .c-wing-l,.buddy .c-wing-r{transform-box:fill-box}.buddy[data-companion=sadie] .c-tail{transform-origin:0 90%;animation:.7s ease-in-out infinite alternate sadie-wag}.buddy[data-companion=sadie][data-excited] .c-tail{animation-duration:.18s}.buddy[data-companion=sadie][data-state=sleeping] .c-tail,.buddy[data-companion=sadie][data-state=fussy] .c-tail{animation:none}.buddy[data-companion=sadie] .c-ear-l{transform-origin:70% 10%;transition:transform .3s}.buddy[data-companion=sadie] .c-ear-r{transform-origin:30% 10%;transition:transform .3s}.buddy[data-companion=sadie][data-excited] .c-ear-l{transform:rotate(14deg)}.buddy[data-companion=sadie][data-excited] .c-ear-r{transform:rotate(-14deg)}@keyframes sadie-wag{0%{transform:rotate(-14deg)}to{transform:rotate(16deg)}}.buddy[data-companion=moon][data-state=sleeping] .p-bob{transform-origin:50%;animation:5s ease-in-out infinite moon-rock}@keyframes moon-rock{25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.buddy[data-companion=bunny] .c-nose{transform-origin:50%;animation:3.2s ease-in-out infinite bunny-nose}.buddy[data-companion=bunny] .c-ear-l,.buddy[data-companion=bunny] .c-ear-r{transform-origin:50% 100%;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.buddy[data-companion=bunny][data-excited] .c-ear-l,.buddy[data-companion=bunny][data-excited] .c-ear-r{transform:scaleY(1.12)}.buddy[data-companion=bunny][data-state=sleeping] .c-ear-l{transform:rotate(-70deg)translateY(4px)}.buddy[data-companion=bunny][data-state=sleeping] .c-ear-r{transform:rotate(70deg)translateY(4px)}@keyframes bunny-nose{0%,86%,to{transform:scale(1)}90%{transform:scale(1.18,.9)}94%{transform:scale(.94,1.08)}}.buddy[data-companion=duck] .c-wing{transform-origin:20% 40%}.buddy[data-companion=duck][data-excited] .c-wing{animation:.22s ease-in-out infinite alternate duck-flap}@keyframes duck-flap{to{transform:rotate(-24deg)}}.buddy .c-paci{display:none}.buddy[data-companion=peanut][data-state=sleeping] .c-paci{display:inline}.buddy[data-companion=peanut][data-state=sleeping] .p-mouth{display:none}.buddy[data-companion=peanut] .c-curl{transform-origin:50% 100%;animation:4.5s ease-in-out infinite peanut-curl}@keyframes peanut-curl{50%{transform:rotate(-8deg)}}.buddy[data-companion=peanut] .c-arm-l{transform-origin:100% 100%}.buddy[data-companion=peanut] .c-arm-r{transform-origin:0 100%}.buddy[data-companion=peanut][data-excited] .c-arm-l{animation:.3s ease-in-out infinite alternate peanut-wave-l}.buddy[data-companion=peanut][data-excited] .c-arm-r{animation:.3s ease-in-out infinite alternate peanut-wave-r}@keyframes peanut-wave-l{to{transform:rotate(28deg)}}@keyframes peanut-wave-r{to{transform:rotate(-28deg)}}.buddy[data-companion=star] .c-twinkle path{transform-origin:50%;animation:2.4s ease-in-out infinite star-twinkle}.buddy[data-companion=star] .c-twinkle path+path{animation-delay:-1.2s}.buddy[data-companion=star][data-excited] .c-twinkle path{animation-duration:.6s}@keyframes star-twinkle{50%{opacity:.4;transform:scale(.5)}}.buddy[data-companion=unicorn] .c-sparkle{opacity:0;transform-origin:50%}.buddy[data-companion=unicorn][data-excited] .c-sparkle{animation:.5s ease-in-out infinite alternate unicorn-sparkle}@keyframes unicorn-sparkle{0%{opacity:.3;transform:scale(.6)}to{opacity:1;transform:scale(1.2)rotate(30deg)}}.buddy[data-companion=bee] .c-wing-l{transform-origin:100% 100%;animation:.5s ease-in-out infinite alternate bee-flutter-l}.buddy[data-companion=bee] .c-wing-r{transform-origin:0 100%;animation:.5s ease-in-out infinite alternate bee-flutter-r}.buddy[data-companion=bee][data-excited] :is(.c-wing-l,.c-wing-r){animation-duration:.12s}.buddy[data-companion=bee][data-state=sleeping] :is(.c-wing-l,.c-wing-r){animation:none}@keyframes bee-flutter-l{to{transform:rotate(-14deg)}}@keyframes bee-flutter-r{to{transform:rotate(14deg)}}:root[data-theme=night] .buddy:not([data-companion=puff]),:root[data-theme=night] .buddy[data-companion=puff] .p-acc{filter:sepia(.5)saturate(.6)brightness(.7)}.buddy.preview,.buddy.preview *{animation:none!important}.buddy.preview .p-zs,.buddy.preview .p-shadow{display:none}.buddy-picker{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}.buddy-picker svg{aspect-ratio:120/96}.scene-tile.locked{cursor:default;color:var(--muted)}.scene-tile.locked svg{filter:grayscale()opacity(.45)}.scene-tile small{font-size:.7rem;font-weight:700;display:block}.rewards{padding:18px 18px max(18px, env(safe-area-inset-bottom));gap:14px;display:grid}.rewards p{margin:0}#rewards h3{margin:8px 0 -4px;font-size:.95rem;font-weight:800}#rewards h3 .muted{color:var(--muted);font-weight:700}.coin-summary{font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:1.05rem;display:flex}.coin.big{width:30px;height:30px;box-shadow:inset 0 0 0 3px color-mix(in oklab, var(--puff-prop) 70%, #8a5a00);flex:none}.coin-next{gap:8px;font-size:.92rem;display:grid}.coin-meter{background:color-mix(in oklab, var(--puff-prop) 16%, transparent);border-radius:5px;height:10px;overflow:hidden}.coin-meter span{border-radius:inherit;background:var(--puff-prop);height:100%;display:block}.medals{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.medal-art{width:100%;max-width:48px;margin:0 auto;display:block}.medal-art text{font:800 9px/1 system-ui,sans-serif}.medal-art[data-tier=bronze]{--m:#d9925a;--m2:#b8703c}.medal-art[data-tier=silver]{--m:#cfd6df;--m2:#9aa5b3}.medal-art[data-tier=gold]{--m:#f5cd6a;--m2:#d9a93a}.medal-art[data-tier=locked]{--m:color-mix(in oklab, var(--muted) 18%, transparent);--m2:color-mix(in oklab, var(--muted) 45%, transparent)}.medal-ribbon{fill:#e0525a}.medal-art[data-tier=bronze] .medal-ribbon{fill:#7b8cf0}.medal-art[data-tier=locked] .medal-ribbon{fill:color-mix(in oklab, var(--muted) 30%, transparent)}.medal-disc{fill:var(--m)}.medal-rim{fill:none;stroke:var(--m2);stroke-width:1.5px}.medal-art text{fill:#3a2a22}.medal-art[data-tier=locked] text{fill:var(--muted)}.unlocks{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.unlocks li{display:flex}.unlock-tile{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:center;cursor:pointer;border-radius:14px;align-content:start;gap:2px;padding:6px;font-size:.8rem;display:grid}.unlock-tile svg{aspect-ratio:120/96;width:100%;height:auto}.unlock-tile span{color:var(--muted);font-size:.72rem;line-height:1.35}.unlock-tile[aria-pressed=true]{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.unlock-tile:disabled{cursor:default}.unlock-tile:disabled svg{filter:grayscale()opacity(.45)}:root[data-theme=night] :is(.medal-art,.unlock-tile svg){filter:sepia(.5)saturate(.6)brightness(.7)}@media (prefers-reduced-motion:reduce){.buddy [class^=c-]{transition:none!important;animation:none!important}}.link-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.link-list li{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;padding:8px 10px;font-size:.85rem;font-weight:700;display:grid}.link-list code{color:var(--muted);overflow-wrap:anywhere;grid-column:1;font-size:.72rem}.link-list .chip{grid-area:1/2/span 2}.settings-section code{font-size:.8em}.splash{z-index:100;background:var(--bg);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;place-content:center;justify-items:center;gap:14px;display:grid;position:fixed;inset:0}.splash-mark{width:112px;height:112px;filter:drop-shadow(0 0 28px color-mix(in oklab, var(--c-feed) 45%, transparent));animation:.7s cubic-bezier(.2,.8,.2,1) both splash-rise;overflow:visible}.splash-star{transform-box:fill-box;transform-origin:50%;animation:.9s ease-out .25s both splash-twinkle}.splash-star.s2{animation-delay:.4s}.splash-name{letter-spacing:.02em;margin:0;font-size:2rem;font-weight:800;animation:.7s cubic-bezier(.2,.8,.2,1) .12s both splash-rise}.splash-caption{color:var(--muted);margin:-8px 0 0;font-size:1rem;font-weight:600;animation:.7s ease-out .3s both splash-fade}.splash.leaving{animation:.38s ease-in forwards splash-out}@keyframes splash-rise{0%{opacity:0;transform:translateY(10px)scale(.94)}}@keyframes splash-twinkle{0%{opacity:0;transform:scale(.2)}}@keyframes splash-out{to{opacity:0;visibility:hidden}}:root[data-theme=night] .splash-mark{opacity:.7;filter:none}:root[data-theme=night] :is(.splash-mark,.splash-name,.splash-star,.splash-caption){animation-name:splash-fade;animation-duration:.9s}@keyframes splash-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){:is(.splash-mark,.splash-name,.splash-star,.splash-caption){animation:none}}
