:root{font-family:"Noto Serif SC",Songti SC,STSong,Georgia,serif;color:#352f2a;background:#f4eee2;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 10% 0%,rgba(255,255,255,.8),transparent 30%),repeating-linear-gradient(0deg,transparent 0,transparent 31px,rgba(79,67,56,.035) 32px),#f4eee2}button{font:inherit}button:focus-visible{outline:3px solid #352f2a;outline-offset:3px}main{width:min(100% - 32px,980px);margin:0 auto;padding:42px 0 70px}.masthead{display:flex;align-items:center;justify-content:space-between;padding-bottom:26px;border-bottom:1px solid rgba(53,47,42,.2)}.brand{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;place-items:center;width:54px;height:54px;border:1px solid #5f704c;color:#5f704c;border-radius:50% 46% 52% 45%;font-size:23px;transform:rotate(-3deg)}.brand h1{margin:0;font-size:27px;letter-spacing:.22em;font-weight:700}.brand p{margin:4px 0 0;color:#857b70;font-size:13px}.today-stamp{display:flex;align-items:baseline;gap:7px;color:#6d6156}.today-stamp b{font:500 32px/1 Georgia,serif}.today-stamp span{font-size:13px}.quick-log{padding:48px 0 52px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.eyebrow{color:#8d7e70;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.22em}h2{margin:7px 0 0;font-size:clamp(24px,4vw,35px);font-weight:600;letter-spacing:.03em}.live-time{color:#70675f;font:italic 24px/1 Georgia,serif}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.action-grid button{position:relative;min-height:210px;padding:25px 20px 22px;border:0;color:#2f2a26;text-align:left;cursor:pointer;overflow:hidden;box-shadow:0 8px 24px #3e332a14;transition:transform .18s ease,box-shadow .18s ease}.action-grid button:hover{transform:translateY(-4px);box-shadow:0 14px 28px #3e332a21}.action-grid button:active{transform:translateY(1px) scale(.99)}.action-grid .feed{background:#efcbbd;border-radius:10px 44px 10px 10px}.action-grid .diaper{background:#cbd9c0;border-radius:10px}.action-grid .sleep{background:#c6c9df;border-radius:44px 10px 10px}.action-icon{display:grid;place-items:center;width:49px;height:49px;border:1px solid currentColor;border-radius:50%;font:25px/1 Georgia,serif;opacity:.72}.action-grid strong{display:block;margin-top:25px;font-size:25px;letter-spacing:.06em}.action-grid small{display:block;margin-top:6px;font:13px/1.4 Arial,sans-serif;opacity:.65}.tap-hint{position:absolute;right:18px;bottom:17px;font:10px/1 Arial,sans-serif;letter-spacing:.12em;opacity:.48}.journal{padding:28px clamp(20px,5vw,50px) 44px;background:#fffcf6b8;border:1px solid rgba(74,64,56,.13);box-shadow:0 14px 40px #463a3012}.date-nav{display:flex;align-items:center;justify-content:center;gap:28px;padding-bottom:25px;border-bottom:1px dashed rgba(57,50,44,.22)}.nav-button{width:39px;height:39px;border:1px solid #b6aa9c;border-radius:50%;background:transparent;cursor:pointer;color:#564d45}.nav-button:disabled{opacity:.25;cursor:default}.date-display{min-width:180px;padding:2px 12px;border:0;background:none;color:inherit;cursor:pointer}.date-display:disabled{cursor:default}.date-display span{display:block;font-size:22px;font-weight:700}.date-display small{display:block;margin-top:4px;color:#8b8178;font-size:12px}.journal-head{display:flex;align-items:baseline;justify-content:space-between;padding:28px 0 14px}.journal-head h2{font-size:21px}.journal-head>span{color:#8b8178;font-size:12px}.timeline{list-style:none;margin:0;padding:8px 0 0}.timeline li{display:grid;grid-template-columns:115px 38px 1fr;min-height:94px}.time-column{padding-top:8px;text-align:right}.time-column time{display:block;font:500 20px/1.1 Georgia,serif}.time-column span{display:block;margin-top:5px;color:#988d82;font:11px/1.4 Arial,sans-serif}.timeline-dot{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;margin:4px auto 0;border-radius:50%;color:#443c35;font-size:11px}.timeline li:not(:last-child) .timeline-dot:after{content:"";position:absolute;z-index:-1;top:28px;bottom:-66px;left:50%;width:1px;background:#d8cfc4}.feed-row .timeline-dot{background:#e7b7a6}.diaper-row .timeline-dot{background:#b9cda9}.sleep-row .timeline-dot{background:#b7bbd6}.record-card{display:flex;justify-content:space-between;align-items:start;margin-left:10px;padding:6px 0 22px 12px}.record-card strong{display:block;font-size:17px}.record-card span{display:block;margin-top:6px;color:#9c9186;font:11px/1 Arial,sans-serif}.record-card button{border:0;background:transparent;color:#9a8e82;font-size:11px;cursor:pointer;opacity:0;transition:opacity .15s}.timeline li:hover .record-card button,.record-card button:focus{opacity:1}.empty-state{padding:58px 20px 42px;text-align:center;color:#95897e}.empty-state>span{font-size:32px;color:#bda88f}.empty-state h3{margin:12px 0 8px;color:#655c54;font-size:18px}.empty-state p{margin:0 auto;max-width:380px;font-size:13px;line-height:1.8}.toast{position:fixed;left:50%;bottom:26px;z-index:10;transform:translate(-50%);padding:12px 20px;border-radius:3px;background:#352f2a;color:#fffaf2;box-shadow:0 8px 28px #0003;font-size:13px;animation:rise .25s ease-out}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}}@media(max-width:650px){main{width:min(100% - 24px,980px);padding-top:24px}.brand p{display:none}.brand-mark{width:45px;height:45px}.today-stamp b{font-size:27px}.quick-log{padding:34px 0 38px}.action-grid{gap:8px}.action-grid button{min-height:174px;padding:18px 12px}.action-grid .feed{border-radius:7px 30px 7px 7px}.action-grid .sleep{border-radius:30px 7px 7px}.action-icon{width:40px;height:40px;font-size:20px}.action-grid strong{margin-top:20px;font-size:20px}.tap-hint{display:none}.journal{padding-inline:14px}.date-nav{gap:10px}.date-display{min-width:150px}.timeline li{grid-template-columns:84px 30px 1fr}.time-column time{font-size:17px}.time-column span{font-size:9px}.record-card{margin-left:5px;padding-left:7px}.record-card button{opacity:.75;padding:4px}}@media(max-width:390px){.section-heading h2{font-size:22px}.live-time{font-size:18px}.action-grid small{font-size:11px}.action-grid strong{font-size:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
