.app-crash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,#fffdf8,#f0fbf4)}.app-crash-card{width:100%;max-width:340px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:32px 24px;border-radius:24px;background:#fffdfa;box-shadow:0 24px 60px #78603c2e}.app-crash-mark{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:28px;border-radius:18px;background:#58a37f24}.app-crash-title{margin:0;font-size:20px;color:#2f3a33}.app-crash-text{margin:0;font-size:14px;line-height:1.6;color:#6f6657}.app-crash-button{margin-top:6px;width:100%;padding:13px;border:none;border-radius:16px;font-size:15px;font-weight:600;color:#fff;background:linear-gradient(135deg,#4a6f5d,#58a37f);cursor:pointer;transition:opacity .15s ease,transform .1s ease}.app-crash-button:active{transform:scale(.98)}:root{font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1d2329;background:#f6f7f4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #1d2329;--muted: #69737b;--line: #dfe3dd;--paper: #fffdfa;--soft: #eef3ef;--sage: #5b7f6d;--sage-dark: #2f5e4d;--coral: #cf6958;--sky: #587fa8;--amber: #b9832d;--rose: #a95568}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}:where(#root,.app-portal) button,:where(#root,.app-portal) a,:where(#root,.app-portal) label,:where(#root,.app-portal) summary,[role=button],[role=tab],[role=menuitem],[role=option],:where(#root,.app-portal) nav,.mobile-tabbar,.mobile-tabbar *,.segmented-tabs,.segmented-tabs *,.screen-action-button,.screen-pill,.expense-month-head,.expense-month-head *,.expense-row,.expense-row *,.expense-row__category-label,.expense-row__bar,.expense-row__checkbox,.expense-row__attach,.ledger-bulk-bar,.ledger-bulk-bar *,.ledger-detail-edit-btn{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:where(#root,.app-portal) input,:where(#root,.app-portal) textarea,[contenteditable=true],[contenteditable=""]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}:where(#root,.app-portal) button,:where(#root,.app-portal) textarea{font:inherit}:where(#root,.app-portal) button{cursor:pointer}.app-shell{min-height:100vh;padding:calc(18px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left));background:linear-gradient(135deg,rgba(91,127,109,.12),transparent 28%),linear-gradient(315deg,rgba(207,105,88,.1),transparent 26%),#f6f7f4}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1480px;margin:0 auto 14px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#fffdfae0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-block,.topbar-metrics,.metric,.section-title,.head-actions,.quick-row,.composer-row,.composer-tools,.composer-input-line,.tag-row,.assistant-actions{display:flex;align-items:center}.brand-block{gap:12px;min-width:220px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;color:#fff;border-radius:8px;background:linear-gradient(135deg,var(--sage-dark),var(--sky))}.eyebrow{margin:0 0 3px;color:var(--muted);font-size:12px;letter-spacing:0}:where(#root,.app-portal) h1,:where(#root,.app-portal) h2,:where(#root,.app-portal) h3,:where(#root,.app-portal) p{margin-top:0}:where(#root,.app-portal) h1{margin-bottom:0;font-size:24px;line-height:1.1}:where(#root,.app-portal) h2{margin-bottom:0;font-size:17px;line-height:1.25}:where(#root,.app-portal) h3{margin-bottom:4px;font-size:14px;line-height:1.3}.topbar-metrics{flex-wrap:wrap;justify-content:flex-end;gap:8px}.metric{min-height:36px;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:13px;white-space:nowrap}.metric.status{color:var(--sage-dark);border-color:#5b7f6d59}.workspace{display:grid;grid-template-columns:minmax(230px,290px) minmax(420px,1fr) minmax(280px,360px);gap:14px;max-width:1480px;margin:0 auto;align-items:start}.left-rail,.right-rail{display:grid;gap:14px}.profile-panel,.memory-panel,.chat-panel,.insight-panel,.timeline-panel,.reminder-panel,.assistant-panel{border:1px solid var(--line);border-radius:8px;background:#fffdfaf0;box-shadow:0 18px 44px #2f403714}.profile-panel,.memory-panel,.insight-panel,.timeline-panel,.reminder-panel,.assistant-panel{padding:14px}.baby-photo{position:relative;height:150px;overflow:hidden;border-radius:8px;background:linear-gradient(135deg,#dfeadf,#f6d3c8 55%,#d7e4ef)}.photo-sky{position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(255,255,255,.75);border-radius:8px}.photo-baby{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:104px;height:104px;overflow:hidden;color:var(--sage-dark);border:0;border-radius:50%;background:#fffdfa;transform:translate(-50%,-50%)}.profile-copy{padding:13px 2px 12px}.profile-copy h2{font-size:22px}.profile-copy p{margin:5px 0 0;color:var(--muted);font-size:13px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.profile-grid div{min-height:64px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcf8}.profile-grid span,.care-tile span{display:block;color:var(--muted);font-size:12px}.profile-grid strong,.care-tile strong{display:block;margin-top:7px;font-size:15px;line-height:1.25}.section-title{gap:8px;margin-bottom:12px;color:var(--ink)}.section-title svg{color:var(--sage-dark)}.memory-list,.reminder-list{display:grid;gap:8px}.memory-item{padding:10px;border-left:3px solid var(--sage);border-radius:6px;background:#f6faf4}.memory-item p{margin:0 0 7px;color:#36433b;font-size:13px;line-height:1.45}.memory-item span{color:var(--sage-dark);font-size:12px;font-weight:700}.chat-panel{display:grid;grid-template-rows:auto auto minmax(360px,calc(100vh - 300px)) auto;min-height:calc(100vh - 112px);overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--line)}.head-actions{gap:8px}.icon-button,.tool-button,.send-button,.reminder-item button,.pending-item button{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.icon-button.active,.tool-button.active{color:#fff;border-color:var(--coral);background:var(--coral)}.icon-button.voice-toggle.active,.tool-button.voice-toggle.active{color:#24507c;border-color:#587fa880;background:#eef7ff}.thinking-button.active{border-color:var(--sky);background:var(--sky)}.latency-button.active{color:#fff;border-color:#6ba8df;background:#6ba8df}.send-button:disabled,.tool-button:disabled,.icon-button:disabled{color:#26303973;border-color:#c4ccc5b8;background:#f3f5f1;cursor:wait}.icon-button.visual-tool-gated,.tool-button.visual-tool-gated{color:#2630396b;border-color:#c4ccc5b8;background:#f3f5f1}.icon-button.visual-tool-gated:hover,.tool-button.visual-tool-gated:hover{border-color:#c4ccc5d1;box-shadow:none;transform:none}.composer textarea:disabled{color:#26303999;background:#f7f8f5}.chat-prelude{border-bottom:1px solid var(--line)}.compression-notice{position:relative;z-index:1;display:flex;align-items:center;gap:8px;margin:8px 16px 0;padding:8px 10px;border:1px solid rgba(88,127,168,.22);border-radius:8px;background:#f4f9fc;color:#37566d;font-size:.8rem;line-height:1.35}.compression-notice.done{border-color:#5b7f6d3d;background:#f3f8f1;color:#3e624d}.compression-notice.failed{border-color:#c9715e3d;background:#fff6f3;color:#8b4c3f}.system-weak-toast{position:fixed;top:auto;bottom:calc(96px + max(12px,env(safe-area-inset-bottom)));left:50%;z-index:120;display:flex;flex-direction:column;align-items:center;gap:7px;max-width:min(360px,calc(100vw - 32px));padding:9px 13px;border:1px solid rgba(91,127,109,.18);border-radius:999px;color:#2d4d42;background:#f7fbf6eb;box-shadow:0 12px 30px #23302b1f;font-size:13px;font-weight:800;line-height:1.25;text-align:center;pointer-events:none;transform:translate(-50%);animation:systemWeakToastIn .18s ease both;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.system-weak-toast.with-progress{width:min(320px,calc(100vw - 32px));padding:10px 13px 11px;border-radius:14px}.system-weak-toast-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0}.system-weak-message{min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.system-weak-percent{flex:0 0 auto;color:#457765;font-variant-numeric:tabular-nums;letter-spacing:0}.system-weak-toast.success{color:#315d48;background:#f3faf1f0}.system-weak-toast.warning{color:#7b5840;background:#fff8ecf0}.system-weak-progress{width:100%;height:5px;overflow:hidden;border-radius:999px;background:#5b7f6d24}.system-weak-progress i{display:block;height:100%;border-radius:inherit;background:#5aaf7f;transition:width .18s ease}.system-weak-progress.indeterminate i{width:42%;animation:systemWeakProgressIndeterminate .96s ease-in-out infinite}.quick-row{gap:8px;padding:12px 16px;overflow-x:auto}.quick-row button,.assistant-actions button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);white-space:nowrap}.quick-row .quick-action{min-height:38px;gap:7px;padding:0 11px 0 8px;border-radius:10px;font-size:14px;font-weight:700;line-height:1}.quick-action__icon{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:8px}.quick-action__icon svg{width:16px;height:16px;flex:0 0 auto}.quick-action__label{line-height:1}.quick-row button:hover,.assistant-actions button:hover,.icon-button:hover,.tool-button:hover{border-color:#587fa899}.message-list{display:flex;flex-direction:column;gap:12px;padding:16px;overflow-y:auto;background:linear-gradient(#fffdfab3,#fffdfab3),linear-gradient(90deg,rgba(91,127,109,.06) 1px,transparent 1px),linear-gradient(rgba(88,127,168,.05) 1px,transparent 1px);background-size:auto,28px 28px,28px 28px}.message{max-width:min(680px,86%);padding:12px 13px;border:1px solid var(--line);border-radius:8px;background:#fff}.message.parent{align-self:flex-end;border-color:#587fa847;background:#f3f8fb}.message.ai{align-self:flex-start;border-color:#5b7f6d47;background:#fbfdf9}.message-meta{display:flex;justify-content:space-between;gap:20px;margin-bottom:7px;color:var(--muted);font-size:12px}.message-meta-ai{justify-content:flex-end}.message p{margin-bottom:0;white-space:pre-line;color:#283139;font-size:14px;line-height:1.55}.message-text{display:flex;align-items:flex-start;gap:8px}.message-text.streaming{color:#365a7a}.loading-spinner{flex:0 0 15px;width:15px;height:15px;margin-top:3px;border:2px solid rgba(88,127,168,.22);border-top-color:var(--sky);border-radius:999px;animation:spin .82s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.reasoning-box{margin-bottom:10px;padding:9px 10px;border:1px dashed rgba(88,127,168,.32);border-radius:8px;background:#f3f8fbb8}.reasoning-box summary{color:var(--muted);font-size:12px;cursor:pointer}.reasoning-box p{max-height:180px;margin-top:7px;overflow-y:auto;color:#59646c;font-size:12px;line-height:1.45}.tool-activity-list{display:grid;gap:7px;margin-bottom:10px}.tool-activity{display:flex;align-items:center;gap:7px;min-height:30px;padding:6px 9px;border:1px solid rgba(88,127,168,.28);border-radius:8px;background:#f3f8fb;color:#3a5368;font-size:12px}.tool-activity.running svg{animation:pulse-tool 1s ease-in-out infinite}.tool-activity.completed{border-color:#5b7f6d4d;background:#eef6f0;color:var(--sage-dark)}.tool-activity.failed{border-color:#cf695859;background:#fff3ef;color:#9b4a3f}.tool-activity span{white-space:nowrap}.tool-activity small{min-width:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}@keyframes pulse-tool{0%,to{opacity:.55}50%{opacity:1}}.source-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.source-list a{max-width:100%;overflow:hidden;padding:4px 8px;border:1px solid rgba(88,127,168,.26);border-radius:999px;color:#365a7a;background:#f3f8fb;font-size:12px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.attachment-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.attachment-thumb{position:relative;display:grid;place-items:center;width:90px;height:70px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#eef3ef;color:inherit;cursor:zoom-in;padding:0}.attachment-thumb:disabled{cursor:default}.attachment-thumb img,.attachment-thumb video{width:100%;height:100%;object-fit:cover}.attachment-thumb span{position:absolute;left:6px;bottom:5px;padding:2px 6px;border-radius:5px;color:#fff;background:#1d2329b8;font-size:11px}.tag-row{flex-wrap:wrap;gap:5px;margin-top:10px}.tag-row span{padding:3px 7px;border-radius:999px;color:var(--sage-dark);background:#5b7f6d1f;font-size:12px}.composer{padding:12px;border-top:1px solid var(--line);background:#fffdfa}.pending-attachments{display:grid;gap:8px;width:100%;margin-bottom:10px;overflow:visible}.pending-attachment-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;width:100%;min-height:48px;padding:6px 8px 6px 12px;border:1px solid rgba(91,127,109,.18);border-radius:8px;background:#5b7f6d14;color:var(--ink);text-align:left;cursor:pointer}.pending-attachment-summary-copy{display:grid;gap:2px;min-width:0}.pending-attachment-count{overflow:hidden;color:var(--sage-dark);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.pending-attachment-summary-copy small{overflow:hidden;color:var(--muted);font-size:11px;line-height:15px;text-overflow:ellipsis;white-space:nowrap}.pending-attachment-limit{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border:1px solid rgba(91,127,109,.2);border-radius:999px;background:#5b7f6d14;color:var(--sage-dark);font-size:11px;font-weight:700;white-space:nowrap}.pending-attachment-limit.full{border-color:#ae6b3d47;background:#ae6b3d1f;color:#8b4b24}.pending-attachment-stack{display:inline-flex;align-items:center;min-width:0;padding-left:6px}.pending-stack-thumb{display:grid;place-items:center;width:24px;height:30px;margin-left:-6px;overflow:hidden;border:1px solid rgba(212,201,187,.9);border-radius:8px;background:#fffdfa;color:var(--muted);box-shadow:0 2px 8px #2f403714;font-size:11px;font-weight:700}.pending-stack-thumb:first-child{margin-left:0}.pending-stack-thumb img{width:100%;height:100%;object-fit:cover}.pending-stack-thumb.overflow{background:#f5eee4;color:#8b4b24}.pending-attachment-chevron{color:var(--muted);transition:transform .16s ease}.pending-attachments.expanded .pending-attachment-chevron{transform:rotate(180deg)}.pending-attachment-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:144px;padding-right:2px;overflow-y:auto;overscroll-behavior:contain}.pending-item{display:grid;grid-template-columns:34px minmax(80px,150px) 28px;align-items:center;gap:7px;max-width:100%;min-height:40px;padding:4px 5px;border:1px solid var(--line);border-radius:8px;background:#fff}.pending-attachment-list .pending-item{grid-template-columns:34px minmax(0,1fr) 28px;min-width:0;max-width:none}.pending-attachment-list .pending-item.upload-item{grid-template-columns:34px minmax(0,1fr)}.pending-item img{width:34px;height:30px;object-fit:cover;border-radius:6px}.pending-preview-button{display:grid;place-items:center;width:34px;height:30px;overflow:hidden;border:0;border-radius:6px;background:#eef3ef;color:var(--muted);cursor:zoom-in;padding:0}.pending-preview-button:disabled{cursor:default}.pending-preview-button img{width:100%;height:100%;object-fit:cover}.pending-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.pending-item button{width:26px;height:26px}.pending-item .pending-remove-button{align-self:center;justify-self:center;width:28px;height:28px;min-width:28px;padding:0;border:1px solid rgba(149,167,155,.28);border-radius:999px;background:#fffdfaeb;color:#2f4037c7;box-shadow:0 2px 8px #2f403714}.pending-item .pending-remove-button:hover{border-color:#ae6b3d52;background:#fff7f0;color:#8b4b24}.pending-item .pending-remove-button svg{width:13px;height:13px}.pending-item .pending-preview-button{width:34px;height:30px}.pending-item.upload-item{grid-template-columns:34px minmax(120px,180px);padding-right:8px}.upload-state-icon{cursor:default}.upload-copy{display:grid;gap:3px;min-width:0}.upload-copy span{color:var(--ink)}.upload-copy small{overflow:hidden;color:var(--muted);font-size:11px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.upload-progress-track{height:4px;overflow:hidden;border-radius:999px;background:#5b7f6d24}.upload-progress-bar{height:100%;border-radius:inherit;background:#58a37f;transition:width .2s ease}.upload-item.failed{border-color:#bd5b5059}.upload-item.failed .upload-progress-bar{background:#bd5b50}.upload-item.done .upload-progress-bar{background:#4d9279}.media-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;width:100vw;max-width:100vw;height:100dvh;overflow:hidden;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);background:#05070a;animation:previewBackdropIn .18s ease both;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none}.media-preview-topbar{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:flex-start;gap:12px;padding:calc(env(safe-area-inset-top) + 10px) 14px 22px;background:linear-gradient(to bottom,#0000008c,#0000);pointer-events:none}.media-preview-topbar>*{pointer-events:auto}.preview-close{flex:none;display:grid;place-items:center;width:36px;height:36px;padding:0;border:none;border-radius:999px;background:#00000073;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.media-preview-topinfo{display:flex;flex-direction:column;gap:2px;min-width:0;padding-top:2px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.media-preview-topinfo strong{font-size:15px;line-height:1.25}.media-preview-topinfo span{font-size:12px;opacity:.85}.media-preview-topinfo small{font-size:11px;opacity:.7}.media-preview-menu{position:relative;flex:none;margin-left:auto}.preview-menu-button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:none;border-radius:999px;background:#00000073;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.preview-menu-popover{position:absolute;top:44px;right:0;z-index:3;display:flex;flex-direction:column;min-width:132px;padding:6px;border-radius:12px;background:#1c1c1ef5;box-shadow:0 12px 30px #00000073;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.preview-menu-popover button{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:#fff;font-size:14px;line-height:1.2;white-space:nowrap;text-align:left;cursor:pointer}.preview-menu-popover button svg{flex:none}.preview-menu-popover button:active{background:#ffffff1f}.preview-menu-popover button.danger{color:#ff6b6b}.preview-video-player{position:relative;display:grid;place-items:center;width:100%;height:100%;min-height:0}.preview-video-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#05070a;pointer-events:none;opacity:1;transition:opacity .2s ease}.preview-video-poster.is-hidden{opacity:0}.preview-video-toggle{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;display:grid;place-items:center;width:64px;height:64px;padding:0;border:none;border-radius:999px;background:#0000006b;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .2s ease}.preview-video-player.controls-visible .preview-video-toggle{opacity:1;visibility:visible}.preview-video-progress{position:absolute;left:0;right:0;bottom:0;height:30px;cursor:pointer;touch-action:none;opacity:0;visibility:hidden;transition:opacity .2s ease}.preview-video-player.controls-visible .preview-video-progress{opacity:1;visibility:visible}.preview-video-progress-track{position:absolute;left:0;right:0;bottom:8px;height:3px;border-radius:999px;background:#ffffff4d}.preview-video-progress-fill{position:absolute;left:0;bottom:8px;height:3px;border-radius:999px;background:#fff}.media-preview.closing{pointer-events:none;animation:previewBackdropOut .18s ease both}.media-preview figure{--preview-details-height: calc(96px + env(safe-area-inset-bottom)) ;display:grid;grid-template-rows:minmax(0,1fr);gap:0;width:100vw;max-width:100vw;height:100%;overflow:hidden;margin:0;transform-origin:var(--preview-to, center);animation:previewZoomIn .3s cubic-bezier(.2,.82,.24,1) both}.media-preview figure.album-preview-figure{grid-template-rows:minmax(0,1fr)}.media-preview.closing figure{animation:previewZoomOut .22s ease both}.media-preview.vt-mode,.media-preview.vt-mode.closing,.media-preview.vt-mode figure,.media-preview.vt-mode.closing figure{animation:none}.media-preview.vt-mode figure{view-transition-name:preview-media}::view-transition-group(preview-media){animation-duration:.3s;animation-timing-function:cubic-bezier(.2,.82,.24,1)}::view-transition-old(root),::view-transition-new(root){animation-duration:.24s}::view-transition{pointer-events:none}.media-preview-carousel{align-self:stretch;justify-self:stretch;width:100vw;height:100%;min-height:0;overflow:hidden;background:#05070a;touch-action:none}.media-preview-track{display:grid;grid-template-columns:repeat(3,100vw);width:300vw;height:100%;transform:translate3d(-100vw,0,0);will-change:transform;backface-visibility:hidden;transform-style:preserve-3d}.media-preview-slide{position:relative;display:grid;place-items:center;width:100vw;height:100%;min-width:0;overflow:hidden;background:#05070a;contain:layout paint size;isolation:isolate}.media-preview .media-preview-slide img,.media-preview .media-preview-slide video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;transform-origin:center;will-change:transform}.media-preview .media-preview-slide img{transition:none}.media-preview .media-preview-slide video{pointer-events:auto}.media-preview img,.media-preview video{align-self:center;justify-self:center;width:100vw;height:100%;max-width:100vw;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));object-fit:contain;border-radius:0;background:#05070a;cursor:zoom-out;backface-visibility:hidden}.media-preview .album-preview-figure img,.media-preview .album-preview-figure video{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.media-preview .album-preview-figure .media-preview-slide img,.media-preview .album-preview-figure .media-preview-slide video{max-height:none}.media-preview img{touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .16s ease;cursor:zoom-in}.media-preview img.is-zoomed{cursor:grab}.media-preview img.is-zoomed:active{cursor:grabbing}.media-preview figcaption{overflow:hidden;min-height:34px;padding:8px 54px max(8px,env(safe-area-inset-bottom));color:#fff;font-size:13px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.media-preview figcaption.media-preview-details{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;height:var(--preview-details-height);min-height:0;padding:10px 12px max(10px,env(safe-area-inset-bottom));overflow:hidden;color:#fff;text-align:left;white-space:normal;background:#05070adb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.media-preview-meta{display:grid;gap:2px;min-width:0}.media-preview-meta strong,.media-preview-meta span,.media-preview-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-preview-meta strong{font-size:15px;line-height:1.3}.media-preview-meta span{color:#ffffffb8;font-size:12px}.media-preview-meta small{color:#ffffff94;font-size:11px;font-weight:700}.media-preview-tags{display:flex;flex-wrap:nowrap;gap:5px;min-width:0;overflow:hidden}.media-preview-tags span{flex:0 0 auto;padding:3px 7px;border-radius:999px;color:#ffffffe0;background:#ffffff1f;font-size:11px}.media-preview-actions{display:flex;flex:0 0 auto;gap:7px;grid-row:1 / span 2}.media-preview-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;gap:5px;padding:0 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#f7fff9;background:#58a37fb8;font-size:12px;font-weight:800}.media-preview-actions button.danger{background:#a64c4fc7}@media (max-width: 420px){.media-preview figure.album-preview-figure{--preview-details-height: calc(104px + env(safe-area-inset-bottom)) }.media-preview figcaption.media-preview-details{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px}.media-preview-actions{grid-row:1 / span 2;gap:5px}.media-preview-actions button{min-height:32px;padding:0 9px}}.alarm-ringing-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;grid-template-rows:minmax(260px,1fr) auto;gap:18px;width:100vw;height:100dvh;padding:max(24px,env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom));overflow:hidden;background:radial-gradient(circle at 50% 18%,rgba(255,237,190,.72),transparent 34%),linear-gradient(180deg,#fff7e9,#eff9f3)}.alarm-ringing-scene{position:relative;display:grid;min-height:0;place-items:center;overflow:hidden;border:1px solid rgba(237,216,187,.9);border-radius:8px;background:#fffdf8d6;box-shadow:0 22px 50px #6c4f3124}.alarm-ringing-scene img{position:relative;z-index:1;width:min(100%,520px);height:100%;object-fit:contain}.alarm-ringing-glow{position:absolute;top:20%;right:14%;bottom:20%;left:14%;border-radius:999px;background:#66b2e638;filter:blur(22px);animation:alarmPulse 1.7s ease-in-out infinite}.alarm-ringing-card{display:grid;gap:10px;width:min(100%,430px);justify-self:center;padding:22px 18px;border:1px solid rgba(223,200,171,.92);border-radius:8px;background:#fffdf8f5;box-shadow:0 18px 44px #5e4c3429;text-align:center}.alarm-ringing-card h2{margin:0;color:var(--ink);font-size:30px;line-height:1.15}.alarm-ringing-rule,.alarm-ringing-due,.alarm-ringing-helper{margin:0;color:var(--muted);line-height:1.55}.alarm-ringing-rule{color:#566f63;font-weight:700}.alarm-ringing-close{width:100%;min-height:56px;margin-top:8px;border-radius:8px;color:#fff;background:linear-gradient(180deg,#67b88b,#4d9d74);box-shadow:0 14px 26px #3d875f38}@keyframes alarmPulse{0%,to{opacity:.65;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}.composer-row{gap:8px}.composer-tools{flex:0 1 auto;gap:8px;min-width:0}.composer-input-line{flex:1 1 260px;gap:8px;min-width:0}.model-select{flex:0 1 220px;width:220px;min-width:160px}.composer textarea{flex:1;min-height:42px;max-height:130px;padding:10px 12px;resize:vertical;border:1px solid var(--line);border-radius:8px;outline:none;background:#fff;color:var(--ink);line-height:1.45}.composer textarea:focus{border-color:var(--sky);box-shadow:0 0 0 3px #587fa824}.send-button{flex:0 0 38px;color:#fff;border-color:var(--sage-dark);background:var(--sage-dark)}.care-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.care-tile{min-height:118px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff}.care-tile svg{margin-bottom:9px}.care-tile small{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.35}.care-tile.milk svg{color:var(--sky)}.care-tile.sleep svg{color:#6b629f}.care-tile.soothe svg{color:var(--coral)}.care-tile.food svg{color:var(--amber)}.timeline{display:grid;gap:10px}.timeline-item{display:grid;grid-template-columns:52px 1fr;gap:10px}.timeline-item time{color:var(--muted);font-size:12px;line-height:1.35}.timeline-item div{padding-left:10px;border-left:2px solid rgba(91,127,109,.3)}.timeline-item p{margin-bottom:0;color:var(--muted);font-size:13px;line-height:1.45}.reminder-item{display:grid;grid-template-columns:34px 1fr 38px;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.reminder-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:#fff;background:var(--sage)}.reminder-item.vaccine .reminder-icon{background:var(--rose)}.reminder-item h3,.reminder-item p{margin:0}.reminder-item p{color:var(--muted);font-size:12px}.reminder-item button{width:34px;height:34px;color:var(--sage-dark)}.assistant-card{display:grid;grid-template-columns:24px 1fr;gap:9px;padding:11px;border:1px solid rgba(169,85,104,.25);border-radius:8px;background:#fff7f6;color:#703845}.assistant-card p{margin:0;font-size:12px;line-height:1.45}.native-card{margin-top:9px;border-color:#587fa83d;background:#f4f9fc;color:#31506f}.assistant-actions{gap:8px;margin-top:10px}.mobile-tabbar{display:none}:where(#root,.app-portal) button{transition:transform .1s ease-out,box-shadow .12s ease-out}:where(#root,.app-portal) button:active:not(:disabled){transform:scale(.97)}@media (hover: hover){:where(#root,.app-portal) button:hover:not(:disabled){box-shadow:0 2px 8px #b48c501f}}@media (prefers-reduced-motion: reduce){:where(#root,.app-portal) button{transition:none!important}:where(#root,.app-portal) button:active{transform:none!important}}@media (max-width: 1180px){.workspace{grid-template-columns:260px minmax(420px,1fr)}.right-rail{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){html,body,#root{width:100%;max-width:100vw;height:100%;overflow:hidden}body{position:fixed;top:0;right:0;bottom:0;left:0;overscroll-behavior:none;overscroll-behavior-x:none;touch-action:pan-y}.app-shell{--mobile-gutter: 10px;--mobile-tabbar-height: 72px;display:flex;flex-direction:column;height:100dvh;min-height:100dvh;overflow:hidden;padding:calc(var(--mobile-gutter) + env(safe-area-inset-top)) calc(var(--mobile-gutter) + env(safe-area-inset-right)) calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom)) calc(var(--mobile-gutter) + env(safe-area-inset-left));background:linear-gradient(180deg,#f6f7f4f5,#f6f7f4fa),#f6f7f4}.topbar{display:none;flex:0 0 auto;align-items:flex-start;flex-direction:column;gap:12px;width:100%;margin:0 0 10px;padding:12px;border-radius:8px;box-shadow:none}.mobile-tab-today .topbar{display:flex}.brand-block{min-width:0}.brand-mark{width:40px;height:40px}:where(#root,.app-portal) h1{font-size:21px}.topbar-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}.metric{width:100%;min-width:0;min-height:38px;justify-content:flex-start;padding:0 10px;white-space:normal}.metric span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace{display:block;flex:1 1 auto;width:100%;min-height:0;max-width:none;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.left-rail,.right-rail,.chat-panel{display:none}.mobile-tab-records .workspace{overflow:hidden}.mobile-tab-today .left-rail,.mobile-tab-today .right-rail,.mobile-tab-growth .right-rail{display:grid;grid-template-columns:1fr;gap:10px}.mobile-tab-today .timeline-panel,.mobile-tab-today .reminder-panel,.mobile-tab-growth .insight-panel,.mobile-tab-growth .reminder-panel,.mobile-tab-growth .assistant-panel,.mobile-tab-today .assistant-panel .assistant-actions{display:none}.profile-panel,.memory-panel,.insight-panel,.timeline-panel,.reminder-panel,.assistant-panel,.chat-panel{border-radius:8px;box-shadow:none}.profile-panel,.memory-panel,.insight-panel,.timeline-panel,.reminder-panel,.assistant-panel{padding:12px}.mobile-tab-today .left-rail{margin-bottom:10px}.chat-panel{grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;min-height:0;overflow:hidden;border:0;background:transparent}.chat-head{align-items:center;padding:10px 2px;border-bottom:0}.chat-head h2{font-size:19px}.head-actions{display:none}.icon-button,.tool-button,.send-button,.reminder-item button,.pending-item button{width:44px;height:44px;min-width:44px}.quick-row{gap:8px;margin:0;padding:0 10px 10px;border-bottom:0;scroll-padding-inline:10px;scrollbar-width:none}.quick-row::-webkit-scrollbar,.pending-attachments::-webkit-scrollbar,.pending-attachment-list::-webkit-scrollbar{display:none}.quick-row button,.assistant-actions button{min-height:40px;padding:0 12px}.message-list{min-height:0;margin:0 -2px;padding:12px 2px 10px;overflow-y:auto;border-radius:8px;background:linear-gradient(#fffdfab8,#fffdfab8),linear-gradient(90deg,rgba(91,127,109,.05) 1px,transparent 1px),linear-gradient(rgba(88,127,168,.05) 1px,transparent 1px);background-size:auto,26px 26px,26px 26px;-webkit-overflow-scrolling:touch}.message{max-width:92%;min-width:0;padding:11px 12px;overflow-wrap:anywhere}.message p,.reasoning-box p,.timeline-item p,.assistant-card p{overflow-wrap:anywhere;word-break:break-word}.message-meta{gap:12px}.reasoning-box{padding:8px 9px}.reasoning-box p{max-height:150px}.tool-activity{align-items:flex-start;flex-wrap:wrap}.tool-activity span{white-space:normal}.tool-activity small{flex:1 1 100%;white-space:normal}.source-list a{white-space:normal}.attachment-strip{gap:7px}.attachment-thumb{width:82px;height:64px}.composer{flex:0 0 auto;margin-top:10px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fffdfafa}.pending-attachments{width:100%;margin-bottom:8px;overscroll-behavior-x:contain;scrollbar-width:none}.pending-attachment-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:134px}.pending-item{grid-template-columns:38px minmax(72px,1fr) 32px;min-width:min(260px,82vw);max-width:100%}.pending-item.upload-item{grid-template-columns:38px minmax(140px,1fr);min-width:min(260px,100%)}.pending-item button{width:32px;height:32px;min-width:32px}.composer-row{display:grid;gap:8px}.composer-input-line{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;min-width:0}.composer-tools{display:grid;grid-template-columns:minmax(0,1fr) repeat(4,44px);gap:8px;min-width:0}.model-select{width:100%;min-width:0;font-size:13px}.model-select .story-select-trigger{min-height:44px;padding-right:9px;padding-left:9px}.composer textarea{width:100%;min-width:0;min-height:44px;max-height:116px;resize:none}.send-button{flex-basis:44px}.care-grid,.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.baby-photo{height:132px}.timeline{gap:12px}.timeline-item{grid-template-columns:48px minmax(0,1fr)}.timeline-item div{min-width:0}.reminder-item{grid-template-columns:38px minmax(0,1fr) 44px;padding:10px}.reminder-icon{width:38px;height:38px}.reminder-item button{width:44px;height:44px}.assistant-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.assistant-actions button{justify-content:center}.mobile-tabbar{position:fixed;right:0;bottom:0;left:0;z-index:30;display:grid;grid-template-columns:repeat(var(--tab-count, 5),minmax(0,1fr));gap:4px;min-height:calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom));padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid rgba(223,227,221,.94);background:#fffdfaf5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-tabbar button{display:grid;place-items:center;gap:3px;min-width:0;min-height:48px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px}.mobile-tabbar button.active{color:var(--sage-dark);background:#5b7f6d1f}}@media (max-width: 560px){.app-shell{--mobile-gutter: 8px}.topbar-metrics,.care-grid,.profile-grid{grid-template-columns:1fr}.message{max-width:96%}.chat-head{align-items:flex-start}.chat-head .eyebrow{display:none}.composer-tools{grid-template-columns:minmax(0,1fr) repeat(4,44px)}}html,body,#root{width:100%;max-width:100%;height:var(--app-viewport-height, 100vh);min-height:var(--app-viewport-height, 100vh);overflow:hidden;overflow-x:hidden;overscroll-behavior:none;overscroll-behavior-x:none}html{position:fixed;top:0;right:0;bottom:0;left:0}body{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;min-width:0;max-width:100vw;overscroll-behavior:none;background:linear-gradient(135deg,rgba(91,127,109,.1),transparent 30%),linear-gradient(315deg,rgba(88,127,168,.08),transparent 28%),#eef2ed;touch-action:pan-y}body.app-modal-open,body.ledger-modal-open,body.reminder-modal-open,body.records-drawer-open{touch-action:none}body.app-modal-open .workspace{z-index:60}body.app-modal-open .mobile-tabbar,body.records-drawer-open .mobile-tabbar{opacity:0;pointer-events:none;transform:translateY(100%)}body.ledger-modal-open .mobile-tab-ledger .ledger-screen,body.reminder-modal-open .mobile-tab-profile.profile-reminders-open .reminders-screen{animation:none;transform:none}body.keyboard-open .mobile-tabbar{opacity:0;pointer-events:none;transform:translateY(100%)}:where(#root,.app-portal) input,:where(#root,.app-portal) select,:where(#root,.app-portal) button,:where(#root,.app-portal) textarea{font:inherit}#root{width:100%;max-width:min(430px,100vw);min-width:0;height:var(--app-viewport-height, 100vh);min-height:var(--app-viewport-height, 100vh);max-height:var(--app-viewport-height, 100vh);overflow:hidden;overflow-x:clip}.app-shell{--mobile-gutter: 10px;--mobile-tabbar-height: 72px;position:relative;display:flex;flex-direction:column;width:100%;max-width:min(430px,100vw);height:var(--app-viewport-height, 100vh);max-height:var(--app-viewport-height, 100vh);min-height:var(--app-viewport-height, 100vh);margin:0 auto;overflow:hidden;overflow-x:clip;padding:calc(var(--mobile-gutter) + env(safe-area-inset-top)) calc(var(--mobile-gutter) + env(safe-area-inset-right)) calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom)) calc(var(--mobile-gutter) + env(safe-area-inset-left));border-right:1px solid rgba(223,227,221,.84);border-left:1px solid rgba(223,227,221,.84);background:linear-gradient(180deg,#f6f7f4f7,#f6f7f4fc),#f6f7f4;box-shadow:0 22px 70px #2f403729}.app-shell *,.app-shell *:before,.app-shell *:after{min-width:0}.workspace,.records-screen,.ledger-screen,.album-screen,.reminders-screen,.profile-screen,.chat-panel,.composer,.composer-row,.composer-tools,.composer-input-line,.message-list,.attachment-strip,.pending-attachments,.pending-attachment-summary,.pending-attachment-summary-copy,.pending-attachment-list,.pending-item,.upload-copy,.auth-panel{max-width:100%;overflow-x:clip}.composer,.composer-row,.composer-tools,.story-select{overflow:visible}.composer{position:relative;z-index:40}.story-select.open{z-index:120}:where(#root,.app-portal) img,:where(#root,.app-portal) video,:where(#root,.app-portal) canvas{max-width:100%}.auth-shell{align-items:center;justify-content:flex-start;overflow-x:hidden;overflow-y:auto;padding:calc(var(--mobile-gutter) + env(safe-area-inset-top)) calc(var(--mobile-gutter) + env(safe-area-inset-right)) calc(var(--mobile-gutter) + env(safe-area-inset-bottom)) calc(var(--mobile-gutter) + env(safe-area-inset-left));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.auth-panel{display:grid;gap:18px;width:100%;min-width:0;margin-block:auto;padding:22px 18px;border:1px solid var(--line);border-radius:8px;background:#fffdfaf5;box-shadow:0 18px 48px #2f40371a}.auth-panel h1{margin:0;font-size:25px}.auth-panel p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.auth-form{display:grid;gap:12px}.auth-form label{display:grid;gap:7px}.auth-form label span{color:var(--muted);font-size:12px}.auth-join-options{display:grid;gap:10px;padding:12px;border:1px solid rgba(234,223,208,.95);border-radius:10px;background:#fffdf8d1}.auth-join-options.compact{border-color:#70a68b5c;background:linear-gradient(180deg,#f6fff9f0,#fffdf8e6)}.auth-join-options>div{display:grid;gap:3px}.auth-join-options strong{color:var(--ink);font-size:14px}.auth-join-options small{color:var(--muted);font-size:12px;line-height:1.4}.auth-permission-choice{display:grid;gap:7px}.auth-permission-choice>span{color:var(--muted);font-size:12px}.auth-choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.auth-choice-row button{position:relative;display:grid;gap:4px;min-height:62px;padding:10px 30px 10px 10px;border:1px solid rgba(234,223,208,.95);border-radius:8px;background:#fffdf8;color:var(--ink);text-align:left;overflow-wrap:anywhere;box-shadow:inset 0 0 0 1px #ffffffb8,0 8px 18px #6a4e300a;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.auth-choice-row button.selected{color:var(--ink);transform:none}.auth-choice-row button.selected:after{position:absolute;top:9px;right:9px;display:grid;width:18px;height:18px;place-items:center;border-radius:999px;background:currentColor;color:#fff;font-size:12px;font-weight:900;line-height:1;content:"✓"}.auth-choice-row button.selected:first-child{border-color:#58a37f;background:linear-gradient(180deg,#fffdf8,#f0fbf4);color:#2f745e;box-shadow:inset 0 0 0 1px #58a37f47,0 0 0 3px #58a37f21,0 10px 20px #2f745e14}.auth-choice-row button.selected:nth-child(2){border-color:#6aa4d9;background:linear-gradient(180deg,#fffdf8,#f2f9ff);color:#356f9e;box-shadow:inset 0 0 0 1px #6aa4d947,0 0 0 3px #6aa4d921,0 10px 20px #3573a314}.auth-choice-row strong{font-size:14px}.auth-choice-row button small{color:var(--muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere}.auth-form .auth-switch-row{grid-template-columns:1fr auto;align-items:center;gap:12px;min-height:58px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fffdf8}.auth-switch-row span{display:grid;gap:3px}.auth-switch-row strong{color:var(--ink);font-size:14px}.auth-switch-row small{color:var(--muted);font-size:12px;line-height:1.35}.auth-form .auth-switch-row input[type=checkbox]{width:46px;height:26px;margin:0;accent-color:var(--sage-dark)}.auth-form input,.auth-form select{width:100%;height:46px;padding:0 12px;border:1px solid var(--line);border-radius:8px;outline:none;background:#fff;color:var(--ink);font-size:15px}.auth-form input:focus,.auth-form select:focus{border-color:var(--sky);box-shadow:0 0 0 3px #587fa826}.auth-form>button,.onboarding-actions button{min-height:46px;border:1px solid var(--sage-dark);border-radius:8px;background:var(--sage-dark);color:#fff}.auth-form>button:disabled{cursor:not-allowed;opacity:.68}.auth-error{padding:10px 11px;border:1px solid rgba(169,85,104,.28);border-radius:8px;background:#a9556814;color:#8f3048!important}.readonly-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 11px;border:1px solid rgba(106,164,217,.24);border-radius:999px;background:#eef8ff;color:#436b84;font-size:12px;font-weight:800}.readonly-copy,.viewer-empty-copy{margin:0;padding:12px;border:1px solid rgba(106,164,217,.22);border-radius:8px;background:#eef8ffc2;color:#436b84;font-size:13px;line-height:1.55}.onboarding-panel{align-self:center}.onboarding-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px}.onboarding-head span,.onboarding-note{color:var(--muted);font-size:13px}.onboarding-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.onboarding-actions button:only-child{grid-column:1 / -1}.onboarding-actions .quiet{border-color:var(--line);background:#fff;color:var(--muted)}.topbar,.left-rail,.right-rail,.records-screen,.ledger-screen,.album-screen,.reminders-screen,.profile-screen,.chat-panel{display:none}.workspace{display:block;flex:1 1 auto;width:100%;min-height:0;max-width:none;margin:0;overflow:hidden}.mobile-tab-records .records-screen,.mobile-tab-ledger .ledger-screen,.mobile-tab-album .album-screen,.mobile-tab-profile .profile-screen{display:block}.mobile-tab-profile.profile-reminders-open .profile-screen{display:none}.mobile-tab-profile.profile-reminders-open .reminders-screen{display:block;grid-column:1 / -1;justify-self:center;width:min(560px,100%);max-width:100%;padding:0 10px 18px;overflow-y:auto}.mobile-tab-records .records-screen,.mobile-tab-ledger .ledger-screen,.mobile-tab-album .album-screen,.mobile-tab-profile.profile-reminders-open .reminders-screen,.mobile-tab-profile .profile-screen{animation:pageSoftIn .24s ease both}.records-screen,.ledger-screen,.album-screen,.reminders-screen,.profile-screen{height:100%;min-height:0;overflow-y:auto;padding-bottom:12px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.chat-panel{grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;min-height:0;overflow:hidden;border:0;background:transparent;box-shadow:none}.records-assistant-close{display:none}.screen-head,.chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 2px;border-bottom:0}.screen-head>div,.chat-head>div,.summary-title>div,.daily-care-bar-card header>div,.week-care-metric header>div,.reminder-copy,.album-card-body,.profile-card-copy{min-width:0}.chat-head h2,.screen-head h2{font-size:20px;line-height:1.2;overflow-wrap:anywhere}.chat-head .eyebrow,.head-actions{display:none}.screen-pill,.screen-action-button,.small-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--sage-dark);font-size:12px;white-space:nowrap}.screen-pill{flex:0 1 auto;max-width:42%;overflow:hidden;text-overflow:ellipsis}.screen-action-button{min-width:68px;color:var(--sage-dark);cursor:pointer}.screen-action-button.quiet{color:var(--muted)}.screen-action-button.danger{border-color:#dd867680;color:#fffaf5;background:linear-gradient(180deg,#c4605bfa,#ab4a50fa),#b55357;box-shadow:0 10px 20px #a14a4a2e}.small-action{cursor:pointer}.quick-row{gap:8px;margin:0;padding:0 10px 10px;overflow-x:auto;border-bottom:0;overscroll-behavior-x:contain;scroll-padding-inline:10px;scrollbar-width:none}.quick-row button,.assistant-actions button,.screen-action-button,.small-action,.mobile-tabbar button{min-width:0}.quick-row::-webkit-scrollbar,.pending-attachments::-webkit-scrollbar,.pending-attachment-list::-webkit-scrollbar{display:none}.quick-row button,.assistant-actions button{min-height:40px;padding:0 12px;white-space:nowrap}.quick-row .quick-action{min-height:36px;gap:6px;padding:0 9px 0 7px;border-radius:10px;font-size:13px}.records-assistant-entry{display:grid;gap:9px;margin-top:10px;padding:2px 0 4px;border:0;border-radius:0;background:transparent}.records-assistant-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.records-assistant-head strong,.ledger-ai-entry-card strong{display:block;color:var(--ink);font-size:14px;line-height:1.25}.records-assistant-head small,.ledger-ai-entry-card small{display:block;margin-top:3px;color:#5b6f68c7;font-size:12px;line-height:1.35}.records-assistant-actions,.ledger-ai-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.records-assistant-actions button,.ledger-ai-actions button,.records-assistant-body button,.records-manual-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:0 10px;border:1px solid rgba(91,127,109,.28);border-radius:8px;background:#fffdf8f5;color:var(--sage-dark);font-size:12px;font-weight:800;white-space:nowrap}.records-assistant-actions .quiet,.records-manual-actions .quiet{border-color:#c4ccc5c7;color:var(--muted)}.records-assistant-actions button,.records-assistant-body button{min-height:32px;padding:0 11px;border:1px solid rgba(91,127,109,.24);border-radius:999px;background:#679e7f21;color:#426b5c;box-shadow:0 1px #ffffffc7 inset}.records-assistant-actions .quiet{border-color:#c4ccc5b8;background:#fffdf8e6;color:#5b6f68d1}.records-assistant-body button{min-height:auto;padding:0 2px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--sage-dark)}.records-quick-row{align-items:center;flex-wrap:wrap;gap:6px;margin:-2px 0 0;padding:0;overflow:visible}.records-quick-row:before{content:"试试";color:#5b6f689e;font-size:12px;font-weight:800}.records-prompt-link{min-height:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--sage-dark)!important;font-size:13px;font-weight:900;line-height:22px;transform:none!important;-webkit-tap-highlight-color:transparent}.records-prompt-link:not(:last-child):after{margin-left:6px;color:#5b6f686b;content:"/";font-weight:700}.records-assistant-body{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;padding:13px 14px;border:1px solid rgba(88,127,168,.12);border-radius:14px;background:linear-gradient(180deg,#f4faffeb,#f9fdfae6),#f8fcfb;color:#436b84;font-size:13px;font-weight:900;line-height:1.5}.records-assistant-body span{min-width:0;overflow-wrap:anywhere}.records-entry-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:stretch;justify-content:center;width:100vw;height:var(--app-viewport-height, 100dvh);overflow:hidden;background:linear-gradient(180deg,#1a232005,#1a23202e);padding:0;animation:recordsDrawerScrimIn .22s ease-out both;touch-action:none}body.keyboard-open .records-entry-scrim{top:0;right:0;bottom:0;left:0;height:var(--app-viewport-height, 100dvh);padding-bottom:0}.records-entry-scrim.is-closing{animation:recordsDrawerScrimOut .2s ease-in both}.records-entry-drawer{display:grid;grid-template-rows:auto minmax(0,1fr);gap:13px;width:100vw;max-width:none;height:var(--app-viewport-height, 100dvh);min-height:var(--app-viewport-height, 100dvh);max-height:var(--app-viewport-height, 100dvh);overflow:hidden;overscroll-behavior:contain;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border:0;border-radius:0;background:linear-gradient(180deg,#fffdf8fa,#f8fdfafa),#fffdf8;box-shadow:0 0 42px #27353224;transform:translate3d(0,100%,0);animation:recordsDrawerSlideUp .26s cubic-bezier(.2,.82,.2,1) both;will-change:transform}body.keyboard-open .records-entry-drawer{height:var(--app-viewport-height, 100dvh);min-height:var(--app-viewport-height, 100dvh);max-height:var(--app-viewport-height, 100dvh);padding-bottom:calc(max(18px,env(safe-area-inset-bottom)) + var(--keyboard-inset, 0px))}.records-entry-drawer.is-closing{animation:recordsDrawerSlideDown .21s cubic-bezier(.4,0,.6,1) both}.records-entry-drawer,.records-drawer-body,.records-assistant-main,.records-assistant-thread{scrollbar-width:none}.records-entry-drawer::-webkit-scrollbar,.records-drawer-body::-webkit-scrollbar,.records-assistant-main::-webkit-scrollbar,.records-assistant-thread::-webkit-scrollbar{display:none}.records-drawer-body{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:10px}.records-drawer-body--assistant{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px;overflow:visible;padding-bottom:0}.records-drawer-body--manual{display:block}.records-drawer-head{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:12px}.records-drawer-head strong{display:block;color:var(--ink);font-size:17px;line-height:1.25}.records-drawer-head small{display:block;margin-top:4px;color:#5b6f68bd;font-size:12px;line-height:1.35}.records-drawer-head button{width:36px;height:36px;border:0;border-radius:50%;background:#e7efeac7;color:#52675f}@keyframes recordsDrawerScrimIn{0%{opacity:0}to{opacity:1}}@keyframes recordsDrawerScrimOut{0%{opacity:1}to{opacity:0}}@keyframes recordsDrawerSlideUp{0%{transform:translate3d(0,100%,0)}to{transform:translateZ(0)}}@keyframes recordsDrawerSlideDown{0%{transform:translateZ(0)}to{transform:translate3d(0,100%,0)}}.records-assistant-thread{display:grid;gap:8px;overflow:visible}.records-assistant-main{display:grid;align-content:start;gap:14px;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:2px 0 8px}.records-assistant-section-label{color:#5b6f689e;font-size:12px;font-weight:900;line-height:1}.records-assistant-message{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;width:fit-content;max-width:min(88%,344px);padding:0;border:0;background:transparent}.records-assistant-message.ai{justify-self:start}.records-assistant-message.parent{justify-self:end;max-width:min(82%,320px);text-align:right}.records-assistant-message time{padding:0 4px;color:#5b6f68a8;font-size:11px;font-weight:800;line-height:1.4}.records-assistant-message.parent time{justify-self:end}.records-assistant-message p{margin:0;padding:9px 12px;border:1px solid rgba(225,232,228,.88);border-radius:16px 16px 16px 6px;background:#fffdf8b8;color:var(--ink);overflow-wrap:anywhere;font-size:13px;line-height:1.45}.records-assistant-message.parent p{border-color:#6aa4d94d;border-radius:16px 16px 6px;background:#eef8ffd1}.records-assistant-message--processing p.records-assistant-processing{display:inline-flex;align-items:center;width:fit-content;min-height:36px;gap:8px;border-color:#c6dbd2e6;background:#f7fcf9eb;color:#436b84cc}.records-assistant-pending-list{display:grid;gap:7px}.records-assistant-pending-card{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:8px;border:1px solid rgba(91,127,109,.22);border-radius:10px;background:#f2faf5d1;color:var(--sage-dark)}.records-assistant-pending-card strong,.records-assistant-pending-card small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-assistant-pending-card strong{color:var(--ink);font-size:12px}.records-assistant-pending-card small{color:#5b6f68b8;font-size:11px}.records-assistant-pending-card button{min-height:30px;padding:0 8px;border:1px solid rgba(91,127,109,.26);border-radius:8px;background:#fffdf8;color:var(--sage-dark);font-size:12px;font-weight:800}.records-assistant-pending-card button.quiet{color:var(--muted)}.records-assistant-attachments{display:flex;flex-wrap:wrap;gap:6px}.records-assistant-attachment{display:inline-flex;align-items:center;gap:4px;max-width:100%;min-height:28px;padding:0 8px;border:1px solid rgba(106,164,217,.24);border-radius:999px;background:#eef8ffb8;color:#436b84;font-size:11px;font-weight:800}.records-assistant-composer{position:relative;display:grid;gap:10px;margin:0 calc(-1*max(16px,env(safe-area-inset-right))) calc(-1*max(18px,env(safe-area-inset-bottom))) calc(-1*max(16px,env(safe-area-inset-left)));padding:12px max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-top:1px solid rgba(225,216,204,.62);background:linear-gradient(180deg,#fffdf800,#fffdf8f5 18%,#fffdf8fa),#fffdf8}body.keyboard-open .records-assistant-composer{margin-bottom:0;padding-bottom:18px}.records-assistant-composer.voice-recording-hidden{opacity:0}.records-assistant-tool-row{display:flex;align-items:center;gap:16px;min-height:30px}.records-assistant-input-line{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:10px;align-items:stretch}.records-assistant-tool{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0;border:0;background:transparent;color:#436b84db;font-size:12px;font-weight:900}.records-assistant-tool.visual-tool-gated{color:#808b87b3}.records-assistant-tool.voice-toggle.active{color:var(--sage-dark)}.records-assistant-processing{display:inline-flex;align-items:center;gap:7px;min-height:20px;color:#436b84c7;font-size:12px;font-weight:900}.records-assistant-loading-dots{min-width:22px;margin-top:0}.records-assistant-loading-dots i{width:4px;height:4px}.records-assistant-input-line textarea{width:100%;min-height:54px;max-height:112px;padding:15px 13px;overflow:hidden;border:1px solid rgba(234,223,208,.95);border-radius:14px;background:#fffdf8;color:var(--ink);resize:none;font-size:15px;line-height:22px}.records-assistant-input-line textarea::placeholder{color:#5d6b759e}.records-assistant-input-line .send-button{width:54px;height:54px;min-width:54px;border-radius:14px}.manual-record-form{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;min-height:100%}.manual-record-type-tabs{display:flex;gap:7px;padding-bottom:2px;overflow-x:auto;scrollbar-width:none}.manual-record-type-tabs::-webkit-scrollbar{display:none}.manual-record-type-tabs button{flex:0 0 auto;min-height:34px;padding:0 12px;border:1px solid rgba(92,124,111,.2);border-radius:999px;background:#fffdf8eb;color:#495e56d1;font-size:13px;font-weight:900}.manual-record-type-tabs button.active{border-color:#5e8f7961;background:#679e7f24;color:#355e51}.manual-record-type-hint{margin:-4px 0 0;color:#5b6f68b8;font-size:12px;line-height:1.35}.manual-record-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;min-height:0}.manual-picker-field,.manual-stepper-field{display:grid;gap:10px;min-width:0;margin:0;padding:12px;border:1px solid rgba(223,216,204,.84);border-radius:14px;background:#fffdf8db}.manual-picker-field.wide,.manual-stepper-field.wide{grid-column:1 / -1}.manual-picker-field legend,.manual-stepper-field legend{padding:0 4px;color:#495e56d6;font-size:12px;font-weight:900}.manual-choice-grid{display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;gap:8px}.manual-choice-grid--wide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.manual-choice-grid button,.manual-native-picker,.manual-stepper button{border:1px solid rgba(92,124,111,.2);border-radius:999px;background:#fffdf8eb;color:#495e56d1;font-size:12px;font-weight:900}.manual-choice-grid button{min-height:34px;padding:0 12px}.manual-choice-grid button.active{border-color:#5e8f7970;background:#679e7f29;color:#335e50;box-shadow:inset 0 0 0 1px #5e8f791f}.manual-time-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.manual-native-picker{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:40px;padding:0 12px;border-radius:12px}.manual-native-picker span{color:#5b6f68b3;font-size:12px;font-weight:900}.manual-native-picker input{width:100%;min-height:38px;padding:0;border:0;background:transparent;color:var(--ink);font-size:16px;font-weight:900;text-align:right}.manual-stepper{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;min-height:52px}.manual-stepper button{width:42px;height:42px;padding:0;font-size:22px;line-height:1}.manual-stepper strong{display:inline-flex;align-items:baseline;justify-content:center;gap:4px;min-width:0;color:var(--ink);font-size:22px;line-height:1.1;text-align:center;white-space:nowrap}.manual-stepper small{color:#5b6f68b8;font-size:12px;font-weight:900}.records-manual-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:2px}.records-manual-form label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:800}.records-manual-form label.wide,.records-manual-actions{grid-column:1 / -1}.records-manual-form input,.records-manual-form textarea{width:100%;min-height:40px;padding:0 10px;border:1px solid rgba(234,223,208,.95);border-radius:8px;background:#fffdf8;color:var(--ink);font-size:14px}.records-manual-form textarea{min-height:70px;padding:10px;resize:none}.records-manual-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:4px;padding-bottom:max(4px,env(safe-area-inset-bottom))}.quick-action__icon{width:22px;height:22px;flex-basis:22px;border-radius:7px}.quick-action__icon svg{width:15px;height:15px}.message-list{min-height:0;margin:0 -2px;padding:12px 2px 10px;overflow-y:auto;overflow-x:hidden;border-radius:8px;background:linear-gradient(#fffdfab8,#fffdfab8),linear-gradient(90deg,rgba(91,127,109,.05) 1px,transparent 1px),linear-gradient(rgba(88,127,168,.05) 1px,transparent 1px);background-size:auto,26px 26px,26px 26px;-webkit-overflow-scrolling:touch}.message{max-width:96%;min-width:0;width:fit-content;padding:11px 12px;overflow:visible;overflow-wrap:anywhere}.message-text{max-width:100%;overflow:visible}.message.parent{align-self:flex-end}.message.ai{align-self:flex-start}.message p,.reasoning-box p,.record-event p,.assistant-card p{overflow-wrap:anywhere;word-break:break-word}.tool-activity{align-items:flex-start;flex-wrap:wrap}.tool-activity span,.tool-activity small,.source-list a,.tag-row span,.reminder-meta span{white-space:normal}.tool-activity small{flex:1 1 100%}.composer{flex:0 0 auto;margin-top:10px;padding:9px;width:100%;border:1px solid var(--line);border-radius:8px;background:#fffdfafa}.composer.voice-recording-hidden{opacity:0}.app-shell.voice-recording-active .mobile-tabbar{visibility:hidden;opacity:0;pointer-events:none}.pending-attachment-summary{min-height:46px}.pending-attachment-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:134px}.composer-row{display:grid;gap:8px}.composer-tools{display:grid;grid-template-columns:repeat(2,44px);gap:8px;min-width:0}.composer-input-line{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:8px;min-width:0}.composer-mode-note{margin:-1px 2px 0;color:#485965b8;font-size:12px;line-height:18px}.model-select,.composer textarea,.voice-hold-button{width:100%;min-width:0}.model-select{width:100%}.model-select .story-select-trigger{min-height:44px;padding-right:9px;padding-left:9px}.composer textarea{min-height:52px;max-height:116px;padding:14px 12px;overflow:hidden;resize:none;font-size:15px;line-height:22px}.voice-hold-button{--voice-level: 0;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:52px;padding:0 14px;overflow:visible;border:1px solid rgba(124,146,166,.34);border-radius:8px;outline:none;background:linear-gradient(180deg,#fff,#f8fbff);color:var(--ink);font-size:15px;font-weight:700;line-height:22px;touch-action:none;transition:border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease,background .16s ease;-webkit-user-select:none;user-select:none}.voice-hold-button:before{position:absolute;top:50%;left:50%;width:clamp(220px,96vw,430px);aspect-ratio:1;border-radius:999px;background:radial-gradient(circle at 50% 50%,rgba(70,154,255,calc(.46 + var(--voice-level) * .42)) 0,rgba(70,154,255,calc(.46 + var(--voice-level) * .42)) 16%,rgba(73,167,255,calc(.34 + var(--voice-level) * .34)) 34%,rgba(92,186,255,calc(.18 + var(--voice-level) * .26)) 56%,#5cbaff00 82%);filter:blur(calc(12px + var(--voice-level) * 13px));opacity:0;transform:translate(-50%,-50%) scale(calc(.56 + var(--voice-level) * .38));content:"";pointer-events:none;z-index:0}.voice-hold-button:after{display:none;content:none}.voice-hold-button span{position:relative;z-index:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-hold-button.listening{color:#17436f;border-color:#4891ffe6;background:#f4f9ff;box-shadow:0 0 calc(34px + var(--voice-level) * 64px) rgba(72,145,255,calc(.36 + var(--voice-level) * .42)),0 12px calc(22px + var(--voice-level) * 38px) rgba(72,145,255,calc(.18 + var(--voice-level) * .26)),inset 0 0 calc(18px + var(--voice-level) * 34px) rgba(72,145,255,calc(.16 + var(--voice-level) * .24));transform:scale(calc(1 + var(--voice-level) * .045))}.voice-hold-button.listening:before{opacity:1;animation:voiceBreath 1.6s ease-in-out infinite}.voice-hold-button.canceling{color:#9b344a;border-color:#a955688c;background:#fff7f8;box-shadow:0 10px 22px #a955681f;transform:scale(.985)}.voice-hold-button.canceling:before{opacity:0;animation:none}.voice-hold-button.processing{color:#24507c;border-color:#4891ff6b;background:#f5faff}.voice-hold-button.error,.voice-hold-button.unsupported{color:#9b344a;border-color:#a955686b;background:#fff7f8}.voice-hold-button:disabled{color:#26303973;border-color:#c4ccc5b8;background:#f3f5f1}.voice-recording-panel{--voice-level: 0;--voice-orb-size: max(720px, 150vw);position:fixed;top:0;right:0;bottom:0;left:0;z-index:3600;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 26px calc(74px + env(safe-area-inset-bottom));overflow:hidden;background:transparent;color:#ffffffe0;pointer-events:none;transform:translateZ(0)}.voice-recording-panel:before{content:"";position:absolute;left:50%;bottom:calc(36vh - var(--voice-orb-size));z-index:0;width:var(--voice-orb-size);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 54%,#2f73ff,#3f8dff 34%,#5baeffb8,#84cdff38 62%,#e6f8ff0f 74%,#fff0 84%,#fff0);opacity:calc(.66 + var(--voice-level) * .3);filter:blur(10px) brightness(calc(.96 + var(--voice-level) * .28));transform:translate(-50%) scale(calc(.94 + var(--voice-level) * .18));transition:opacity 90ms linear,transform 90ms linear,filter 90ms linear}.voice-recording-panel.canceling{color:#ff3b30}.voice-recording-panel.canceling:before{background:radial-gradient(circle at 50% 54%,#ff3b30,#ff6a63 34%,#ff756eb8,#ffb3b03d 62%,#fff2f212 74%,#fff0 84%,#fff0)}.voice-recording-copy{position:relative;z-index:1;display:grid;place-items:center;min-height:30px;margin-bottom:36px;text-align:center}.voice-recording-copy strong{color:currentColor;font-size:18px;font-weight:800;line-height:1.35;text-shadow:0 1px 18px rgba(255,255,255,.34)}.voice-wave-bars{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:4px;width:min(75vw,330px);height:24px;opacity:calc(.8 + var(--voice-level) * .2)}.voice-wave-bar{display:block;width:4px;height:calc(12px * var(--bar-scale) + var(--voice-level) * 10px);min-height:8px;border-radius:999px;background:#ffffffe6;box-shadow:0 0 10px #ffffff47;animation:voiceWaveBar .86s ease-in-out infinite;animation-delay:-.16s}.voice-recording-panel.canceling .voice-wave-bar{background:#ff3b30e6;box-shadow:0 0 10px #ff3b3029}.voice-wave-bar:first-child,.voice-wave-bar:nth-child(2),.voice-wave-bar:nth-last-child(1),.voice-wave-bar:nth-last-child(2){opacity:.26}.voice-wave-bar:nth-child(3),.voice-wave-bar:nth-child(4),.voice-wave-bar:nth-last-child(3),.voice-wave-bar:nth-last-child(4){opacity:.52}@keyframes voiceWaveBar{0%,to{transform:scaleY(.72)}50%{transform:scaleY(calc(1 + var(--voice-level) * .7))}}@keyframes voiceBreath{0%,to{opacity:.82;transform:translate(-50%,-50%) scale(calc(.56 + var(--voice-level) * .24))}50%{opacity:1;transform:translate(-50%,-50%) scale(calc(.88 + var(--voice-level) * .36))}}.composer textarea::placeholder{color:#5d6b75a3;line-height:22px}.composer-input-line .send-button{width:52px;height:52px;min-width:52px}.icon-button,.tool-button,.send-button,.reminder-item button,.pending-item button{width:44px;height:44px;min-width:44px}.summary-card,.ledger-card,.ledger-summary-card,.calendar-card,.day-timeline-card,.trend-card,.album-overview-card,.album-card,.reminder-group,.profile-form,.profile-detail-card,.app-profile-card,.reminders-screen .reminder-list{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fffdfaf5;box-shadow:none}.summary-title,.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;color:var(--ink)}.summary-title{justify-content:flex-start;color:var(--sage-dark);font-size:13px;font-weight:700}.screen-head-lucide{flex:0 0 auto;color:var(--sage-dark)}.ledger-tabs{margin-top:4px}.ledger-summary-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ledger-summary-card>div{min-height:94px;padding:12px;border:1px solid rgba(234,223,208,.95);border-radius:8px;background:linear-gradient(180deg,#fffdf8f5,#f5fbf5cc),#fffdf8}.ledger-summary-card span,.expense-category-row span,.expense-item p,.expense-item small,.ledger-empty-copy,.expense-lookup-message{color:var(--muted);font-size:12px}.ledger-summary-card strong{display:block;margin:8px 0 4px;color:var(--ink);font-size:22px;line-height:1.1;overflow-wrap:anywhere}.expense-category-list,.expense-list{display:grid;gap:8px}.expense-category-row{display:grid;gap:7px}.expense-category-row>div{display:flex;justify-content:space-between;gap:10px}.expense-category-row strong{color:var(--ink);font-size:13px}.expense-category-row>i{display:block;height:12px;overflow:hidden;border-radius:4px;background:#f1eadf}.expense-category-row>i b{display:block;height:100%;border-radius:4px;background:#71a88b}.expense-diaper>i b,.expense-daily>i b{background:#7eafd8}.expense-food>i b,.expense-formula>i b{background:#e1ae5f}.expense-health>i b,.expense-vaccine>i b{background:#d88276}.expense-toy>i b,.expense-education>i b{background:#8d9ed6}.expense-year-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;align-items:end;min-height:190px;padding-top:6px}.expense-month-bar{display:grid;grid-template-rows:30px 120px 20px;gap:6px;min-width:0;text-align:center}.expense-month-bar span,.expense-month-bar em{color:var(--muted);font-size:10px;font-style:normal;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-month-bar span{font-weight:700;color:var(--ink)}.expense-month-bar i{position:relative;display:block;overflow:hidden;border-radius:5px;background:#f1eadf}.expense-month-bar b{position:absolute;right:0;bottom:0;left:0;display:block;border-radius:5px 5px 0 0;background:#71a88b}.expense-list.compact .expense-item{grid-template-columns:42px minmax(0,1fr) auto}.expense-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:64px;padding:9px;border:1px solid rgba(234,223,208,.86);border-radius:8px;background:#fffdf8e6}.expense-item.detail{grid-template-columns:44px minmax(0,1fr) auto auto}.expense-item>img,.expense-item>span{display:grid;width:44px;height:44px;place-items:center;overflow:hidden;border-radius:8px;background:#eef6ef;color:var(--sage-dark);font-weight:900;object-fit:cover}.expense-item h3{margin:0 0 3px;overflow-wrap:anywhere}.expense-item p,.expense-item small{display:block;margin:0;line-height:1.35;overflow-wrap:anywhere}.record-creator,.expense-creator{display:block;color:#6e8178;font-size:11px;font-weight:700}.record-creator{margin-top:6px}.expense-creator{margin-top:4px}.expense-attachment-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.expense-attachment-thumb{position:relative;display:grid;grid-template-columns:34px auto;align-items:center;gap:6px;min-height:38px;max-width:128px;padding:2px 8px 2px 2px;overflow:hidden;border:1px solid rgba(117,168,142,.28);border-radius:8px;background:#f4fbf6;color:#3f745e;font-size:12px;font-weight:800}.expense-attachment-thumb img,.expense-attachment-thumb svg{display:block;width:34px;height:34px;border-radius:6px;object-fit:cover}.expense-attachment-thumb svg{padding:7px;background:#5b7f6d1f}.expense-item>strong{color:var(--ink);font-size:15px;white-space:nowrap}.expense-actions{display:grid;grid-template-columns:repeat(2,36px);gap:4px}.expense-actions button{display:grid;place-items:center;min-height:36px;border:1px solid rgba(234,223,208,.95);border-radius:8px;background:#fffdf8;color:var(--muted)}.expense-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}.story-modal-backdrop.ledger-form-backdrop{z-index:300;display:flex;align-items:flex-end;justify-content:center;inset:max(8px,env(safe-area-inset-top)) 0 calc(var(--mobile-tabbar-height, 72px) + env(safe-area-inset-bottom) + 6px) 0;height:auto;max-height:none;padding:6px max(10px,env(safe-area-inset-right)) 4px max(10px,env(safe-area-inset-left));background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.story-modal.ledger-form-sheet{width:min(100%,410px);height:min(760px,calc(100% - 36px));max-height:calc(100% - 36px);overflow:hidden;border-radius:18px;touch-action:pan-y;animation:ledger-sheet-in .15s ease-out}body.keyboard-open .story-modal-backdrop.ledger-form-backdrop{inset:0 0 max(0px,var(--keyboard-inset, 0px)) 0;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}body.keyboard-open .story-modal.ledger-form-sheet{max-height:calc(100% - 16px)}.story-modal.expense-editor{display:flex;flex-direction:column;height:min(760px,calc(100% - 36px));max-height:calc(100% - 36px);gap:14px;padding:16px}body.keyboard-open .story-modal.ledger-form-sheet.expense-editor{height:min(760px,calc(100% - 16px));max-height:calc(100% - 16px)}.story-modal-backdrop.reminder-sheet-backdrop{z-index:300;display:flex;align-items:flex-end;justify-content:center;inset:max(8px,env(safe-area-inset-top)) 0 calc(var(--mobile-tabbar-height, 72px) + env(safe-area-inset-bottom) + 34px) 0;height:auto;max-height:none;padding:6px max(10px,env(safe-area-inset-right)) 10px max(10px,env(safe-area-inset-left));background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.story-modal.reminder-form-sheet{width:min(100%,410px);max-height:min(640px,calc(100% - 12px));overflow:auto;touch-action:pan-y}body.keyboard-open .story-modal-backdrop.reminder-sheet-backdrop{inset:0 0 max(0px,var(--keyboard-inset, 0px)) 0;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}body.keyboard-open .story-modal.reminder-form-sheet{max-height:calc(100% - 16px)}.story-modal.reminder-action-modal{max-height:min(460px,calc(100% - 12px));overflow:auto;touch-action:pan-y}.expense-editor-body{display:grid;align-content:start;gap:12px;flex:1 1 auto;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;padding:2px 1px 18px;overscroll-behavior:contain;scroll-padding-bottom:96px;touch-action:pan-y;-webkit-overflow-scrolling:touch}body.keyboard-open .expense-editor-body{padding-bottom:28px;scroll-padding-bottom:136px}.expense-editor .story-modal-head h3{font-size:22px}.expense-core-card{display:grid;gap:14px;padding:0;border:0;border-radius:0;background:transparent}.expense-title-field input{font-size:16px;font-weight:800}.expense-money-field{color:var(--sage-dark)}.expense-money-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:56px;padding:0 14px;border:1px solid rgba(234,223,208,.95);border-radius:13px;background:#fffdf8;color:var(--sage-dark)}.expense-money-input>span{padding-right:10px;color:#6c8276;font-size:22px;font-weight:900}.story-modal .expense-money-input input{min-height:54px;padding:0;border:0;background:transparent;color:var(--ink);font-size:27px;font-weight:900;box-shadow:none}.expense-editor .expense-editor-grid{grid-template-columns:1fr;gap:14px}.expense-required-grid{align-items:start}.expense-date-field{position:relative;display:flex;align-items:center;min-width:0;width:100%;min-height:48px;padding:0 13px;border:1px solid rgba(234,223,208,.95);border-radius:12px;background:#fffdf8;color:var(--ink);font-size:16px;font-weight:900;line-height:1.2;z-index:0}.expense-date-field>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-date-field .expense-date-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;min-height:100%;padding:0;border:0;opacity:0;background:transparent;color:transparent;box-shadow:none;cursor:pointer}.expense-date-field:focus-within{border-color:#6aa4d9bf;box-shadow:0 0 0 4px #6aa4d924}.expense-editor label{gap:7px;font-size:12px}.expense-editor input,.expense-editor textarea,.expense-editor .story-select-trigger{min-height:48px;border-radius:12px;box-shadow:none}.expense-editor textarea{box-sizing:border-box;min-height:88px;resize:none;scroll-margin-bottom:132px}.expense-optional-panel{position:relative;z-index:1;overflow:hidden;margin-bottom:6px;border:1px solid rgba(234,223,208,.85);border-radius:16px;background:#fffdf8b8}.expense-optional-panel[open]{overflow:visible;margin-bottom:16px;background:#fffdf8e6}.expense-optional-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:0 14px;color:var(--muted);cursor:pointer;list-style:none}.expense-optional-panel summary::-webkit-details-marker{display:none}.expense-optional-panel summary span{display:grid;gap:2px}.expense-optional-panel summary strong{color:var(--ink);font-size:14px}.expense-optional-panel summary small{color:var(--muted);font-size:11px;line-height:1.25}.expense-optional-panel summary svg{flex:0 0 auto;transition:transform .16s ease}.expense-optional-panel[open] summary svg{transform:rotate(180deg)}.expense-optional-fields{display:grid;gap:12px;padding:0 12px 18px}.expense-optional-panel[open] .expense-optional-fields{max-height:none;overflow:visible}body.keyboard-open .expense-optional-panel[open]{margin-bottom:22px}body.keyboard-open .expense-optional-fields{padding-bottom:22px}.expense-editor .story-modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex:0 0 auto;margin-top:0;padding-top:12px;border-top:1px solid rgba(234,223,208,.7);background:linear-gradient(180deg,#fffdf8e6,#fff9ecfa),#fffdf8}.expense-editor .story-modal-actions .screen-action-button{width:100%;min-height:48px;border-radius:14px;font-weight:900}.expense-lookup-message{margin:-2px 0 0;padding:9px 10px;border:1px solid rgba(106,164,217,.22);border-radius:8px;background:#eef8ffbf;line-height:1.45}.expense-lookup-message.failed{border-color:#a9556840;background:#a9556814;color:#8f3048}.ledger-empty-copy{margin:0;line-height:1.5}.segmented-tabs,.album-category-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;margin-top:8px;padding:4px;border:1px solid rgba(234,223,208,.8);border-radius:8px;background:#fffdf8d1}.segmented-tabs button,.album-category-row button{min-width:0;min-height:38px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:13px;font-weight:800}.segmented-tabs button.active,.album-category-row button.active{color:#2f5e4d;background:#e9f5ee;box-shadow:0 6px 14px #5a84701f}.album-category-row{grid-auto-flow:unset;grid-auto-columns:unset;grid-template-columns:repeat(3,minmax(0,1fr))}.record-summary-grid,.profile-grid,.profile-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.record-summary-grid div,.profile-grid div,.profile-highlights div{min-width:0;min-height:72px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcf8}.record-summary-grid span,.profile-grid span,.profile-highlights span{display:block;color:var(--muted);font-size:12px}.record-summary-grid strong,.profile-grid strong,.profile-highlights strong{display:block;margin-top:7px;overflow:hidden;color:var(--ink);font-size:15px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.record-summary-grid small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.calendar-head button{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.weekday-grid,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday-grid{margin-bottom:6px;color:var(--muted);font-size:11px;text-align:center}.calendar-grid button,.calendar-blank{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink)}.calendar-grid button.today{border-color:#587fa861}.calendar-grid button.selected{color:#fff;border-color:var(--sage-dark);background:var(--sage-dark)}.calendar-grid button.has-event:after{position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--coral);content:""}.calendar-grid button.selected.has-event:after{background:#fff}.record-event-list{display:grid;gap:14px;position:relative}.record-event{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;min-width:0}.record-event-rail{position:relative;min-height:72px}.record-event-rail:before{content:"";position:absolute;top:8px;bottom:-18px;left:8px;width:2px;border-radius:999px;background:linear-gradient(180deg,#6997815c,#69978114)}.record-event:last-child .record-event-rail:before{bottom:18px}.record-event-rail span{position:absolute;top:4px;left:4px;z-index:1;width:10px;height:10px;border:2px solid rgba(246,252,248,.98);border-radius:50%;background:#78aa91;box-shadow:0 0 0 3px #78aa9124}.record-event.reminder .record-event-rail:before{background:linear-gradient(180deg,#a9556847,#a955680f)}.record-event.reminder .record-event-rail span{background:#b97887;box-shadow:0 0 0 3px #b978871f}.record-event-content{display:grid;gap:6px;min-width:0}.record-event-time{color:var(--muted);font-size:11px;font-weight:850;line-height:1.35;white-space:pre-line}.record-event-swipe{position:relative;min-width:0;overflow:hidden;border-radius:8px;touch-action:pan-y}.record-event-actions{position:absolute;inset:0 0 0 auto;z-index:3;display:grid;grid-template-columns:repeat(2,56px);align-items:stretch;justify-content:end;width:112px;overflow:hidden;border-radius:8px;background:#f8fdfaf5;box-shadow:0 8px 18px #2a3a331a;opacity:.001;pointer-events:none;transition:opacity .14s ease}.record-event.is-swiped .record-event-actions{opacity:1;pointer-events:auto}.timeline-action-button{display:grid;place-items:center;align-content:center;gap:3px;border:0;background:#719c8629;color:#416d5e;font-size:11px;font-weight:900}.timeline-action-button.delete{background:#bf595e21;color:#a84d53}.record-event-card{position:relative;z-index:1;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:58px;padding:8px 10px;border:1px solid rgba(214,224,216,.72);border-radius:8px;background:linear-gradient(180deg,#fffdf8fa,#f8fdfaf5),#fffdf8;box-shadow:0 10px 24px #3448400f;transform:translateZ(0);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.record-event.is-swiped .record-event-card{border-color:#c6dad0f2;box-shadow:0 10px 24px #3448400a;transform:translate3d(-112px,0,0)}.record-event-icon{width:30px;height:30px}.record-event-copy{display:grid;gap:3px;min-width:0}.record-event-primary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px;min-width:0}.record-event-primary h3{min-width:0;margin:0;color:var(--ink);font-size:14px;line-height:1.25;white-space:nowrap}.record-event-primary p{min-width:0;overflow:hidden;color:#5b6f68c7;text-overflow:ellipsis;white-space:nowrap}.record-event-secondary{display:flex;align-items:center;gap:8px;min-width:0}.record-event-secondary .tag-row{flex:0 0 auto;margin:0}.record-event-secondary .tag-row span{min-height:22px;padding:0 8px;font-size:11px}.record-event-secondary .record-creator{min-width:0;overflow:hidden;color:#506a5ebd;font-size:11px;font-weight:800;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.record-event p{margin-bottom:0;color:var(--muted);font-size:13px;line-height:1.35}.record-event-card .timeline-edit-form{grid-column:1 / -1}.timeline-edit-button{min-height:32px;margin-top:8px;padding:0 11px;border:1px solid rgba(117,168,142,.28);border-radius:999px;background:#f0f8f2;color:#377b64;font-size:12px;font-weight:800}.timeline-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;padding:10px;border:1px solid rgba(234,223,208,.8);border-radius:8px;background:#fffdf8e6}.timeline-edit-form label{display:grid;gap:4px;min-width:0}.timeline-edit-form label.wide,.timeline-edit-actions{grid-column:1 / -1}.timeline-edit-form span{color:var(--muted);font-size:11px;font-weight:800}.timeline-edit-form input,.timeline-edit-form select{min-width:0;height:38px;padding:0 9px;border:1px solid rgba(234,223,208,.95);border-radius:8px;background:#fffdf8;color:var(--ink);font:inherit}.timeline-edit-form .story-select-trigger{min-height:38px;padding:0 9px;border-color:#eadfd0f2;border-radius:8px;background:#fffdf8;font-size:12px;box-shadow:none}.timeline-edit-form .story-select-menu{min-width:172px}.timeline-edit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.timeline-edit-actions button{min-height:38px;border:1px solid #58a37f;border-radius:8px;background:#58a37f;color:#fff;font-weight:900}.timeline-edit-actions button.quiet{border-color:#eadfd0f2;background:#fffdf8;color:var(--muted)}.empty-state{display:grid;place-items:center;gap:9px;min-height:170px;color:var(--muted);text-align:center}.empty-state p{margin:0}.empty-state button,.profile-edit-button,.save-profile-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 14px;border:1px solid var(--sage-dark);border-radius:8px;color:#fff;background:var(--sage-dark)}.reminders-screen .reminder-list{display:grid;gap:8px}.reminder-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.reminder-actions button{justify-content:center}.screen-head-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.ledger-head-actions{display:grid;grid-template-columns:minmax(0,1fr);justify-items:end;gap:6px}.ledger-head-actions .screen-pill{max-width:min(176px,48vw);min-height:28px;padding:0 9px;border-radius:8px;background:#fffdf8db;color:#5b7f6ddb;font-size:11px}.ledger-manual-cta{display:grid;grid-template-columns:44px minmax(0,1fr) 28px;align-items:center;gap:10px;width:100%;margin:8px 0 4px;min-height:68px;padding:11px 12px;border:1px solid rgba(91,127,109,.28);border-radius:12px;background:linear-gradient(135deg,#eff9f1fa,#fffae8e6),#f7fbf4;color:var(--sage-dark);cursor:pointer;text-align:left;box-shadow:0 12px 26px #4d7e671f;transition:transform .14s ease,box-shadow .14s ease}.ledger-manual-cta:after{content:"";display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:linear-gradient(#fffdf8,#fffdf8) center / 13px 2px no-repeat,linear-gradient(#fffdf8,#fffdf8) center / 2px 13px no-repeat,#5b7f6ddb}.ledger-manual-cta:active{transform:translateY(1px) scale(.99);box-shadow:0 8px 18px #4d7e671f}.ledger-manual-cta>span{display:grid;grid-row:1 / span 2;place-items:center;width:44px;height:44px;border-radius:12px;background:#5b7f6d1f;color:var(--sage-dark)}.ledger-manual-cta strong,.ledger-manual-cta small{display:block;grid-column:2;min-width:0}.ledger-manual-cta strong{color:var(--ink);font-size:15px}.ledger-manual-cta small{margin-top:-4px;color:#5b7f6dc7;font-size:12px}.ledger-ai-entry-card{display:grid;gap:10px;margin:8px 0 4px;padding:10px;border:1px solid rgba(106,164,217,.22);border-radius:8px;background:linear-gradient(135deg,#f6fbfff5,#fffdf8f0),#fffdf8}.ledger-ai-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-ai-actions button{min-height:40px;color:#436b84;border-color:#6aa4d947}.story-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;width:100%;height:var(--app-viewport-height, 100vh);max-height:var(--app-viewport-height, 100vh);display:grid;place-items:end center;overflow:hidden;padding:18px 12px max(18px,env(safe-area-inset-bottom));overscroll-behavior:none;background:#2d241c38;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none}.story-modal{width:min(100%,410px);max-height:min(86dvh,calc(var(--app-viewport-height, 100vh) - 36px),680px);display:grid;gap:14px;padding:16px;overflow:auto;overscroll-behavior:contain;border:1px solid rgba(234,223,208,.95);border-radius:22px;background:linear-gradient(180deg,#fffdf8fa,#fff9ecfa),#fffdf8;box-shadow:0 24px 70px #4a37232e;animation:sheet-in .18s ease-out}.story-modal-head,.story-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.story-modal-head h3{margin:2px 0 0;font-size:22px}.story-modal label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:700}.story-modal input,.story-modal textarea{width:100%;min-height:46px;padding:0 13px;border:1px solid rgba(234,223,208,.95);border-radius:13px;background:#fffdf8;color:var(--ink);font:inherit;font-size:16px}.story-modal textarea{min-height:84px;padding:12px 13px;resize:none}.story-modal input:focus,.story-modal textarea:focus{outline:none;border-color:#6aa4d9bf;box-shadow:0 0 0 4px #6aa4d924}.delete-confirm-modal{width:min(100%,360px);place-items:center;padding:20px 18px 18px;text-align:center}.delete-confirm-badge{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(246,188,170,.92);border-radius:8px;color:#a64c4f;background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.94),transparent 34%),linear-gradient(135deg,#fff4e6,#ffe9e2);box-shadow:0 14px 24px #97534124}.complete-confirm-badge{border-color:#8ec7aae6;color:#2f7a5d;background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.94),transparent 34%),linear-gradient(135deg,#effbf1,#e7f6ff);box-shadow:0 14px 24px #43846024}.delete-confirm-copy{display:grid;gap:7px}.delete-confirm-copy h3{margin:0;color:var(--ink);font-size:22px;line-height:1.2}.delete-confirm-copy p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px;line-height:1.55}.delete-confirm-actions{width:100%}.reminder-postpone-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;text-align:left}.reminder-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.reminder-alarm-fields{display:grid;gap:10px;padding:12px;border:1px solid rgba(190,225,211,.95);border-radius:16px;background:#effaf5c7}.form-help{margin:0;color:var(--muted);font-size:12px;line-height:1.55}@keyframes sheet-in{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ledger-sheet-in{0%{opacity:.96;transform:translateY(6px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.album-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.album-summary-strip span{min-width:0;padding:8px 10px;border:1px solid rgba(234,223,208,.78);border-radius:8px;background:#fffdf8;color:var(--muted);font-size:12px}.album-summary-strip b{display:block;color:var(--ink);font-size:17px;line-height:1.15}.album-upload-button:disabled{opacity:.58;cursor:wait}.album-upload-list{display:grid;gap:8px;margin-top:10px}.album-upload-item{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px;min-height:50px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fffdfa}.album-upload-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#eef3ef;color:var(--sage-dark)}.album-timeline{display:grid;gap:18px;margin-top:12px}.album-month-group{display:grid;gap:8px}.album-month-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.album-month-head h3{margin:0;color:var(--ink);font-size:15px;line-height:1.2}.album-month-head span{color:var(--muted);font-size:12px;font-weight:800}.album-photo-grid{display:flex;align-items:flex-start;gap:2px}.album-photo-column{display:flex;flex:1 1 0;min-width:0;flex-direction:column;gap:2px}.album-photo-tile{position:relative;min-width:0;animation:albumTileIn .52s cubic-bezier(.19,1,.22,1) both;animation-delay:calc(var(--tile-index, 0) * 28ms)}@media (prefers-reduced-motion: reduce){.album-photo-tile{animation:none}}.album-photo-thumb{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:var(--aspect, .75);overflow:hidden;padding:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border:1px solid rgba(234,223,208,.72);border-radius:8px;background:#eef3ef;color:var(--muted);cursor:zoom-in;box-shadow:0 8px 18px #392d1f0f;transform-origin:center;transition:box-shadow .18s ease,transform .18s ease;will-change:transform}.album-photo-thumb:active{transform:scale(.965);box-shadow:0 4px 10px #392d1f14}.album-photo-thumb:disabled{cursor:default}.album-photo-thumb img,.album-photo-thumb video{width:100%;height:100%;object-fit:cover}.album-video-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .22s ease}.album-video-poster.is-hidden{opacity:0;pointer-events:none}.album-empty{margin-top:10px;border:1px solid var(--line);border-radius:8px;background:#fffaf1e6}.reminder-group{display:grid;gap:9px}.reminder-group .reminder-item{grid-template-columns:34px minmax(0,1fr) auto;align-items:start}.reminder-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.reminder-group-head h3{margin:0;color:var(--ink);font-size:16px}.reminder-group-head span{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#eef7ff;color:#487891;font-size:12px;font-weight:900}.reminder-empty{margin:0;padding:10px 12px;border-radius:8px;background:#ffffff9e;color:var(--muted);font-size:13px}.reminder-copy{min-width:0}.reminder-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.reminder-meta span{max-width:100%;overflow:hidden;padding:3px 7px;border-radius:999px;background:#ffffffd1;color:var(--muted);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.reminder-card-actions{display:grid;grid-template-columns:repeat(2,34px);gap:5px}.reminder-card-actions button{display:grid;place-items:center;width:34px;height:34px;min-width:34px;border:1px solid rgba(117,168,142,.28);border-radius:8px;background:#f0f8f2;color:#377b64}.app-profile-card{padding:12px}.app-profile-card .baby-photo{height:132px}.profile-highlights div{min-height:58px}.profile-detail-card{display:grid;gap:10px}.profile-detail-row,.profile-detail-group{min-width:0;padding:11px 0;border-bottom:1px solid rgba(223,227,221,.82)}.profile-detail-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-detail-row span,.profile-detail-group>span{color:var(--muted);font-size:13px;line-height:1.4}.profile-detail-row strong{min-width:0;color:var(--ink);font-size:14px;line-height:1.4;text-align:right}.profile-version-row strong{overflow-wrap:anywhere}.profile-chip-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.profile-chip-list strong{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid rgba(91,127,109,.2);border-radius:999px;background:#5b7f6d14;color:var(--sage-dark);font-size:13px}.profile-reminder-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:12px;border:1px solid rgba(91,127,109,.18);border-radius:12px;background:#f8fdf9eb;color:var(--ink);text-align:left;cursor:pointer}.profile-reminder-card__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#5b7f6d1a;color:var(--sage-dark)}.profile-reminder-card__copy{display:grid;gap:3px;min-width:0}.profile-reminder-card__copy strong{color:var(--ink);font-size:15px;line-height:1.3}.profile-reminder-card__copy small{color:var(--muted);font-size:12px;line-height:1.45}.profile-form{display:grid;gap:10px}.profile-form label{display:grid;gap:6px}.profile-form label span{color:var(--muted);font-size:12px}.profile-form input,.profile-form select{width:100%;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:8px;outline:none;background:#fff;color:var(--ink)}.auth-form .story-select-trigger,.profile-form .story-select-trigger{min-height:46px}.auth-role-hint{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.35}.profile-form .story-select-trigger{min-height:42px}.profile-form input:focus,.profile-form select:focus{border-color:var(--sky);box-shadow:0 0 0 3px #587fa824}.profile-form-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;margin-top:2px}.cancel-profile-button,.save-profile-button{width:100%}.cancel-profile-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted)}.profile-edit-button{width:100%;margin-top:4px}.profile-logout-button{width:100%;min-height:42px;margin-top:2px;border:1px solid rgba(169,85,104,.24);border-radius:8px;background:#a9556814;color:#8f3048}.safety-alert-list,.ask-effect-list,.album-prompt-list,.auto-effect-list,.pending-effect-list{display:grid;gap:8px;margin:8px 0}.safety-alert{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;padding:9px;border:1px solid rgba(196,137,71,.32);border-radius:8px;background:#fff9ed;color:#7a4a11}.safety-alert.urgent{border-color:#a955686b;background:#fff5f7;color:#91324c}.safety-alert strong,.safety-alert span{display:block;font-size:12px;line-height:1.45}.safety-alert span{margin-top:2px;color:inherit;opacity:.82}.auto-effect-card{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;padding:9px;border:1px solid rgba(91,127,109,.3);border-radius:8px;background:#eef6f0;color:var(--sage-dark)}.auto-effect-card strong,.auto-effect-card span{display:block;font-size:12px;line-height:1.4}.auto-effect-card span{margin-top:2px;color:var(--muted)}.auto-effect-card small{display:block;margin-top:3px;color:#415b50b8;font-size:11px;line-height:1.35}.auto-effect-copy{min-width:0}.auto-effect-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:6px}.auto-effect-card button{min-height:32px;padding:0 10px;border:1px solid rgba(91,127,109,.34);border-radius:8px;background:#fff;color:var(--sage-dark)}.auto-effect-card button.quiet{color:var(--muted)}.ask-effect-card{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;padding:9px;border:1px solid rgba(88,127,168,.28);border-radius:8px;background:#f4fbff;color:#245070}.ask-effect-card strong,.ask-effect-card span,.ask-effect-card small{display:block;font-size:12px;line-height:1.42}.ask-effect-card span,.ask-effect-card small{margin-top:2px;color:var(--muted)}.album-prompt-card{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;padding:9px;border:1px solid rgba(117,168,142,.3);border-radius:8px;background:#f4fbf5;color:#2f5e4d}.album-prompt-card strong,.album-prompt-card span,.album-prompt-card small{display:block;font-size:12px;line-height:1.42}.album-prompt-card span,.album-prompt-card small{margin-top:2px;color:var(--muted)}.album-prompt-card.status-ignored{border-color:#7d858538;background:#f8f8f4db;color:var(--muted)}.album-prompt-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:2px}.album-prompt-actions button{min-height:34px;border:1px solid #58a37f;border-radius:8px;background:#58a37f;color:#fff;font-weight:900}.album-prompt-actions button.quiet{border-color:#eadfd0f2;background:#fffdf8;color:var(--muted)}.source-list a{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px}.source-list small{color:var(--muted);font-size:10px}.pending-effect-card{display:grid;gap:9px;padding:10px;border:1px solid rgba(88,127,168,.28);border-radius:8px;background:#f7fbff}.pending-effect-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;color:#245070}.pending-effect-head span{display:block;color:var(--muted);font-size:11px}.pending-effect-head strong{display:block;margin-top:2px;font-size:13px;line-height:1.35}.pending-effect-body{display:grid;gap:4px}.pending-effect-body p{margin:0;color:var(--muted);font-size:12px}.pending-effect-form,.pending-effect-form fieldset{display:grid;gap:9px}.pending-effect-form fieldset{min-width:0;margin:0;padding:10px;border:1px solid rgba(88,127,168,.22);border-radius:8px;background:#ffffffb8}.pending-effect-form legend{padding:0 4px;color:#245070;font-size:12px;font-weight:700}.pending-effect-form label{display:grid;gap:5px;color:var(--muted);font-size:11px}.pending-effect-form input,.pending-effect-form textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit}.pending-effect-form input{min-height:38px;padding:0 10px}.pending-effect-form textarea{min-height:68px;padding:9px 10px;resize:vertical}.pending-effect-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pending-effect-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pending-effect-actions button,.inline-edit-button,.care-log-form button{min-height:36px;border:1px solid var(--sage-dark);border-radius:8px;background:var(--sage-dark);color:#fff}.pending-effect-actions button.quiet{border-color:var(--line);background:#fff;color:var(--muted)}.inline-edit-button{margin-left:auto;padding:0 10px;min-height:32px}.care-log-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.care-log-form label{display:grid;gap:5px}.care-log-form label.wide,.care-log-form button{grid-column:1 / -1}.care-log-form span{color:var(--muted);font-size:11px}.care-log-form input,.care-log-form select{width:100%;height:40px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff}.care-log-form .story-select-trigger{min-height:40px;border-radius:8px}.trend-card{display:grid;gap:10px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fffdfaf5}.trend-metric-list{display:grid;gap:10px}.trend-metric-card{display:grid;gap:9px;min-width:0;padding:10px;border:1px solid rgba(223,227,221,.82);border-radius:8px;background:#5b7f6d14}.trend-metric-card header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.trend-metric-card header div{min-width:0}.trend-metric-card span,.trend-empty{color:var(--muted);font-size:12px}.trend-metric-card strong{display:block;margin-top:4px;overflow:hidden;color:var(--ink);font-size:18px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.trend-metric-card small{justify-self:end;max-width:108px;padding:4px 7px;border-radius:999px;background:#587fa81a;color:var(--sky);font-size:11px;line-height:1.25;text-align:right}.trend-metric-card.down small{background:#cf69581a;color:var(--coral)}.trend-metric-card.flat small,.trend-metric-card.muted small{background:#69737b1a;color:var(--muted)}.trend-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:5px;height:72px}.trend-bar-item{display:grid;grid-template-rows:minmax(0,1fr) 16px;align-items:end;gap:4px;min-width:0;height:72px}.trend-bar-track{position:relative;display:block;width:100%;height:52px;overflow:hidden;border-radius:999px;background:#dfe3ddb8}.trend-bar-track i{position:absolute;right:0;bottom:0;left:0;height:var(--bar-height);min-height:0;border-radius:999px;background:#72afe7}.trend-bar-item.empty .trend-bar-track i{height:0}.trend-bar-item.selected .trend-bar-track{outline:2px solid rgba(47,94,77,.28);outline-offset:2px}.trend-bar-item em{overflow:hidden;color:var(--muted);font-size:10px;font-style:normal;line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.trend-metric-card footer{color:var(--muted);font-size:11px;line-height:1.35}.daily-care-breakdown{display:grid;gap:9px;margin-top:11px}.daily-care-bar-card{min-width:0;padding:10px;border:1px solid rgba(234,223,208,.78);border-radius:8px;background:#fffdf8;box-shadow:0 8px 18px #6a4e300d}.daily-care-bar-card header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.daily-care-bar-card header span{display:block;color:var(--muted);font-size:13px;font-weight:800}.daily-care-bar-card header small{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#6aa4d91f;color:#487891;font-size:11px}.daily-segment-track{display:flex;min-width:0;height:34px;overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:4px;background:#eadfd07a;box-shadow:inset 0 1px 3px #6a4e3014}.daily-segment{position:relative;display:grid;place-items:center;min-width:26px;overflow:hidden;color:#1e2d37e6;font-size:11px;line-height:1.05;white-space:nowrap;animation:segmentSlideIn .44s ease both}.daily-segment+.daily-segment{border-left:1px solid rgba(255,255,255,.72)}.daily-segment b{display:grid;gap:1px;place-items:center;max-width:100%;overflow:hidden;padding:0 4px;font-weight:900;text-overflow:ellipsis;text-shadow:0 1px 0 rgba(255,255,255,.36)}.daily-milk .daily-segment{background:#8cc8f7}.daily-milk .daily-segment:nth-child(2n){background:#76b8ec}.daily-milk .daily-segment:nth-child(3n){background:#9bd2fb}.daily-sleep .daily-segment{background:#aeb9f0}.daily-sleep .daily-segment:nth-child(2n){background:#93a9e8}.daily-sleep .daily-segment:nth-child(3n){background:#c0c5f4}.daily-care-times{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.daily-care-times span{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;background:#ffffffdb;color:#51606a;font-size:11px;font-weight:800;box-shadow:0 4px 10px #6a4e300d}.daily-care-times b,.daily-care-times em{font-style:normal}.daily-care-times em{color:#2f5e4d}.daily-care-empty{margin:0;padding:8px 10px;border-radius:8px;background:#ffffff9e;color:var(--muted);font-size:12px}.week-care-chart{display:grid;gap:12px}.week-care-metric{display:grid;gap:9px;min-width:0;padding:10px;border:1px solid rgba(234,223,208,.72);border-radius:8px;background:#ffffff94}.week-care-metric header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.week-care-metric header span{display:block;color:var(--ink);font-size:13px;font-weight:900}.week-care-metric header strong{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:700;line-height:1.25}.week-care-metric header small{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#ffffffc7;color:#58776d;font-size:11px;font-weight:800}.week-single-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:7px;min-width:0}.week-care-day{display:grid;grid-template-rows:18px 88px 14px;gap:5px;min-width:0}.week-value-label{align-self:end;min-width:0;min-height:12px;color:var(--muted);font-size:9px;font-weight:800;line-height:1.05;text-align:center}.week-value-label span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-bar-track{position:relative;align-self:end;width:100%;height:88px;overflow:hidden;border-radius:4px;background:#eadfd094;box-shadow:inset 0 1px 3px #6a4e3014}.week-segment-stack{position:absolute;right:0;bottom:0;left:0;display:flex;flex-direction:column-reverse;gap:0;height:var(--bar-height);padding:0;overflow:hidden;transform-origin:bottom;animation:barGrow .52s ease both}.week-segment-stack i{min-height:3px;border-radius:0}.week-segment-stack i+i{border-bottom:1px solid rgba(255,255,255,.56)}.week-milk .week-segment-stack i{background:#8cc8f7}.week-milk .week-segment-stack i:nth-child(2n){background:#76b8ec}.week-milk .week-segment-stack i:nth-child(3n){background:#9bd2fb}.week-sleep .week-segment-stack i{background:#aeb9f0}.week-sleep .week-segment-stack i:nth-child(2n){background:#93a9e8}.week-sleep .week-segment-stack i:nth-child(3n){background:#c0c5f4}.week-bar-track.empty .week-segment-stack{height:0}.week-care-day.selected .week-bar-track{outline:2px solid rgba(236,143,125,.34);outline-offset:2px}.week-care-day em{overflow:hidden;color:var(--muted);font-size:10px;font-style:normal;font-weight:800;line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap}@keyframes segmentSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.ledger-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title-main{display:flex;align-items:center;gap:8px}.ledger-detail-edit-btn{padding:4px 12px;border:1px solid rgba(118,137,124,.35);border-radius:14px;background:#fffdf8;color:var(--sage-dark, #4a6f5d);font-size:12px;font-weight:700;cursor:pointer}.ledger-detail-edit-btn.active{background:var(--sage-dark, #4a6f5d);border-color:var(--sage-dark, #4a6f5d);color:#fff}.expense-month-list{display:grid;gap:12px}.expense-month-group{display:grid;gap:6px}.expense-month-head{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 4px;border:none;background:transparent;text-align:left;cursor:pointer}.expense-month-toggle{display:grid;place-items:center;color:var(--muted);transform:rotate(90deg);transition:transform .15s ease}.expense-month-head.collapsed .expense-month-toggle{transform:rotate(0)}.expense-month-title{font-size:14px;font-weight:700;color:var(--ink)}.expense-month-stats{font-size:12px;color:var(--muted)}.expense-row-list{display:grid;gap:6px}.expense-row{--expense-color: #a3a8af;position:relative;display:grid;grid-template-columns:4px minmax(0,1fr);align-items:stretch;gap:10px;padding:10px 12px 10px 0;overflow:hidden;border:1px solid rgba(234,223,208,.86);border-radius:10px;background:#fffdf8f2;cursor:pointer;transition:border-color .12s ease,background .12s ease}.expense-row.bulk{grid-template-columns:4px 24px minmax(0,1fr);padding-right:12px}.expense-row.selected{border-color:var(--sage-dark, #4a6f5d);background:#a7c7b22e}.expense-row__bar{align-self:stretch;width:4px;background:var(--expense-color)}.expense-row__checkbox{display:grid;place-items:center;align-self:center;width:24px;height:24px;margin-left:6px;color:var(--sage-dark, #4a6f5d)}.expense-row__checkbox-dot{display:block;width:18px;height:18px;border:1.5px solid rgba(118,137,124,.45);border-radius:50%;background:#fff}.expense-row__main{display:grid;gap:5px;min-width:0;padding-left:4px}.expense-row__category-line{display:flex;align-items:center;min-height:18px}.expense-row__category-label{display:inline-flex;align-items:center;padding:1px 8px;border-radius:10px;background:color-mix(in srgb,var(--expense-color) 18%,#fff);color:var(--expense-color);font-size:11px;font-weight:700;line-height:1.6;white-space:nowrap}.expense-row__title-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px}.expense-row__title{margin:0;font-size:14px;line-height:1.3;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.expense-row__amount{font-size:15px;font-weight:800;color:var(--ink);white-space:nowrap}.expense-row__meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:11px;color:var(--muted)}.expense-row__meta-part:not(:last-of-type):after{content:"·";margin-left:6px;color:#76897c80}.expense-row__attach{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 2px;border:1px solid rgba(75,111,93,.45);border-radius:12px;background:#a7c7b22e;color:var(--sage-dark, #4a6f5d);font-size:12px;font-weight:700;cursor:pointer}.expense-row__attach:hover:not(:disabled){background:#a7c7b252}.expense-row__attach:disabled{opacity:.55;cursor:not-allowed}.expense-row__attach-thumb{display:block;width:24px;height:24px;border-radius:6px;object-fit:cover}.expense-row__attach>svg{width:24px;height:24px;padding:5px;border-radius:6px;background:#4b6f5d2e}.expense-row__attach span:empty{display:none}.ledger-bulk-bar{position:sticky;bottom:calc(var(--mobile-tabbar-height, 72px) + env(safe-area-inset-bottom) + 12px);display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 0;padding:10px 12px;border:1px solid rgba(216,130,118,.45);border-radius:14px;background:#fffdf8f7;box-shadow:0 6px 20px #503c281f;z-index:20}.ledger-bulk-bar__count{font-size:13px;font-weight:700;color:var(--ink)}.ledger-bulk-bar__cancel,.ledger-bulk-bar__delete{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:none;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer}.ledger-bulk-bar__cancel{background:#76897c1f;color:var(--ink)}.ledger-bulk-bar__delete{background:#d88276;color:#fff}.ledger-bulk-bar__delete:disabled{background:#d8827666;cursor:not-allowed}.milestone-screen{display:grid;gap:14px;padding:14px 14px 32px}.milestone-head{display:flex;align-items:center;gap:10px}.milestone-back{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(118,137,124,.25);border-radius:50%;background:#fffdf8;color:var(--ink);cursor:pointer}.milestone-head h2{margin:2px 0 0;font-size:18px}.milestone-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(234,223,208,.86);border-radius:12px;background:#fffdf8f2}.milestone-summary__age{display:grid;gap:2px}.milestone-summary__age span{color:var(--muted);font-size:11px}.milestone-summary__age strong{font-size:17px;color:var(--ink)}.milestone-summary__stats{display:grid;gap:4px;font-size:12px;color:var(--muted);text-align:right}.milestone-summary__stats b{color:var(--ink);font-weight:800}.milestone-disclaimer{display:flex;align-items:flex-start;gap:6px;margin:0;padding:8px 12px;border-radius:10px;background:#a7c7b226;color:var(--sage-dark, #4a6f5d);font-size:11px;line-height:1.5}.milestone-disclaimer svg{flex-shrink:0;margin-top:2px}.milestone-list{display:grid;gap:8px}.milestone-card{--milestone-color: #a3a8af;display:grid;grid-template-columns:4px minmax(0,1fr);gap:10px;padding:10px 12px 10px 0;overflow:hidden;border:1px solid rgba(234,223,208,.86);border-radius:10px;background:#fffdf8f2}.milestone-card.achieved{background:#a7c7b21f;border-color:#4b6f5d59}.milestone-card.later{opacity:.7}.milestone-card__bar{align-self:stretch;width:4px;background:var(--milestone-color)}.milestone-card__main{display:grid;gap:4px;min-width:0;padding-left:4px}.milestone-card__head{display:flex;align-items:center;justify-content:space-between;gap:6px}.milestone-card__category{display:inline-flex;align-items:center;padding:1px 8px;border-radius:10px;background:color-mix(in srgb,var(--milestone-color) 18%,#fff);color:var(--milestone-color);font-size:11px;font-weight:700}.milestone-card__age{font-size:11px;color:var(--muted)}.milestone-card__title{margin:0;font-size:15px;font-weight:800;color:var(--ink)}.milestone-card__hint{margin:0;font-size:12px;line-height:1.45;color:var(--muted)}.milestone-card__footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.milestone-card__status{font-size:11px;font-weight:700}.milestone-card__status.achieved{color:var(--sage-dark, #4a6f5d)}.milestone-card__status.current{color:var(--milestone-color)}.milestone-card__status.later,.milestone-card__status.earlier{color:var(--muted)}.milestone-card__cta{padding:5px 12px;border:none;border-radius:12px;background:var(--milestone-color);color:#fff;font-size:12px;font-weight:700;cursor:pointer}.milestone-nav-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid rgba(184,148,212,.4);border-radius:14px;background:linear-gradient(135deg,#b894d41f,#7eafd824);text-align:left;cursor:pointer}.milestone-nav-card__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:#8a55c0}.milestone-nav-card__copy{display:grid;gap:2px;min-width:0}.milestone-nav-card__copy strong{font-size:15px;color:var(--ink)}.milestone-nav-card__copy small{font-size:12px;color:var(--muted)}.growth-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-soft);padding:18px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:16px}.growth-entry-form{display:flex;flex-direction:column;gap:10px}.growth-entry-editing{margin:0;color:var(--muted);font-size:13px}.growth-entry-row{display:flex;gap:10px}.growth-entry-row>*{flex:1;min-width:0}.growth-value-input{position:relative;display:flex;align-items:center}.growth-value-input input{width:100%;padding-right:38px}.growth-unit{position:absolute;right:12px;font-size:13px;color:var(--muted);pointer-events:none}.growth-entry-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.growth-history{display:flex;flex-direction:column;gap:14px}.growth-history-group{border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:12px 14px}.growth-history-group header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.growth-history-group header strong{font-size:15px}.growth-history-group header span{font-size:13px;color:var(--muted)}.growth-history-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.growth-history-group li{display:flex;flex-direction:column;gap:2px;padding-bottom:8px;border-bottom:1px dashed var(--border-soft)}.growth-history-group li:last-child{border-bottom:none;padding-bottom:0}.growth-history-main{display:flex;align-items:baseline;gap:10px}.growth-history-value{font-size:16px;font-weight:600}.growth-history-delta{font-size:12px;font-weight:500}.growth-history-delta.up{color:var(--accent-strong, #4b9e6b)}.growth-history-delta.down{color:var(--danger, #c0635a)}.growth-history-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.growth-history-note{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.growth-history-actions{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0}.growth-history-edit,.growth-history-delete{background:none;border:none;display:inline-flex;align-items:center;gap:3px;color:var(--danger, #c0635a);font-size:12px;padding:0;cursor:pointer}.growth-history-edit{color:var(--accent-strong, #4b9e6b)}.growth-history-edit.active{font-weight:700}.growth-empty{color:var(--muted);font-size:13px;text-align:center;padding:18px 0}.reminders-empty-hero{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 0;margin:0 auto}.reminders-empty-hero .placeholder,.reminders-empty-illustration{max-width:240px}.reminders-empty-copy{font-size:14px;color:#8b8075;text-align:center;margin:0}.empty-state-illustration{display:block;object-fit:contain;margin:0 auto}.growth-curve-card{display:grid;gap:12px;padding:14px 16px;border:1px solid rgba(83,143,121,.14);border-radius:14px;background:linear-gradient(180deg,#fffdf8fa,#f7fcf9f5),#fffdf8;box-shadow:0 1px 3px #0000000d}.growth-curve-toolbar{display:flex;gap:8px}.growth-curve-toolbar button{min-height:32px;padding:0 12px;border:1px solid rgba(92,124,111,.18);border-radius:999px;background:#fffdf8f0;color:#495e56cc;font-size:13px;font-weight:900}.growth-curve-toolbar button.active{border-color:#5e8f7966;background:#679e7f26;color:#355e51}.growth-curve-frame{display:grid;gap:7px}.growth-curve-scale{display:flex;justify-content:space-between;color:#5b6f68ad;font-size:11px;font-weight:800}.growth-curve-svg{width:100%;height:144px;overflow:visible}.growth-curve-svg line{stroke:#cfded6d1;stroke-dasharray:3 5;stroke-width:1}.growth-curve-svg polyline{fill:none;stroke:#5f8b76;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.growth-curve-svg circle{fill:#fffdf8;stroke:#5f8b76;stroke-width:3}.growth-curve-svg text{fill:#5b6f68b8;font-size:10px;font-weight:800}.growth-curve-latest,.growth-curve-empty{margin:0;color:#495e56cc;font-size:12px;font-weight:800;line-height:1.4}.growth-entry-card{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 1px 3px #0000000f;margin-bottom:12px}.growth-entry-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.growth-entry-card-head h3{font-size:15px;color:#333;margin:0}.growth-entry-card-open{font-size:13px;color:#527064;background:#8ac4a829;padding:4px 10px;border-radius:12px;border:none;cursor:pointer}.growth-entry-card-stats{display:flex;justify-content:space-between;gap:8px}.growth-entry-card-stat{display:flex;flex-direction:column;gap:2px;flex:1;text-align:center;padding:8px 0;background:#fff8e68c;border-radius:10px}.growth-entry-card-stat-label{font-size:11px;color:#888}.growth-entry-card-stat-value{font-size:15px;color:#333;font-weight:500}.growth-entry-card-empty{font-size:13px;color:#888;margin:0;text-align:center;padding:8px 0}.growth-observation-row{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:10px;margin-top:12px;padding:11px 0 0;border:0;border-top:1px solid rgba(214,224,216,.72);background:transparent;color:#527064;text-align:left}.growth-observation-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#8ac4a824;color:#5f8b76}.growth-observation-copy{display:grid;gap:2px;min-width:0}.growth-observation-copy strong{color:#35564b;font-size:13px;line-height:1.25}.growth-observation-copy small{color:#5b6f68b8;font-size:12px;line-height:1.35}.growth-trend-card{display:grid;gap:12px}.growth-trend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.growth-trend-item{display:grid;min-width:0;gap:5px;padding:11px 10px;border:1px solid rgba(83,143,121,.16);border-radius:8px;background:#f6fbf7c7}.growth-trend-item span,.growth-trend-item em{color:#73817b;font-size:12px;font-style:normal;font-weight:800}.growth-trend-item strong{overflow-wrap:anywhere;color:#273532;font-size:18px;line-height:1.15}.growth-trend-item small{color:#4f806b;font-size:12px;font-weight:800;line-height:1.35}.growth-trend-item.empty small{color:#8a948f}.family-members-card{display:flex;flex-direction:column;gap:12px}.family-members-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.family-members-head .section-kicker{display:inline-flex;align-items:center;gap:6px}.family-invite-reset{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid rgba(88,163,127,.4);border-radius:999px;background:#58a37f14;color:#2f5e4d;font-size:12px;cursor:pointer}.family-invite-reset:disabled{opacity:.5;cursor:not-allowed}.family-members-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.family-member-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;background:#58a37f0f}.family-member-main{display:flex;flex-direction:column;gap:2px;min-width:0}.family-member-main strong{font-size:14px;color:#3f3a32}.family-member-main small{font-size:12px;color:#8a8276}.family-member-actions{display:flex;align-items:center;gap:6px;flex:none}.family-member-actions button{padding:6px 10px;border:1px solid rgba(120,96,60,.18);border-radius:10px;background:#fffdfa;color:#4f483c;font-size:12px;cursor:pointer}.family-member-actions button:disabled{opacity:.5;cursor:not-allowed}.family-member-remove{display:inline-flex;align-items:center;justify-content:center;color:#b25a47;border-color:#e8907c66!important}.family-members-empty{margin:0;font-size:13px;line-height:1.5;color:#8a8276}.family-invite-result{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;background:#58a37f1a;border:1px dashed rgba(88,163,127,.4)}.family-invite-result span{font-size:12px;color:#6f6657}.family-invite-result strong{font-size:22px;letter-spacing:4px;color:#2f5e4d;font-variant-numeric:tabular-nums}.album-photo-tile{content-visibility:auto;contain-intrinsic-size:auto 220px}.feeding-alarm-card{position:relative;display:flex;align-items:center;gap:13px;margin:0 0 12px;padding:14px 16px;border:1px solid rgba(190,225,211,.9);border-radius:16px;background:#fffdf8}.feeding-alarm-card.is-due{border-color:#ec8f7db3;background:#fff6ef}.feeding-alarm-card .fa-orb{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#4d7d601f;color:#4d7d60}.feeding-alarm-card.is-due .fa-orb{background:#ec8f7d29;color:#d9543c}.feeding-alarm-card .fa-body{flex:1;min-width:0}.feeding-alarm-card .fa-label{margin:0;font-size:12px;color:var(--muted, #7d8585)}.feeding-alarm-card.is-due .fa-label{color:#d9543c}.feeding-alarm-card .fa-count{margin:1px 0 2px;font-size:19px;font-weight:600;color:var(--ink, #2d3137)}.feeding-alarm-card.is-due .fa-count{color:#d9543c}.feeding-alarm-card .fa-sub{margin:0;font-size:12px;color:var(--muted, #7d8585)}.feeding-alarm-card .fa-fed,.feeding-alarm-card .fa-setup{flex:none;border:0;border-radius:12px;padding:10px 16px;font-size:14px;font-weight:600;background:#4d7d60;color:#fff}.feeding-alarm-card.is-due .fa-fed{background:#e2624b}.feeding-alarm-card .fa-setup{background:transparent;border:1px solid rgba(120,95,60,.2);color:#6b6354}.fa-sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:flex-end;justify-content:center;background:#1c181252}.fa-sheet{width:100%;max-width:460px;margin:0 8px calc(env(safe-area-inset-bottom) + 12px);padding:16px;border-radius:18px;background:#fff;box-shadow:0 16px 40px #392d1f38}.fa-sheet-title{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--ink, #2d3137)}.fa-chips{display:flex;flex-wrap:wrap;gap:8px}.fa-chip{border:1px solid rgba(190,225,211,.9);border-radius:999px;padding:9px 15px;font-size:14px;color:var(--ink, #2d3137);background:#fffdf9}.fa-chip.alt{color:#4d7d60;border-color:#4d7d6059;background:#4d7d6014}.fa-chip.more{color:var(--muted, #7d8585)}.sleep-entry-card{display:flex;align-items:center;gap:13px;width:100%;margin:0 0 12px;padding:14px 16px;border:1px solid rgba(120,130,170,.28);border-radius:16px;background:#f4f5fb;text-align:left}.sleep-entry-orb{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#5e6ea029;color:#5e6ea0}.sleep-entry-body{display:grid;gap:2px}.sleep-entry-title{font-size:15px;font-weight:600;color:var(--ink, #2d3137)}.sleep-entry-sub{font-size:12px;color:var(--muted, #7d8585)}.sleep-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:flex;flex-direction:column;gap:14px;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 16px);background:#171b26;color:#e9ecf2;overflow-y:auto}.sleep-top{display:flex;align-items:center;justify-content:space-between}.sleep-top b{font-size:16px;font-weight:600}.sleep-x{display:grid;place-items:center;min-width:44px;min-height:44px;margin-right:-8px;border:0;border-radius:999px;background:transparent;color:#98a2b6;padding:0;touch-action:manipulation}.sleep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sleep-tile{display:grid;justify-items:center;gap:5px;padding:13px 6px;border:1px solid #2d3446;border-radius:13px;background:#222a3a;color:#e9ecf2}.sleep-tile span{font-size:12px}.sleep-tile.on{background:#233a30;border-color:#345f4b;color:#8fc6a8}.sleep-now{display:flex;align-items:center;justify-content:space-between;gap:11px;padding:11px 13px;border-radius:15px;background:#2b3446}.sleep-now span{font-size:13px}.sleep-pp{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:0;background:#8fc6a8;color:#13241b}.sleep-timerrow{display:grid;gap:8px}.sleep-tl{font-size:12px;color:#98a2b6}.sleep-chips{display:flex;flex-wrap:wrap;gap:6px}.sleep-chip{border:1px solid #2f3850;border-radius:999px;padding:7px 13px;font-size:12px;color:#98a2b6;background:transparent}.sleep-chip.on{background:#8fc6a8;color:#13241b;border-color:#8fc6a8}.sleep-stop{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:12px;border:1px solid #34405a;border-radius:13px;background:transparent;color:#e9ecf2;font-size:13px}.vaccine-screen{padding:16px 16px calc(env(safe-area-inset-bottom) + 16px)}.vaccine-region{display:grid;gap:8px;margin:8px 0 12px}.vaccine-region__label{font-size:12px;color:var(--muted, #7d8585)}.vaccine-region__chips{display:flex;flex-wrap:wrap;gap:6px}.vaccine-region__chip{border:1px solid var(--line, #eadfd0);border-radius:999px;padding:6px 12px;font-size:12px;background:#fff;color:var(--ink, #2d3137)}.vaccine-region__chip.on{background:#4d7d60;color:#fff;border-color:#4d7d60}.vaccine-summary{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:var(--muted, #7d8585);margin-bottom:8px}.vaccine-summary__pending{color:#d9543c;font-weight:600}.vaccine-list{display:grid;gap:10px}.vaccine-card{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line, #eadfd0);border-radius:14px;background:#fffdf8}.vaccine-card.overdue,.vaccine-card.closing{border-color:#ec8f7db3;background:#fff6ef}.vaccine-card.done{opacity:.7}.vaccine-card__main{flex:1;min-width:0}.vaccine-card__head{display:flex;align-items:center;gap:8px}.vaccine-card__name{font-size:15px;font-weight:600;color:var(--ink, #2d3137)}.vaccine-card__tag{font-size:11px;padding:1px 7px;border-radius:999px;background:#4d7d601f;color:#4d7d60}.vaccine-card.klass-optional .vaccine-card__tag{background:#dfa94729;color:#b07d18}.vaccine-card__intro{margin:3px 0 4px;font-size:12px;color:var(--muted, #7d8585)}.vaccine-card__meta{display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;color:var(--muted, #7d8585)}.vaccine-card__status.due,.vaccine-card__status.closing,.vaccine-card__status.overdue{color:#d9543c;font-weight:600}.vaccine-card__status.done{color:#4d7d60}.vaccine-card__price{color:#b07d18}.vaccine-card__cta{flex:none;border:0;border-radius:12px;padding:9px 15px;font-size:13px;font-weight:600;background:#4d7d60;color:#fff}.vaccine-card__cta.undo{background:transparent;border:1px solid rgba(120,95,60,.2);color:#6b6354}.growth-observation-badge{flex:none;font-size:11px;font-weight:600;color:#d9543c;background:#d9543c1a;border-radius:999px;padding:2px 8px;white-space:nowrap}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in .18s ease-out both}.fade-in-up{animation:fade-in-up .22s ease-out both}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:40ms}.stagger>*:nth-child(3){animation-delay:80ms}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.16s}.stagger>*:nth-child(6){animation-delay:.2s}.tab-content-enter{animation:fade-in .22s ease-out both}@media (prefers-reduced-motion: reduce){.fade-in,.fade-in-up,.tab-content-enter,.stagger>*{animation:none!important}}.placeholder{position:relative;display:flex;align-items:center;justify-content:center;width:100%;background:linear-gradient(135deg,#fff2dcb3,#f0dec4b3),repeating-linear-gradient(45deg,rgba(180,140,90,.04) 0,rgba(180,140,90,.04) 6px,transparent 6px,transparent 12px);border:1px dashed rgba(180,140,90,.28);border-radius:12px;color:#a08a6d;overflow:hidden}:root{--ink: #2d3137;--muted: #7d8585;--line: #eadfd0;--paper: #fffaf1;--soft: #fff4df;--sage: #75a88e;--sage-dark: #377b64;--coral: #ec8f7d;--sky: #6aa4d9;--amber: #dfa947;--rose: #d87895;--mint-soft: #edf8ef;--sky-soft: #eef7ff;--peach-soft: #fff0e7;--sun-soft: #fff7d9;--shadow-soft: 0 12px 30px rgba(106, 78, 48, .09);--shadow-lift: 0 16px 38px rgba(106, 78, 48, .14)}body{background:linear-gradient(180deg,#fff7e8,#f2fbf3 48%,#eef7ff)}.app-shell{isolation:isolate;background:linear-gradient(180deg,#fff9edfa,#f6fcf4f5 42%,#eff8fffa),#fff9ed;border-color:#eadfd0b3;box-shadow:0 22px 70px #6a4e3029}.app-shell.auth-splash:before,.app-shell.auth-splash:after{content:none}.app-shell:before{position:absolute;top:18px;right:-18px;z-index:0;width:118px;height:40px;border-radius:999px;background:#ffffff9e;box-shadow:-38px 12px 0 -8px #ffffff8a,-18px -14px 0 -4px #ffffff80,-76px 36px 0 -12px #fff7d975;content:"";pointer-events:none}.app-shell:after{position:absolute;right:-44px;bottom:62px;z-index:0;width:210px;height:76px;border-radius:60% 0 0/100% 0 0;background:linear-gradient(135deg,#bee8cf6b,#eef7ff33);content:"";pointer-events:none}.workspace,.auth-panel,.mobile-tabbar{position:relative;z-index:1}.brand-mark,.companion-badge,.empty-sticker{color:#fff;background:linear-gradient(135deg,#fff8e8,#eef8ff 58%,#f7fff7);box-shadow:0 10px 22px #5d857c38}.storybook-brand-icon,.storybook-photo-icon,.companion-icon-img,.message-companion img,.record-event-icon img,.summary-metric-icon,.care-tile-icon,.empty-sticker img{display:block;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.storybook-brand-icon{width:42px;height:42px;transform:scale(1.16)}.auth-panel{position:relative;overflow:visible;padding-top:14px}.auth-panel:before{position:absolute;top:10px;right:12px;width:52px;height:52px;border-radius:8px;background:linear-gradient(135deg,#ffd88c94,#fff0e7b3);transform:rotate(8deg);content:"";pointer-events:none}.storybook-scene{position:relative;height:132px;margin:0 0 12px;overflow:hidden;border:1px solid rgba(255,233,198,.94);border-radius:8px;background:linear-gradient(180deg,#eaf7ff,#fff8dd 58%,#eaf7e9);box-shadow:inset 0 0 0 1px #ffffffb8,0 12px 26px #6a4e3014}.auth-panel .storybook-scene{z-index:0}.storybook-scene:before{position:absolute;right:-28px;bottom:-22px;width:174px;height:78px;border-radius:90px 0 0;background:linear-gradient(135deg,#bfe9d0,#9fd5b9);content:""}.storybook-scene:after{position:absolute;left:-20px;bottom:-28px;width:180px;height:86px;border-radius:0 90px 0 0;background:linear-gradient(135deg,#fff0c6,#ffdca4);content:""}.storybook-sun{position:absolute;top:18px;left:22px;width:34px;height:34px;border-radius:8px;background:#ffd372;box-shadow:0 0 0 8px #ffd37238,0 8px 18px #d391282e;transform:rotate(10deg)}.storybook-cloud{position:absolute;height:24px;border-radius:999px;background:#ffffffe0;box-shadow:16px -8px 0 4px #ffffffe0,34px 0 #ffffffe0}.storybook-cloud.cloud-one{top:26px;right:78px;width:48px;animation:cloudDrift 5.6s ease-in-out infinite}.storybook-cloud.cloud-two{top:56px;right:28px;width:38px;opacity:.8;animation:cloudDrift 6.6s ease-in-out infinite reverse}.storybook-star{position:absolute;width:15px;height:15px;background:#f6ac83;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 94%,50% 70%,21% 94%,32% 56%,2% 35%,39% 35%);animation:twinkle 1.8s ease-in-out infinite}.storybook-star.star-one{top:70px;left:76px}.storybook-star.star-two{top:28px;right:38px;width:11px;height:11px;background:#7fb899;animation-delay:.28s}.storybook-baby{position:absolute;right:72px;bottom:20px;z-index:2;display:grid;place-items:center;width:76px;height:76px;border:7px solid rgba(255,255,255,.82);border-radius:8px;background:#fffaf1;color:#477665;box-shadow:0 14px 24px #6a4e301f;transform:rotate(-3deg)}.storybook-baby img{width:74px;height:74px;max-width:none;object-fit:contain;transform:translateY(2px) scale(1.08)}.auth-loading{margin-top:-3px}.chat-companion-head{display:flex;align-items:center;gap:10px;min-width:0}.screen-heading-with-icon{display:flex;align-items:center;gap:9px;min-width:0}.screen-head-icon{width:48px;height:48px;margin-left:-6px;filter:drop-shadow(0 8px 10px rgba(106,78,48,.1))}.companion-badge{position:relative;display:grid;place-items:center;width:48px;height:48px;min-width:48px;overflow:hidden;border:2px solid rgba(255,255,255,.82);border-radius:8px}.companion-cloud{display:none}.companion-badge:after{display:none;content:none}.companion-badge img{position:relative;z-index:1;width:52px;height:52px;transform:scale(1.13)}.chat-head,.screen-head{animation:pageSoftIn .26s ease both}.chat-head h2,.screen-head h2{color:#29343a;letter-spacing:0}.eyebrow{color:#8b8075;font-weight:700}.quick-row button,.assistant-actions button,.screen-pill,.screen-action-button,.small-action,.calendar-head button,.icon-button,.tool-button,.send-button,.empty-state button,.profile-edit-button,.save-profile-button,.cancel-profile-button{border-color:#eadfd0f2;box-shadow:0 6px 16px #6a4e300f;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.quick-row button,.assistant-actions button,.screen-pill,.screen-action-button,.small-action{background:#fffaf1eb;color:#527064}.quick-row .quick-action{border-color:#dbcdbaeb;background:#fffcf6f0;color:#48685b}.records-quick-row .records-prompt-link,.records-quick-row .records-prompt-link:hover,.records-quick-row .records-prompt-link:active{min-height:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--sage-dark)!important;transform:none!important}.quick-action__icon{color:#5e7f70;background:#5b7f6d1a;box-shadow:inset 0 0 0 1px #5b7f6d14}.quick-row button:hover,.assistant-actions button:hover,.icon-button:hover,.tool-button:hover,.screen-action-button:hover,.small-action:hover{border-color:#ec8f7d73;box-shadow:var(--shadow-soft);transform:translateY(-1px)}.icon-button.visual-tool-gated,.tool-button.visual-tool-gated,.icon-button.visual-tool-gated:hover,.tool-button.visual-tool-gated:hover{color:#4a545975;border-color:#dadad2db;background:#f3f5f1;box-shadow:none;transform:none}.quick-row button:active,.assistant-actions button:active,.icon-button:active,.tool-button:active,.send-button:active,.mobile-tabbar button:active{transform:scale(.97)}.message-list{background:linear-gradient(#fffaf1cc,#fffaf1cc),linear-gradient(90deg,rgba(236,143,125,.06) 1px,transparent 1px),linear-gradient(rgba(117,168,142,.06) 1px,transparent 1px);background-size:auto,26px 26px,26px 26px}.message{position:relative;border-color:#eadfd0d1;border-radius:8px;box-shadow:var(--shadow-soft);animation:bubbleIn .24s ease both}.message.parent{border-color:#6aa4d957;background:linear-gradient(180deg,#eef8ff,#f8fcff)}.message.ai{padding-left:42px;border-color:#75a88e47;background:linear-gradient(180deg,#fffaf1,#f7fff7)}.message-companion{position:absolute;top:10px;left:10px;display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#fffaf1e0;color:#377b64;box-shadow:0 6px 12px #6a4e301a}.message-companion img{width:30px;height:30px;transform:scale(1.12)}.message-meta{color:#8a8177}.message p{color:#33383d}.message-text.streaming{color:#436b84}.loading-stars{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;min-width:25px;margin-top:7px}.loading-stars i{display:block;width:5px;height:5px;border-radius:2px;background:#f0a26f;animation:starHop .9s ease-in-out infinite}.loading-stars i:nth-child(2){animation-delay:.12s;background:#7cb99a}.loading-stars i:nth-child(3){animation-delay:.24s;background:#78ace0}.reasoning-box,.tool-activity,.safety-alert,.ask-effect-card,.album-prompt-card,.auto-effect-card,.pending-effect-card{border-radius:8px;box-shadow:0 8px 20px #6a4e300f}.reasoning-box{border-color:#6aa4d93d;background:#eef7ffc7}.tool-activity{border-color:#6aa4d940;background:#eef8ff}.tool-activity.completed,.auto-effect-card{border-color:#75a88e52;background:linear-gradient(180deg,#effaf2,#fffaf1)}.auto-effect-card{animation:stickerIn .28s ease both}.auto-effect-card svg{color:#f0a26f}.pending-effect-card{border-color:#6aa4d942;background:linear-gradient(180deg,#f3fbff,#fffaf1)}.safety-alert{border-color:#dfa94752;background:#fff8df}.composer{border-color:#eadfd0e6;background:#fffaf1f5;box-shadow:var(--shadow-lift)}.model-select .story-select-trigger,.composer textarea,.auth-form input,.auth-form select,.profile-form input,.profile-form select,.care-log-form input,.care-log-form select{border-color:#eadfd0f2;background:#fffdf8}.model-select .story-select-trigger:focus-visible,.composer textarea:focus,.auth-form input:focus,.auth-form select:focus,.profile-form input:focus,.profile-form select:focus{border-color:#6aa4d9a6;box-shadow:0 0 0 4px #6aa4d924}.send-button,.auth-form>button,.onboarding-actions button,.empty-state button,.profile-edit-button,.save-profile-button,.pending-effect-actions button,.inline-edit-button,.care-log-form button{border-color:#58a37f;background:linear-gradient(135deg,#69b78d,#4d9279)}.summary-card,.calendar-card,.day-timeline-card,.trend-card,.album-overview-card,.album-card,.reminder-group,.profile-form,.profile-detail-card,.app-profile-card,.auth-panel,.reminders-screen .reminder-list{border-color:#eadfd0e0;background:#fffaf1e6;box-shadow:var(--shadow-soft)}.section-title svg,.summary-title svg{color:#f0a26f}.summary-title{color:#477665}.record-summary-grid div,.profile-grid div,.profile-highlights div,.trend-metric-card,.care-tile{border-color:#eadfd0c7;background:#fffdf8;box-shadow:0 8px 18px #6a4e300d}.care-tile-icon{width:44px;height:44px;margin:-4px 0 6px -3px;filter:drop-shadow(0 7px 9px rgba(106,78,48,.09))}.summary-metric{position:relative;overflow:hidden;min-height:92px;padding-right:58px}.summary-metric:before{position:absolute;top:9px;right:9px;width:26px;height:26px;border-radius:8px;opacity:.48;content:""}.summary-metric-icon{position:absolute;top:6px;right:5px;z-index:1;width:50px;height:50px;filter:drop-shadow(0 7px 9px rgba(106,78,48,.1));transform:rotate(2deg)}.summary-metric.milk:before,.metric-milkMl .trend-bar-track i,.metric-milkTimes .trend-bar-track i{background:#72afe7}.summary-metric.sleep:before,.metric-sleepHours .trend-bar-track i,.metric-wakes .trend-bar-track i{background:#93a9e8}.summary-metric.growth:before,.metric-poop .trend-bar-track i{background:#f0a26f}.summary-metric.reminder:before,.metric-temperature .trend-bar-track i{background:#ec8f7d}.summary-metric.keypoint:before{background:#75a88e}.trend-metric-card{background:linear-gradient(180deg,#fffdf8,#f7fff7)}.trend-metric-card strong{color:#2d3740}.trend-metric-card small{background:#ffd88c52;color:#9a6a16}.trend-bars{padding-top:4px}.trend-bar-track{background:#eadfd094}.trend-bar-track i{transform-origin:bottom;animation:barGrow .52s ease both}.trend-bar-item.selected .trend-bar-track{outline-color:#ec8f7d5c}.calendar-grid button{transition:transform .15s ease,background .15s ease,border-color .15s ease}.calendar-grid button:hover{background:#fff7d9b8;transform:translateY(-1px)}.calendar-grid button.today{border-color:#6aa4d96b;background:#eef7ffb8}.calendar-grid button.selected{color:#fff;border-color:#75a88e;background:linear-gradient(135deg,#75a88e,#6aa4d9);box-shadow:0 8px 18px #5a827433}.calendar-grid button.has-event:after{border-radius:3px;background:#ec8f7d}.record-event{animation:pageSoftIn .22s ease both}.record-event-card{border-color:#dee5ddd1;border-radius:8px;background:linear-gradient(180deg,#fffdf8fa,#f8fdfaf5),#fffdf8;box-shadow:0 10px 24px #6a4e300d}.record-event-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#fffaf1d1;color:#377b64;box-shadow:0 7px 14px #6a4e3014}.record-event-icon img{width:36px;height:36px;transform:scale(1.04)}.record-event.event-milk .record-event-icon{background:#eef7ff;color:#3e79af}.record-event.event-sleep .record-event-icon,.record-event.event-wake .record-event-icon{background:#f2f0ff;color:#7168b7}.record-event.event-poop .record-event-icon,.record-event.event-growth .record-event-icon{background:#fff7d9;color:#9a6a16}.record-event.event-temperature .record-event-icon,.record-event.event-reminder .record-event-icon{background:#fff0e7;color:#c66a55}.record-event-time{color:#8b8075}.empty-state{border:1px dashed rgba(234,181,122,.5);border-radius:8px;background:#fffaf19e}.empty-sticker{display:grid;place-items:center;width:58px;height:58px;border-radius:8px;animation:stickerFloat 2.6s ease-in-out infinite}.empty-sticker img{width:68px;height:68px;transform:rotate(-2deg)}.baby-photo{background:linear-gradient(135deg,#edf8ef,#fff2df 55%,#eef7ff)}.photo-sky{border-color:#ffffffd1;background:linear-gradient(135deg,rgba(255,247,217,.5),transparent 58%),#ffffff38}.photo-baby{color:#477665;box-shadow:0 0 0 8px #fffc,0 14px 24px #6a4e301a}.photo-baby .storybook-photo-icon{width:96px;height:96px;transform:none}.reminder-item{border-color:#eadfd0c7;background:#fffdf8;box-shadow:0 8px 18px #6a4e300d}.reminder-icon{border:1px solid rgba(116,150,133,.24);background:#f6fbf6;color:#527b69}.reminder-icon svg{stroke-width:1.9}.reminder-item.vaccine .reminder-icon{border-color:#be8f6947;background:#fff7ef;color:#8f6848}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pageSoftIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes albumTileIn{0%{opacity:0;transform:translateY(14px) scale(.86)}58%{opacity:1;transform:translateY(-2px) scale(1.018)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes previewBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes previewBackdropOut{0%{opacity:1}to{opacity:0}}@keyframes previewZoomIn{0%{transform:var(--preview-flip, translate(0px, 0px) scale(.92, .92))}to{transform:translate(0) scale(1)}}@keyframes previewZoomOut{0%{transform:translate(0) scale(1)}to{transform:var(--preview-flip, translate(0px, 0px) scale(.92, .92))}}@keyframes systemWeakToastIn{0%{opacity:0;transform:translate(-50%,-8px) scale(.98)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes systemWeakProgressIndeterminate{0%{transform:translate(-115%)}50%{transform:translate(72%)}to{transform:translate(238%)}}@keyframes starHop{0%,80%,to{transform:translateY(0) scale(.86);opacity:.52}40%{transform:translateY(-5px) scale(1);opacity:1}}@keyframes stickerIn{0%{opacity:0;transform:translateY(8px) rotate(-1deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes stickerFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes barGrow{0%{transform:scaleY(.16)}to{transform:scaleY(1)}}@keyframes tabBounce{0%{transform:translateY(0) scale(1)}55%{transform:translateY(-3px) scale(1.08)}to{transform:translateY(0) scale(1)}}@keyframes cloudDrift{0%,to{transform:translate(0)}50%{transform:translate(8px)}}@keyframes twinkle{0%,to{opacity:.55;transform:scale(.82) rotate(0)}50%{opacity:1;transform:scale(1) rotate(8deg)}}.mobile-tabbar{position:absolute;right:0;bottom:0;left:0;z-index:30;display:grid;grid-template-columns:repeat(var(--tab-count, 5),minmax(0,1fr));gap:4px;min-height:calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom));padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid rgba(223,227,221,.94);background:#fffdfaf5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-tabbar button{display:grid;place-items:center;gap:3px;min-width:0;min-height:48px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px}.mobile-tabbar button.active{color:var(--sage-dark);background:#5b7f6d1f}.mobile-tabbar{border-top-color:#eadfd0db;background:#fffaf1e6;box-shadow:0 -14px 34px #6a4e301a}.mobile-tabbar button{transition:transform .16s ease,background .16s ease,color .16s ease}.mobile-tabbar button.active{color:#377b64;background:linear-gradient(180deg,#edf8eff2,#fff7d994)}.mobile-tabbar button.active svg{animation:tabBounce .26s ease both}.mobile-tabbar{gap:0;padding:0 max(0px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(0px,env(safe-area-inset-left))}.mobile-tabbar button{position:relative;display:grid;place-items:center;align-content:center;gap:4px;min-height:var(--mobile-tabbar-height);border:0;border-radius:8px;background:transparent;color:#8a958f;font-size:12px;font-weight:700;transition:background .16s ease,color .16s ease,transform .16s ease}.mobile-tabbar button.active{color:#2f745e;background:linear-gradient(180deg,#eff9f3f5,#def0e7e6),#eef9f1;box-shadow:inset 0 0 0 1px #58a37f2e,0 6px 16px #4d927914}.mobile-tabbar button.active:before{display:none}.mobile-tabbar button.active svg{color:#2f745e}.mobile-tabbar{grid-template-columns:repeat(var(--tab-count, 5),minmax(0,1fr))}.profile-form-note{display:grid;gap:6px;min-height:62px;padding:12px;border:1px solid rgba(234,223,208,.95);border-radius:8px;background:#fffdf8;color:var(--ink)}.profile-form-note strong{font-size:14px;line-height:1.2}.profile-form-note span{color:#477665;font-size:14px;font-weight:800;line-height:1.35}.profile-form-note small{color:var(--muted);font-size:12px;line-height:1.45}.family-member-group .profile-chip-list strong{border-color:#58a37f38;background:#e8f6eed1}@media (max-width: 480px){#root,.app-shell{max-width:none}.app-shell{border-right:0;border-left:0;box-shadow:none}}@media (max-width: 390px),(max-height: 740px){.auth-shell{align-items:stretch;justify-content:flex-start;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}.auth-panel{gap:14px;margin-block:0;padding:14px 12px}.auth-panel h1{font-size:23px}.auth-panel p{font-size:13px}.auth-panel .storybook-scene{height:108px;margin-bottom:2px}.auth-join-options{gap:9px;padding:10px}.auth-choice-row{grid-template-columns:1fr}.auth-choice-row button{min-height:54px}}@media (max-width: 360px){.app-shell{--mobile-gutter: 8px}.chat-head,.screen-head{gap:8px}.chat-head h2,.screen-head h2{font-size:18px}.screen-pill,.screen-action-button,.small-action{min-height:32px;padding:0 8px;font-size:11px}.composer{padding:8px}.composer-tools{grid-template-columns:minmax(0,1fr) repeat(3,40px);gap:6px}.composer-input-line{grid-template-columns:minmax(0,1fr) 46px;gap:6px}.tool-button,.icon-button{width:40px;height:40px;min-width:40px}.composer-input-line .send-button{width:46px;height:50px;min-width:46px}.model-select .story-select-trigger{min-height:40px;font-size:12px}.mobile-tabbar button{font-size:11px}.auth-panel{padding:12px 10px}.record-summary-grid,.ledger-summary-card,.expense-editor-grid,.profile-grid,.reminder-postpone-fields{grid-template-columns:1fr}.reminder-card-actions{grid-template-columns:repeat(2,34px)}.screen-head-actions{flex-direction:column;align-items:flex-end;gap:6px}.ledger-head-actions .screen-pill{max-width:min(166px,50vw)}.story-modal-backdrop{padding:10px 8px max(10px,env(safe-area-inset-bottom))}.story-modal{border-radius:18px;padding:14px}.expense-editor .expense-editor-grid,.reminder-editor-grid{grid-template-columns:1fr}.week-care-metric{padding:9px 8px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}.profile-pro-card{margin-top:14px;padding:16px;border:1px solid rgba(83,143,121,.22);border-radius:8px;background:linear-gradient(180deg,#f5fffaeb,#fffcf4f5),var(--surface, #fffaf0);box-shadow:0 10px 26px #475b5014}.daily-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.daily-summary-head h3{margin:3px 0 0;font-size:18px;line-height:1.25}.section-kicker{color:#5b9278;font-size:12px;font-weight:800}.pro-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;background:#82a9db24;color:#466f91;font-size:12px;font-weight:800;white-space:nowrap}.pro-status-pill.enabled{background:#53a07a29;color:#2f7957}.pro-status-pill.pending{background:#f2aa5d2e;color:#9a6533}.profile-pro-card p{margin:0;color:#5f6967;line-height:1.7}.profile-chip-list strong{border-radius:999px}.readonly-copy{display:block;margin-top:10px;color:#7b8582;line-height:1.6}.profile-pro-card{display:grid;gap:12px;margin:14px 0}.ai-usage-panel{display:grid;gap:10px;padding:12px;border:1px solid rgba(83,143,121,.18);border-radius:8px;background:#ffffff94}.ai-usage-head,.ai-usage-metrics,.ai-usage-breakdown{display:flex;align-items:center}.ai-usage-head{justify-content:space-between;gap:10px}.ai-usage-head>div{display:grid;gap:3px}.ai-usage-head span,.ai-usage-metrics small{color:#72807c;font-size:12px;font-weight:800}.ai-usage-head strong{color:#22312f;font-size:20px;line-height:1.1}.ai-usage-refresh{display:inline-grid;place-items:center;width:36px;height:36px;min-width:36px;border:1px solid rgba(83,143,121,.24);border-radius:8px;background:#f5fcf8e6;color:#4f806b}.ai-usage-refresh:disabled{opacity:.55}.ai-usage-metrics{gap:8px}.ai-usage-metrics span{display:grid;flex:1;min-width:0;gap:3px;padding:9px 10px;border-radius:8px;background:#f6fbf7c7}.ai-usage-metrics b{overflow:hidden;color:#2f4a43;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.ai-usage-breakdown{flex-wrap:wrap;gap:6px}.ai-usage-breakdown span{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 9px;border-radius:999px;background:#538f791a;color:#48645b;font-size:12px;font-weight:800}.ai-usage-breakdown b{color:#2f7957}.profile-pro-card .ai-usage-note{color:#76817e;font-size:12px;line-height:1.55}@media (max-width: 380px){.daily-summary-head{grid-template-columns:1fr;display:grid}}.pro-redeem-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.pro-redeem-input{min-height:44px;padding:0 12px;border:1px solid rgba(83,143,121,.24);border-radius:8px;background:#ffffffd1;color:#263432;font:inherit;font-weight:700;letter-spacing:.04em}.pro-redeem-input::placeholder{color:#9aa3a0;font-weight:600;letter-spacing:normal}.pro-redeem-button{min-height:44px;padding:0 18px;border:1px solid rgba(83,160,122,.3);border-radius:8px;background:#53a07a29;color:#2f7957;font-weight:800;white-space:nowrap}.pro-redeem-button:disabled{opacity:.5}.story-select{position:relative;width:100%;max-width:100%;min-width:0;color:var(--ink)}.story-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:0 11px 0 13px;border:1px solid rgba(234,223,208,.95);border-radius:12px;background:linear-gradient(180deg,#fffffff2,#fffbf1fa),#fffdf8;color:var(--ink);font:inherit;font-size:14px;text-align:left;box-shadow:0 8px 18px #503a260f,inset 0 1px #ffffffe6;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}.story-select-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.story-select-trigger .placeholder{color:#9a948a}.story-select-trigger svg{flex:0 0 auto;color:var(--sage-dark);transition:transform .18s ease}.story-select.open .story-select-trigger,.story-select-trigger:focus-visible{border-color:#6aa4d9b8;box-shadow:0 0 0 4px #6aa4d924,0 12px 26px #503a2614}.story-select.open .story-select-trigger svg{transform:rotate(180deg)}.story-select-trigger:active:not(:disabled){transform:translateY(1px) scale(.995)}.story-select-trigger:disabled{cursor:not-allowed;opacity:.58}.story-select-menu{position:absolute;z-index:60;top:calc(100% + 8px);right:0;left:0;width:min(100%,calc(100vw - 20px));max-width:calc(100vw - 20px);display:grid;gap:4px;max-height:min(280px,48vh);padding:6px;overflow:auto;border:1px solid rgba(224,211,191,.95);border-radius:16px;background:linear-gradient(180deg,#fffdf8fa,#fff9ecfa),#fffdf8;box-shadow:0 20px 48px #47372529,inset 0 1px #ffffffe6;animation:select-menu-in .15s ease-out}.model-select .story-select-menu{top:auto;bottom:calc(100% + 8px);width:max(100%,min(220px,calc(100vw - 20px)))}.story-select-menu button{position:relative;display:grid;gap:2px;min-height:42px;padding:9px 34px 9px 10px;border:0;border-radius:11px;background:transparent;color:var(--ink);text-align:left}.story-select-menu button span{font-weight:800}.story-select-menu button small{color:var(--muted);font-size:11px;line-height:1.25}.story-select-menu button:hover,.story-select-menu button:focus-visible{outline:none;background:#e0f1e9b8}.story-select-menu button.disabled,.story-select-menu button:disabled{cursor:not-allowed;opacity:.5;background:#f4efe58f}.story-select-menu button.disabled small,.story-select-menu button:disabled small{color:#a69d91}.story-select-menu button.selected{background:#bee1d3eb;color:#23483b}.story-select-menu button.selected:after{position:absolute;top:50%;right:11px;width:16px;height:16px;border-radius:999px;background:#5ca786;color:#fff;content:"✓";font-size:11px;line-height:16px;text-align:center;transform:translateY(-50%)}@keyframes select-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.consent-gate-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,#fffdf8f5,#f0fbf4f5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.consent-gate-card{width:100%;max-width:420px;max-height:calc(100vh - 48px);overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:28px 24px;border-radius:24px;background:#fffdfa;box-shadow:0 24px 60px #78603c38}.consent-gate-badge{width:52px;height:52px;border-radius:18px;display:flex;align-items:center;justify-content:center;color:#58a37f;background:#58a37f1f}.consent-gate-copy h1{margin:4px 0 6px;font-size:24px}.consent-gate-copy p{margin:0;color:#6f6657;line-height:1.5}.consent-beta-note{margin:0;padding:12px 14px;border-radius:14px;font-size:13px;line-height:1.55;color:#b25a47;background:#e8907c29}.consent-links-intro{margin:0;font-size:14px;line-height:1.6;color:#5a5246}.consent-link{margin:0 2px;padding:0;border:none;background:none;font:inherit;color:#58a37f;text-decoration:underline;cursor:pointer}.consent-guardian-check{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:14px;font-size:14px;line-height:1.5;color:#4f483c;background:#58a37f12;cursor:pointer}.consent-guardian-check input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:#58a37f}.consent-accept-button{margin-top:4px;width:100%;padding:14px;border:none;border-radius:16px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#4a6f5d,#58a37f);cursor:pointer;transition:opacity .15s ease,transform .1s ease}.consent-accept-button:disabled{opacity:.45;cursor:not-allowed}.consent-accept-button:not(:disabled):active{transform:scale(.98)}.legal-doc-modal,.ai-data-notice-modal{width:100%;max-width:440px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.legal-doc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 20px 12px;border-bottom:1px solid rgba(120,96,60,.12)}.legal-doc-head h3{margin:0;font-size:18px}.legal-doc-body,.ai-data-notice-body{padding:16px 20px 22px;overflow-y:auto}.legal-doc-section{margin-bottom:16px}.legal-doc-section h4{margin:0 0 6px;font-size:15px;color:#3f3a32}.legal-doc-section p,.ai-data-notice-body p{margin:0 0 8px;font-size:14px;line-height:1.6;color:#5a5246}.legal-doc-footnote{margin:12px 0 0;font-size:12px;line-height:1.5;color:#8a8276}.profile-legal-links{display:flex;flex-direction:column;gap:2px;margin-top:8px}.profile-legal-link{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:14px 4px;border:none;border-bottom:1px solid rgba(120,96,60,.1);background:none;font:inherit;font-size:15px;color:#4f483c;text-align:left;cursor:pointer}.profile-legal-link:last-child{border-bottom:none}.profile-legal-link svg{flex:none;color:#b3a892}.profile-legal-ai-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding-top:12px;border-top:1px solid rgba(120,96,60,.1);font-size:15px;color:#4f483c}.auth-scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(72% 72% at 32% 32%,rgba(193,224,193,.5),transparent 62%),radial-gradient(60% 60% at 82% 76%,rgba(255,206,166,.72),transparent 60%),radial-gradient(56% 56% at 86% 26%,rgba(170,214,235,.58),transparent 60%),linear-gradient(160deg,#f6f3e9,#f1f7ee);background-size:180% 180%;animation:authAuroraDrift 5s ease-in-out infinite}@keyframes authAuroraDrift{0%,to{background-position:0% 0%}50%{background-position:100% 100%}}.auth-splash{position:relative;justify-content:center;background:#f3f7f2}.auth-splash-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}.auth-splash-status{margin:14px 0 12px;color:#6f6657;font-size:14px;letter-spacing:1px}.auth-brand{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.auth-brand-mark{width:150px;height:150px;object-fit:contain}.auth-brand-name{margin-top:6px;font-size:26px;font-weight:800;letter-spacing:3px;color:#4d7d60}.auth-brand-slogan{font-size:13px;letter-spacing:1px;color:#7c7163}@media (prefers-reduced-motion: reduce){.auth-scene{animation:none!important}}:root{--r-chip: 12px;--r-card: 16px;--r-hero: 20px;--r-modal: 22px;--elev-list: 0 4px 12px rgba(106, 78, 48, .05);--elev-card: 0 10px 26px rgba(106, 78, 48, .08), 0 3px 8px rgba(106, 78, 48, .05);--elev-hero: 0 18px 40px rgba(106, 78, 48, .12), 0 5px 14px rgba(106, 78, 48, .06);--elev-btn: 0 8px 18px rgba(55, 123, 100, .3);--edge-light: inset 0 1px 0 rgba(255, 255, 255, .7), inset 0 -1px 0 rgba(234, 223, 208, .55);--surface-card: linear-gradient(145deg, #fffaf1 0%, #fffaf1 52%, #f7ecd9 100%);--surface-hero: linear-gradient(145deg, #fffdf8 0%, #fffaf1 54%, #f6ead7 100%);--glow: radial-gradient(150px 105px at 82% 8%, rgba(223, 169, 71, .22), rgba(236, 143, 125, .1) 48%, transparent 72%);--btn-primary-bg: linear-gradient(135deg, #7bb295 0%, #3d8268 72%);--btn-primary-edge: inset 0 1px 0 rgba(255, 255, 255, .35)}.summary-card,.ledger-card,.ledger-summary-card,.calendar-card,.trend-card,.album-overview-card,.app-profile-card,.profile-detail-card,.profile-form,.reminder-group,.ledger-manual-cta{border-radius:var(--r-card);background:var(--surface-card);box-shadow:var(--edge-light),var(--elev-card);border:1px solid rgba(234,223,208,.9)}.record-event-card,.day-timeline-card,.expense-item,.expense-row{border-radius:var(--r-card);box-shadow:var(--edge-light),var(--elev-list)}.screen-action-button{border-radius:var(--r-chip);box-shadow:var(--edge-light),var(--elev-list)}.send-button,.auth-form>button,.onboarding-actions button,.empty-state button,.profile-edit-button,.save-profile-button,.pending-effect-actions button,.inline-edit-button,.care-log-form button{border-radius:var(--r-chip);background:var(--btn-primary-bg);box-shadow:var(--btn-primary-edge),var(--elev-btn);border:1px solid #3d8268;color:#fffaf1}.feeding-alarm-card,.sleep-entry-card,.growth-entry-card,.vaccine-card,.ledger-ai-entry-card{position:relative;border-radius:var(--r-hero);background:var(--glow),var(--surface-hero);box-shadow:var(--edge-light),var(--elev-hero);border:1px solid rgba(234,223,208,.85)}.feeding-alarm-card{--glow: radial-gradient(150px 105px at 82% 8%, rgba(223, 169, 71, .22), rgba(236, 143, 125, .1) 48%, transparent 72%)}.sleep-entry-card{--glow: radial-gradient(150px 105px at 82% 8%, rgba(106, 164, 217, .2), rgba(117, 168, 142, .08) 48%, transparent 72%)}.growth-entry-card{--glow: radial-gradient(150px 105px at 82% 8%, rgba(236, 143, 125, .2), rgba(223, 169, 71, .08) 48%, transparent 72%)}.vaccine-card{--glow: radial-gradient(150px 105px at 82% 8%, rgba(216, 120, 149, .18), rgba(236, 143, 125, .08) 48%, transparent 72%)}.ledger-ai-entry-card{--glow: radial-gradient(150px 105px at 82% 8%, rgba(223, 169, 71, .2), rgba(236, 143, 125, .08) 48%, transparent 72%)}.feeding-alarm-card,.sleep-entry-card,.growth-entry-card,.vaccine-card,.ledger-ai-entry-card{background:var(--accent, none) no-repeat right 11px top 9px / 52px,var(--glow),var(--surface-hero)}.feeding-alarm-card{--accent: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%20stroke='%23dfa947'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-opacity='0.32'%3E%3Cpath%20d='M19%205h10v8l4%205v20a6%206%200%200%201-6%206h-6a6%206%200%200%201-6-6V18l4-5V5z'/%3E%3Cpath%20d='M19%2013h10'/%3E%3Cpath%20d='M24%2024c3%204%205%207%205%2010a5%205%200%200%201-10%200c0-3%202-6%205-10z'/%3E%3C/svg%3E")}.sleep-entry-card{--accent: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%20stroke='%236aa4d9'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-opacity='0.32'%3E%3Cpath%20d='M31%205a17%2017%200%201%200%2012%2029A19%2019%200%200%201%2031%205z'/%3E%3Cpath%20d='M15%209v6M12%2012h6'/%3E%3Cpath%20d='M39%2010v4M37%2012h4'/%3E%3C/svg%3E")}.growth-entry-card{--accent: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%20stroke='%23ec8f7d'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-opacity='0.32'%3E%3Cpath%20d='M24%2043V25'/%3E%3Cpath%20d='M24%2025C15%2024%209%2018%208%209c9%201%2015%207%2016%2016z'/%3E%3Cpath%20d='M24%2025c9-1%2015-7%2016-16-9%201-15%207-16%2016z'/%3E%3Cpath%20d='M14%2043h20'/%3E%3C/svg%3E")}.vaccine-card{--accent: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%20stroke='%23d87895'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-opacity='0.32'%3E%3Cpath%20d='M24%205l15%206v11c0%2011-6%2018-15%2022C15%2040%209%2033%209%2022V11l15-6z'/%3E%3Cpath%20d='M24%2031c-5-3-9-7-9-12%200-4%205-6%209-2%204-4%209-2%209%202%200%205-4%209-9%2012z'/%3E%3C/svg%3E")}.ledger-ai-entry-card{--accent: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%20stroke='%23dfa947'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-opacity='0.32'%3E%3Cpath%20d='M13%205h22v38l-5-3-4%203-4-3-4%203-5-3V5z'/%3E%3Cpath%20d='M19%2016h10'/%3E%3Cpath%20d='M19%2024h14'/%3E%3Cpath%20d='M19%2032h8'/%3E%3C/svg%3E")}
