*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--paper:#fbf3e4;--surface:#fffcf6;--ink:#2b3a2e;--text-muted:#5c6953;--text-faint:#a6b099;--label:#9aa68c;--leaf:#79c25b;--leaf-ink:#1f3326;--cactus:#2f6e47;--pot-fill:#e8f0db;--blush:#f4a6bc;--terracotta:#d8845e;--rest:#a2ae98;--danger:#e15a45;--water:#dcebf5;--card-edge:#ebddc1;--dusk:#e6e2f1;--dusk-ink:#6e6690;--radius:18px;--shadow-card:0 6px 16px #2b3a2e12;--pop-sm:2px 3px 0 #2b3a2e1f;--pop-tab:0 3px 0 #2b3a2e29;--sage:#79c25b;--sage-pale:#e8f0db}html,body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100dvh;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input{font:inherit;border:none;outline:none}.app{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.app-header{background:var(--cactus);color:#fff;z-index:10;align-items:center;gap:10px;padding:14px 18px;display:flex;position:sticky;top:0}.app-header h1{flex:1;font-family:Fredoka,sans-serif;font-size:1.25rem;font-weight:600}.back-btn{color:#fff;background:#ffffff2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;line-height:1;transition:background .15s,transform .15s;display:flex}.back-btn svg{display:block}.back-btn:hover{background:#ffffff47}.back-btn:active{transform:scale(.92)}.header-actions{flex-shrink:0;gap:8px;margin-left:auto;display:flex}.header-btn{color:#fff;background:#ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-family:Fredoka,sans-serif;font-size:1.2rem;font-weight:700;line-height:1;text-decoration:none;transition:background .15s,transform .15s;display:flex}.header-btn-settings{font-size:1.05rem}.header-btn:hover{background:#ffffff47}.header-btn:active{transform:scale(.92)}.settings-btn{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.3rem;transition:background .15s;display:flex}.settings-btn:hover{background:#ffffff2e}.app-main{flex:1;padding:16px 20px 100px}.app-main-home{padding:0 20px 100px}.loading{text-align:center;color:var(--text-faint);padding:40px}.home{position:relative}.ledger{min-height:100dvh;margin:0 -20px -100px;padding-bottom:120px;position:relative}.ledger-head{border-bottom:2px solid var(--card-edge);padding:22px 24px 20px;position:relative}.ledger-settings{background:var(--surface);border:2px solid var(--card-edge);width:40px;height:40px;box-shadow:var(--shadow-card);border-radius:50%;justify-content:center;align-items:center;font-size:1.05rem;transition:transform .15s;display:flex;position:absolute;top:18px;right:18px}.ledger-settings:active{transform:scale(.92)}.ledger-help{background:var(--surface);border:2px solid var(--card-edge);width:40px;height:40px;box-shadow:var(--shadow-card);color:var(--cactus);border-radius:50%;justify-content:center;align-items:center;font-family:Fredoka,sans-serif;font-size:1.2rem;font-weight:700;text-decoration:none;transition:transform .15s;display:flex;position:absolute;top:18px;right:66px}.ledger-help:active{transform:scale(.92)}.ledger-eyebrow,.eyebrow,.ledger-sub{letter-spacing:.12em;text-transform:uppercase;font-family:Nunito,sans-serif;font-size:12px;font-weight:800}.ledger-eyebrow{color:var(--terracotta)}.eyebrow{color:var(--label)}.ledger-sub{color:var(--text-muted);margin-top:10px}.ledger-title{color:var(--ink);letter-spacing:-.5px;margin:4px 0 0;font-family:Fredoka,sans-serif;font-size:34px;font-weight:700;line-height:1.05}.ledger-week{padding:18px 24px 14px}.week-header{justify-content:space-between;align-items:baseline;display:flex}.week-strip{justify-content:space-between;align-items:flex-start;margin-top:14px;display:flex;position:relative}.week-axis{display:none}.week-day{background:0 0;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:0 2px;display:flex}.week-day.active .day-dot{outline:2.5px solid var(--leaf);outline-offset:2px}.week-day.active .day-dot.filled{background:var(--leaf);color:var(--leaf-ink);border:2.5px solid var(--ink);box-shadow:var(--pop-tab)}.day-dot{background:var(--surface);border:1.5px solid var(--card-edge);width:38px;height:38px;color:var(--text-muted);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-family:Fredoka,sans-serif;font-size:14px;font-weight:700;display:flex;position:relative}.day-dot.filled{color:var(--cactus);background:#c3e3b2;border:1.5px solid #a4ce8c}.day-label{letter-spacing:.08em;text-transform:uppercase;color:var(--label);font-family:Nunito,sans-serif;font-size:9px;font-weight:800}.week-day.active .day-label{color:var(--cactus)}.glyph-empty{height:16px}.glyph-stack{align-items:center;height:22px;display:flex}.glyph-emoji{background:var(--pot-fill);border:1.5px solid var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:flex;position:relative}.glyph-zz{font-size:9px;line-height:1;position:absolute;top:-7px;right:-7px}.glyph-pill{background:var(--terracotta);color:#fff;border-radius:999px;align-items:center;height:22px;margin-left:-4px;padding:0 7px;font-family:Nunito,sans-serif;font-size:10px;font-weight:800;display:flex}.week-drawer{background:var(--surface);border:2px solid var(--card-edge);box-shadow:var(--shadow-card);border-radius:16px;margin-top:16px;padding:13px 14px;animation:.18s ease-out drawer-open}@keyframes drawer-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.drawer-head{letter-spacing:.1em;text-transform:uppercase;color:var(--label);margin-bottom:10px;font-family:Nunito,sans-serif;font-size:10px;font-weight:800}.drawer-pills{flex-wrap:wrap;gap:6px;display:flex}.day-pill{background:var(--pot-fill);border:1.5px solid var(--card-edge);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:7px 13px 7px 9px;font-size:13px;font-weight:700;transition:transform .15s,background .15s;display:inline-flex}.day-pill:active{transform:scale(.96)}.day-pill:hover{background:#dcebc8}.pill-emoji{font-size:14px}.day-pill.snoozed{background:var(--dusk)}.pill-zz{margin-left:-2px;font-size:11px}.drawer-empty{color:var(--text-muted);font-size:13px;font-style:italic}.ledger-tabs{border-top:2px solid var(--card-edge);gap:8px;margin-top:6px;padding:14px 24px 8px;display:flex}.tab-btn{color:#8a9580;background:0 0;border:2.5px solid #0000;border-radius:20px;padding:7px 14px;font-family:Fredoka,sans-serif;font-size:14px;font-weight:700;transition:color .15s}.tab-btn.active{color:var(--leaf-ink);background:var(--leaf);border-color:var(--ink);box-shadow:var(--pop-tab)}.ledger-content{padding:14px 24px 24px}.ledger-empty{text-align:center;color:var(--text-faint);padding:40px 0;font-size:14px;font-style:italic}.tend-list{flex-direction:column;gap:14px;display:flex}.tend-list .plant-row{margin-bottom:0}.tend-group{background:var(--surface);border:2px solid var(--card-edge);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:12px 14px}.tend-plant{align-items:center;gap:8px;margin-bottom:8px;display:flex}.tend-plant-emoji{font-size:22px}.tend-plant-name{color:var(--ink);font-family:Fredoka,sans-serif;font-size:17px;font-weight:600}.tend-tasks{flex-direction:column;gap:6px;display:flex}.tend-task{background:var(--paper);border-radius:12px;align-items:center;gap:8px;padding:6px 8px;display:flex}.tend-task-icon{font-size:18px}.tend-task-label{letter-spacing:.04em;text-transform:uppercase;font-family:Nunito,sans-serif;font-size:12px;font-weight:800}.tend-task-due{letter-spacing:.04em;text-transform:uppercase;margin-left:auto;font-family:Nunito,sans-serif;font-size:11px;font-weight:800}.tend-task.tone-urgent .tend-task-label,.tend-task.tone-urgent .tend-task-due{color:var(--terracotta)}.tend-task.tone-soft .tend-task-label{color:var(--text-muted)}.tend-task.tone-soft .tend-task-due{color:var(--text-faint)}.tend-task-do{background:var(--leaf);border:2px solid var(--ink);width:34px;height:34px;box-shadow:var(--pop-sm);color:var(--leaf-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:800;transition:transform .15s,box-shadow .15s;display:flex}.tend-task-do:active{box-shadow:none;transform:scale(.9)}.tend-task-do{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.snoozed-strip{border:2px dashed var(--card-edge);border-radius:var(--radius);margin-top:14px;padding:10px 14px}.snoozed-head{letter-spacing:.08em;text-transform:uppercase;color:var(--dusk-ink);justify-content:space-between;margin-bottom:4px;font-size:11px;font-weight:800;display:flex}.snoozed-count{color:var(--text-faint)}.snoozed-row{cursor:pointer;align-items:center;gap:10px;padding:6px 0;display:flex}.snoozed-emoji{opacity:.75;font-size:18px}.snoozed-name{min-width:0;color:var(--text-muted);flex:1;font-size:14px}.snoozed-task{color:var(--text-faint);font-size:12px}.snoozed-when{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:800}.snoozed-wake{border:2px solid var(--card-edge);background:var(--surface);color:var(--text-muted);border-radius:10px;padding:4px 10px;font-size:11px;font-weight:800}.snoozed-wake:active{transform:scale(.94)}.sheet-overlay{z-index:100;background:#2b3a2e52;justify-content:center;align-items:flex-end;animation:.16s ease-out sheet-fade;display:flex;position:fixed;inset:0}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}.snooze-sheet{background:var(--surface);border-top:2px solid var(--ink);width:100%;max-width:520px;padding:14px 20px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;animation:.2s ease-out sheet-up}@keyframes sheet-up{0%{transform:translateY(24px)}to{transform:translateY(0)}}.sheet-grab{background:var(--card-edge);border-radius:2px;width:40px;height:4px;margin:0 auto 14px}.sheet-title{color:var(--ink);align-items:center;gap:8px;font-family:Fredoka,sans-serif;font-size:19px;font-weight:600;display:flex}.sheet-hint{color:var(--text-muted);margin:3px 0 16px;font-size:13px}.sheet-done,.sheet-snooze{border:2px solid var(--ink);width:100%;box-shadow:var(--pop-tab);border-radius:16px;padding:12px;font-size:15px;font-weight:800}.sheet-done{background:var(--leaf);color:var(--leaf-ink);margin-bottom:18px}.sheet-snooze{background:var(--dusk);color:var(--ink);margin-top:14px}.sheet-done:active,.sheet-snooze:active{box-shadow:none;transform:translateY(2px)}.sheet-or{letter-spacing:.1em;text-transform:uppercase;color:var(--label);margin-bottom:10px;font-size:11px;font-weight:800}.snooze-stepper{align-items:center;gap:12px;display:flex}.snooze-step{background:var(--paper);border:2px solid var(--ink);width:50px;height:50px;box-shadow:var(--pop-sm);color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;font-weight:800;display:flex}.snooze-step:active{box-shadow:none;transform:scale(.92)}.snooze-step:disabled{opacity:.35}.snooze-count{text-align:center;background:var(--dusk);border:2px solid var(--ink);color:var(--ink);border-radius:16px;flex:1;padding:7px 0;font-size:15px}.snooze-num{vertical-align:-3px;font-family:Fredoka,sans-serif;font-size:26px;font-weight:600}.snooze-count small{letter-spacing:.04em;text-transform:uppercase;color:var(--dusk-ink);margin-top:1px;font-size:11px;font-weight:800;display:block}.care-schedule{background:var(--surface);border:2px solid var(--card-edge);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:16px;padding:14px 16px}.care-schedule h3{letter-spacing:.1em;text-transform:uppercase;color:var(--label);margin-bottom:10px;font-family:Nunito,sans-serif;font-size:11px;font-weight:800}.sched-row{align-items:center;gap:8px;padding:5px 0;display:flex}.sched-icon{text-align:center;width:22px;font-size:18px}.sched-label{color:var(--ink);font-family:Nunito,sans-serif;font-size:13px;font-weight:800}.sched-interval{color:var(--text-faint);font-size:12px;font-weight:600}.sched-next{letter-spacing:.04em;text-transform:uppercase;margin-left:auto;font-family:Nunito,sans-serif;font-size:11px;font-weight:800}.sched-row.tone-urgent .sched-next{color:var(--terracotta)}.sched-row.tone-soft .sched-next{color:var(--text-muted)}.sched-row.tone-snoozed .sched-next{color:var(--dusk-ink)}.growth-view{flex-direction:column;flex:1;display:flex}.growth-header{background:var(--cactus);color:#fff;z-index:10;align-items:center;gap:12px;padding:14px 18px;display:flex;position:sticky;top:0}.growth-headtext{min-width:0}.growth-title{font-family:Fredoka,sans-serif;font-size:1.2rem;font-weight:600;line-height:1.1}.growth-sub{letter-spacing:.06em;text-transform:uppercase;opacity:.85;margin-top:3px;font-family:Nunito,sans-serif;font-size:11px;font-weight:700}.growth-body{flex:1;padding:18px 20px 100px}.growth-row{gap:10px;margin-bottom:26px;display:flex}.growth-spine{flex-shrink:0;width:22px;position:relative}.growth-line{background:var(--card-edge);width:2px;position:absolute;top:8px;bottom:-26px;left:10px}.growth-dot{background:var(--leaf);border:2px solid var(--ink);border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:5px}.growth-content{flex:1;min-width:0}.growth-stamp{align-items:baseline;gap:8px;margin-bottom:7px;display:flex}.growth-rel{color:var(--ink);font-family:Fredoka,sans-serif;font-size:16px;font-weight:600}.growth-latest{letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--leaf);border-radius:999px;padding:2px 7px;font-family:Nunito,sans-serif;font-size:9px;font-weight:800}.growth-date{color:var(--label);margin-left:auto;font-family:Nunito,sans-serif;font-size:11px;font-weight:700}.growth-photo{aspect-ratio:4/3;object-fit:cover;border:2px solid var(--card-edge);width:100%;box-shadow:var(--shadow-card);cursor:pointer;border-radius:16px;transition:opacity .15s;display:block}.growth-photo:active{opacity:.85}.feed-row{cursor:pointer;gap:12px;padding:9px 0;display:flex}.feed-bubble{background:var(--water);border:2.5px solid var(--ink);width:44px;height:44px;box-shadow:var(--pop-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.feed-row.tone-terra .feed-bubble{background:#f6e2d3}.feed-row.tone-ink .feed-bubble{background:#fbeaef}.feed-body{flex:1;min-width:0}.feed-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.feed-label{letter-spacing:.1em;text-transform:uppercase;color:#5c86a0;font-family:Nunito,sans-serif;font-size:10px;font-weight:800}.feed-row.tone-terra .feed-label{color:var(--terracotta)}.feed-row.tone-ink .feed-label{color:#c77a95}.feed-plant{color:var(--ink);font-family:Fredoka,sans-serif;font-size:17px;font-weight:600}.feed-plant-emoji{margin-right:4px}.feed-when{color:var(--text-faint);margin-top:3px;font-family:Nunito,sans-serif;font-size:11px;font-weight:700}.feed-note{color:var(--text-muted);background:var(--surface);border:2px solid var(--card-edge);border-radius:14px;margin-top:8px;padding:9px 12px;font-size:13px;font-style:italic;font-weight:600}.feed-sentinel{height:1px}.sort-bar{flex-wrap:wrap;gap:6px;padding:4px 0 12px;display:flex}.sort-btn{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:var(--surface);border:2px solid var(--card-edge);border-radius:999px;padding:6px 12px;font-family:Nunito,sans-serif;font-size:10px;font-weight:800;transition:background .15s,color .15s,border-color .15s}.sort-btn.active{background:var(--leaf);color:var(--leaf-ink);border-color:var(--ink)}.emoji-filter{flex-wrap:wrap;gap:6px;padding:2px 0 14px;display:flex}.emoji-filter-chip{background:var(--surface);border:2px solid var(--card-edge);border-radius:999px;min-width:38px;padding:6px 8px;font-size:17px;line-height:1;transition:background .15s,border-color .15s,filter .15s,opacity .15s,transform .1s;position:relative}.emoji-filter-chip:active{transform:scale(.94)}.emoji-filter-chip.is-all{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-family:Nunito,sans-serif;font-size:10px;font-weight:800}.emoji-filter-chip.include{background:var(--leaf);border-color:var(--ink)}.emoji-filter-chip.exclude{border-color:var(--terracotta);filter:grayscale(.7);opacity:.75;background:#f6e2d3}.emoji-filter-chip.include:after,.emoji-filter-chip.exclude:after{color:#fff;filter:grayscale(0);border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:900;display:flex;position:absolute;top:-5px;right:-4px}.emoji-filter-chip.include:after{content:"✓";background:var(--ink)}.emoji-filter-chip.exclude:after{content:"✕";background:var(--terracotta)}.emoji-filter-chip.is-all.active{background:var(--leaf);border-color:var(--ink);color:var(--leaf-ink)}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state p:first-child{color:var(--ink);margin-bottom:8px;font-family:Fredoka,sans-serif;font-size:1.15rem;font-weight:600}.plant-row{background:var(--surface);border:2px solid var(--card-edge);box-shadow:var(--shadow-card);cursor:pointer;border-radius:24px;align-items:center;gap:13px;margin-bottom:12px;padding:11px 14px;transition:transform .15s,box-shadow .15s;display:flex}.plant-row:hover{box-shadow:0 8px 20px #2b3a2e1a}.plant-row-emoji{background:var(--pot-fill);border:2.5px solid var(--ink);width:56px;height:56px;box-shadow:var(--pop-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:26px;line-height:1;display:flex}.plant-row-info{flex:1;min-width:0}.plant-row-name{color:var(--ink);font-family:Fredoka,sans-serif;font-size:20px;font-weight:600}.plant-row-sub{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-top:3px;font-family:Nunito,sans-serif;font-size:11px;font-weight:800}.plant-row-sub.tone-urgent{color:var(--terracotta)}.plant-row-sub.tone-soft{color:var(--text-muted)}.plant-row-meta{color:var(--text-muted);margin-top:2px;font-size:13px;font-weight:600}.plant-row-water{background:var(--water);border:2.5px solid var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:0 4px 10px #2b3a2e1f}.plant-row-water:active{transform:scale(.9);box-shadow:0 2px 5px #2b3a2e1f}.plant-row.resting .plant-row-emoji{filter:grayscale(.85);opacity:.6;border-color:var(--rest);box-shadow:none;background:#eceee7}.plant-row.resting .plant-row-name{color:var(--text-muted)}.plant-row-headstone{opacity:.55;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;display:flex}.status-filter{margin-bottom:2px}.fab{background:var(--leaf);width:64px;height:64px;color:var(--leaf-ink);border:2.5px solid var(--ink);border-radius:50%;justify-content:center;align-items:center;padding-bottom:3px;font-family:Fredoka,sans-serif;font-size:36px;font-weight:600;line-height:1;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:28px;right:calc(50% - 210px);box-shadow:0 6px 16px #79c25b73}.fab:active{transform:scale(.92);box-shadow:0 3px 9px #79c25b73}@media (width<=520px){.fab{right:24px}}.detail-header{text-align:center;margin-bottom:20px}.detail-icon{background:var(--pot-fill);border:3px solid var(--ink);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 10px;font-size:54px;display:flex;box-shadow:3px 4px #2b3a2e21}.detail-header h2{color:var(--ink);margin-bottom:2px;font-family:Fredoka,sans-serif;font-size:30px;font-weight:600}.detail-type{color:#8a9580;margin:0 0 12px;font-size:.95rem;font-style:italic}.detail-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.detail-resting-banner{letter-spacing:.08em;text-transform:uppercase;color:var(--rest);background:#eceee7;border:2px solid #d5dccb;border-radius:999px;margin:0 auto 14px;padding:7px 16px;font-family:Nunito,sans-serif;font-size:11px;font-weight:800;display:inline-block}.water-btn-large{border-radius:var(--radius);background:var(--leaf);width:100%;color:var(--leaf-ink);border:2.5px solid var(--ink);margin-bottom:16px;padding:16px;font-family:Fredoka,sans-serif;font-size:1.1rem;font-weight:700;transition:transform .12s,box-shadow .12s;box-shadow:0 6px 14px #79c25b66}.water-btn-large:active{transform:scale(.97);box-shadow:0 3px 8px #79c25b66}.note-input-section{margin-bottom:24px}.note-emoji-picker{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.emoji-btn-sm{background:var(--surface);border:2px solid var(--card-edge);width:36px;height:36px;box-shadow:var(--shadow-card);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;font-size:1.15rem;transition:transform .15s,box-shadow .15s;display:flex}.emoji-btn-sm.selected{border-color:var(--ink);box-shadow:0 0 0 3px var(--leaf);transform:scale(1.1)}.emoji-btn-sm:active{transform:scale(.9)}.emoji-btn-sm.custom-trigger{color:var(--text-muted);font-size:1rem}.custom-emoji-input{text-align:center;background:var(--surface);border:2px solid var(--ink);width:42px;height:36px;box-shadow:0 0 0 3px var(--leaf);border-radius:12px;padding:0;font-size:1.15rem}.note-input{gap:8px;display:flex}.note-input input{background:var(--surface);border:2px solid var(--card-edge);box-shadow:var(--shadow-card);border-radius:16px;flex:1;padding:12px 16px;font-size:.95rem;font-weight:600}.note-input input::placeholder{color:var(--text-faint)}.timeline h3{letter-spacing:.1em;text-transform:uppercase;color:var(--label);margin-bottom:12px;font-family:Nunito,sans-serif;font-size:11px;font-weight:800}.empty-timeline{text-align:center;color:var(--text-muted);padding:20px}.timeline .feed-row{cursor:default;align-items:flex-start}.timeline-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.pin-note-btn{opacity:.35;filter:grayscale();border-radius:8px;padding:4px 6px;font-size:.85rem;transition:opacity .15s,filter .15s,background .15s}.pin-note-btn:hover{background:var(--pot-fill);opacity:.7}.pin-note-btn.pinned{opacity:1;filter:none}.edit-note-btn{border-radius:8px;padding:4px 6px;font-size:.85rem;transition:background .15s}.edit-note-btn:hover{background:var(--pot-fill)}.timeline-pinned{border-bottom:1px dashed var(--card-edge);margin-bottom:18px;padding-bottom:14px}.timeline-pinned .feed-row.is-pinned{background:var(--pot-fill);border-radius:var(--radius);margin-bottom:4px;padding:9px 12px}.delete-note-btn{color:var(--text-faint);border-radius:8px;flex-shrink:0;padding:4px 8px;font-size:1.2rem;transition:color .15s}.delete-note-btn:hover{color:var(--danger)}.add-plant{max-width:400px;margin:0 auto}.form-group{margin-bottom:20px}.form-group label{letter-spacing:.08em;text-transform:uppercase;color:var(--label);margin-bottom:8px;font-family:Nunito,sans-serif;font-size:12px;font-weight:800;display:block}.form-group input[type=text],.form-group input[type=number]{background:var(--surface);border:2px solid var(--card-edge);width:100%;box-shadow:var(--shadow-card);border-radius:16px;padding:14px 16px;font-size:1rem;font-weight:600}.form-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--label);margin-bottom:10px;font-family:Nunito,sans-serif;font-size:12px;font-weight:800}.schedule-row{flex-wrap:wrap;gap:10px;display:flex}.schedule-row .form-group{flex:calc(50% - 5px);min-width:0;margin-bottom:8px}.schedule-row .form-group label{letter-spacing:.04em;font-size:11px}.schedule-row .form-group input[type=number]{padding:12px 10px}.form-hint{color:var(--text-faint);margin-bottom:20px;font-size:12px;font-weight:600}.emoji-picker{flex-wrap:wrap;gap:6px;display:flex}.emoji-btn{background:var(--surface);border:2px solid var(--card-edge);width:44px;height:44px;box-shadow:var(--shadow-card);border-radius:14px;justify-content:center;align-items:center;font-size:1.4rem;transition:transform .15s,box-shadow .15s;display:flex}.emoji-btn.selected{border-color:var(--ink);box-shadow:0 0 0 3px var(--leaf);transform:scale(1.1)}.emoji-btn:active{transform:scale(.9)}.emoji-btn.custom-trigger{color:var(--text-muted);font-size:1.15rem}.emoji-picker .custom-emoji-input{text-align:center;background:var(--surface);border:2px solid var(--ink);width:44px;height:44px;box-shadow:0 0 0 3px var(--leaf);border-radius:14px;padding:0;font-size:1.4rem}.save-btn{width:100%;padding:16px;font-size:1.05rem}.btn-primary{background:var(--leaf);color:var(--leaf-ink);border:2.5px solid var(--ink);border-radius:18px;padding:11px 20px;font-family:Fredoka,sans-serif;font-weight:700;transition:transform .12s,box-shadow .12s;box-shadow:0 6px 14px #79c25b66}.btn-primary:active{transform:scale(.95);box-shadow:0 3px 8px #79c25b66}.btn-secondary{background:var(--surface);color:var(--ink);border:2px solid var(--card-edge);box-shadow:var(--shadow-card);border-radius:16px;padding:11px 20px;font-family:Fredoka,sans-serif;font-weight:600;transition:transform .12s,background .15s}.btn-secondary:active{background:var(--pot-fill);transform:scale(.95)}.btn-danger{color:#c23a28;background:#fce3e9;border:2px solid #f0c3cc;border-radius:16px;padding:11px 20px;font-family:Fredoka,sans-serif;font-weight:600;transition:transform .12s,background .15s}.btn-danger:active{background:#f8d2db;transform:scale(.95)}.btn-rest{color:#7a8a6e;background:#ebeee6;border:2px solid #d5dccb;border-radius:16px;padding:11px 20px;font-family:Fredoka,sans-serif;font-weight:600;transition:transform .12s,background .15s}.btn-rest:active{background:#e0e5d8;transform:scale(.95)}.btn-revive{background:var(--blush);color:#5a2233;border:2.5px solid var(--ink);border-radius:18px;padding:11px 20px;font-family:Fredoka,sans-serif;font-weight:700;transition:transform .12s,box-shadow .12s;box-shadow:0 4px 12px #f4a6bc80}.btn-revive:active{transform:scale(.95);box-shadow:0 2px 6px #f4a6bc80}.settings-section{background:var(--surface);border:2px solid var(--card-edge);box-shadow:var(--shadow-card);border-radius:24px;margin-bottom:16px;padding:20px}.settings-section h3{margin-bottom:8px;font-family:Fredoka,sans-serif;font-size:1.05rem;font-weight:600}.settings-section p{color:var(--text-muted);margin-bottom:16px;font-size:.9rem;font-weight:600}.settings-buttons{gap:10px;display:flex}.danger-zone{border-color:#f0c3cc}.watering-chart{background:var(--surface);border:2px solid var(--card-edge);box-shadow:var(--shadow-card);border-radius:16px;margin-bottom:20px;overflow:hidden}.chart-toggle{width:100%;color:var(--ink);background:var(--surface);justify-content:space-between;align-items:center;padding:14px 16px;font-family:Fredoka,sans-serif;font-size:.95rem;font-weight:600;transition:background .15s;display:flex}.chart-toggle:active{background:var(--pot-fill)}.chart-chevron{color:var(--text-muted);font-size:.8rem;transition:transform .2s}.chart-chevron.open{transform:rotate(180deg)}.chart-body{padding:0 16px 16px}.chart-range-bar{gap:6px;margin-bottom:12px;display:flex}.chart-range-btn{background:var(--pot-fill);color:var(--text-muted);border-radius:12px;flex:1;padding:7px 0;font-family:Nunito,sans-serif;font-size:.82rem;font-weight:700;transition:background .15s,color .15s}.chart-range-btn.active{background:var(--leaf);color:var(--leaf-ink)}.chart-range-btn:active{opacity:.8}.chart-svg{width:100%;height:auto;display:block}.chart-avg{text-align:center;color:var(--text-muted);margin:4px 0 0;font-size:.8rem;font-weight:700}.chart-empty{text-align:center;color:var(--text-muted);padding:24px 0;font-size:.9rem}.photo-upload{gap:10px;margin-bottom:16px;display:flex}.photo-btn{cursor:pointer;flex:1 1 0;justify-content:center;align-items:center;min-width:0;padding:14px;font-size:1rem;display:flex}.photo-btn.uploading{opacity:.6;pointer-events:none}.timeline-thumbnail{cursor:pointer;border-radius:11px;width:100%;max-width:200px;margin-top:4px;transition:opacity .15s}.timeline-thumbnail:active{opacity:.8}.lightbox-overlay{z-index:100;background:#000000e6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.lightbox-image{object-fit:contain;border-radius:11px;max-width:100%;max-height:100%}.lightbox-close{color:#fff;z-index:101;background:#ffffff26;border-radius:50%;padding:8px 14px;font-size:2rem;position:absolute;top:16px;right:16px}.lightbox-close:active{background:#ffffff4d}.cal-caption{min-height:1.2em;margin-bottom:2px}.cal-caption.is-day{color:var(--ink)}.cal-months.scroll{max-height:460px;padding-right:2px;overflow-y:auto}.cal-month{margin-top:12px}.cal-month-name{margin:0 0 4px 2px;font-family:Fredoka,sans-serif;font-size:.9rem;font-weight:600}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-dow{text-align:center;color:var(--text-faint);padding-bottom:2px;font-size:.68rem;font-weight:800}.cal-day{aspect-ratio:1;color:var(--text-faint);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.74rem;font-weight:700;transition:transform .1s;display:flex;position:relative}.cal-day.in{background:var(--pot-fill);color:var(--text-muted)}.cal-day.watered{background:var(--leaf);color:var(--leaf-ink)}.cal-day.today{box-shadow:0 0 0 2px var(--ink) inset}.cal-day.selected{box-shadow:0 0 0 2.5px var(--terracotta)}.cal-day.today.selected{box-shadow:0 0 0 2px var(--ink) inset, 0 0 0 2.5px var(--terracotta)}.cal-day.care:after{content:"";background:var(--ink);border:1.5px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:-1px;right:-1px}.cal-day:active{transform:scale(.9)}.cal-day.future{cursor:default}.heatmap-legend{color:var(--text-faint);flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:12px;font-size:.72rem;font-weight:700;display:flex}.heatmap-legend span{align-items:center;gap:5px;display:inline-flex}.heatmap-legend i{border-radius:50%;width:11px;height:11px;display:inline-block}.heatmap-legend .legend-watered{background:var(--leaf)}.heatmap-legend .legend-today{box-shadow:0 0 0 2px var(--ink) inset}.heatmap-legend .legend-dot{background:var(--ink);width:6px;height:6px;margin:0 3px}.settings-status{color:var(--cactus)!important;margin:12px 0 0!important;font-size:.85rem!important}
