:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f0e7;--surface:#faf8f2;--surface-2:#ece8dc;--surface-3:#e3ded0;--surface-raised:#fffdf8;--ink:#1d211d;--ink-secondary:#4a544c;--ink-muted:#6f7a71;--ink-faint:#98a29a;--line:#1d211d17;--line-strong:#1d211d2b;--forest:#0c2a20;--forest-2:#12382a;--forest-3:#1b4a38;--forest-ink:#f2f6f3;--forest-ink-dim:#a8bcb0;--sage:#4f6a55;--sage-bg:#4f6a551a;--sage-border:#4f6a553d;--terracotta:#9c5535;--terracotta-bg:#9c55351c;--terracotta-border:#9c553542;--clay:#8c3f33;--clay-bg:#8c3f331c;--clay-border:#8c3f3342;--amber:#8a6a2c;--amber-bg:#8a6a2c1c;--amber-border:#8a6a2c3d;--state-quiet:var(--sage);--state-upcoming:var(--amber);--state-attention:var(--terracotta);--state-overdue:var(--clay);--state-quiet-bg:var(--sage-bg);--state-upcoming-bg:var(--amber-bg);--state-attention-bg:var(--terracotta-bg);--state-overdue-bg:var(--clay-bg);--shadow-xs:0 1px 2px #1d211d0d;--shadow-sm:0 1px 3px #1d211d0f, 0 4px 12px #1d211d0a;--shadow-md:0 2px 6px #1d211d12, 0 12px 28px #1d211d12;--shadow-lg:0 8px 24px #1d211d1a, 0 32px 64px #1d211d1f;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif:"Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--text-2xs:10.5px;--text-xs:11.5px;--text-sm:12.5px;--text-base:13.5px;--text-md:14.5px;--text-lg:16px;--text-xl:19px;--text-2xl:24px;--r-xs:6px;--r-sm:8px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-full:999px;--sidebar-w:244px;--gutter:32px;--focus-ring:0 0 0 2px var(--bg), 0 0 0 4px var(--forest-3);font-family:var(--font-sans);font-size:var(--text-base);background-color:var(--bg);color:var(--ink)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15170f;--surface:#1b1e16;--surface-2:#23261c;--surface-3:#2b2f23;--surface-raised:#1f2319;--ink:#eae7dc;--ink-secondary:#adaa9d;--ink-muted:#8b887c;--ink-faint:#6b695f;--line:#eae7dc1a;--line-strong:#eae7dc33;--forest:#0a1a13;--forest-2:#0f261b;--forest-3:#2f6a4e;--forest-ink:#eef4ef;--forest-ink-dim:#8fa999;--sage:#8fae95;--sage-bg:#8fae9521;--sage-border:#8fae9547;--terracotta:#d08a63;--terracotta-bg:#d08a6324;--terracotta-border:#d08a634d;--clay:#cf7264;--clay-bg:#cf726424;--clay-border:#cf72644d;--amber:#c9a25c;--amber-bg:#c9a25c21;--amber-border:#c9a25c47;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #0000004d, 0 4px 12px #00000038;--shadow-md:0 2px 6px #00000057, 0 12px 28px #0000004d;--shadow-lg:0 8px 24px #0000006b, 0 32px 64px #0000006b;--focus-ring:0 0 0 2px var(--bg), 0 0 0 4px #6fae8b}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}img{max-width:100%;display:block}a{color:inherit}ul,ol{list-style:none}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--r-xs);outline:none}::selection{background:var(--sage-bg)}.serif{font-family:var(--font-serif);font-optical-sizing:auto;font-variation-settings:"SOFT" 0, "WONK" 0;letter-spacing:-.015em}.page-title{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink);font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1.08}.page-subtitle{font-size:var(--text-md);color:var(--ink-secondary);margin-top:5px}.section-label{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);font-weight:700}.meta{font-size:var(--text-sm);color:var(--ink-muted)}.meta-strong{font-size:var(--text-sm);color:var(--ink-secondary);font-weight:500}.amount-unknown{color:var(--ink-faint);font-style:italic}.tabular{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100dvh;display:grid}.sidebar{background:var(--forest);z-index:40;border-right:1px solid #ffffff12;flex-direction:column;height:100dvh;padding:22px 14px 16px;display:flex;position:sticky;top:0}.brand{color:var(--forest-ink);align-items:center;gap:10px;padding:4px 8px 0;text-decoration:none;display:flex}.brand-mark{border-radius:var(--r-full);width:30px;height:30px;font-family:var(--font-serif);background:#ffffff0d;border:1px solid #ffffff38;flex:0 0 30px;place-items:center;font-size:15px;font-weight:600;display:grid}.brand-text{min-width:0}.brand-title{font-family:var(--font-serif);letter-spacing:.15em;font-size:15.5px;font-weight:600;line-height:1.1}.brand-tagline{font-size:var(--text-2xs);letter-spacing:.05em;color:var(--forest-ink-dim);margin-top:1px;display:block}.sidebar-nav{flex-direction:column;gap:2px;margin-top:26px;display:flex}.sidebar-nav a{border-radius:var(--r-sm);color:#9fb2a6;min-height:40px;font-size:var(--text-base);justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;font-weight:500;text-decoration:none;transition:background .16s,color .16s;display:flex}.sidebar-nav a .nav-left{align-items:center;gap:11px;min-width:0;display:flex}.sidebar-nav a:hover{color:#f0f5f1;background:#ffffff0f}.sidebar-nav a.active{color:#fff;background:#ffffff1c;font-weight:600}.nav-badge{border-radius:var(--r-full);color:#c3d0c7;min-width:21px;font-size:var(--text-2xs);text-align:center;font-variant-numeric:tabular-nums;background:#ffffff1c;flex:none;padding:1px 6px;font-weight:700}.nav-badge.is-alert{background:var(--terracotta);color:#fff8f4}.sidebar-footer{border-top:1px solid #ffffff14;flex-direction:column;gap:10px;margin-top:auto;padding:14px 11px 0;display:flex}.sidebar-stat{font-size:var(--text-xs);color:var(--forest-ink-dim);justify-content:space-between;align-items:baseline;display:flex}.sidebar-stat strong{color:#dce6de;font-variant-numeric:tabular-nums;font-weight:600}.main{background:var(--bg);flex-direction:column;min-width:0;display:flex;overflow-x:clip}.topbar{z-index:30;height:52px;padding:0 var(--gutter);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.2);justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.topbar-path{min-width:0;font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:7px;font-weight:600;display:flex}.topbar-path .current{color:var(--ink-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-actions{align-items:center;gap:6px;display:flex}.btn{border-radius:var(--r-sm);min-height:34px;font-size:var(--text-base);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-weight:600;transition:background .15s,border-color .15s,color .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--forest);color:#fff}.btn-primary:hover:not(:disabled){background:var(--forest-2)}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-ghost{color:var(--ink-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.btn-danger{border-color:var(--clay-border);color:var(--clay);background:0 0}.btn-danger:hover:not(:disabled){background:var(--clay-bg)}.btn-lg{min-height:44px;font-size:var(--text-md);padding:11px 18px}.btn-sm{min-height:28px;font-size:var(--text-sm);padding:4px 10px}.btn-block{width:100%}.icon-btn{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--ink-secondary);place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.icon-btn:hover{background:var(--surface-2);color:var(--ink);border-color:var(--line-strong)}.icon-btn-sm{width:28px;height:28px}.segmented{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);gap:2px;padding:2px;display:inline-flex}.segmented button{border-radius:var(--r-xs);min-height:26px;font-size:var(--text-sm);color:var(--ink-muted);align-items:center;gap:5px;padding:3px 10px;font-weight:600;transition:background .14s,color .14s;display:inline-flex}.segmented button[aria-pressed=true]{background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-xs)}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-weight:700}.field-hint{font-size:var(--text-xs);color:var(--ink-faint);line-height:1.45}.field-error{font-size:var(--text-sm);color:var(--clay);font-weight:500}.input,.select,.textarea{border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-raised);width:100%;min-height:38px;color:var(--ink);font-size:var(--text-base);padding:8px 11px;transition:border-color .15s,box-shadow .15s}.input::placeholder,.textarea::placeholder{color:var(--ink-faint)}.input:focus,.select:focus,.textarea:focus{border-color:var(--forest-3);box-shadow:0 0 0 3px var(--sage-bg);outline:none}.textarea{resize:vertical;min-height:80px;line-height:1.5}.select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-muted) 50%), linear-gradient(135deg, var(--ink-muted) 50%, transparent 50%);background-position:calc(100% - 15px) 17px,calc(100% - 10px) 17px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}.input-group{align-items:stretch;display:flex}.input-suffix{border:1px solid var(--line-strong);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--surface-2);color:var(--ink-muted);font-size:var(--text-sm);border-left:0;place-items:center;padding:0 10px;display:grid}.input-group .input{border-radius:var(--r-sm) 0 0 var(--r-sm)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.form-grid .span-2{grid-column:1/-1}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--ink-secondary);font-size:var(--text-sm);align-items:center;gap:6px;padding:5px 12px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.chip:hover{border-color:var(--line-strong);color:var(--ink)}.chip[aria-pressed=true]{background:var(--forest);color:#fff;border-color:#0000}.chip-count{font-size:var(--text-2xs);opacity:.7;font-variant-numeric:tabular-nums;font-weight:700}.status-dot{border-radius:var(--r-full);background:var(--ink-faint);flex:0 0 7px;width:7px;height:7px}.status-dot.quiet{background:var(--state-quiet)}.status-dot.upcoming{background:var(--state-upcoming)}.status-dot.attention{background:var(--state-attention)}.status-dot.overdue{background:var(--state-overdue)}.status-pill{border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface-2);font-size:var(--text-xs);color:var(--ink-secondary);white-space:nowrap;align-items:center;gap:6px;padding:3px 9px;font-weight:600;display:inline-flex}.status-pill .glyph{font-size:9px;line-height:1}.status-pill.quiet{background:var(--state-quiet-bg);border-color:var(--sage-border);color:var(--state-quiet)}.status-pill.upcoming{background:var(--state-upcoming-bg);border-color:var(--amber-border);color:var(--state-upcoming)}.status-pill.attention{background:var(--state-attention-bg);border-color:var(--terracotta-border);color:var(--state-attention)}.status-pill.overdue{background:var(--state-overdue-bg);border-color:var(--clay-border);color:var(--state-overdue)}.moisture-meter{align-items:center;gap:3px;display:inline-flex}.moisture-meter span{background:var(--surface-3);border-radius:2px;width:14px;height:4px}.moisture-meter span.filled{background:var(--sage)}.moisture-meter.is-dry span.filled{background:var(--terracotta)}.page{width:100%;min-width:0;padding:26px var(--gutter) 72px;max-width:1400px;margin:0 auto}.page-wide{max-width:1720px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px}.panel-flush{padding:0;overflow:hidden}.state-block{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--ink-secondary);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:44px 24px;display:flex}.state-block .state-title{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--ink);font-weight:600}.state-block.is-error{border-color:var(--clay-border);background:var(--clay-bg)}.state-block.is-error .state-title{color:var(--clay)}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.45}}.animate-pulse{animation:1.8s ease-in-out infinite pulse-soft}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.today-head{margin-bottom:20px}.today-greeting{font-family:var(--font-serif);letter-spacing:-.02em;font-size:clamp(26px,2.6vw,36px);font-weight:600;line-height:1.1}.today-context{font-size:var(--text-md);color:var(--ink-secondary);max-width:62ch;margin-top:6px}.today-context strong{color:var(--ink);font-weight:600}.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 26px;display:grid}.tile{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);text-align:left;flex-direction:column;gap:2px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.tile:hover{border-color:var(--line-strong)}.tile[aria-pressed=true]{border-color:var(--ink-secondary);background:var(--surface-raised)}.tile-value{font-family:var(--font-serif);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1}.tile-label{font-size:var(--text-sm);color:var(--ink-muted);align-items:center;gap:6px;display:flex}.tile.is-attention .tile-value{color:var(--state-attention)}.tile.is-upcoming .tile-value{color:var(--state-upcoming)}.tile.is-quiet .tile-value{color:var(--state-quiet)}.section{margin-bottom:30px}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.section-head h2{font-size:var(--text-xs);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-muted);font-weight:700}.section-head .count{font-size:var(--text-sm);color:var(--ink-faint);font-variant-numeric:tabular-nums}.tab .count{color:var(--ink-faint);font-weight:500}.task-list{flex-direction:column;gap:8px;display:flex}.task-row{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;transition:border-color .15s,box-shadow .15s;display:grid}.task-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.task-row.is-overdue{border-left:3px solid var(--state-overdue)}.task-row.is-attention{border-left:3px solid var(--state-attention)}.task-thumb{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);width:64px;height:64px;overflow:hidden}.task-thumb img{object-fit:cover;width:100%;height:100%}.task-body{min-width:0}.task-identity{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.task-name{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--ink);font-weight:600;line-height:1.2;text-decoration:none}.task-name:hover{text-underline-offset:3px;text-decoration:underline}.task-place{font-size:var(--text-sm);color:var(--ink-muted)}.task-action{font-size:var(--text-md);color:var(--ink);align-items:center;gap:8px;margin-top:3px;font-weight:600;display:flex}.task-reason{font-size:var(--text-sm);color:var(--ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;line-height:1.45;display:-webkit-box;overflow:hidden}.task-last{font-size:var(--text-xs);color:var(--ink-faint);margin-top:4px}.task-actions{flex:none;align-items:center;gap:8px;display:flex}.task-actions .btn{flex:none}.upcoming-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.upcoming-card{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);align-items:center;gap:14px;padding:11px 14px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.upcoming-card:hover{border-color:var(--line-strong);background:var(--surface-raised)}.upcoming-when{font-size:var(--text-sm);color:var(--state-upcoming);flex:0 0 84px;font-weight:700;line-height:1.25}.upcoming-body{flex-direction:column;gap:2px;min-width:0;display:flex}.upcoming-name{font-size:var(--text-base);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.upcoming-action{font-size:var(--text-sm);color:var(--ink-muted)}.quiet-strip{flex-wrap:wrap;gap:6px;display:flex}.quiet-chip{border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface);color:var(--ink-secondary);font-size:var(--text-sm);align-items:center;gap:8px;padding:5px 11px 5px 5px;text-decoration:none;transition:border-color .15s;display:inline-flex}.quiet-chip:hover{border-color:var(--line-strong)}.quiet-chip img{border-radius:var(--r-full);object-fit:cover;width:24px;height:24px}.garden-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.search-field{flex:240px;max-width:340px;position:relative}.search-field svg{color:var(--ink-faint);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search-field .input{padding-left:34px}.toolbar-spacer{flex:auto}.select-sm{min-height:32px;font-size:var(--text-sm);background-position:calc(100% - 13px) 14px,calc(100% - 8px) 14px;padding:5px 28px 5px 10px}.plant-grid{grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:14px;display:grid}.plant-grid.is-list{grid-template-columns:minmax(0,1fr);gap:8px}.plant-card{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);text-align:left;flex-direction:column;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;overflow:hidden}.plant-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.plant-card-media{aspect-ratio:4/3;background:var(--surface-2);position:relative;overflow:hidden}.plant-card-media img{object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.22,1,.36,1)}.plant-card:hover .plant-card-media img{transform:scale(1.03)}.plant-card-badge{border-radius:var(--r-full);background:color-mix(in srgb, var(--surface-raised) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);font-size:var(--text-xs);color:var(--ink-secondary);align-items:center;gap:6px;padding:3px 9px;font-weight:600;display:inline-flex;position:absolute;top:9px;left:9px}.plant-card-body{flex-direction:column;flex:1;gap:7px;padding:12px 13px 13px;display:flex}.plant-card-identity{min-width:0}.plant-card-name{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2;overflow:hidden}.plant-card-species{font-size:var(--text-sm);color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}.plant-card-place{font-size:var(--text-sm);color:var(--ink-secondary);align-items:center;gap:5px;min-width:0;display:flex}.plant-card-place span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plant-card-next{border-top:1px solid var(--line);flex-direction:column;gap:2px;margin-top:auto;padding-top:9px;display:flex}.plant-card-next-when{font-size:var(--text-base);align-items:center;gap:7px;font-weight:600;display:flex}.plant-card-next-when.quiet{color:var(--state-quiet)}.plant-card-next-when.upcoming{color:var(--state-upcoming)}.plant-card-next-when.attention{color:var(--state-attention)}.plant-card-next-when.overdue{color:var(--state-overdue)}.plant-card-next-action{font-size:var(--text-base);color:var(--ink);font-weight:600}.plant-card-meta{font-size:var(--text-xs);color:var(--ink-muted)}.plant-card.is-list{border-radius:var(--r-md);flex-direction:row;align-items:center;gap:14px;padding:10px 14px 10px 10px}.plant-card.is-list:hover{transform:none}.plant-card.is-list .plant-card-media{aspect-ratio:auto;border-radius:var(--r-sm);flex:0 0 62px;width:62px;height:62px}.plant-card.is-list .plant-card-badge{display:none}.plant-card.is-list .plant-card-body{flex-direction:row;align-items:center;gap:18px;padding:0}.plant-card.is-list .plant-card-identity{flex:220px}.plant-card.is-list .plant-card-place{flex:0 240px}.plant-card.is-list .plant-card-next{border-top:0;border-left:1px solid var(--line);flex:0 0 210px;margin-top:0;padding-top:0;padding-left:18px}.plant-card.is-list .plant-card-meta{text-align:right;flex:0 0 190px}.plant-card-list-aside{flex-direction:column;flex:none;align-items:flex-end;gap:5px;padding-left:4px;display:flex}.profile{padding:18px var(--gutter) 80px;width:100%;min-width:0;max-width:1720px;margin:0 auto;overflow-x:clip}.profile-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.profile-bar-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.profile-hero{grid-template-columns:minmax(0,58fr) minmax(360px,42fr);align-items:start;gap:26px;min-width:0;margin-bottom:30px;display:grid}.profile-hero>*{min-width:0}.profile-media{border-radius:var(--r-xl);background:var(--surface-2);border:1px solid var(--line);aspect-ratio:4/5;position:relative;overflow:hidden}.profile-media img{object-fit:cover;width:100%;height:100%}.profile-media:after{content:"";pointer-events:none;background:linear-gradient(#00000024 0%,#0000 26% 68%,#00000038 100%);position:absolute;inset:0}.profile-media-tag{z-index:2;border-radius:var(--r-full);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:var(--text-sm);background:#0c140e80;border:1px solid #ffffff29;align-items:center;gap:9px;padding:6px 12px;font-weight:500;display:flex;position:absolute;bottom:16px;left:16px}.profile-media-tag .sep{opacity:.5}.care-annotation{z-index:3;pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;transform:translate(-50%,-50%)}.care-annotation .marker{border-radius:var(--r-full);background:#ffffffe6;width:9px;height:9px;box-shadow:0 0 0 1px #0c140e80,0 0 12px #00000059}.care-annotation .line{background:linear-gradient(90deg,#ffffffd9,#ffffff40);width:42px;height:1px}.care-annotation .label{border-radius:var(--r-xs);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#0a120d94;border:1px solid #ffffff24;max-width:190px;padding:4px 9px}.care-annotation .label b{font-size:var(--text-xs);letter-spacing:.02em;font-weight:600;display:block}.care-annotation .label span{font-size:var(--text-2xs);opacity:.75;line-height:1.35;display:block}.care-annotation.is-flipped{flex-direction:row-reverse}.care-annotation.is-flipped .line{background:linear-gradient(270deg,#ffffffd9,#ffffff40)}.profile-info{flex-direction:column;gap:16px;min-width:0;display:flex}.profile-info>*{min-width:0}.profile-eyebrow{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);align-items:center;gap:7px;font-weight:600;display:inline-flex}.profile-name{font-family:var(--font-serif);letter-spacing:-.025em;margin-top:2px;font-size:clamp(34px,3.4vw,52px);font-weight:600;line-height:1.02}.profile-species{font-size:var(--text-lg);color:var(--ink-secondary);margin-top:4px;font-style:italic}.profile-species .cultivar{color:var(--ink-muted);font-style:normal}.profile-locline{font-size:var(--text-md);color:var(--ink-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.countdown{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);padding:16px 18px}.countdown-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.countdown-main{align-items:flex-end;gap:12px;margin-top:8px;display:flex}.countdown-number{font-family:var(--font-serif);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:62px;font-weight:600;line-height:.86}.countdown-unit{font-size:var(--text-xs);letter-spacing:.16em;color:var(--ink-muted);padding-bottom:6px;font-weight:700}.countdown-action{font-size:var(--text-xl);color:var(--ink);margin-top:12px;font-weight:600}.countdown-date{font-size:var(--text-sm);color:var(--ink-muted);margin-top:2px}.countdown.is-overdue .countdown-number{color:var(--state-overdue)}.countdown.is-attention .countdown-number{color:var(--state-attention)}.countdown.is-upcoming .countdown-number{color:var(--state-upcoming)}.countdown.is-quiet .countdown-number{color:var(--state-quiet)}.countdown-note{border-top:1px solid var(--line);font-size:var(--text-sm);color:var(--ink-secondary);margin-top:12px;padding-top:12px;line-height:1.5}.profile-actions{flex-wrap:wrap;gap:8px;display:flex}.spec-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:1px;display:grid;overflow:hidden}.spec{background:var(--surface);padding:11px 13px}.spec-label{font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.spec-value{font-size:var(--text-base);color:var(--ink);overflow-wrap:anywhere;margin-top:3px;font-weight:500}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:2px;min-width:0;max-width:100%;margin-bottom:18px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{font-size:var(--text-base);color:var(--ink-muted);white-space:nowrap;padding:9px 14px;font-weight:600;transition:color .15s;position:relative}.tab:hover{color:var(--ink-secondary)}.tab[aria-selected=true]{color:var(--ink)}.tab-indicator{background:var(--forest);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.tab-panel{min-height:200px}.info-columns{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px;min-width:0;display:grid}.info-columns>*{min-width:0}.info-block h3{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:9px;font-weight:700}.definition-list{flex-direction:column;gap:0;display:flex}.definition-row{border-bottom:1px solid var(--line);font-size:var(--text-base);justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;display:flex}.definition-row:last-child{border-bottom:0}.definition-row dt{color:var(--ink-muted);flex:none}.definition-row dd{text-align:right;color:var(--ink);overflow-wrap:anywhere;min-width:0;font-weight:500}.prose{font-size:var(--text-md);color:var(--ink-secondary);overflow-wrap:anywhere;max-width:74ch;line-height:1.65}.prose+.prose{margin-top:12px}.callout{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);font-size:var(--text-sm);color:var(--ink-secondary);padding:12px 14px;line-height:1.55}.callout.is-quiet{border-color:var(--sage-border);background:var(--sage-bg);color:var(--sage)}.callout.is-attention{border-color:var(--terracotta-border);background:var(--terracotta-bg);color:var(--terracotta)}.callout strong{color:inherit}.photo-strip{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.photo-tile{aspect-ratio:4/5;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);position:relative;overflow:hidden}.photo-tile img{object-fit:cover;width:100%;height:100%}.photo-tile figcaption{font-size:var(--text-2xs);color:#fff;background:linear-gradient(#0000,#0009);padding:14px 10px 8px;position:absolute;bottom:0;left:0;right:0}.timeline{flex-direction:column;display:flex}.timeline-day{grid-template-columns:150px minmax(0,1fr);gap:22px;min-width:0;padding-bottom:4px;display:grid}.timeline-day>*{min-width:0}.timeline-day-label{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);align-self:start;padding-top:12px;font-weight:700;position:sticky;top:64px}.timeline-items{border-left:1px solid var(--line);padding-left:20px;position:relative}.timeline-item{border-bottom:1px solid var(--line);padding:11px 0;position:relative}.timeline-item:last-child{border-bottom:0}.timeline-item:before{content:"";border-radius:var(--r-full);background:var(--surface);border:2px solid var(--ink-faint);width:9px;height:9px;position:absolute;top:17px;left:-25px}.timeline-item.is-water:before{border-color:#3f6f8a}.timeline-item.is-soil:before{border-color:var(--amber)}.timeline-item.is-move:before{border-color:var(--forest-3)}.timeline-item.is-substrate:before{border-color:var(--sage)}.timeline-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.timeline-title{font-size:var(--text-md);color:var(--ink);align-items:center;gap:8px;font-weight:600;display:flex}.timeline-time{font-size:var(--text-xs);color:var(--ink-faint);font-variant-numeric:tabular-nums}.timeline-detail{font-size:var(--text-sm);color:var(--ink-secondary);margin-top:3px;line-height:1.5}.timeline-amount{color:var(--ink);font-weight:600}.timeline-move{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:8px;margin-top:5px;padding:5px 10px;display:inline-flex}.timeline-move .arrow{color:var(--ink-faint)}.timeline-move .dest{color:var(--ink);font-weight:600}.journal-list{flex-direction:column;min-width:0;display:flex}.journal-day{grid-template-columns:168px minmax(0,1fr);gap:22px;min-width:0;display:grid}.journal-day>*{min-width:0}.journal-row{border-radius:var(--r-sm);width:100%;color:inherit;text-align:left;align-items:center;gap:11px;padding:9px 11px;text-decoration:none;transition:background .15s;display:flex}.journal-row:hover{background:var(--surface-2)}.journal-thumb{border-radius:var(--r-xs);background:var(--surface-2);flex:0 0 34px;width:34px;height:34px;overflow:hidden}.journal-thumb img{object-fit:cover;width:100%;height:100%}.journal-body{flex:1 1 0;min-width:0;overflow:hidden}.journal-line{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.journal-plant{font-size:var(--text-base);color:var(--ink);font-weight:600}.journal-event{font-size:var(--text-base);color:var(--ink-secondary)}.journal-note{font-size:var(--text-sm);color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;display:block;overflow:hidden}.journal-time{font-size:var(--text-xs);color:var(--ink-faint);font-variant-numeric:tabular-nums}.delete-affordance{flex:none;align-items:center;display:inline-flex}.delete-affordance .icon-btn{color:var(--ink-faint)}.delete-affordance .icon-btn:hover:not(:disabled){color:var(--clay);border-color:var(--clay-border);background:var(--clay-bg)}.delete-affordance .icon-btn:disabled{opacity:.4;cursor:not-allowed}.delete-confirm{border-radius:var(--r-md);border:1px solid var(--clay-border);background:var(--clay-bg);align-items:center;gap:8px;padding:6px 8px 6px 12px;display:inline-flex}.delete-confirm-text{flex-direction:column;gap:1px;max-width:40ch;display:flex}.delete-confirm-text strong{font-size:var(--text-sm);color:var(--clay);font-weight:600}.delete-confirm-text span{font-size:var(--text-xs);color:var(--ink-secondary);line-height:1.4}.timeline-head-right{flex:none;align-items:center;gap:8px;display:inline-flex}.journal-row-wrap{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.journal-row-wrap .journal-row{min-width:0}@media (max-width:640px){.delete-confirm{flex-wrap:wrap}.journal-row-wrap{grid-template-columns:minmax(0,1fr)}.journal-row-wrap .delete-affordance{justify-content:flex-end;padding-bottom:6px}}.journal-chip{border-radius:var(--r-xs);background:var(--surface-2);width:26px;height:26px;color:var(--ink-muted);flex:none;place-items:center;display:grid}.journal-chip.is-water{color:#3f6f8a;background:#3f6f8a1f}.journal-chip.is-soil{background:var(--amber-bg);color:var(--amber)}.journal-chip.is-move,.journal-chip.is-substrate{background:var(--sage-bg);color:var(--sage)}.room-list{flex-direction:column;gap:18px;display:flex}.room-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.room-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.room-title{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.room-name{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:600;line-height:1.1}.room-count{font-size:var(--text-sm);color:var(--ink-muted)}.room-actions{align-items:center;gap:6px;display:flex}.zone-block{border-bottom:1px solid var(--line);padding:13px 16px}.zone-block:last-child{border-bottom:0}.zone-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.zone-name{font-size:var(--text-base);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-secondary);align-items:center;gap:8px;font-weight:700;display:flex}.placement-list{flex-direction:column;gap:7px;display:flex}.placement{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-raised);grid-template-columns:minmax(0,1fr) auto;gap:12px;min-width:0;padding:10px 12px;display:grid}.placement-head{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.placement-name{font-size:var(--text-md);color:var(--ink);font-weight:600}.placement-light{border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--line);font-size:var(--text-xs);color:var(--ink-secondary);align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.placement-notes{font-size:var(--text-sm);color:var(--ink-muted);margin-top:4px;line-height:1.45}.placement-plants{flex-wrap:wrap;gap:6px;min-width:0;margin-top:9px;display:flex}.placement-plant{border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface);color:var(--ink-secondary);font-size:var(--text-sm);align-items:center;gap:7px;padding:4px 10px 4px 4px;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.placement-plant:hover{border-color:var(--line-strong);color:var(--ink)}.placement-plant img{border-radius:var(--r-full);object-fit:cover;width:22px;height:22px}.sheet-backdrop{z-index:90;-webkit-backdrop-filter:blur(3px);background:#0e120f6b;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.sheet{overscroll-behavior:contain;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-width:560px;max-height:92dvh;box-shadow:var(--shadow-lg);border-bottom:0;padding:8px 20px 24px;overflow-y:auto}.sheet-handle{border-radius:var(--r-full);background:var(--line-strong);width:38px;height:4px;margin:4px auto 14px}.sheet-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.sheet-title{font-family:var(--font-serif);font-size:var(--text-2xl);margin-top:2px;font-weight:600;line-height:1.15}.sheet-section{margin-top:18px}.sheet-actions{gap:9px;margin-top:24px;display:flex}.sheet-actions .btn{flex:1}.option-list{flex-direction:column;gap:7px;display:flex}.option{border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);text-align:left;align-items:flex-start;gap:11px;min-height:44px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.option:hover{border-color:var(--ink-faint)}.option[aria-pressed=true]{border-color:var(--forest-3);background:var(--sage-bg)}.option-marker{border-radius:var(--r-full);border:1.5px solid var(--line-strong);flex:0 0 16px;place-items:center;width:16px;height:16px;margin-top:2px;display:grid}.option[aria-pressed=true] .option-marker{border-color:var(--forest-3)}.option[aria-pressed=true] .option-marker:after{content:"";border-radius:var(--r-full);background:var(--forest-3);width:8px;height:8px}.option-text{min-width:0}.option-title{font-size:var(--text-md);color:var(--ink);font-weight:600}.option-desc{font-size:var(--text-sm);color:var(--ink-muted);margin-top:1px;line-height:1.4}.result-panel{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);padding:15px 17px}.result-panel.is-water{border-color:var(--terracotta-border);background:var(--terracotta-bg)}.result-panel.is-quiet{border-color:var(--sage-border);background:var(--sage-bg)}.result-title{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--ink);font-weight:600}.result-detail{font-size:var(--text-base);color:var(--ink-secondary);margin-top:5px;line-height:1.55}.result-meta{font-size:var(--text-sm);color:var(--ink-secondary);align-items:center;gap:7px;margin-top:10px;display:flex}.amount-pills{flex-wrap:wrap;gap:7px;display:flex}.amount-pill{border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);min-height:38px;font-size:var(--text-base);color:var(--ink-secondary);font-variant-numeric:tabular-nums;padding:8px 15px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.amount-pill:hover{border-color:var(--ink-faint)}.amount-pill[aria-pressed=true]{background:var(--forest);border-color:var(--forest);color:#fff}.toast-region{z-index:120;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--r-md);background:var(--forest);width:100%;color:var(--forest-ink);box-shadow:var(--shadow-lg);font-size:var(--text-base);pointer-events:auto;align-items:center;gap:9px;padding:10px 14px;display:flex}.toast.is-error{background:var(--clay);color:#fff5f2}.toast .grow{flex:1;min-width:0}.mobile-nav,.fab{display:none}@media (min-width:2100px){:root{--gutter:48px}.today-body{grid-template-columns:minmax(0,1.45fr) minmax(340px,1fr);align-items:start;gap:30px;display:grid}.plant-grid{grid-template-columns:repeat(auto-fill,minmax(262px,1fr))}.profile-hero{grid-template-columns:minmax(0,62fr) minmax(420px,38fr);gap:40px}.today-context{max-width:78ch}}@media (min-width:3000px){.plant-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.profile-hero{grid-template-columns:minmax(0,66fr) minmax(460px,34fr)}}@media (max-width:1280px){.plant-grid.is-list .plant-card-place{flex:0 160px}.plant-grid.is-list .plant-card-meta{flex:0 0 100px}}@media (max-width:1100px){:root{--sidebar-w:216px}.profile-hero{grid-template-columns:minmax(0,1fr);gap:22px}.profile-media{aspect-ratio:16/11}.plant-grid.is-list .plant-card-place,.plant-grid.is-list .plant-card-meta{display:none}}@media (max-width:960px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-day,.journal-day{grid-template-columns:minmax(0,1fr);gap:6px}.timeline-day-label{padding-top:14px;position:static}.journal-day-label{padding-top:16px}}@media (max-width:820px){:root{--gutter:18px}.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.topbar{height:48px}.page{padding:18px var(--gutter) 108px}.profile{padding:14px var(--gutter) 116px}.plant-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:10px}.plant-card-name{font-size:var(--text-md)}.plant-card.is-list{flex-wrap:nowrap}.plant-card.is-list .plant-card-body{flex-direction:column;align-items:flex-start;gap:4px}.plant-card.is-list .plant-card-next{border-left:0;flex:none;padding-left:0}.task-row{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:12px}.task-thumb{width:52px;height:52px}.task-actions{grid-column:1/-1}.task-actions .btn{flex:1}.sheet-backdrop{align-items:flex-end}.sheet{border-radius:var(--r-xl) var(--r-xl) 0 0;max-width:none;padding:8px 16px calc(20px + env(safe-area-inset-bottom))}.profile-name{font-size:clamp(30px,8vw,42px)}.countdown-number{font-size:52px}.profile-bar>.btn{flex:none}.profile-bar-right{flex:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:100%;display:grid}.profile-bar-right .btn{min-width:0;font-size:var(--text-sm);gap:5px;padding-inline:8px}.profile-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.profile-actions .btn{min-width:0;padding-inline:10px}.mobile-nav{z-index:80;height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface-raised) 94%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.3);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{height:100%;min-height:44px;color:var(--ink-muted);font-size:var(--text-2xs);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-weight:600;text-decoration:none;transition:color .15s;display:flex}.mobile-nav-item.active{color:var(--forest-3)}.mobile-nav-badge{border-radius:var(--r-full);background:var(--terracotta);color:#fff;text-align:center;min-width:16px;padding:0 4px;font-size:9.5px;font-weight:700;line-height:15px;position:absolute;transform:translate(14px,-10px)}.mobile-nav-center{justify-content:center;align-items:center;height:100%;display:flex}.mobile-nav-center button{border-radius:var(--r-full);background:var(--forest);color:#fff;width:46px;height:46px;box-shadow:var(--shadow-md);place-items:center;transition:transform .15s,background .15s;display:grid}.mobile-nav-center button:active{transform:scale(.94)}.toast-region{bottom:calc(74px + env(safe-area-inset-bottom))}}@media (max-width:520px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tile{padding:10px 12px}.tile-value{font-size:22px}.page-head{margin-bottom:16px}.profile-media{aspect-ratio:4/5}.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.definition-row{flex-direction:column;gap:2px}.definition-row dd{text-align:left}.search-field{max-width:none}.garden-toolbar .toolbar-spacer{display:none}.chip-row{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.quiet-strip{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.quiet-strip::-webkit-scrollbar{display:none}.sheet-actions{flex-direction:column-reverse}.sheet-actions .btn{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
