:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#faf7f0;--surface:#fff;--surface-muted:#f1ece1;--line:#e2dccd;--line-strong:#8f8672;--ink:#16190f;--ink-2:#454a3c;--leaf-800:#1b4a22;--leaf-700:#25632f;--leaf-100:#e2eeda;--on-leaf:#fff;--good-bg:#e2eeda;--good-fg:#1f5a29;--warn-bg:#fcefc7;--warn-fg:#5c4200;--warn-stripe:#f5dc8f;--error-bg:#fbe3df;--error-fg:#8a1f11;--soil-bg:#f3e5d3;--soil-fg:#5b3a1a;--fam-fruiting-bg:#f9d9d2;--fam-fruiting-fg:#7a1e10;--fam-cucurbit-bg:#fbe9b7;--fam-cucurbit-fg:#5f4500;--fam-legume-bg:#d3ede6;--fam-legume-fg:#0f5244;--fam-leafy-bg:#d9edcb;--fam-leafy-fg:#245016;--fam-root-bg:#f6dec6;--fam-root-fg:#6e3a0c;--fam-allium-bg:#e8ddf1;--fam-allium-fg:#4e2b6b;--fam-herb-bg:#e4eacb;--fam-herb-fg:#3f4a12;--text-caption:14px;--text-sm:16px;--text-body:18px;--text-h3:20px;--text-h2:24px;--text-h1:32px;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-48:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-card:0 1px 2px #16190f0f, 0 2px 8px #16190f0a;--shadow-bar:0 -4px 16px #16190f14;--tap:48px;--tap-lg:56px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--text-body);color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;line-height:1.4}*{box-sizing:border-box}body{background:var(--paper);min-height:100dvh;margin:0}h1,h2,p{margin:0}h1{font-size:var(--text-h1);letter-spacing:-.02em;font-weight:750;line-height:1.15}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.screen{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.screen__body{gap:var(--space-24);padding:var(--space-16) var(--space-16) var(--space-32);flex-direction:column;flex:1;display:flex}.topbar{z-index:2;min-height:var(--tap-lg);padding:env(safe-area-inset-top) var(--space-8) 0;background:var(--paper);border-bottom:1px solid var(--line);align-items:center;display:flex;position:sticky;top:0}.back-button{align-items:center;gap:var(--space-4);min-height:var(--tap);padding:0 var(--space-12) 0 var(--space-4);border-radius:var(--radius-sm);color:var(--leaf-700);background:0 0;border:0;font-weight:600;display:inline-flex}.back-button:active{background:var(--leaf-100)}.bottom-bar{z-index:2;gap:var(--space-8);padding:var(--space-12) var(--space-16) calc(var(--space-12) + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:var(--shadow-bar);flex-direction:column;display:flex;position:sticky;bottom:0}.bottom-bar__summary{font-size:var(--text-sm);color:var(--ink-2);text-align:center;font-weight:600}.eyebrow{font-size:var(--text-sm);color:var(--ink-2);font-weight:600}.home-header{gap:var(--space-4);padding-top:calc(var(--space-16) + env(safe-area-inset-top));flex-direction:column;display:flex}.wordmark{align-items:center;gap:var(--space-8);color:var(--leaf-700);display:flex}.page-header{gap:var(--space-4);flex-direction:column;display:flex}.page-header__meta{color:var(--ink-2)}.summary{font-size:var(--text-h3);color:var(--ink-2)}.summary strong{color:var(--ink)}.section{gap:var(--space-8);flex-direction:column;display:flex}.section__title{font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);font-weight:700}.section__note{margin-top:calc(var(--space-4) * -1);font-size:var(--text-sm);color:var(--ink-2)}.stack{gap:var(--space-16);flex-direction:column;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.card--muted{background:var(--surface-muted);box-shadow:none}.card__header{align-items:center;gap:var(--space-8);width:100%;min-height:var(--tap-lg);padding:var(--space-8) var(--space-12) var(--space-8) var(--space-16);border:0;border-bottom:1px solid var(--line);background:var(--surface-muted);text-align:left;display:flex}.card__title{font-size:var(--text-h3);flex:1;font-weight:700}.card__count{font-size:var(--text-sm);color:var(--ink-2);font-weight:600}.row{align-items:center;gap:var(--space-12);width:100%;min-height:72px;padding:var(--space-12) var(--space-12) var(--space-12) var(--space-16);border:0;border-top:1px solid var(--line);text-align:left;background:0 0;display:flex}.row:first-child{border-top:0}.row--plot{min-height:var(--tap-lg)}.row:active,.card__header:active{background:var(--leaf-100)}.row__text{gap:var(--space-4);flex-direction:column;flex:1;min-width:0;display:flex}.row__title{font-weight:650}.row__meta{align-items:center;gap:var(--space-8);font-size:var(--text-sm);color:var(--ink-2);flex-wrap:wrap;display:flex}.row__hint{font-size:var(--text-sm);color:var(--ink-2)}.row__chevron{color:var(--ink-2);flex-shrink:0}.crop-mark{width:var(--tap);height:var(--tap);border-radius:var(--radius-md);background:var(--soil-bg);color:var(--soil-fg);font-size:var(--text-h3);flex-shrink:0;place-items:center;font-weight:800;display:inline-grid}.crop-mark--lg{border-radius:var(--radius-lg);width:72px;height:72px;font-size:var(--text-h1)}.crop-mark[data-family=fruiting]{background:var(--fam-fruiting-bg);color:var(--fam-fruiting-fg)}.crop-mark[data-family=cucurbit]{background:var(--fam-cucurbit-bg);color:var(--fam-cucurbit-fg)}.crop-mark[data-family=legume]{background:var(--fam-legume-bg);color:var(--fam-legume-fg)}.crop-mark[data-family=leafy]{background:var(--fam-leafy-bg);color:var(--fam-leafy-fg)}.crop-mark[data-family=root]{background:var(--fam-root-bg);color:var(--fam-root-fg)}.crop-mark[data-family=allium]{background:var(--fam-allium-bg);color:var(--fam-allium-fg)}.crop-mark[data-family=herb]{background:var(--fam-herb-bg);color:var(--fam-herb-fg)}.state-pill,.tag{min-height:24px;padding:0 var(--space-8);border-radius:var(--radius-pill);font-size:var(--text-caption);white-space:nowrap;background:var(--soil-bg);color:var(--soil-fg);align-items:center;font-weight:700;display:inline-flex}.state-pill[data-state=GROWING],.state-pill[data-state=PERENNIAL],.tag--good{background:var(--good-bg);color:var(--good-fg)}.state-pill[data-state=HARVESTING],.tag--warn{background:var(--warn-bg);color:var(--warn-fg)}.button{justify-content:center;align-items:center;gap:var(--space-8);min-height:var(--tap);padding:0 var(--space-16);border-radius:var(--radius-md);border:2px solid #0000;font-weight:700;display:inline-flex}.button--primary{width:100%;min-height:var(--tap-lg);background:var(--leaf-700);color:var(--on-leaf);font-size:var(--text-h3)}.button--primary:active{background:var(--leaf-800)}.button--secondary{background:var(--surface);border-color:var(--leaf-700);color:var(--leaf-700)}.button--secondary:active{background:var(--leaf-100)}.button:disabled{background:var(--surface-muted);border-color:var(--line);color:var(--ink-2);cursor:not-allowed}.notice{align-items:flex-start;gap:var(--space-12);padding:var(--space-12) var(--space-16);border-radius:var(--radius-md);font-size:var(--text-sm);display:flex}.notice svg{flex-shrink:0}.notice--good{background:var(--good-bg);color:var(--good-fg)}.notice--warn{background:var(--warn-bg);color:var(--warn-fg)}.notice--error{background:var(--error-bg);color:var(--error-fg)}.intro-card{gap:var(--space-8);padding:var(--space-24);border-radius:var(--radius-lg);background:var(--leaf-700);color:var(--on-leaf);flex-direction:column;display:flex}.intro-card h2{font-size:var(--text-h2);line-height:1.2}.empty{align-items:center;gap:var(--space-8);padding:var(--space-48) var(--space-24);border:2px dashed var(--line-strong);border-radius:var(--radius-lg);text-align:center;flex-direction:column;display:flex}.empty__icon{width:64px;height:64px;margin-bottom:var(--space-8);border-radius:var(--radius-pill);background:var(--soil-bg);color:var(--soil-fg);place-items:center;display:grid}.empty__title{font-size:var(--text-h3)}.empty__body{color:var(--ink-2)}.crop-hero{align-items:center;gap:var(--space-16);display:flex}.crop-hero__meta{align-items:center;gap:var(--space-8);margin-top:var(--space-8);color:var(--ink-2);flex-wrap:wrap;display:flex}.facts{margin:0;padding:0;list-style:none}.fact{align-items:center;gap:var(--space-12);min-height:64px;padding:var(--space-12) var(--space-16);border-top:1px solid var(--line);display:flex}.fact:first-child{border-top:0}.fact>svg{color:var(--leaf-700);flex-shrink:0}.fact__text{flex-direction:column;flex:1;display:flex}.fact__label{font-size:var(--text-caption);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);font-weight:700}.fact__value{font-weight:600}.field{gap:var(--space-12);border:0;flex-direction:column;margin:0;padding:0;display:flex}.field__label{font-size:var(--text-h3);padding:0;font-weight:700}.field__hint{font-size:var(--text-sm);color:var(--ink-2);font-weight:600}.segmented{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-muted);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.segmented__option{position:relative}.segmented__option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented__option span{min-height:var(--tap);border-radius:var(--radius-sm);color:var(--ink);place-items:center;font-weight:650;display:grid}.segmented__option input:checked+span{background:var(--leaf-700);color:var(--on-leaf);box-shadow:var(--shadow-card)}.segmented__option input:focus-visible+span{outline:3px solid var(--ink);outline-offset:2px}.date-field{gap:var(--space-8);flex-direction:column;display:flex}.date-field input,.note-form textarea{width:100%;min-height:var(--tap-lg);padding:var(--space-12) var(--space-16);border:2px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-body)}.date-field input{appearance:none;min-width:0;display:block}.date-field input::-webkit-date-and-time-value{text-align:left}.date-field input:focus,.note-form textarea:focus{border-color:var(--leaf-700);box-shadow:0 0 0 3px var(--leaf-100);outline:none}.progress-card{gap:var(--space-12);padding:var(--space-16);flex-direction:column;display:flex}.progress-card__top{justify-content:space-between;align-items:baseline;gap:var(--space-8);flex-wrap:wrap;display:flex}.progress-card__day{font-size:var(--text-h2);font-weight:750}.progress-card__range,.progress-card__status{font-size:var(--text-sm);color:var(--ink-2)}.progress-card__status{color:var(--ink);font-weight:600}.progress{border-radius:var(--radius-pill);background:var(--surface-muted);border:1px solid var(--line);height:16px;position:relative;overflow:hidden}.progress__window{background:repeating-linear-gradient(-45deg, var(--warn-bg) 0 6px, var(--warn-stripe) 6px 12px);position:absolute;top:0;bottom:0}.progress__fill{border-radius:var(--radius-pill);background:var(--leaf-700);min-width:8px;position:absolute;top:0;bottom:0;left:0}.note-form{gap:var(--space-12);padding:var(--space-16);flex-direction:column;display:flex}.note-form textarea{resize:vertical;min-height:104px;line-height:1.4}.note-form textarea::placeholder{color:var(--ink-2);opacity:1}.note-form__footer{justify-content:space-between;align-items:center;gap:var(--space-12);display:flex}.note-form__status{font-size:var(--text-sm);color:var(--good-fg);font-weight:600}.timeline{margin:0;padding:0;list-style:none}.timeline__item{gap:var(--space-12);padding-bottom:var(--space-16);display:flex;position:relative}.timeline__item:before{content:"";background:var(--line);width:2px;position:absolute;top:32px;bottom:0;left:15px}.timeline__item:last-child:before{display:none}.timeline__dot{border-radius:var(--radius-pill);background:var(--surface);border:2px solid var(--line);width:32px;height:32px;color:var(--ink-2);flex-shrink:0;place-items:center;display:grid}.timeline__item[data-type=planted] .timeline__dot{background:var(--leaf-700);border-color:var(--leaf-700);color:var(--on-leaf)}.timeline__content{min-width:0;padding-top:var(--space-4);flex:1}.timeline__title{font-weight:700}.timeline__note{white-space:pre-wrap;overflow-wrap:anywhere}.timeline__date{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--ink-2)}
