:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:"Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;--font-serif:"Fraunces", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--leading-tight:1.2;--leading-normal:1.5;--weight-regular:400;--weight-medium:550;--weight-bold:680;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--content-max:1200px;--library-width:280px;--square-size:64px;--color-bg:#f6f1e7;--color-surface:#fffcf5;--color-surface-sunken:#efe7d8;--color-ink:#2b2620;--color-ink-muted:#6b6155;--color-ink-faint:#9a8f80;--color-border:#e0d5c2;--color-border-strong:#c9b99f;--color-accent:#3f7d3a;--color-accent-hover:#346a30;--color-accent-ink:#fff;--color-accent-soft:#e2eed8;--color-danger:#b4432f;--color-danger-hover:#983624;--color-danger-soft:#f6e0da;--color-focus:#2f6fb0;--color-soil:#7a5a3c;--color-soil-light:#a07c58;--color-square:#f1e6d2;--color-square-hover:#e9dcc3;--color-plant-ink:#2b2620;--family-nightshade:#f1b0a0;--family-brassica:#b4c6e8;--family-leafy:#a8d98e;--family-root:#f5c88a;--family-legume:#9fd8cc;--family-allium:#dcc4ec;--family-cucurbit:#f3e08a;--family-herb:#cfd8a2;--family-grain:#e6cfa0;--family-flower:#f5b5d0;--shadow-sm:0 1px 2px #3c2d1914;--shadow-md:0 2px 6px #3c2d1914, 0 8px 24px #3c2d190f;--shadow-lg:0 4px 12px #3c2d191a, 0 20px 48px #3c2d191a;--shadow-inset:inset 0 1px 2px #3c2d191f;--shadow-ring:0 0 0 3px color-mix(in srgb, var(--color-accent) 28%, transparent)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#1a1714;--color-surface:#24201b;--color-surface-sunken:#1f1b17;--color-ink:#efe8dc;--color-ink-muted:#b3a896;--color-ink-faint:#85796a;--color-border:#3a332b;--color-border-strong:#51473b;--color-accent:#7cc06f;--color-accent-hover:#93d087;--color-accent-ink:#13210f;--color-accent-soft:#263723;--color-danger:#e57a63;--color-danger-hover:#f0907b;--color-danger-soft:#3d2420;--color-focus:#7fb4ea;--color-soil:#5a4029;--color-soil-light:#7a5a3c;--color-square:#2e2821;--color-square-hover:#3a3229;--color-plant-ink:#f6f0e6;--family-nightshade:#85402f;--family-brassica:#36507f;--family-leafy:#3f6e30;--family-root:#8a5a22;--family-legume:#1f6a5e;--family-allium:#5f4783;--family-cucurbit:#7a6a18;--family-herb:#5a6a2c;--family-grain:#6f5b36;--family-flower:#82385c;--shadow-sm:0 1px 2px #0006;--shadow-md:0 2px 6px #00000059, 0 8px 24px #0000004d;--shadow-lg:0 4px 12px #0006, 0 20px 48px #0006;--shadow-inset:inset 0 1px 3px #00000080}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s}.button:active,.tab:active,.square:active,.library-item:active{transform:none}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(120% 60% at 0% 0%, color-mix(in srgb, var(--color-accent-soft) 55%, transparent), transparent 60%) fixed, var(--color-bg);min-width:320px;color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}h1,h2,h3{line-height:var(--leading-tight);margin:0}p{margin:0}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}::selection{background:var(--color-accent-soft);color:var(--color-ink)}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:10;background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.app-header__inner{max-width:var(--content-max);padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:0 auto;display:flex}.brand{align-items:center;gap:var(--space-3);min-width:0;display:flex}.brand__mark{border-radius:var(--radius-sm);background:linear-gradient(var(--color-soil), var(--color-soil)) center / 2px 100% no-repeat, linear-gradient(var(--color-soil), var(--color-soil)) center / 100% 2px no-repeat, conic-gradient(var(--family-leafy) 0 25%, var(--family-root) 0 50%, var(--family-nightshade) 0 75%, var(--family-herb) 0);border:3px solid var(--color-soil);flex:none;width:28px;height:28px}.brand__name{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:-.01em}.app-main{width:100%;max-width:var(--content-max);padding:var(--space-6) var(--space-4) var(--space-7);flex:1;margin:0 auto}.app-main>*{animation:rise-in var(--duration-slow) var(--ease-out) both}.tabs{gap:var(--space-1);padding:var(--space-1);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-pill);display:inline-flex}.tab{min-height:36px;padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);color:var(--color-ink-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;border:0}.tab:hover{color:var(--color-ink);background:color-mix(in srgb, var(--color-surface) 50%, transparent)}.tab:active{transform:scale(.97)}.tab[aria-pressed=true]{background:var(--color-surface);color:var(--color-accent);box-shadow:var(--shadow-sm)}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:1px solid #0000;line-height:1;display:inline-flex}.button:active{transform:translateY(1px)}.button:disabled{opacity:.5;cursor:not-allowed}.button--primary{background:var(--color-accent);color:var(--color-accent-ink);box-shadow:var(--shadow-sm)}.button--primary:hover{background:var(--color-accent-hover)}.button--quiet{border-color:var(--color-border-strong);color:var(--color-ink);background:0 0}.button--quiet:hover{background:var(--color-surface-sunken)}.button--danger{background:var(--color-danger-soft);color:var(--color-danger)}.button--danger:hover{background:var(--color-danger);color:var(--color-surface)}.button--danger:focus-visible{outline-color:var(--color-danger)}.button--quiet[aria-pressed=true]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-bg)}.field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.field__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink-muted)}.input{width:100%;min-height:40px;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-inset);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.input::placeholder{color:var(--color-ink-faint)}.input:hover{border-color:var(--color-ink-faint)}.input:focus-visible{outline-offset:0;border-color:var(--color-focus)}.input:user-invalid{border-color:var(--color-danger);background:var(--color-danger-soft)}.input--number{font-variant-numeric:tabular-nums;width:5.5rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-4);gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.card__header{align-items:center;gap:var(--space-1) var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.card__title{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:-.01em;overflow-wrap:anywhere;grid-column:1}.card__meta{font-size:var(--text-sm);color:var(--color-ink-muted);font-variant-numeric:tabular-nums;grid-column:1}.card__header>.card__actions{grid-area:1/2/span 2;justify-content:flex-end}.card__confirm{font-weight:var(--weight-medium);color:var(--color-danger)}.card__footer{font-size:var(--text-sm);color:var(--color-ink-muted);border-top:1px dashed var(--color-border);padding-top:var(--space-3)}.bed-scroll{max-width:100%;overflow-x:auto}.bed-grid{grid-template-columns:repeat(var(--bed-cols,4), var(--square-size));grid-auto-rows:var(--square-size);background:var(--color-soil);border-radius:var(--radius-md);box-shadow:inset 0 0 0 3px var(--color-soil-light), var(--shadow-sm);gap:3px;padding:8px;display:inline-grid}.square{width:var(--square-size);height:var(--square-size);background:var(--color-square);color:var(--color-plant-ink);font-size:.6875rem;font-weight:var(--weight-medium);text-align:center;cursor:pointer;transition:background-color var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:0;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;line-height:1.1;display:flex;position:relative;overflow:hidden}.square:hover{background:var(--color-square-hover)}.square:active{transform:scale(.96)}.square:focus-visible{outline:3px solid var(--color-focus);outline-offset:-1px;z-index:1}.square--planted,.square--planted:hover{background:var(--square-fill,var(--color-accent-soft))}.square--planted:hover{filter:brightness(1.04)}.square__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}[data-family=nightshade]{--square-fill:var(--family-nightshade)}[data-family=brassica]{--square-fill:var(--family-brassica)}[data-family=leafy]{--square-fill:var(--family-leafy)}[data-family=root]{--square-fill:var(--family-root)}[data-family=legume]{--square-fill:var(--family-legume)}[data-family=allium]{--square-fill:var(--family-allium)}[data-family=cucurbit]{--square-fill:var(--family-cucurbit)}[data-family=herb]{--square-fill:var(--family-herb)}[data-family=grain]{--square-fill:var(--family-grain)}[data-family=flower]{--square-fill:var(--family-flower)}.dots{grid-template-columns:repeat(var(--dots-per-row,1), 1fr);gap:var(--dot-gap,3px);place-items:center;display:grid}.dots[data-count="1"]{--dots-per-row:1;--dot-size:12px}.dots[data-count="4"]{--dots-per-row:2;--dot-size:8px;--dot-gap:4px}.dots[data-count="9"]{--dots-per-row:3;--dot-size:6px}.dots[data-count="16"]{--dots-per-row:4;--dot-size:5px;--dot-gap:2px}.dot{width:var(--dot-size,6px);height:var(--dot-size,6px);opacity:.7;background:currentColor;border-radius:50%}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;display:inline-flex}.badge--now{background:var(--color-accent);color:var(--color-accent-ink)}.badge--past{background:var(--color-surface-sunken);color:var(--color-ink-faint);border:1px solid var(--color-border)}.empty-state{align-items:center;gap:var(--space-3);max-width:34rem;padding:var(--space-7) var(--space-5);text-align:center;background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);flex-direction:column;margin:0 auto;display:flex}.empty-state__art{margin-bottom:var(--space-2);background:var(--color-soil);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-soil-light);grid-template-columns:repeat(2,44px);grid-auto-rows:44px;gap:3px;padding:6px;display:grid}.empty-state__art:has(.badge){box-shadow:none;background:0 0;padding:0;display:flex}.empty-state__art .square{cursor:default;width:44px;height:44px}.empty-state__title{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--weight-bold)}.empty-state__text{color:var(--color-ink-muted);max-width:28rem}.empty-state .button{margin-top:var(--space-2)}.garden-layout{grid-template-columns:var(--library-width) minmax(0, 1fr);gap:var(--space-5);align-items:start;display:grid}.library-panel{top:calc(var(--space-8) + var(--space-3));gap:var(--space-2);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;min-width:0;display:flex;position:sticky}.panel-title{font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-muted)}.panel-hint{font-size:var(--text-sm);color:var(--color-ink-faint)}.library-list{gap:var(--space-1);flex-direction:column;max-height:60vh;display:flex;overflow-y:auto}.library-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font:inherit;color:var(--color-ink);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);grid-template-columns:auto 1fr auto;display:grid}.library-item:hover{background:var(--color-surface-sunken);border-color:var(--color-border-strong)}.library-item:active{transform:scale(.98)}.library-item__swatch{background:var(--square-fill);border-radius:5px;width:1.125rem;height:1.125rem;box-shadow:inset 0 0 0 1px #00000014}.library-item__name{font-weight:var(--weight-medium);white-space:nowrap}.library-item__count{font-size:var(--text-xs);color:var(--color-ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.library-item[aria-pressed=true]{background:var(--color-accent-soft);border-color:var(--color-accent);box-shadow:var(--shadow-ring)}.library-item[aria-pressed=true] .library-item__count{color:var(--color-ink)}.beds{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.calendar{gap:var(--space-5);flex-direction:column;max-width:48rem;margin:0 auto;display:flex}@media (width<=719px){:root{--square-size:52px}.app-main{padding:var(--space-4) var(--space-3) var(--space-6)}.brand__name{font-size:var(--text-lg)}.garden-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.library-panel{position:static}.library-list{max-height:none;padding-bottom:var(--space-2);flex-direction:row;overflow:auto hidden}.library-item{flex:none}.empty-state{padding:var(--space-6) var(--space-4)}}.add-bed-form{gap:var(--space-4);animation:rise-in var(--duration-base) var(--ease-out) both;grid-template-columns:repeat(2,max-content);display:grid}.add-bed-form>.field:first-child,.add-bed-form__actions{grid-column:1/-1}.add-bed-form>.field:first-child{max-width:24rem}.add-bed-form__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.add-bed-button{align-self:flex-start}.card__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.frost-field{max-width:16rem}.calendar>.frost-field+.panel-hint{margin-top:calc(var(--space-3) - var(--space-5))}.tool-hint{min-height:1.4em;font-size:var(--text-sm);color:var(--color-ink-muted)}.tool-hint:empty{display:none}.month{gap:var(--space-3);flex-direction:column;display:flex}.month__title{align-items:center;gap:var(--space-3);font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-medium);color:var(--color-ink);display:flex}.month__title:after{content:"";background:var(--color-border);flex:1;height:1px}.task-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.task{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--task-edge,var(--color-border-strong));border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);grid-template-columns:8rem minmax(0,1fr) auto auto 3.5rem;display:grid}.task:hover{box-shadow:var(--shadow-md)}.task--now{--task-edge:var(--color-accent);border-color:var(--color-accent);background:var(--color-accent-soft)}.task--past{--task-edge:var(--color-border);box-shadow:none;opacity:.6}.task__kind{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-ink-muted)}.task__plant{font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task__count,.task__window{font-size:var(--text-sm);color:var(--color-ink-muted);white-space:nowrap}.task .badge{justify-self:end}@media (width<=719px){.task{gap:var(--space-1) var(--space-3);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kind badge""plant plant""count window"}.task__kind{grid-area:kind}.task__plant{font-size:var(--text-lg);grid-area:plant}.task__count{grid-area:count}.task__window{grid-area:window;justify-self:end}.task .badge{grid-area:badge}.card__header{grid-template-columns:minmax(0,1fr)}.card__header>.card__actions{margin-top:var(--space-2);grid-area:auto/1;justify-content:flex-start}.card__confirm{flex-basis:100%}}
