:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-0:#ebe8df;--surface-1:#f5f3ed;--surface-2:#fff;--border:#dcd8cd;--border-strong:#c4bfb0;--text-primary:#1f1e1b;--text-secondary:#55534c;--text-muted:#8a8779;--green:#639922;--green-deep:#3b6d11;--text-success:#3b6d11;--border-success:#b6d48a;--bg-success:#eaf3de;--amber:#ef9f27;--text-warning:#854f0b;--border-warning:#ebcb8e;--bg-warning:#faeeda;--purple:#3c3489;--text-indoors:#3c3489;--bg-indoors:#eeedfe;--blue:#185fa5;--text-accent:#185fa5;--border-accent:#a9cbea;--bg-accent:#e6f1fb;--red:#e24b4a;--text-danger:#a5231f;--bg-danger:#fbeaea;--text-flower:#993556;--bg-flower:#fbeaf0;--text-neutral:#444441;--bg-neutral:#f1efe8;--r-frame:24px;--r-card:12px;--r-btn:10px;--r-pill:20px;--hairline:.5px}*{box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{background:var(--surface-1);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}button{font:inherit;color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stage{background:var(--surface-1);justify-content:center;align-items:flex-start;min-height:100vh;padding:24px;display:flex}.frame{background:var(--surface-2);border:var(--hairline) solid var(--border);border-radius:var(--r-frame);flex-direction:column;width:390px;height:min(844px,100vh - 48px);min-height:620px;display:flex;position:relative;overflow:hidden}@media (width<=1023px){.stage{min-height:100dvh}.frame{height:min(844px,100dvh - 48px)}}.setup-celebration{z-index:20;background:color-mix(in srgb, var(--surface-2) 82%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:24px;display:grid;position:absolute;inset:0;overflow:hidden}.celebration-card{z-index:2;border:var(--hairline) solid var(--border);background:var(--surface-2);text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:7px;width:min(290px,100%);padding:24px 22px 20px;animation:.42s cubic-bezier(.2,.9,.25,1.2) both celebration-pop;display:flex;position:relative;box-shadow:0 18px 46px #26431b2e}.celebration-card b{font-size:22px}.celebration-card>span:not(.celebration-emoji){color:var(--text-muted);font-size:13px}.celebration-card .pbtn{margin-top:10px}.celebration-emoji{font-size:42px;line-height:1}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{--piece:0;top:-24px;left:calc((var(--piece) + 1) * 5.2%);background:var(--green);width:8px;height:14px;animation:confetti-fall 2.2s ease-in calc(var(--piece) * -.08s) infinite;border-radius:2px;position:absolute}.confetti i:nth-child(3n){background:var(--amber)}.confetti i:nth-child(3n+1){background:var(--purple)}.confetti i:nth-child(4n){border-radius:50%}@keyframes confetti-fall{0%{transform:translateY(-30px)rotate(0)}to{transform:translate(24px,900px)rotate(620deg)}}@keyframes celebration-pop{0%{opacity:0;transform:scale(.84)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.confetti{display:none}.celebration-card{animation:none}}@media (width<=480px){.stage{padding:0}.frame{border:none;border-radius:0;width:100%;height:100dvh;min-height:0}}.access-page{min-height:100%;padding:28px 22px calc(28px + env(safe-area-inset-bottom));background:radial-gradient(circle at 80% 5%, color-mix(in srgb, var(--green) 10%, transparent), transparent 30%), var(--surface-1);color:var(--text-primary)}.access-brand{color:var(--text-accent);align-items:center;gap:8px;margin-bottom:42px;font-size:14px;font-weight:700;display:flex}.access-page h1{max-width:330px;font-family:var(--font-display);letter-spacing:-.035em;margin:6px 0 10px;font-size:clamp(29px,8vw,38px);line-height:1.05}.access-page>p:not(.access-eyebrow):not(.field-error){max-width:340px;color:var(--text-muted);margin:0 0 22px;font-size:15px;line-height:1.5}.access-eyebrow{color:var(--text-accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:750}.access-hero-icon{background:var(--bg-success);width:54px;height:54px;color:var(--text-accent);border-radius:18px;place-items:center;margin-bottom:20px;display:grid}.access-plan-list{gap:10px;margin:22px 0 14px;display:grid}.access-plan{border:var(--hairline) solid var(--border);background:var(--surface-2);min-height:78px;color:var(--text-primary);text-align:left;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:15px 16px;display:flex}.access-plan.selected{border:2px solid var(--text-accent);background:color-mix(in srgb, var(--bg-success) 55%, var(--surface-2));padding:14px 15px}.access-plan span{gap:3px;display:grid}.access-plan small{color:var(--text-muted);font-size:11.5px;font-weight:500}.access-plan strong{white-space:nowrap;font-size:17px}.access-safety-card{border:var(--hairline) solid var(--border-success);background:var(--bg-success);color:var(--text-secondary);border-radius:12px;gap:7px;margin:14px 0 20px;padding:14px;font-size:13px;line-height:1.4;display:grid}.access-safety-card b{color:var(--text-primary);align-items:center;gap:6px;display:flex}.access-primary{justify-content:center;align-items:center;gap:7px;width:100%;min-height:50px;margin-top:10px;display:flex}.access-sign-out{margin:18px auto 0;display:block}.access-email-field{color:var(--text-secondary);gap:7px;margin:24px 0 8px;font-size:13px;font-weight:650;display:grid}.access-email-field .textinput{min-height:50px;font-size:16px}.access-status{flex-direction:column;justify-content:center;display:flex}.access-status .access-brand{position:absolute;top:28px}.topbar{z-index:40;background:var(--surface-2);border-bottom:var(--hairline) solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:16px 20px 12px;display:flex;position:sticky;top:0}.iconbtn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px 4px;display:flex}.iconbtn:disabled{opacity:.25;cursor:default}.steptitle{font-size:15px;font-weight:500}.topbar-context{color:var(--text-muted);align-items:center;gap:7px;margin-top:2px;font-size:12px;display:flex}.demo-mode-badge{background:var(--bg-accent);color:var(--text-accent);border-radius:999px;padding:2px 7px;font-size:9px;font-weight:650}.body{flex:1;padding:18px 20px;overflow-y:auto}.body.home-body{padding-bottom:max(88px, calc(18px + env(safe-area-inset-bottom)))}.body.plant-directory-page{flex-direction:column;min-height:0;display:flex;overflow:hidden}.body.plant-directory-page>.planting-date-context{flex-shrink:0}.body.plant-directory-page>.plant-directory{flex-direction:column;flex:1;min-height:0;display:flex}.body.plant-directory-page>.plant-directory .plant-directory-list{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex:1;min-height:0;max-height:none}.footer{border-top:var(--hairline) solid var(--border);flex-shrink:0;padding:12px 20px 16px}.dots{gap:5px;margin-top:7px;display:flex}.dot{border-radius:var(--r-pill);background:var(--surface-0);width:26px;height:4px}.dot.on{background:var(--green)}.dot.cur{background:var(--text-accent)}.pbtn{border:var(--hairline) solid var(--border-accent);background:var(--bg-accent);width:100%;color:var(--text-accent);border-radius:var(--r-btn);cursor:pointer;padding:13px;font-size:14px;font-weight:500}.pbtn:disabled{opacity:.4;cursor:default}.ghostbtn{border:var(--hairline) solid var(--border-strong);background:var(--surface-2);width:100%;color:var(--text-primary);border-radius:var(--r-btn);cursor:pointer;padding:11px;font-size:14px}.dashbtn{border:1px dashed var(--border-strong);border-radius:var(--r-card);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:11px;font-size:14px;display:flex}.h1{margin:0 0 6px;font-size:20px;font-weight:500}.sub{color:var(--text-secondary);margin:0 0 16px;font-size:13px;line-height:1.45}.eyebrow{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:12px}.note{color:var(--text-muted);align-items:flex-start;gap:7px;margin-top:12px;font-size:12px;line-height:1.45;display:flex}.zipinput{border:var(--hairline) solid var(--border-strong);background:var(--surface-2);width:100%;color:var(--text-primary);border-radius:var(--r-btn);letter-spacing:.18em;text-align:center;font-variant-numeric:tabular-nums;padding:14px 16px;font-size:22px}.zipinput:focus{border-color:var(--border-accent);box-shadow:0 0 0 3px var(--bg-accent);outline:none}.zipinput.bad{border-color:var(--red)}.confirm{background:var(--bg-success);border:var(--hairline) solid var(--border-success);border-radius:var(--r-card);align-items:flex-start;gap:11px;margin-top:14px;padding:13px 15px;display:flex}.confirm .zone{color:var(--text-success);font-size:15px;font-weight:500}.confirm .frost{color:var(--text-success);opacity:.85;margin-top:2px;font-size:12.5px}.inlineerr{color:var(--text-danger);align-items:center;gap:6px;margin-top:10px;font-size:12.5px;display:flex}.zonepick{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.location-choices{gap:10px;margin-top:20px;display:grid}.location-choice{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);width:100%;min-height:72px;color:var(--text-primary);text-align:left;cursor:pointer;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.location-choice:focus-visible{outline:3px solid var(--bg-accent);border-color:var(--border-accent)}.location-choice:disabled{opacity:.65;cursor:wait}.location-choice-icon{background:var(--bg-success);width:38px;height:38px;color:var(--text-success);border-radius:10px;place-items:center;display:grid}.location-choice b,.location-choice small{display:block}.location-choice b{margin-bottom:2px;font-size:14px;font-weight:500}.location-choice small{color:var(--text-muted);font-size:11.5px;line-height:1.35}.location-choice>svg{color:var(--text-accent)}.location-privacy{border-radius:var(--r-card);background:var(--surface-0);color:var(--text-secondary);align-items:flex-start;gap:8px;margin-top:18px;padding:12px;font-size:11.5px;line-height:1.45;display:flex}.location-privacy svg{flex-shrink:0;margin-top:1px}.location-back{color:var(--text-accent);cursor:pointer;background:0 0;border:0;margin:0 0 13px;padding:0;font-size:12.5px}.location-field{color:var(--text-secondary);gap:7px;font-size:13px;font-weight:500;display:grid}.location-match-button{margin-top:12px}.location-match-label{color:var(--text-success);text-transform:uppercase;letter-spacing:.02em;margin-bottom:3px;font-size:11px;font-weight:500}.locationerr{border:var(--hairline) solid var(--border-warning);border-radius:var(--r-btn);background:var(--bg-warning);color:var(--text-warning);margin-top:12px;padding:10px 11px;font-size:12px;line-height:1.4}.chip{border-radius:var(--r-pill);border:var(--hairline) solid var(--border);background:var(--surface-2);color:var(--text-primary);cursor:pointer;padding:7px 12px;font-size:13px}.chip.sel{border-color:var(--border-accent);background:var(--bg-accent);color:var(--text-accent)}.chip.crop{cursor:default;background:var(--bg-success);border-color:var(--border-success);color:var(--text-success);padding:5px 10px;font-size:12px}.chip.sun{background:var(--bg-warning);border-color:var(--border-warning);color:var(--text-warning)}.spacecard{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);cursor:pointer;text-align:left;align-items:center;gap:12px;width:100%;margin-bottom:9px;padding:12px 14px;display:flex}.spaceicon{background:var(--bg-success);width:36px;height:36px;color:var(--text-success);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.spacename{font-size:14px;font-weight:500}.spacemeta{color:var(--text-muted);margin-top:2px;font-size:12px}.totalrow{border-top:var(--hairline) solid var(--border);justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:13px;display:flex}.totalrow .label{color:var(--text-secondary);font-size:13px}.totalrow .value{font-size:17px;font-weight:500}.bedwrap{background:var(--surface-0);border-radius:var(--r-card);justify-content:center;align-items:center;min-height:150px;margin:4px 0 6px;padding:14px;display:flex}.bed{background:var(--bg-success);border:1.5px solid var(--green);border-radius:4px;justify-content:center;align-items:center;display:flex;position:relative}.bedlabel{color:var(--text-success);background:var(--surface-2);border-radius:var(--r-pill);z-index:1;white-space:nowrap;padding:3px 9px;font-size:12px;font-weight:500}.bedscale{color:var(--text-muted);text-align:center;margin-bottom:10px;font-size:11px}.field{margin-bottom:16px}.fieldlabel{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px;font-size:12px}.textinput{border:var(--hairline) solid var(--border-strong);background:var(--surface-2);width:100%;color:var(--text-primary);border-radius:var(--r-btn);padding:11px 13px;font-size:14px}.textinput:focus{border-color:var(--border-accent);outline:none}.seg{background:var(--surface-0);border-radius:var(--r-btn);gap:4px;padding:4px;display:flex}.sg{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:8px 0;font-size:13px}.sg.active{background:var(--surface-2);color:var(--text-primary);box-shadow:0 0 0 var(--hairline) var(--border)}.stepperrow{gap:10px;display:flex}.stepperbox{border:var(--hairline) solid var(--border);border-radius:var(--r-card);flex:1;padding:10px 12px}.stepperbox .cap{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.stepperctl{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.stepperval{font-variant-numeric:tabular-nums;font-size:17px;font-weight:500}.sbtn{border:var(--hairline) solid var(--border-strong);background:var(--surface-2);cursor:pointer;width:28px;height:28px;color:var(--text-primary);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:15px;display:flex}.sbtn:disabled{opacity:.3;cursor:default}.grow-space-measurements{display:block}.measurement-summary{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);width:100%;min-height:70px;color:var(--text-primary);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.measurement-summary>span{gap:1px;display:grid}.measurement-summary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.measurement-summary strong{font-variant-numeric:tabular-nums;font-size:17px;font-weight:600}.measurement-summary small{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11px}.measurement-summary>svg{color:var(--text-muted);flex-shrink:0}.measurement-picker-layer{z-index:200;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.measurement-picker-backdrop{background:#1918146b;border:0;border-radius:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.measurement-picker-sheet{z-index:1;background:var(--surface-2);width:min(100%,430px);min-height:330px;max-height:calc(100dvh - 24px);padding:14px 20px max(22px, env(safe-area-inset-bottom));border-radius:22px 22px 0 0;position:relative;overflow-y:auto;box-shadow:0 -8px 30px #1b18112e}.measurement-picker-grabber{border-radius:var(--r-pill);background:var(--border-strong);width:38px;height:4px;margin:0 auto 12px}.measurement-picker-heading{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.measurement-picker-heading h2{margin:0;font-size:18px}.measurement-picker-heading .text-action{min-height:40px;padding:6px 2px 6px 14px;font-weight:600}.measurement-entry-tabs{border-radius:var(--r-btn);background:var(--surface-0);grid-template-columns:1fr 1fr;gap:4px;margin-bottom:18px;padding:4px;display:grid}.measurement-entry-tabs button{min-height:42px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:13px}.measurement-entry-tabs button.active{background:var(--surface-2);color:var(--text-primary);box-shadow:0 0 0 var(--hairline) var(--border);font-weight:600}.measurement-total-panel>p,.measurement-feet-panel>p{color:var(--text-secondary);text-align:center;margin:0 0 11px;font-size:12px;display:block}.measurement-total-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.measurement-total-grid.single{grid-template-columns:minmax(0,170px);justify-content:center}.measurement-total-field{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;gap:6px;font-size:11px;display:grid}.measurement-total-control{align-items:center;gap:7px;display:flex}.measurement-total-control input{border:2px solid var(--green);border-radius:var(--r-card);background:var(--surface-2);width:min(100%,130px);min-width:0;height:62px;color:var(--text-primary);text-align:center;font-variant-numeric:tabular-nums;appearance:textfield;font-size:28px;font-weight:650}.measurement-total-control input::-webkit-inner-spin-button{appearance:none;margin:0}.measurement-total-control input::-webkit-outer-spin-button{appearance:none;margin:0}.measurement-total-control input:focus{outline:3px solid color-mix(in srgb, var(--green) 18%, transparent);outline-offset:2px}.measurement-total-control span{color:var(--text-secondary);text-transform:none;letter-spacing:0;font-size:14px}.measurement-conversion{color:var(--text-success);text-align:center;font-variant-numeric:tabular-nums;gap:2px;margin-top:12px;font-size:15px;font-weight:600;display:grid}.measurement-conversion small{color:var(--text-secondary);font-size:12px;font-weight:500}.measurement-conversion.compact{margin-top:6px}.measurement-wheels{grid-template-columns:1fr 1fr;gap:16px;display:grid}.measurement-wheel-row{margin-top:8px}.measurement-wheel-row>strong{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px;font-size:11px;display:block}.measurement-wheel-wrap{height:144px;position:relative;overflow:hidden}.measurement-wheel-selection{border-top:var(--hairline) solid var(--border-strong);border-bottom:var(--hairline) solid var(--border-strong);background:color-mix(in srgb, var(--surface-0) 76%, transparent);pointer-events:none;height:48px;position:absolute;top:48px;left:0;right:0}.measurement-wheel{z-index:1;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;height:144px;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 25% 75%,#0000);mask-image:linear-gradient(#0000,#000 25% 75%,#0000)}.measurement-wheel::-webkit-scrollbar{display:none}.measurement-wheel-spacer{height:48px}.measurement-wheel-option{width:100%;height:48px;color:var(--text-secondary);scroll-snap-align:center;cursor:pointer;background:0 0;border:0;place-items:center;padding:0 24px 0 0;font-size:18px;display:grid}.measurement-wheel-option[aria-selected=true]{color:var(--text-primary);font-size:22px;font-weight:650}.measurement-wheel-suffix{z-index:2;color:var(--text-secondary);pointer-events:none;font-size:12px;position:absolute;top:65px;right:17px}.sun-hours-label-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.sun-hours-label-row>span{align-items:center;gap:4px;display:flex}.sun-scan-help{min-height:32px;color:var(--blue);cursor:pointer;letter-spacing:0;text-transform:none;background:0 0;border:0;margin:-8px 0 -7px;padding:5px 0 5px 10px;font-size:12px;font-weight:600}.sun-hours-picker-sheet{min-height:465px}.sun-hours-picker-layer{color:var(--text-primary);letter-spacing:normal;text-transform:none}.sun-hours-manual{gap:12px;display:grid}.sun-hours-manual>p{color:var(--text-secondary);text-align:center;margin:0;font-size:12px}.sun-hours-manual>strong{color:var(--text-success);text-align:center;font-size:14px}.sun-hours-scan-start{text-align:center;flex-direction:column;align-items:center;padding:3px 0 0;display:flex}.sun-hours-scan-icon{background:var(--bg-accent);width:58px;height:58px;color:var(--blue);border-radius:18px;place-items:center;margin-bottom:10px;display:grid}.sun-hours-scan-start h3{margin:0;font-size:18px}.sun-hours-space-name{color:var(--text-muted);margin-top:2px;font-size:12px}.sun-hours-scan-start>p{max-width:310px;color:var(--text-secondary);margin:13px 0;font-size:13px;line-height:1.45}.sun-hours-requirements{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;margin-bottom:10px;display:grid}.sun-hours-requirements span{border:var(--hairline) solid var(--border);border-radius:var(--r-btn);background:var(--surface-1);min-width:0;min-height:58px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:7px 4px;font-size:10px;display:flex}.sun-hours-safety{border-radius:var(--r-btn);background:var(--bg-warning);width:100%;color:var(--text-warning);text-align:left;align-items:center;gap:9px;margin-bottom:10px;padding:9px 11px;font-size:11px;line-height:1.4;display:flex}.sun-hours-safety svg{flex:none}.sun-hours-secure-warning{border:var(--hairline) solid var(--red);border-radius:var(--r-btn);background:var(--bg-danger);width:100%;color:var(--text-danger);text-align:left;margin-bottom:10px;padding:9px 11px;font-size:11px;line-height:1.4}.sun-hours-start{width:100%;min-height:46px}.sun-hours-scan-start>small{color:var(--text-muted);margin-top:8px;font-size:10px;line-height:1.35}.sun-scan-layer{z-index:500;background:#0e1913;place-items:center;display:grid;position:fixed;inset:0}.sun-scan-camera{color:#fff;isolation:isolate;background:#26362d;width:min(100%,680px);height:100dvh;min-height:620px;position:relative;overflow:hidden}.sun-scan-video,.sun-scan-shade{width:100%;height:100%;position:absolute;inset:0}.sun-scan-video{object-fit:cover}.sun-scan-shade{z-index:1;pointer-events:none;background:linear-gradient(#040e08a6 0%,#0000 19% 49%,#040c0740 68%,#040c07c7 100%)}.sun-scan-header{z-index:10;padding:max(12px, env(safe-area-inset-top)) 14px 8px;grid-template-columns:42px 1fr 42px;align-items:center;display:grid;position:absolute;top:0;left:0;right:0}.sun-scan-header>button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d1c1375;border:1px solid #ffffff3b;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;display:grid}.sun-scan-header>div{text-shadow:0 1px 4px #0009;flex-direction:column;align-items:center;gap:1px;min-width:0;display:flex}.sun-scan-header strong{font-size:16px}.sun-scan-header span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.sun-scan-path{z-index:3;pointer-events:none;position:absolute;inset:0}.sun-scan-path line{stroke:#ffde7ec7;stroke-width:2px;stroke-dasharray:4 5}.sun-scan-markers{z-index:5;pointer-events:none;position:absolute;inset:0}.sun-scan-marker{color:#fff;cursor:pointer;pointer-events:auto;background:0 0;border:0;place-items:center;width:48px;height:48px;padding:0;display:grid;position:absolute;top:0;left:0}.sun-scan-marker>span{background:#14251d61;border:2px solid #fffffff2;border-radius:50%;place-items:center;width:13px;height:13px;display:grid;box-shadow:0 2px 8px #00000059}.sun-scan-marker.full-hour>span{color:#ffdc74;background:#1b3023a6;border-color:#ffdc74;width:21px;height:21px;font-size:13px}.sun-scan-marker.marked>span{color:#704700;background:#ffd768;border-color:#fff0ad;width:29px;height:29px;font-size:18px}.sun-scan-marker small{color:#fff9e2;text-shadow:0 1px 2px #000;white-space:nowrap;background:#0c1a119e;border-radius:6px;padding:3px 6px;font-size:10px;position:absolute;top:35px;left:50%;transform:translate(-50%)}.sun-scan-guidance{z-index:7;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b19109e;border:1px solid #ffffff29;border-radius:12px;flex-direction:column;align-items:center;gap:5px;width:min(82%,330px);padding:13px 15px;display:flex;position:absolute;top:32%;left:50%;transform:translate(-50%)}.sun-scan-guidance span{color:#ffffffc7;font-size:12px}.sun-scan-guidance.look-up>svg{color:#ffe49a}.sun-scan-controls{z-index:9;padding:13px 16px max(15px, env(safe-area-inset-bottom));color:#183024;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8f8f0f5;border-radius:23px 23px 0 0;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 40px #0003}.sun-scan-error{color:#812f25;background:#ffe7e2;border-radius:8px;margin-bottom:9px;padding:8px 10px;font-size:11px;line-height:1.35}.sun-scan-result strong{font-size:20px;display:block}.sun-scan-result span{color:#647469;margin-top:2px;font-size:10px;display:block}.sun-scan-direction{background:#fff4cf;border:1px solid #e0c66f;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:9px 10px;display:flex}.sun-scan-direction.locked{background:#e8f0e7;border-color:#b9d0bc}.sun-scan-direction>div{align-items:center;gap:8px;min-width:0;display:flex}.sun-scan-direction>div>span:last-child{flex-direction:column;gap:1px;min-width:0;display:flex}.sun-scan-direction-icon{color:#6a4d09;background:#ffe49a;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.sun-scan-direction.locked .sun-scan-direction-icon{color:#fff;background:#3a6748}.sun-scan-direction strong{font-size:12px}.sun-scan-direction small{color:#617066;font-size:10px}.sun-scan-direction>button{color:#fff;cursor:pointer;background:#2f5b3e;border:0;border-radius:10px;min-width:76px;min-height:36px;font-size:11px;font-weight:600}.sun-scan-direction>button:disabled{cursor:default;opacity:.45}.sun-scan-use{color:#fff;cursor:pointer;background:#1768b6;border:0;border-radius:11px;width:100%;min-height:44px;margin-top:9px;font-size:14px;font-weight:600}.sun-scan-use:disabled{cursor:default;opacity:.45}.sun-scan-unsupported{background:var(--surface-1);padding:20px}.sun-scan-unsupported>section{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);text-align:center;width:min(100%,360px);padding:22px}.sun-scan-unsupported h2{margin:0 0 8px}.sun-scan-unsupported p{color:var(--text-secondary);margin:0 0 16px;font-size:13px}@media (height<=700px){.sun-hours-picker-sheet{min-height:0}.sun-hours-scan-start>p{margin:8px 0}.sun-hours-safety{margin-bottom:7px;padding-block:7px}.sun-scan-guidance{top:27%}}.capcard{background:var(--surface-1);border:var(--hairline) solid var(--border);border-radius:var(--r-card);margin-bottom:16px;padding:13px 15px}.caphead{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.caplabel{color:var(--text-muted);font-size:12px}.capnum{font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.captrack{border-radius:var(--r-pill);background:var(--surface-0);height:10px;overflow:hidden}.capfill{border-radius:var(--r-pill);height:100%;transition:width .18s,background-color .18s}.capstatus{align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.prow{border:var(--hairline) solid var(--border);border-radius:var(--r-card);grid-template-columns:1fr auto auto;align-items:center;gap:10px;margin-bottom:9px;padding:11px 13px;display:grid}.pn{font-size:14px;font-weight:500}.plant-start-age-button{color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:0;margin-top:1px;padding:0;font-size:10.5px;line-height:1.2;display:block}.plant-start-age-button.unset{color:var(--text-accent)}.plant-start-age-button:focus-visible{outline:2px solid var(--border-accent);outline-offset:2px}.plant-harvest-plan-button{color:var(--text-success);text-align:left;cursor:pointer;background:0 0;border:0;margin-top:3px;padding:0;font-size:10.5px;font-weight:500;line-height:1.25;display:block}.plant-harvest-plan-button:focus-visible{outline:2px solid var(--border-success);outline-offset:2px}.pd{color:var(--text-success);margin-top:2px;font-size:12px}.pd.glut{color:var(--text-warning)}.qstp{align-items:center;gap:6px;display:flex}.qval{text-align:center;min-width:58px;color:var(--text-muted);font-size:11px;line-height:1.25}.qval b{color:var(--text-primary);font-size:15px;font-weight:500;display:block}.rm{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px;display:flex}.plant-directory{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-1);margin-top:10px;overflow:hidden}.meal-plant-picker-layer{z-index:70;padding:18px 14px max(18px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#232a1f61;align-items:flex-end;display:flex;position:absolute;inset:0}.meal-plant-picker-sheet{width:100%;min-height:0;max-height:min(720px,100% - 24px);display:flex}.meal-plant-picker-sheet .plant-directory{min-height:0;max-height:inherit;background:var(--surface-2);flex-direction:column;margin:0;display:flex;box-shadow:0 18px 42px #0003}.meal-plant-picker-sheet .plant-directory-list{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex:1;min-height:0;max-height:none}.plant-directory-head{justify-content:space-between;align-items:center;gap:12px;padding:11px 11px 9px 13px;display:flex}.plant-directory-head.has-back{justify-content:initial;grid-template-columns:auto minmax(0,1fr);display:grid}.plant-directory-head>div{min-width:0}.plant-directory-head b{font-size:14px;font-weight:600;display:block}.plant-directory-head span{color:var(--text-muted);margin-top:2px;font-size:10.5px;display:block}.plant-picker-tabs{background:var(--bg-neutral);border-radius:9px;grid-template-columns:1fr 1fr;gap:3px;margin:0 11px 9px;padding:3px;display:grid}.plant-picker-tabs button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 5px;font-size:11px}.plant-picker-tabs button.active{background:var(--surface-2);color:var(--text-primary);box-shadow:0 1px 2px #0000001a}.plant-search{border:var(--hairline) solid var(--border-strong);background:var(--surface-2);color:var(--text-muted);border-radius:9px;align-items:center;gap:7px;margin:0 11px 9px;padding:8px 10px;display:flex}.plant-search input{width:100%;min-width:0;color:var(--text-primary);font:inherit;background:0 0;border:0;outline:0;font-size:16px}.plant-search input::placeholder{color:var(--text-muted)}.plant-directory-list{border-top:var(--hairline) solid var(--border);max-height:330px;overflow-y:auto}.plant-directory-category{z-index:1;background:var(--surface-1);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;padding:7px 12px 5px;font-size:9.5px;font-weight:600;position:sticky;top:0}.plant-directory-row{border:0;border-top:var(--hairline) solid var(--border);background:var(--surface-2);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 12px;display:grid}.plant-directory-row:hover{background:var(--bg-accent)}.plant-directory-row>span:nth-child(2){min-width:0}.plant-directory-row b{font-size:12.5px;font-weight:500;display:block}.plant-directory-row small{color:var(--text-muted);margin-top:1px;font-size:10px;display:block}.plant-directory-row>svg{color:var(--text-accent)}.plant-directory-icon{background:var(--bg-success);width:28px;height:28px;color:var(--text-success);border-radius:8px;place-items:center;display:grid}.plant-directory-empty{color:var(--text-muted);text-align:center;padding:20px 12px;font-size:12px}.plant-start-choice{border-top:var(--hairline) solid var(--border);padding:10px 11px 12px}.succession-choice>p{color:var(--text-secondary);margin:0 0 10px;font-size:11.5px;line-height:1.45}.succession-climate-note{color:var(--text-muted);margin-top:9px;font-size:10px;line-height:1.4;display:block}.plant-start-back{color:var(--text-accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:3px 0 10px;font-size:11px;display:inline-flex}.plant-start-options{gap:7px;display:grid}.plant-start-options>button{border:var(--hairline) solid var(--border-strong);background:var(--surface-2);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;display:grid}.plant-start-options>button.selected{border-color:var(--border-accent);background:var(--bg-accent)}.plant-start-options>button>span:nth-child(2) b,.plant-start-options>button>span:nth-child(2) small{display:block}.plant-start-options>button>span:nth-child(2) b{font-size:12.5px}.plant-start-options>button>span:nth-child(2) small{color:var(--text-muted);margin-top:2px;font-size:10px}.plant-start-options>button>svg{color:var(--text-accent)}.plant-climate-review{border-top:var(--hairline) solid var(--border);padding:10px 11px 12px}.plant-climate-review>.pbtn{margin-top:10px}.climate-risk-list{gap:9px;display:grid}.climate-risk-card{border:var(--hairline) solid color-mix(in srgb, var(--text-warning) 45%, var(--border));border-radius:var(--r-card);background:var(--bg-warning);padding:11px}.climate-risk-heading{color:var(--text-warning);align-items:center;gap:7px;display:flex}.climate-risk-card p{margin:8px 0;font-size:11.5px;line-height:1.45}.climate-risk-card dl{gap:4px;margin:8px 0;display:grid}.climate-risk-card dl div{grid-template-columns:105px 1fr;gap:8px;font-size:10.5px;display:grid}.climate-risk-card dt{color:var(--text-muted)}.climate-risk-card dd{color:var(--text-secondary);margin:0}.climate-risk-card>small{color:var(--text-muted);font-size:9.5px;line-height:1.4;display:block}.meal-space-feedback{border:var(--hairline) solid var(--border-success);border-radius:var(--r-card);background:var(--bg-success);color:var(--text-success);align-items:flex-start;gap:7px;margin:0 0 12px;padding:9px 11px;font-size:12px;line-height:1.4;display:flex}.meal-space-feedback svg{flex:none;margin-top:1px}.recipe-list{gap:11px;padding-bottom:4px;display:grid}.recipe-card{border:var(--hairline) solid var(--border);background:var(--surface-2);border-radius:14px;overflow:hidden;box-shadow:0 2px 9px #3a32230d}.recipe-card.selected{border-color:var(--border-success);box-shadow:0 2px 10px color-mix(in srgb, var(--green) 13%, transparent)}.recipe-card-open{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:105px minmax(0,1fr) 18px;align-items:stretch;gap:11px;width:100%;min-height:106px;padding:0;display:grid}.recipe-card-open:focus-visible{outline:2px solid var(--text-accent);outline-offset:-3px}.recipe-card-photo{object-fit:cover;background:var(--surface-0);width:105px;height:106px;display:block}.recipe-photo-placeholder{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:9.5px;display:flex}.recipe-card-copy{flex-direction:column;align-self:center;min-width:0;padding:10px 0;display:flex}.recipe-card-title{color:var(--text-primary);font-size:14px;font-weight:650;line-height:1.2}.recipe-card-veg{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;line-height:1.3;overflow:hidden}.recipe-card-meta{color:var(--text-secondary);align-items:center;gap:4px;margin-top:7px;font-size:10px;display:flex}.recipe-card-plants{color:var(--text-success);margin-top:3px;font-size:10px;font-weight:550}.recipe-card-arrow{color:var(--text-muted);align-self:center;margin-right:7px}.recipe-card-footer{border-top:var(--hairline) solid var(--border);background:var(--surface-1);justify-content:space-between;align-items:center;gap:8px;min-height:52px;padding:7px 9px 7px 12px;display:flex}.recipe-selection-state{color:var(--text-muted);font-size:10.5px}.recipe-card.selected .recipe-selection-state{color:var(--text-success);font-weight:600}.recipe-frequency{flex-shrink:0;align-items:center;gap:7px;display:flex}.recipe-frequency .sbtn{width:36px;height:36px;padding:0}.recipe-frequency-value{min-width:72px;min-height:36px;color:var(--text-success);text-align:center;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 5px;font-size:11px;font-weight:650}.recipe-frequency-value:focus-visible{outline:2px solid var(--text-accent);outline-offset:1px}.meal-frequency-layer{z-index:110;background:color-mix(in srgb, var(--text-primary) 32%, transparent);align-items:flex-end;display:flex;position:absolute;inset:0}.meal-frequency-sheet{width:100%;padding:18px 17px max(18px, env(safe-area-inset-bottom));background:var(--surface-2);border-radius:22px 22px 0 0;box-shadow:0 -12px 30px #00000029}.meal-frequency-sheet header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.meal-frequency-sheet header span{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:700}.meal-frequency-sheet h2{margin:3px 0 0;font-size:20px;line-height:1.2}.meal-frequency-sheet header .iconbtn{border:var(--hairline) solid var(--border);background:var(--surface-1);border-radius:50%;justify-content:center;width:40px;height:40px}.meal-frequency-periods{background:var(--surface-0);border-radius:12px;grid-template-columns:.8fr .9fr 1.4fr;gap:5px;margin-top:20px;padding:5px;display:grid}.meal-frequency-periods button{min-height:42px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:7px;font-size:11px;line-height:1.15}.meal-frequency-periods button.active{background:var(--surface-2);color:var(--text-primary);font-weight:650;box-shadow:0 1px 3px #0000001f}.meal-frequency-count{border:var(--hairline) solid var(--border);background:var(--surface-1);border-radius:14px;grid-template-columns:48px 1fr 48px;align-items:center;gap:12px;margin-top:16px;padding:14px;display:grid}.meal-frequency-count .sbtn{width:48px;height:48px;padding:0}.meal-frequency-count>div{flex-direction:column;align-items:center;display:flex}.meal-frequency-count b{color:var(--text-primary);font-size:28px;line-height:1}.meal-frequency-count span{color:var(--text-secondary);margin-top:5px;font-size:11px}.meal-frequency-sheet>p{color:var(--text-muted);margin:12px 2px 16px;font-size:10.5px;line-height:1.4}.meal-frequency-save{justify-content:center;width:100%}.recipe-detail-layer{z-index:80;background:color-mix(in srgb, var(--text-primary) 28%, transparent);display:flex;position:absolute;inset:0}.recipe-detail-sheet{background:var(--surface-2);flex-direction:column;width:100%;min-width:0;display:flex}.recipe-detail-header{border-bottom:var(--hairline) solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:13px 17px 11px;display:flex}.recipe-detail-header span{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:700}.recipe-detail-header h2{margin:2px 0 0;font-size:20px;line-height:1.15}.recipe-detail-header .iconbtn{border:var(--hairline) solid var(--border);background:var(--surface-1);border-radius:50%;justify-content:center;width:42px;height:42px}.recipe-detail-scroll{flex:1;min-height:0;padding:16px 17px 24px;overflow-y:auto}.recipe-detail-photo{aspect-ratio:4/3;object-fit:cover;background:var(--surface-0);border-radius:14px;width:100%;display:block}.recipe-detail-description{color:var(--text-secondary);margin:13px 0 11px;font-size:13px;line-height:1.45}.recipe-detail-meta{background:var(--surface-1);color:var(--text-secondary);border-radius:11px;grid-template-columns:1fr 1fr;gap:7px;padding:10px;font-size:10.5px;display:grid}.recipe-detail-meta span{align-items:baseline;gap:3px;display:flex}.recipe-detail-meta b{color:var(--text-primary);font-size:13px}.recipe-detail-section{margin-top:20px}.recipe-detail-section h3{margin:0 0 9px;font-size:14px}.recipe-detail-section ul,.recipe-detail-section ol{color:var(--text-secondary);margin:0;padding-left:20px;font-size:12px;line-height:1.45}.recipe-detail-section li+li{margin-top:7px}.recipe-steps ol{padding-left:24px}.recipe-steps li::marker{color:var(--text-success);font-weight:700}.recipe-detail-footer{padding:10px 13px max(12px, env(safe-area-inset-bottom));border-top:var(--hairline) solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;gap:10px;display:flex}.recipe-detail-footer>span{color:var(--text-secondary);font-size:11px;font-weight:600}.gardencard{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);margin-bottom:10px;padding:13px 15px}.gardenhead{align-items:center;gap:11px;margin-bottom:10px;display:flex}.garden-thumbnail-button{cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none;padding:0;display:block}.garden-thumbnail-button:focus-visible{outline:2px solid var(--text-accent);outline-offset:3px}.grow-space-thumbnail{border-radius:9px;width:104px;min-width:104px;max-height:72px;box-shadow:0 2px 7px #0000003d}.scene-plant.future{opacity:.34;filter:saturate(.55)}.space-alert{width:28px;height:28px;color:var(--text-warning);background:var(--bg-warning);border-radius:50%;flex:0 0 28px;place-items:center;display:grid}.chips{flex-wrap:wrap;gap:6px;display:flex}.roomleft{color:var(--text-muted);margin-top:9px;font-size:11px}.roomleft.over{color:var(--text-danger)}.garden-season-label{color:var(--text-success);letter-spacing:.06em;text-transform:uppercase;margin:10px 0 6px;font-size:10px;font-weight:600}.garden-season-label.future{color:var(--text-muted)}.chip.crop.future{background:var(--bg-neutral);border-color:var(--border);color:var(--text-secondary)}.garden-edit-plants{justify-content:center;align-items:center;gap:6px;margin-top:11px;display:flex}.garden-plan-actions{border-top:var(--hairline) solid var(--border);gap:9px;margin-top:10px;padding-top:10px;display:grid}.garden-occurrence-summary{flex-direction:column;gap:5px;display:flex}.garden-occurrence-summary>b{font-size:10.5px}.garden-occurrence-summary>span{flex-wrap:wrap;gap:4px;display:flex}.garden-occurrence-summary i{border-radius:var(--r-pill);background:var(--bg-success);color:var(--text-success);padding:3px 6px;font-size:8.5px;font-style:normal}.garden-plan-actions>div:last-child{grid-template-columns:1fr 1fr;gap:7px;display:grid}.garden-plan-actions .garden-edit-plants{width:100%;margin:0;padding-inline:7px;font-size:10.5px}.warnbox{background:var(--bg-warning);border:var(--hairline) solid var(--border-warning);border-radius:var(--r-card);color:var(--text-warning);align-items:flex-start;gap:8px;margin-bottom:12px;padding:11px 13px;font-size:12px;line-height:1.45;display:flex}.timeline{overflow:visible}.compact-notice{background:var(--bg-accent);color:var(--text-accent);border:var(--hairline) solid var(--border-accent);border-radius:var(--r-card);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:7px;margin-bottom:12px;padding:8px 7px 8px 10px;font-size:11.5px;line-height:1.35;display:grid}.compact-notice.plan-advice{padding-block:10px;font-size:12px;line-height:1.45}.compact-notice-icon{display:flex}.compact-notice-icon svg{flex-shrink:0;margin-top:1px}.compact-notice-copy{min-width:0}.compact-notice-close{color:currentColor;opacity:.72;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:28px;height:28px;margin:-4px -2px -4px 0;display:grid}.compact-notice-close:hover{background:color-mix(in srgb, currentColor 8%, transparent);opacity:1}.compact-notice-close:focus-visible{outline-offset:1px;outline:2px solid}.onboarding-season-warning{margin-bottom:12px}.next-season-note{color:var(--text-muted);margin:-2px 0 10px;font-size:12px;line-height:1.4}.tlgrid{grid-template-columns:112px repeat(var(--timeline-month-count), 47px);border:var(--hairline) solid var(--border);background:var(--surface-2);border-radius:10px;align-items:stretch;min-width:max-content;display:grid;overflow:hidden}.timeline-scroll{scrollbar-width:thin;scrollbar-color:var(--border) transparent;padding-bottom:5px;overflow-x:auto}.timeline-crop-heading,.tlmonth{border-bottom:var(--hairline) solid var(--border);background:var(--surface-1);min-height:43px}.timeline-crop-heading{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;padding:0 9px;font-size:9px;font-weight:700;display:flex}.tlmonth{border-left:var(--hairline) solid var(--border);color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.tlmonth.now{color:var(--text-accent);background:var(--bg-accent)}.tlmonth small{letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:7.5px;font-weight:700}.tlcrop{border-bottom:var(--hairline) solid var(--border);white-space:nowrap;text-overflow:ellipsis;flex-direction:column;justify-content:center;min-height:54px;padding:7px 9px;font-size:11.5px;font-weight:600;line-height:1.15;display:flex;overflow:hidden}.tlcrop-dates{color:var(--text-muted);flex-direction:column;gap:2px;margin-top:3px;font-size:8px;font-weight:500;display:flex}.tlcrop-action{color:var(--text-success);font-weight:600}.tlcrop-action.starter-now{color:var(--text-accent)}.tlcell{border-left:var(--hairline) solid var(--border);border-bottom:var(--hairline) solid var(--border);justify-content:center;align-items:center;min-height:54px;display:flex;position:relative}.tlcell.nowcol{background:color-mix(in srgb, var(--bg-accent) 66%, transparent)}.tlbar{background:var(--green);height:12px;position:absolute;top:21px;left:-1px;right:-1px;box-shadow:inset 0 1px #ffffff2e,inset 0 -1px #0000001f}.tlbar.start{border-radius:2px 0 0 2px;left:6px}.tlbar.end{border-radius:0 2px 2px 0;right:6px}.tlbar.start.end{border-radius:2px}.tldot{background:var(--amber);z-index:1;border-radius:50%;width:8px;height:8px}.tldot.indoors{background:var(--purple);border-radius:2px}.tldot.starter,.calendar-symbol.starter{background:var(--text-accent);border-radius:2px;transform:rotate(45deg)}.tldot.multi{color:#fff;border-radius:3px;justify-content:center;align-items:center;width:15px;height:15px;font-size:8px;font-weight:700;display:flex}.timeline-empty{color:var(--text-muted);padding:14px 10px;font-size:11px}.calendar-guide{border:var(--hairline) solid var(--border);background:var(--surface-2);border-radius:10px;margin-top:10px;padding:12px}.calendar-guide>b{font-size:11px}.calendar-guide-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;margin-top:10px;display:grid}.calendar-guide-items span{color:var(--text-muted);align-items:center;gap:7px;font-size:9.5px;line-height:1.25;display:flex}.calendar-guide>small{border-top:var(--hairline) solid var(--border);color:var(--text-muted);margin-top:10px;padding-top:9px;font-size:9px;line-height:1.4;display:block}.succession-calendar{gap:8px;margin:12px 0;display:grid}.succession-calendar-heading{flex-direction:column;gap:2px;display:flex}.succession-calendar-heading b{color:var(--text-primary);font-size:12px}.succession-calendar-heading span{color:var(--text-muted);font-size:10.5px}.succession-calendar details{border:var(--hairline) solid var(--border);background:var(--surface-2);border-radius:10px;overflow:hidden}.succession-calendar summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;list-style:none;display:flex}.succession-calendar summary::-webkit-details-marker{display:none}.succession-calendar summary span{font-size:12px;font-weight:600}.succession-calendar summary small{color:var(--text-success);font-size:10px}.succession-calendar ol{gap:0;margin:0;padding:0 12px 8px;list-style:none;display:grid}.succession-calendar li{border-top:var(--hairline) solid var(--border);grid-template-columns:23px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0;display:grid}.succession-number{background:var(--bg-success);width:22px;height:22px;color:var(--text-success);border-radius:50%;place-items:center;font-size:9.5px;font-weight:700;display:grid}.succession-calendar li>span:nth-child(2){flex-direction:column;gap:1px;display:flex}.succession-calendar li b{font-size:11px;font-weight:600}.succession-calendar li small{color:var(--text-muted);font-size:9.5px}.succession-calendar li.succession-pause{color:var(--text-warning);padding-block:6px}.succession-calendar li.succession-pause small{color:inherit}.succession-yard-link{border:var(--hairline) solid var(--border-accent);background:var(--bg-accent);min-height:30px;color:var(--text-accent);font:inherit;cursor:pointer;border-radius:7px;align-items:center;gap:4px;padding:5px 7px;font-size:9px;font-weight:600;display:inline-flex}.succession-calendar li.succession-pause>span:last-child{grid-column:2/-1}.calendar-symbol{flex:none;justify-content:center;align-items:center;width:9px;height:9px;display:inline-flex}.calendar-symbol.indoors{background:var(--purple);border-radius:2px}.calendar-symbol.sow{background:var(--amber);border-radius:50%}.calendar-symbol.harvest{background:var(--green);border-radius:2px;width:22px;height:9px}.calendar-symbol.current{border:var(--hairline) solid var(--border-accent);background:var(--bg-accent);border-radius:3px;width:14px;height:14px}.calendar-symbol.multi{background:var(--amber);color:#fff;border-radius:3px;width:15px;height:15px;font-size:8px;font-style:normal;font-weight:700}.timeline-next-season{border:var(--hairline) solid var(--border);background:var(--surface-1);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;padding:11px 12px;display:grid}.timeline-next-season div{flex-direction:column;gap:2px;display:flex}.timeline-next-season b{font-size:11px}.timeline-next-season span{color:var(--text-muted);font-size:9px;line-height:1.35}.timeline-next-season ul{color:var(--text-muted);flex-direction:column;gap:3px;margin:0;padding:0;font-size:9.5px;list-style:none;display:flex}.season-planner{gap:10px;display:grid}.season-planner-intro{justify-content:space-between;align-items:center;gap:12px;display:flex}.season-planner-intro>div{flex-direction:column;gap:2px;display:flex}.season-planner-intro b{font-size:14px}.season-planner-intro span{color:var(--text-muted);font-size:10.5px;line-height:1.35}.season-add-button{border:var(--hairline) solid var(--border-accent);background:var(--bg-accent);min-height:34px;color:var(--text-accent);font:inherit;cursor:pointer;border-radius:8px;flex:none;align-items:center;gap:4px;padding:7px 10px;font-size:11px;font-weight:600;display:inline-flex}.season-planner .yard-time-controls{margin-bottom:0}.yard-time-controls.is-compact{border-color:var(--border-accent);border-radius:0 0 9px 9px;grid-template-columns:54px minmax(0,1fr);grid-template-areas:"date range"".months";column-gap:8px;margin-inline:-1px;padding:5px 9px 4px;display:grid;box-shadow:0 4px 12px #0000001f}.yard-time-controls.is-compact .yard-time-heading{grid-area:date;align-self:center;min-width:0}.yard-time-controls.is-compact .yard-time-heading b{white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.yard-time-controls.is-compact .yard-time-status,.yard-time-controls.is-compact .text-action{display:none}.yard-time-controls.is-compact .yard-time-range{grid-area:range;height:21px;margin:0}.yard-time-controls.is-compact .yard-time-months{grid-area:months;height:9px;margin:-3px 3px 0;font-size:7px}.yard-time-controls.is-compact .yard-time-months .current{color:var(--text-accent);font-weight:700}.schedule-date-dock,.yard-date-dock,.grow-space-date-dock{z-index:30;border-top:var(--hairline) solid var(--border);background:var(--surface-2);flex-shrink:0;padding:5px 20px 4px;position:relative;box-shadow:0 -5px 14px #00000014}.schedule-date-dock .yard-time-controls,.yard-date-dock .yard-time-controls,.grow-space-date-dock .yard-time-controls{border-color:var(--border-accent);box-shadow:none;border-radius:9px;margin:0}.schedule-date-dock .yard-time-controls.is-compact,.yard-date-dock .yard-time-controls.is-compact,.grow-space-date-dock .yard-time-controls.is-compact{grid-template-columns:72px minmax(0,1fr);grid-template-areas:"date range""date months"}.yard-time-controls.is-compact.keeps-today .yard-time-heading{flex-direction:column;justify-content:center;align-self:stretch;align-items:flex-start;gap:1px}.yard-time-controls.is-compact.keeps-today .text-action{border:var(--hairline) solid var(--border-accent);border-radius:var(--r-pill);background:var(--bg-accent);align-items:center;min-height:20px;margin:0;padding:2px 8px;font-size:9.5px;font-weight:600;line-height:1.1;display:inline-flex}.season-group-switcher{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;display:grid}.season-group-switcher>span{color:var(--text-muted);font-size:10px}.season-group-switcher .seg{padding:3px}.season-group-switcher .sg{padding:6px 5px;font-size:10.5px}.season-event-guide{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;padding:0 4px;font-size:8.5px;display:flex}.season-event-guide span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.season-event-symbol,.season-event-marker{flex:none;width:8px;height:8px;display:block}.season-event-symbol.sow,.season-event-marker.sow{background:var(--amber);border-radius:50%}.season-event-symbol.transplant,.season-event-marker.transplant{background:var(--purple);border-radius:2px}.season-event-symbol.starter,.season-event-marker.starter{background:var(--text-accent);border-radius:2px;transform:rotate(45deg)}.season-event-symbol.harvest{border-radius:var(--r-pill);background:var(--green);width:18px;height:6px}.season-month-axis{color:var(--text-muted);justify-content:space-between;padding:0 4px;font-size:7.5px;display:flex}.season-groups{gap:10px;display:grid}.season-group{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);overflow:hidden}.season-group-heading{border-bottom:var(--hairline) solid var(--border);background:var(--surface-1);justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;display:flex}.season-group-heading>div{flex-direction:column;gap:1px;display:flex}.season-group-heading b{font-size:12px}.season-group-heading small{color:var(--text-muted);font-size:9px}.season-group-heading>button{border:var(--hairline) solid var(--border-accent);background:var(--bg-accent);width:28px;height:28px;color:var(--text-accent);cursor:pointer;border-radius:7px;place-items:center;display:grid}.season-occurrences{display:grid}.season-occurrence{border-bottom:var(--hairline) solid var(--border);min-width:0;padding:9px 10px 8px}.season-occurrence:last-child{border-bottom:0}.season-occurrence-copy{grid-template-columns:23px minmax(0,1fr) auto auto;align-items:center;gap:7px;display:grid}.season-occurrence-number{background:var(--bg-success);width:22px;height:22px;color:var(--text-success);border-radius:50%;place-items:center;font-size:9px;font-weight:700;display:grid}.season-occurrence-copy>span:nth-child(2){flex-direction:column;gap:2px;min-width:0;display:flex}.season-occurrence-copy>span:nth-child(2) b{white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:600;overflow:hidden}.season-occurrence-copy>span:nth-child(2) small{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:8.5px;overflow:hidden}.season-occurrence-state{border-radius:var(--r-pill);background:var(--surface-0);color:var(--text-muted);padding:3px 6px;font-size:8px;font-weight:600}.season-occurrence-state.active{background:var(--bg-success);color:var(--text-success)}.season-occurrence-state.reserved{background:var(--bg-accent);color:var(--text-accent)}.season-view-button{border:var(--hairline) solid var(--border-accent);background:var(--bg-accent);width:27px;height:27px;color:var(--text-accent);cursor:pointer;border-radius:7px;place-items:center;padding:0;display:grid}.season-occurrence-track{border-radius:var(--r-pill);background:var(--surface-0);height:8px;margin:7px 1px 0 30px;position:relative}.season-selected-date-marker{top:0;bottom:0;left:clamp(5px, var(--selected-date-left), calc(100% - 5px));z-index:2;background:color-mix(in srgb, var(--text-accent) 16%, transparent);pointer-events:none;border-radius:4px;width:10px;position:absolute;transform:translate(-50%)}.season-occurrence-track i{top:1px;bottom:1px;left:var(--occurrence-left);width:var(--occurrence-width);border-radius:var(--r-pill);background:var(--green);position:absolute}.season-event-marker{top:50%;left:clamp(4px, var(--event-left), calc(100% - 4px));z-index:3;box-shadow:0 0 0 2px var(--surface-2);position:absolute;transform:translate(-50%,-50%)}.season-event-marker.starter{transform:translate(-50%,-50%)rotate(45deg)}.season-occurrence.reserved .season-occurrence-track i{border:1px dashed var(--text-accent);background:var(--bg-accent)}.season-occurrence.spent{opacity:.62}.season-empty{border:var(--hairline) solid var(--border);border-radius:var(--r-card);color:var(--text-muted);text-align:center;padding:14px;font-size:11px}.plant-manage-card{align-items:center}.plant-manage-actions{gap:8px;margin-left:auto;display:flex}.plant-manage-actions .iconbtn{border:var(--hairline) solid var(--border);background:#fff;border-radius:10px;justify-content:center;width:34px;height:34px;padding:0}.danger-icon{color:var(--text-danger)}.weekstrip{touch-action:pan-y;-webkit-user-select:none;user-select:none;justify-content:space-between;margin-bottom:20px;display:flex}.week-navigation{justify-content:flex-end;align-items:center;gap:7px;min-height:28px;margin-bottom:7px;display:flex}.week-navigation>span{color:var(--text-muted);margin-right:auto;font-size:10.5px}.week-navigation button{border:var(--hairline) solid var(--border);background:var(--surface-2);min-width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:8px;place-items:center;padding:0 7px;display:grid}.week-navigation .today-button{color:var(--text-accent);font-size:10.5px;font-weight:500}.day{width:38px;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;padding:0;display:flex}.dn{color:var(--text-muted);text-transform:uppercase;font-size:10px}.dd{font-variant-numeric:tabular-nums;border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;display:flex}.dd.today{color:var(--text-accent);border:1.5px solid var(--border-accent);font-weight:500}.day.selected .dd{background:var(--bg-accent);color:var(--text-accent);border:1.5px solid var(--border-accent);font-weight:500}.tracker-day-heading{margin-top:0}.tracker-task-heading-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.tracker-task-heading-row .tracker-day-heading{margin:0}.tracker-see-more{flex:none}.dpip{background:var(--green);border-radius:50%;width:5px;height:5px}.dpip.none{background:0 0}.task{cursor:pointer;background:0 0;border:none;align-items:center;gap:11px;width:100%;padding:10px 0;display:flex}.task+.task{border-top:var(--hairline) solid var(--border)}.tbox{color:var(--text-accent);flex-shrink:0}.task.done .tbox{color:var(--text-success)}.ti2{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.tname{font-size:14px;display:block}.task.done .tname{color:var(--text-muted);text-decoration:line-through}.task.overdue .tbox,.task-overdue-label{color:var(--text-warning)}.task-overdue-label{font-weight:600}.save-failure-banner{background:var(--bg-warning);color:var(--text-warning);border-bottom:var(--hairline) solid var(--border-warning);gap:2px;padding:9px 14px;font-size:12px;display:grid}.save-failure-banner b{font-size:13px}.recovery-notice{background:var(--bg-warning);color:var(--text-warning);border-bottom:var(--hairline) solid var(--border-warning);grid-template-columns:1fr auto;gap:2px 10px;padding:9px 14px;font-size:12px;display:grid}.recovery-notice b{font-size:13px}.recovery-notice span{grid-column:1}.recovery-notice .text-action{grid-area:1/2/span 2;align-self:center}.recovery-topbar-status{align-items:center;gap:4px;display:inline-flex}.recovery-topbar-status:before{background:var(--text-warning);content:"";border-radius:50%;width:6px;height:6px}.recovery-topbar-status.is-saved:before{background:var(--text-success)}.recovery-topbar-status.is-syncing:before{background:var(--text-accent)}.tsub{color:var(--text-muted);margin-top:1px;font-size:12px;display:block}.pcard{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);margin-bottom:10px;padding:12px 14px}.pcard.ready{border-color:var(--border-success);background:var(--bg-success)}.pcard.issue{border-color:var(--border-warning);background:var(--bg-warning)}.pcardtop{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:0;display:flex}.pname{font-size:14px;font-weight:500}.pstat{text-align:right;font-size:12px}.pstat.ok{color:var(--text-muted)}.pstat.rdy{color:var(--text-success);font-weight:500}.pstat.iss{color:var(--text-warning);font-weight:500}.stgs{gap:3px;margin-top:9px;display:flex}.stg{border-radius:var(--r-pill);background:var(--surface-0);flex:1;height:5px}.stg.on{background:var(--green)}.pcard.ready .stg.on{background:var(--green-deep)}.pharvest{color:var(--text-success);margin-top:7px;font-size:11.5px}.acts{gap:7px;margin-top:11px;display:flex}.act{border:var(--hairline) solid var(--border-strong);background:var(--surface-2);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:4px;padding:7px 4px;font-size:12px;display:flex}.act.pri{border-color:var(--border-accent);background:var(--bg-accent);color:var(--text-accent)}.viewrecord{width:100%;color:var(--text-accent);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:2px;margin-top:8px;padding:6px 0 0;font-size:12.5px;display:flex}.harveststat{background:var(--bg-success);border-radius:var(--r-card);justify-content:space-between;align-items:center;margin-bottom:18px;padding:13px 15px;display:flex}.hslabel{color:var(--text-success);font-size:12px}.hsvalue{color:var(--text-success);margin-top:2px;font-size:21px;font-weight:500}.emptystate{color:var(--text-muted);padding:14px 0;font-size:13px;line-height:1.5}.tabbar{padding-bottom:max(8px, env(safe-area-inset-bottom));border-top:var(--hairline) solid var(--border);background:var(--surface-2);flex-shrink:0;display:flex}.desktop-nav-brand{display:none}.tabbtn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 0 14px;font-size:11px;display:flex}.tabbtn.active{color:var(--text-accent)}.task-undo-notice{z-index:30;background:var(--text-primary);min-height:62px;color:var(--surface-2);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px 11px 15px;display:flex;position:absolute;bottom:74px;left:12px;right:12px;box-shadow:0 10px 28px #1f1e1b3d}.task-undo-notice span{gap:2px;min-width:0;display:grid}.task-undo-notice b{font-size:14px}.task-undo-notice small{color:color-mix(in srgb, var(--surface-2) 76%, transparent);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.task-undo-notice button{border:1px solid color-mix(in srgb, var(--surface-2) 42%, transparent);min-width:64px;min-height:40px;color:var(--surface-2);cursor:pointer;background:0 0;border-radius:10px;flex-shrink:0;font-weight:650}.task-undo-notice button:focus-visible{outline:3px solid var(--border-accent);outline-offset:2px}.topbar-actions{align-items:center;gap:8px;display:flex}.topbar-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.home-avatar-button{border:1px solid var(--border-success);background:var(--bg-success);width:34px;height:34px;color:var(--text-success);cursor:pointer;border-radius:50%;font-size:14px;font-weight:600}.home-hero{padding:4px 0 18px}.home-kicker{color:var(--text-success);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.home-hero-row{justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.home-hero h1{min-width:0;margin:0;font-size:25px;font-weight:600;line-height:1.15}.home-week,.home-harvest,.home-coming-up{margin-bottom:22px}.home-harvest-card{border:var(--hairline) solid var(--border-success);border-radius:var(--r-card);background:var(--bg-success);grid-template-columns:auto 1fr;gap:8px 10px;margin-top:8px;padding:11px 13px;display:grid}.home-harvest-icon{background:var(--surface-1);width:38px;height:38px;color:var(--text-success);border-radius:10px;place-items:center;display:grid}.home-harvest-total{flex-direction:column;justify-content:center;gap:1px;min-width:0;display:flex}.home-harvest-total b{color:var(--text-success);font-size:18px}.home-harvest-total small{color:var(--text-secondary);font-size:11px}.home-meal-usage{border-top:var(--hairline) solid var(--border-success);grid-column:1/-1;padding-top:8px}.home-meal-usage b{color:var(--text-primary);font-size:14px;line-height:1.3;display:block}.settings-location-summary{background:var(--surface-0);border-radius:10px;gap:3px;margin-top:10px;padding:11px 12px;display:grid}.settings-location-summary>span,.settings-location-summary>small,.settings-location-empty{color:var(--text-muted);font-size:11px}.settings-location-summary .text-action{justify-self:start;min-height:38px;margin-top:3px}.settings-location-empty{margin:10px 0 0}.home-week .weekstrip{margin-top:2px}.section-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:7px;display:flex}.section-heading>div{flex-direction:column;gap:3px;display:flex}.section-heading .eyebrow,.home-coming-up .eyebrow{margin:0}.text-action{color:var(--text-accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-size:12px;display:inline-flex}.home-task{border:none;border-bottom:var(--hairline) solid var(--border);width:100%;color:var(--text-accent);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:11px 0;display:flex}.home-task>span:nth-child(2){min-width:0;color:var(--text-primary);text-align:left;flex-direction:column;flex:1;align-items:flex-start;gap:2px;display:flex}.home-task b{font-size:13.5px;font-weight:500}.home-task small{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:11.5px;overflow:hidden}.home-task-date{color:var(--text-muted);font-size:11px}.home-empty{border:var(--hairline) solid var(--border-success);border-radius:var(--r-card);background:var(--bg-success);color:var(--text-success);align-items:center;gap:8px;padding:14px;font-size:13px;display:flex}.coming-card{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);align-items:center;gap:11px;margin-top:8px;padding:13px;display:flex}button.coming-card{width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.coming-icon,.settings-row-icon{background:var(--bg-success);width:34px;height:34px;color:var(--text-success);border-radius:9px;flex:none;place-items:center;display:grid}.plant-home-thumbnail{position:relative;overflow:hidden}.plant-home-thumbnail img{object-fit:contain;width:100%;height:100%;padding:2px;display:block}.plant-home-thumbnail img:not([hidden])+svg{display:none}.coming-card-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.coming-card-chevron{color:var(--text-accent);flex:none}.coming-card b{font-size:13.5px}.coming-card small{color:var(--text-muted);font-size:11.5px;line-height:1.35}.home-meals{margin:28px 0 8px}.home-meals-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.home-meals-heading .eyebrow{margin:0}.home-meal-list{gap:10px;display:grid}.home-meals-empty{border:var(--hairline) solid var(--border-success);border-radius:var(--r-card);background:var(--bg-success);color:var(--text-success);margin:0;padding:14px;font-size:11.5px;line-height:1.4}.home-meal-card{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);grid-template-columns:48px minmax(0,1fr) auto;align-items:start;gap:10px;min-width:0;padding:14px 12px;display:grid}.home-meal-image{background:var(--bg-success);width:48px;height:48px;color:var(--text-success);border-radius:12px;place-items:center;display:grid;overflow:hidden}.home-meal-image img{object-fit:cover;width:100%;height:100%;display:block}.home-meal-copy{align-self:center;gap:5px;min-width:0;display:grid}.home-meal-copy>b{overflow-wrap:anywhere;font-size:14px;line-height:1.25}.home-meal-copy>small{color:var(--text-muted);font-size:10.5px;line-height:1.4}.meal-ingredient-progress{grid-column:2/-1;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:7px;margin-top:3px;display:grid}.meal-ingredient-segment{gap:3px;min-width:0;display:grid}.meal-ingredient-segment i{background:var(--border);border-radius:999px;width:100%;height:5px}.meal-ingredient-segment.is-harvestable i{background:var(--green)}.meal-ingredient-segment>span{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;font-weight:600;overflow:hidden}.meal-ingredient-segment small{color:var(--text-muted);font-size:8.5px}.meal-ingredient-segment.is-harvestable small{color:var(--text-success)}.home-meal-action{border:var(--hairline) solid var(--border-accent);background:var(--surface-2);min-height:40px;color:var(--text-accent);cursor:pointer;border-radius:10px;grid-area:1/3;align-self:center;padding:8px 11px;font-size:11.5px;font-weight:650}.meal-page{min-width:0;padding-bottom:12px}.meal-page-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;min-width:0;margin-bottom:14px;display:grid}.meal-page-header>div{min-width:0}.meal-page-header .eyebrow{margin:0 0 3px}.meal-page-header h1{overflow-wrap:anywhere;margin:0;font-size:21px;line-height:1.15}.meal-history-link{align-self:center}.meal-recipe-meta{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.meal-recipe-meta span{background:var(--bg-success);color:var(--text-success);border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:11px;font-weight:600;display:inline-flex}.meal-recipe-section{margin-bottom:22px}.meal-recipe-section h2{margin:0 0 10px;font-size:16px}.meal-recipe-section-heading{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.meal-recipe-section-heading span{color:var(--text-muted);font-size:9.5px}.meal-recipe-ingredients{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);overflow:hidden}.meal-recipe-ingredient{border-bottom:var(--hairline) solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:10px;display:grid}.meal-recipe-ingredient:last-child{border-bottom:0}.meal-ingredient-check{text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:8px;min-width:0;padding:0;display:flex}.meal-ingredient-check>span{border:var(--hairline) solid var(--border);color:#0000;border-radius:7px;flex:none;place-items:center;width:22px;height:22px;display:grid}.meal-ingredient-check[aria-checked=true]>span{border-color:var(--border-success);background:var(--bg-success);color:var(--text-success)}.meal-ingredient-check b{overflow-wrap:anywhere;min-width:0;font-size:11.5px;line-height:1.35}.meal-source-toggle{border:var(--hairline) solid var(--border);background:var(--surface-1);min-width:0;min-height:34px;color:var(--text-secondary);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:6px 8px;font-size:9.5px;font-weight:650;display:inline-flex}.meal-source-toggle.is-garden{border-color:var(--border-success);background:var(--bg-success);color:var(--text-success)}.meal-directions{gap:12px;margin:0;padding:0;list-style:none;display:grid}.meal-directions li{grid-template-columns:24px minmax(0,1fr);gap:9px;display:grid}.meal-directions li>span{background:var(--bg-success);width:24px;height:24px;color:var(--text-success);border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid}.meal-directions p{color:var(--text-secondary);margin:2px 0 0;font-size:12px;line-height:1.5}.meal-record-button{width:100%}.meal-history-summary{border:var(--hairline) solid var(--border-success);border-radius:var(--r-card);background:var(--bg-success);gap:5px;margin-bottom:16px;padding:13px;display:grid}.meal-history-summary>b{margin-bottom:2px;font-size:13.5px}.meal-history-summary>span{color:var(--text-success);align-items:center;gap:5px;font-size:10.5px;display:flex}.meal-history-list{gap:10px;display:grid}.meal-history-card{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);min-width:0;padding:12px}.meal-history-card.is-new{border-color:var(--border-success);background:var(--bg-success)}.meal-history-card.is-older{opacity:.82}.meal-history-new{color:var(--text-success);letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px;font-size:9px;font-weight:700;display:inline-block}.meal-history-card>header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.meal-history-card>header>div{min-width:0}.meal-history-card>header>div:nth-child(2){gap:2px;display:grid}.meal-history-card>header b{overflow-wrap:anywhere;font-size:12px}.meal-history-card>header small{color:var(--text-muted);font-size:9.5px}.meal-history-counts{text-align:right;gap:2px;display:grid}.meal-history-counts b{color:var(--text-success);font-size:10px!important}.meal-history-ingredients{border-top:var(--hairline) solid var(--border);gap:7px;margin-top:11px;padding-top:10px;display:grid}.meal-history-ingredients>div{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.meal-history-ingredients>div>span{overflow-wrap:anywhere;min-width:0;color:var(--text-secondary);font-size:10px}.meal-source-pill{background:var(--surface-1);color:var(--text-secondary);border-radius:999px;flex:none;padding:3px 6px;font-size:8.5px}.meal-source-pill.is-garden,.meal-source-pill.is-mixed{background:var(--bg-success);color:var(--text-success)}.meal-history-empty{border:var(--hairline) solid var(--border);border-radius:var(--r-card);color:var(--text-muted);text-align:center;place-items:center;gap:5px;padding:30px 14px;display:grid}.meal-history-empty b{color:var(--text-primary);font-size:13px}.meal-history-empty span{font-size:11px}.schedule-view-body{margin-top:16px}.settings-body{padding-top:16px}.profile-identity{align-items:center;gap:12px;margin-bottom:22px;display:flex}.profile-identity>span{background:var(--bg-success);width:48px;height:48px;color:var(--text-success);border-radius:50%;place-items:center;font-size:19px;font-weight:600;display:grid}.profile-identity>div{flex-direction:column;gap:3px;display:flex}.profile-identity small{color:var(--text-muted)}.settings-field{margin:12px 0;display:block}.settings-field>span{color:var(--text-secondary);align-items:center;gap:7px;margin-bottom:6px;font-size:12px;display:flex}.field-error{color:var(--text-danger);margin-top:5px;display:block}.settings-section-title{margin-top:22px}.settings-toggle,.settings-static-row{border-bottom:var(--hairline) solid var(--border);align-items:center;gap:10px;padding:11px 0;display:flex}.settings-toggle>span:nth-child(2),.settings-static-row>span:nth-child(2){flex-direction:column;flex:1;gap:2px;display:flex}.settings-toggle b,.settings-static-row b{font-size:13.5px}.settings-toggle small,.settings-static-row small{color:var(--text-muted);font-size:11.5px}.settings-save{margin-top:24px}.settings-sign-out{justify-content:center;align-items:center;gap:6px;width:100%;margin-top:12px;display:flex}.recovery-card{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:9px;padding:13px;display:grid}.recovery-card.is-saved{border-color:var(--border-success);background:var(--bg-success)}.recovery-card-icon{background:var(--surface-1);width:32px;height:32px;color:var(--text-success);border-radius:50%;place-items:center;display:grid}.recovery-card-copy,.recovery-card>span:last-child{flex-direction:column;gap:3px;display:flex}.recovery-card b{font-size:13.5px}.recovery-card small{color:var(--text-muted);font-size:11.5px;line-height:1.35}.recovery-sign-out{grid-column:2/span 2;justify-self:start;align-items:center;gap:4px;margin-top:2px;display:inline-flex}.recovery-callback{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:10px;padding:30px;display:flex}.recovery-callback-icon{width:52px;height:52px;color:var(--text-accent);background:var(--bg-accent);border-radius:16px;place-items:center;display:grid}.recovery-callback h1{margin:4px 0 0;font-size:24px;line-height:1.15}.recovery-callback p{color:var(--text-muted);margin:0;font-size:14px;line-height:1.5}.recovery-callback b{font-size:14px}.recovery-callback ol{color:var(--text-muted);margin:0;padding-left:20px;font-size:14px;line-height:1.55}.settings-climate-heading{align-items:center;gap:10px;margin:9px 0;display:flex}.settings-climate-heading>span:last-child{flex-direction:column;gap:2px;display:flex}.settings-climate-heading b{font-size:13.5px}.settings-climate-heading small{color:var(--text-muted);font-size:11.5px}.climate-editor{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);padding:12px}.climate-editor-compact{margin-top:12px}.climate-editor-compact summary{color:var(--text-accent);cursor:pointer;font-size:12px;font-weight:600}.climate-editor-compact[open] summary{margin-bottom:8px}.climate-editor-fields{min-width:0}.climate-estimate-note{color:var(--text-muted);margin:0 0 8px;font-size:10.5px;line-height:1.45}.climate-source-note{color:var(--text-muted);margin:-2px 0 10px;font-size:9.5px;line-height:1.4}.climate-toggle{align-items:flex-start}.climate-toggle>span:first-child{flex-direction:column;flex:1;gap:2px;display:flex}.climate-toggle input{flex:none;margin-top:2px}.climate-date-grid{grid-template-columns:minmax(0,1fr);gap:0;display:grid}.climate-date-grid .settings-field{min-width:0}.climate-date-grid input{width:100%;min-width:0}.climate-date-grid .settings-field>small{color:var(--text-muted);margin-top:4px;font-size:10px;display:block}.climate-restore{margin-top:8px}.climate-change-preview{border:var(--hairline) solid var(--border-accent);border-radius:var(--r-card);background:var(--bg-accent);margin-top:12px;padding:11px}.climate-change-preview>b{color:var(--text-accent);font-size:12.5px}.climate-change-preview ul{color:var(--text-secondary);margin:7px 0 0;padding-left:18px;font-size:11px;line-height:1.5}.plant-page-add{justify-content:center;align-items:center;gap:7px;margin:10px 0 14px;display:flex}.plant-list-controls{gap:10px;margin-bottom:16px;display:grid}.plant-list-filter{background:var(--surface-0);border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.plant-list-filter button{min-width:0;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 8px;font-size:12px;font-weight:600}.plant-list-filter button[aria-pressed=true]{background:var(--surface-2);color:var(--text-accent);box-shadow:0 1px 3px #0000001a}.plant-list-sort{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.plant-list-sort select{border:var(--hairline) solid var(--border);background:var(--surface-2);min-width:130px;color:var(--text-primary);font:inherit;border-radius:9px;padding:8px 30px 8px 10px}.plant-list-space-groups{gap:10px}.plant-space-group{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);overflow:hidden}.plant-space-group-heading{border-bottom:var(--hairline) solid var(--border);background:var(--surface-1);justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;display:flex}.plant-space-group-heading>div{flex-direction:column;gap:1px;display:flex}.plant-space-group-heading b{font-size:12px}.plant-space-group-heading small{color:var(--text-muted);font-size:9px}.plant-space-group-plants{display:grid}.plant-space-group .plant-task-entry{border-bottom:var(--hairline) solid var(--border);margin:0}.plant-space-group .plant-task-entry:last-child{border-bottom:0}.plant-space-group .plant-list-card{border:0;border-radius:0;margin:0}.plant-space-group .plant-task-entry.has-task>.plant-list-card{border-radius:0}.plant-space-group .plant-list-task{width:calc(100% - 20px);margin:0 10px 10px}.plant-space-tasks{margin-bottom:16px}.plant-space-task-group{gap:7px;margin-top:8px;display:grid}.plant-space-task-group>b{color:var(--text-secondary);font-size:11px}.plant-task-entry{margin-bottom:9px}.plant-task-entry>.spacecard{margin-bottom:0}.plant-task-entry.has-task>.spacecard{border-radius:var(--r-card) var(--r-card) 8px 8px}.plant-list-task{border:var(--hairline) solid var(--border-accent);background:var(--bg-accent);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:5px;padding:9px 10px;display:grid}.plant-list-task>span:nth-child(2){gap:2px;min-width:0;display:grid}.plant-list-task b{overflow-wrap:anywhere;font-size:11.5px}.plant-list-task small{color:var(--text-muted);font-size:10px}.plant-task-check{border:var(--hairline) solid var(--border-accent);width:24px;height:24px;color:var(--text-accent);border-radius:50%;place-items:center;display:grid}.plant-task-done{color:var(--text-accent);font-size:10.5px;font-weight:700}.plant-more-tasks{color:var(--text-muted);margin:5px 4px 0;font-size:9.5px;display:block}.plant-task-entry.newly-added>.spacecard{border-color:var(--border-success);box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 12%, transparent)}.plant-list-thumbnail{overflow:hidden}.plant-list-thumbnail-image{object-fit:contain;width:100%;height:100%;padding:3px;display:block}.plant-list-thumbnail-image:not([hidden])+svg{display:none}.plant-season-summary{color:var(--text-success);margin-top:4px;font-size:10px;display:block}.planting-date-context{border:var(--hairline) solid var(--border-accent);border-radius:var(--r-card);background:var(--bg-accent);color:var(--text-accent);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;margin-bottom:12px;padding:10px 11px;display:grid}.planting-date-context>span{flex-direction:column;gap:2px;display:flex}.planting-date-context b{font-size:11px}.planting-date-context small{font-size:9px;line-height:1.35}.plant-placement-step{padding-top:2px}.placement-back{margin-bottom:18px}.placement-heading{align-items:center;gap:10px;margin-bottom:16px;display:flex}.placement-heading .eyebrow{margin:0 0 3px}.placement-heading h2{margin:0;font-size:19px}.placement-space-list{flex-direction:column;gap:10px;display:flex}.placement-space-list>button{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);text-align:left;cursor:pointer;align-items:center;gap:10px;width:100%;padding:13px;display:flex}.placement-space-list>button>span:nth-child(2){flex-direction:column;flex:1;gap:3px;display:flex}.placement-space-list small{color:var(--text-muted);font-size:11.5px}.plant-placement-confirm{padding:12px 16px max(14px, env(safe-area-inset-bottom));border-top:var(--hairline) solid var(--border);background:var(--surface-2);flex-shrink:0;gap:10px;display:grid;box-shadow:0 -10px 24px #15181114}.plant-placement-confirm>div:first-child{flex-direction:column;gap:2px;display:flex}.plant-placement-confirm b{font-size:13px}.plant-placement-confirm small{color:var(--text-muted);font-size:11px}.plant-placement-confirm-actions{grid-template-columns:.8fr 1.2fr;gap:8px;display:grid}.plant-placement-confirm-actions .pbtn,.plant-placement-confirm-actions .ghostbtn{padding:10px}.plant-placement-confirm-actions .pbtn{justify-content:center;align-items:center;gap:6px;display:flex}.spacecard.newly-added{animation:2.2s ease-out newly-added-plant}@keyframes newly-added-plant{0%,45%{border-color:var(--border-success);background:var(--bg-success);box-shadow:0 0 0 2px color-mix(in srgb, var(--border-success) 55%, transparent)}to{border-color:var(--border);background:var(--surface-2);box-shadow:none}}.plant-placement-guidance{border:var(--hairline) solid var(--border-accent);border-radius:var(--r-card);background:var(--bg-accent);color:var(--text-accent);align-items:flex-start;gap:9px;margin-top:12px;padding:11px;display:flex}.plant-placement-guidance>span{flex-shrink:0}.plant-placement-guidance>div{flex-direction:column;gap:2px;display:flex}.plant-placement-guidance b{font-size:12px}.plant-placement-guidance small{font-size:10.5px;line-height:1.35}.hero{align-items:center;gap:12px;margin-bottom:14px;display:flex}.heroavatar{background:var(--bg-success);width:52px;height:52px;color:var(--text-success);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.heroavatar img{z-index:1;width:100%;height:100%;position:absolute;inset:0}.heroavatar img.profile-photo{object-fit:cover}.heroavatar img.mature-plant-thumbnail{object-fit:contain;padding:4px}.heroname{font-size:16px;font-weight:500}.plant-name-row{align-items:flex-start;gap:5px;display:flex}.plant-species{color:var(--text-muted);margin-top:1px;font-size:11.5px}.plant-name-edit{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;margin-top:-4px;display:grid}.plant-name-edit:focus-visible,.plant-name-edit:active{background:var(--surface-1);color:var(--text-accent)}.plant-name-form{border:var(--hairline) solid var(--border-strong);border-radius:var(--r-card);background:var(--surface-1);margin:-5px 0 14px 64px;padding:11px}.plant-name-form label{margin-bottom:6px;font-size:12px;font-weight:600;display:block}.plant-name-form input{border:var(--hairline) solid var(--border-strong);background:var(--surface-2);width:100%;color:var(--text-primary);font:inherit;border-radius:8px;padding:9px 10px}.plant-name-form>div{justify-content:flex-end;gap:8px;margin-top:9px;display:flex}.herometa{color:var(--text-muted);align-items:center;gap:4px;margin-top:2px;font-size:12.5px;display:flex}.plant-location-link{min-height:28px;color:var(--text-accent);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:3px;margin:-5px 0 -5px -5px;padding:5px;display:inline-flex}.plant-location-link:focus-visible,.plant-location-link:active{background:var(--bg-accent)}.stagebadge{color:var(--text-success);background:var(--bg-success);border-radius:var(--r-pill);white-space:nowrap;padding:4px 10px;font-size:11px}.journal-photo-error{color:var(--text-danger);margin:-8px 0 14px;font-size:12px}.le{gap:11px;padding:10px 0;display:flex}.journal-entry-block+.journal-entry-block{border-top:var(--hairline) solid var(--border)}.journal-entry-edit{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.journal-entry-edit:active,.journal-entry-edit:focus-visible{background:var(--surface-1);color:var(--text-accent)}.lic{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.ld{color:var(--text-muted);flex-shrink:0;min-width:46px;padding-top:6px;font-size:11px}.lt{font-size:14px}.lsub{color:var(--text-muted);margin-top:1px;font-size:12px}.plant-care-plan,.plant-unplanned{margin-top:20px}.plant-care-plan{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-1);overflow:hidden}.plant-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.plant-care-plan>.plant-section-heading{padding:13px 14px 11px}.plant-section-heading .eyebrow{color:var(--text-primary);margin:0 0 2px;font-weight:600}.plant-section-heading p{color:var(--text-muted);margin:0;font-size:11.5px}.plant-section-heading>span{border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-muted);flex-shrink:0;padding:4px 8px;font-size:10.5px}.plant-care-task-list{border-top:var(--hairline) solid var(--border);background:var(--surface-2);margin:0;padding:0;list-style:none}.plant-care-task-list li{align-items:flex-start;gap:10px;padding:11px 13px;display:flex}.plant-care-task-list li+li{border-top:var(--hairline) solid var(--border)}.plant-care-task-list li>div{gap:2px;min-width:0;display:grid}.plant-care-task-list strong{font-size:13px;font-weight:500;line-height:1.3}.plant-care-task-list li>div>span{color:var(--text-muted);font-size:10.5px;line-height:1.35}.plant-care-task-check{cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;margin:-2px 0;padding:0;display:grid}.plant-care-task-check>span{border:2px solid var(--text-accent);border-radius:50%;width:19px;height:19px}.plant-care-task-check:focus-visible{outline:2px solid var(--border-accent);outline-offset:1px}.plant-care-task-check:active>span{background:var(--bg-accent)}.plant-care-show-all{border:0;border-top:var(--hairline) solid var(--border);background:var(--surface-2);width:100%;color:var(--text-accent);font:inherit;text-align:left;cursor:pointer;padding:10px 13px;font-size:11.5px}.plant-care-empty{border-top:var(--hairline) solid var(--border);background:var(--surface-2);color:var(--text-muted);padding:12px 14px;font-size:12px}.plant-unplanned .plant-section-heading{margin-bottom:9px}.plant-log-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.plant-log-actions .qa{justify-content:center;min-height:58px;padding:8px 4px;font-size:11.5px}.plant-timeline-heading{margin-top:22px;margin-bottom:4px}.journal-composer{border:var(--hairline) solid var(--border-strong);border-radius:var(--r-card);background:var(--surface-1);margin-top:16px;padding:13px;scroll-margin-bottom:14px}.journal-composer>label{margin-bottom:8px;font-size:14px;font-weight:600;display:block}.journal-composer textarea,.journal-composer input{border:var(--hairline) solid var(--border-strong);background:var(--surface-2);width:100%;color:var(--text-primary);font:inherit;border-radius:8px}.journal-composer input{padding:9px 10px}.journal-composer textarea{resize:vertical;min-height:92px;padding:10px}.journal-composer>div:last-child{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.journal-entry-editor{margin:0 0 12px 57px}.journal-entry-editor>label:not(:first-child){margin-top:10px}.journal-entry-editor .replace-photo-button{cursor:pointer;align-items:center;gap:5px;width:fit-content;margin-top:10px;font-weight:400;display:inline-flex}.journal-entry-editor .journal-editor-actions{grid-template-columns:auto 1fr auto auto;align-items:center;display:grid}.journal-entry-editor .journal-delete-confirm{flex-wrap:wrap;align-items:center;display:flex}.journal-delete-confirm>span{width:100%;color:var(--text-danger);font-size:12px}.harvest-amount-field{grid-template-columns:90px 1fr;align-items:center;gap:9px;display:grid}.harvest-amount-field input{text-align:center;padding:9px 10px;font-size:18px}.harvest-amount-field span{color:var(--text-secondary);font-size:14px}.journal-composer .finish-plant-button{justify-content:center;width:100%;margin-top:12px}.partial-harvest-copy{gap:4px;display:grid}.partial-harvest-copy>strong{font-size:14px}.partial-harvest-copy>span,.journal-harvest-kind{color:var(--text-secondary);font-size:12px;line-height:1.4}.journal-composer>.finish-plant-confirm:last-child{border:var(--hairline) solid var(--border-strong);border-radius:var(--r-btn);background:var(--bg-success);gap:7px;margin-top:12px;padding:11px;display:grid}.journal-composer>.finish-plant-confirm>strong{font-size:14px}.journal-composer>.finish-plant-confirm>span{color:var(--text-secondary);font-size:12px;line-height:1.4}.journal-composer>.finish-plant-confirm>button:not(.text-action){text-align:left;justify-items:start;min-height:48px;display:grid}.journal-composer>.finish-plant-confirm>button small{color:var(--text-secondary);font-weight:400;line-height:1.25}.journal-composer>.finish-plant-confirm>.text-action{justify-self:center;margin-top:2px}.qa{border:var(--hairline) solid var(--border-strong);background:var(--surface-2);border-radius:var(--r-btn);cursor:pointer;flex-direction:column;align-items:center;gap:3px;padding:9px 2px;font-size:11px;display:flex}.qa svg{color:var(--text-secondary)}.qa.active{border-color:var(--border-accent);background:var(--bg-accent);color:var(--text-accent)}.pcard.spent{background:var(--surface-1)}.pcard.spent .stg.on{background:var(--border-strong)}.pcard.spent .pname{color:var(--text-secondary)}.harveststat.empty{background:var(--surface-1);border:var(--hairline) solid var(--border)}.harveststat.empty .hslabel,.harveststat.empty .hsvalue{color:var(--text-muted)}.harveststat.empty .hsvalue{font-size:17px}.harveststat svg{color:var(--text-success);flex-shrink:0}.harveststat.empty svg{color:var(--text-muted)}.hint{color:var(--text-muted);margin-top:6px;font-size:11.5px;line-height:1.4}.spacetodo{color:var(--text-warning);margin-top:3px;font-size:11.5px;display:block}.textbtn{width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:6px 0;font-size:12.5px}.advicebox{background:var(--bg-accent);border:var(--hairline) solid var(--border-accent);border-radius:var(--r-card);color:var(--text-accent);align-items:flex-start;gap:8px;margin-bottom:12px;padding:11px 13px;font-size:12px;line-height:1.45;display:flex}.yard-intro{margin-bottom:10px}.yard-time-controls{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);margin:0 0 10px;padding:8px 10px 9px}.yard-season-panel{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);margin-bottom:10px;padding:9px 10px 0}.yard-season-panel.is-heading-only{background:0 0;border:0;padding:0}.yard-season-panel .yard-time-controls{background:0 0;border:0;margin:0 -1px;padding-inline:1px}.yard-season-panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.yard-season-panel-heading>div{flex-direction:column;gap:1px;display:flex}.yard-season-panel-heading b{font-size:12px}.yard-season-panel-heading small{color:var(--text-muted);font-size:9px}.yard-season-panel-heading>button{border:var(--hairline) solid var(--border-accent);background:var(--bg-accent);min-height:30px;color:var(--text-accent);font:inherit;cursor:pointer;border-radius:7px;align-items:center;gap:3px;padding:5px 8px;font-size:9.5px;font-weight:600;display:inline-flex}.yard-time-heading{align-items:center;gap:10px;display:flex}.yard-time-heading b{flex:none;font-size:11.5px;line-height:1.2}.yard-time-heading .text-action{margin-left:auto;padding:3px 0;font-size:9.5px}.yard-time-range{width:100%;height:20px;accent-color:var(--text-accent);cursor:ew-resize;margin:4px 0 0}.yard-time-months{height:10px;color:var(--text-muted);margin:-3px 3px 0;font-size:7.5px;position:relative}.yard-time-months span{position:absolute;transform:translate(-50%)}.yard-time-months span:first-child{transform:none}.yard-time-months span:last-child{transform:translate(-100%)}.yard-time-status{min-width:0;color:var(--text-muted);gap:8px;font-size:8.5px;display:flex}.yard-time-status span{align-items:center;gap:5px;display:flex}.yard-time-status i{border-radius:2px;width:7px;height:7px;display:inline-block}.timeline-active-key{background:var(--green)}.timeline-reserved-key{border:1px dashed var(--text-accent);background:var(--bg-accent)}.grow-space-scene-yard .scene-plant.timeline-reserved{background:#84c2ed24;border:1px dashed #bbe1ffe6;box-shadow:inset 0 0 0 1px #113f5e33}.grow-space-scene-yard .scene-plant.timeline-reserved .plant-visual-image,.grow-space-scene-yard .scene-plant.timeline-reserved .plant-visual-fallback{opacity:.18;filter:grayscale(.45)}.grow-space-scene-yard .scene-plant.timeline-active{box-shadow:inset 0 0 0 .5px #0000002e,0 0 0 .5px #d6f4a073}.grow-space-scene-yard .scene-plant.timeline-active .plant-visual-image,.grow-space-scene-yard .scene-plant.timeline-active .plant-visual-fallback{transform:scale(var(--plant-growth-scale,1));transform-origin:50%;transition:transform .16s ease-out}.grow-space-scene-yard .scene-plant.timeline-highlighted{z-index:4;outline-offset:1px;filter:drop-shadow(0 0 3px #5cb5f4e6);outline:2px solid #8bc8f4}.yard-date-work{border:var(--hairline) solid var(--border);border-radius:var(--r-card);background:var(--surface-2);margin-top:18px;padding:12px}.yard-date-work-heading{grid-template-columns:auto 1fr;align-items:center;gap:9px;display:grid}.yard-date-work-heading>span:first-child{background:var(--bg-success);width:28px;height:28px;color:var(--text-success);border-radius:8px;place-items:center;display:grid}.yard-date-work-heading>span:last-child{flex-direction:column;gap:2px;display:flex}.yard-date-work-heading b{font-size:11.5px}.yard-date-work-heading small{color:var(--text-muted);font-size:9.5px}.yard-date-work ul{margin:10px 0 0;padding:0;list-style:none}.yard-task-row,.yard-task-link{text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:8px 0;display:grid}.yard-task-link{color:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto auto}.yard-date-work li{border-top:var(--hairline) solid var(--border)}.yard-task-row>span:nth-child(2),.yard-task-link>span:nth-child(2){flex-direction:column;gap:2px;display:flex}.yard-task-link>svg{color:var(--text-accent)}.yard-date-work li b{font-size:10.5px;font-weight:600}.yard-date-work li small{color:var(--text-muted);font-size:9px;line-height:1.3}.yard-task-dot{background:var(--amber);border-radius:50%;width:8px;height:8px}.yard-task-dot.harvest{background:var(--green)}.yard-task-dot.water{background:var(--text-accent)}.yard-task-dot.feed{background:var(--purple)}.yard-task-done{font-weight:600;color:var(--text-success)!important}.yard-more-tasks{color:var(--text-muted);margin-top:6px;font-size:9px;display:block}.yard-direction,.bed-north{text-align:center;color:var(--text-muted);margin-bottom:4px;font-size:10px}.yard-canvas{touch-action:pan-y;-webkit-user-select:none;user-select:none;background-color:#5e743e;background-image:radial-gradient(circle at 14% 24%,#b8cf743d 0 1px,#0000 1.7px),radial-gradient(circle at 74% 68%,#203e183d 0 1.2px,#0000 1.9px),radial-gradient(at 40% 52%,#5d7c3573,#0000 52%),linear-gradient(132deg,#ffffff09,#00000012);background-size:11px 13px,15px 12px,100% 100%,100% 100%;border-radius:12px;width:100%;min-height:185px;margin-inline:auto;position:relative;overflow:hidden;box-shadow:inset 0 0 28px #16260f3d,inset 0 0 0 1px #00000029}.yard-canvas-edge-to-edge{border-radius:0;width:calc(100% + 40px);max-width:none;margin-inline:-20px}.yard-canvas.viewing.focused{cursor:grab;min-height:240px}.yard-canvas.viewing.focused:active{cursor:grabbing}.yard-canvas.editing{cursor:grab}.yard-canvas.editing:active{cursor:grabbing}.yard-map-zoom-controls{z-index:20;border:var(--hairline) solid #ffffff80;touch-action:none;background:#1c2317c7;border-radius:10px;grid-template-columns:repeat(2,32px);gap:5px;padding:5px;display:grid;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #0000003d}.yard-map-zoom-controls button{color:#26341e;cursor:pointer;background:#ffffffeb;border:1px solid #ffffff57;border-radius:7px;place-items:center;width:32px;height:32px;padding:0;display:grid}.yard-map-zoom-controls button:active{background:#fff}.yard-touch-hint{z-index:60;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));border-radius:var(--r-pill);color:#fff;text-align:center;pointer-events:none;background:#1c2317eb;max-width:calc(100vw - 32px);padding:9px 13px;font-size:12px;font-weight:600;position:fixed;transform:translate(-50%);box-shadow:0 3px 14px #00000047}.yard-view-toolbar{min-height:28px;color:var(--text-muted);justify-content:flex-end;align-items:center;gap:10px;margin:-2px 0 6px;font-size:10.5px;display:flex}.yard-view-toolbar>span{margin-right:auto}.yard-view-toolbar .text-action{padding:3px 0;font-size:11px}.yard-alerts{margin-top:20px;padding-bottom:8px;scroll-margin-top:12px}.yard-alerts>.eyebrow{margin-bottom:9px}.yard-alert-card{border:var(--hairline) solid var(--border-warning);border-radius:var(--r-card);background:var(--bg-warning);width:100%;color:var(--text-warning);text-align:left;cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:9px;padding:12px;display:grid}.yard-alert-card>span:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.yard-alert-card b{font-size:12.5px;font-weight:600}.yard-alert-card small{color:var(--text-secondary);font-size:11.5px;line-height:1.4}.yard-alert-icon{background:color-mix(in srgb, var(--amber) 18%, transparent);border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.yard-house,.yard-space{text-align:center;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border:1.5px solid #ffffff6b;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;box-shadow:0 1px 4px #00000042}.yard-house{z-index:1;color:#fff;cursor:pointer;touch-action:pan-y;background:#77736d;border-radius:5px;min-width:42px;min-height:28px;overflow:hidden}.yard-house.is-moving{cursor:grab;touch-action:none;outline:3px solid var(--text-accent);outline-offset:2px}.yard-house-roof{object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.yard-house>svg,.yard-house>span,.yard-house>small{z-index:2;text-shadow:0 1px 2px #000c;background:#181c14ad;border-radius:3px;padding:1px 3px;position:relative}.yard-space{z-index:2;color:#fff;background:0 0;border:1px solid #f5ffdfc7;border-radius:4px;min-width:0;min-height:0;overflow:visible;box-shadow:0 0 0 1px #3e522373,0 3px 8px #18260e61}.yard-space.containers{background:0 0}.yard-space.round-container,.yard-space.round-container .yard-space-scene{border-radius:50%}.yard-house.selected,.yard-space.selected{box-shadow:0 0 0 2px var(--text-accent), 0 2px 5px #0000004d;border:2px solid #fff}.yard-map-handle{z-index:8;border:1.5px solid var(--text-accent);background:var(--surface-2);width:22px;height:22px;color:var(--text-accent);touch-action:none;cursor:grab;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.yard-map-handle.rotate{transform:translate(-50%,-27px)}.yard-map-handle.rotate:after{content:"";border-left:1.5px solid var(--text-accent);height:8px;position:absolute;top:20px}.yard-house>span,.yard-space>.yard-space-label{text-overflow:ellipsis;white-space:nowrap;pointer-events:none;max-width:92%;font-size:9px;font-weight:600;line-height:1.05;overflow:hidden}.yard-space>.yard-space-label{width:92%;min-height:11px}.yard-house>small,.yard-space>.yard-space-dimensions{opacity:.82;pointer-events:none;font-size:8px}.yard-space>.yard-space-dimensions{text-overflow:ellipsis;white-space:nowrap;width:92%;overflow:hidden}.yard-canvas.editing .yard-space.selected>.yard-space-label{background:#181c14e6;width:124px;max-width:124px;min-height:17px;padding:3px 6px;line-height:11px;position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%)}.yard-canvas.editing .yard-space.selected>.yard-space-dimensions{background:#181c14d6;width:max-content;max-width:124px;min-height:15px;padding:2px 5px;line-height:10px;position:absolute;top:calc(100% + 25px);left:50%;transform:translate(-50%)}.yard-space-label,.yard-space-dimensions{z-index:10;text-shadow:0 1px 2px #000000bf;background:#181c14b8;border-radius:3px;padding:1px 3px;position:relative}.yard-canvas.viewing .yard-space-label{display:none}.yard-canvas.viewing .yard-space-dimensions{color:#fff;opacity:1;white-space:nowrap;background:#1f2d14e0;width:max-content;max-width:none;padding:2px 5px;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.yard-canvas.viewing .yard-space.plant-labels-visible .yard-space-dimensions{display:none}.yard-actions{margin-top:12px}.yard-edit-toolbar{grid-template-columns:1.25fr .75fr;gap:8px;width:100%;margin:0 0 12px;display:grid}.yard-edit-toolbar .compactbtn{justify-content:center;min-height:42px}.yard-add-space{align-items:center;gap:6px;font-weight:600;display:flex}.yard-size-toggle{justify-content:center;align-items:center;gap:5px;margin-top:0;display:flex}.yard-size-panel{width:100%;margin:0 0 12px}.yard-panel{background:var(--surface-1);border:var(--hairline) solid var(--border);border-radius:var(--r-card);margin-top:12px;padding:12px}.yard-object-toolbar{z-index:58;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));border:var(--hairline) solid var(--border-strong);background:color-mix(in srgb, var(--surface-2) 96%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;width:min(366px,100vw - 24px);padding:9px;position:fixed;transform:translate(-50%);box-shadow:0 5px 20px #00000038}.yard-object-toolbar.contained{width:100%;position:sticky;bottom:0;left:auto;transform:none}.yard-object-toolbar-name{text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-width:0;margin-bottom:7px;font-size:12px;font-weight:650;display:flex;overflow:hidden}.yard-object-toolbar-name>svg{flex:none}.yard-object-toolbar-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.yard-object-toolbar-actions.confirm-delete,.yard-object-toolbar-actions.confirm-duplicate{grid-template-columns:repeat(2,minmax(0,1fr))}.yard-object-toolbar .ghostbtn{min-width:0;min-height:38px;padding-inline:6px;font-size:11px}.yard-object-toolbar>.ghostbtn{width:auto;min-width:142px;margin-inline:auto}.yard-object-toolbar .ghostbtn.is-active{border-color:var(--border-accent);background:var(--bg-accent);color:var(--text-accent)}.yard-object-toolbar .danger-action{border-color:color-mix(in srgb, var(--text-danger) 45%, var(--border));color:var(--text-danger)}.yard-panel .textinput{margin-bottom:12px}.yard-panel-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:14px;font-weight:500;display:flex}.yard-panel-title>span{align-items:center;gap:6px;display:flex}.yard-panel-title>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.yard-panel-title>span:first-child>svg{flex:none}.yard-panel-title .yard-panel-name>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.yard-panel-title .yard-drag-hint{color:var(--text-muted);flex:none;font-size:10px;font-weight:400}.yard-panel-buttons{grid-template-columns:1fr;gap:8px;margin-top:10px;display:grid}.yard-sun-water{margin-top:12px;margin-bottom:0}.yard-sun-water .fieldlabel{align-items:center;gap:4px;display:flex}.compactbtn{justify-content:center;align-items:center;gap:5px;padding:9px 8px;display:flex}.danger-link{color:var(--text-danger);justify-content:center;align-items:center;gap:5px;margin-top:6px;display:flex}.yard-hint{color:var(--text-muted);text-align:center;margin-top:10px;font-size:11px}.designer-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.designer-size-button{cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.designer-body{padding-left:16px;padding-right:16px}.sun-note{color:var(--text-muted);align-items:center;gap:5px;margin-bottom:12px;font-size:11.5px;display:flex}.sun-note b{color:var(--text-success)}.designer-toolbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.designer-toolbar-options{justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.designer-toolbar .ghostbtn{width:auto;font-size:12px}.bed-size-panel{border:var(--hairline) solid var(--border-accent);background:var(--bg-accent);border-radius:10px;margin-top:9px;padding:10px;display:block}.bed-size-panel .text-action{margin:6px 0 0 auto;padding:8px 2px;display:block}.fullscreen-toggle{white-space:nowrap}.growth-preview{border:var(--hairline) solid var(--border);background:var(--surface-2);border-radius:10px;margin:10px 0;padding:10px 12px}.bed-sun-note .sun-note{margin:12px 0 0}.designer-season-label{color:var(--text-secondary);font-size:10.5px}.growth-preview-heading{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.growth-preview-heading b{color:var(--text-accent)}.growth-preview-status{align-items:center;gap:7px;display:flex}.growth-preview-status button{border:var(--hairline) solid var(--border-accent);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-accent);cursor:pointer;padding:3px 8px;font-size:10.5px}.growth-preview-status button.active{background:var(--bg-accent);font-weight:600}.growth-preview input[type=range]{width:100%;accent-color:var(--text-accent);margin:8px 0 4px}.growth-preview-scale{color:var(--text-muted);grid-template-columns:repeat(4,1fr);font-size:9px;display:grid}.growth-preview-scale span:nth-child(2),.growth-preview-scale span:nth-child(3){text-align:center}.growth-preview-scale span:last-child{text-align:right}.growth-preview>small{color:var(--text-muted);margin-top:7px;font-size:9px;display:block}.curated-note{background:var(--bg-accent);color:var(--text-accent);border:var(--hairline) solid var(--border-accent);border-radius:9px;align-items:center;gap:6px;margin:10px 0 12px;padding:8px 10px;font-size:11px;display:flex}.bed-ruler{color:var(--text-muted);font-size:9px;position:relative}.bed-ruler.horizontal{height:14px;margin-left:17px}.bed-ruler.horizontal span{position:absolute;transform:translate(-50%)}.bed-canvas-stage{width:100%}.bed-layout{display:flex}.bed-designer-shell.placement-mode .bed-canvas-stage,.bed-designer-shell.fit-overflow .bed-canvas-stage{overflow:hidden}.bed-designer-shell.fit-overflow .bed-layout{transform:scale(var(--plant-scene-scale,1));transform-origin:50%}.bed-ruler.vertical{flex-shrink:0;width:17px}.bed-ruler.vertical span{position:absolute;transform:translateY(-50%)}.grow-space-scene{isolation:isolate;transform-origin:50%;background:#34261b;position:relative;overflow:visible}.grow-space-soil{z-index:0;pointer-events:none;background-color:#36271c;background-image:radial-gradient(circle at 18% 26%,#ccaa6f38 0 1px,#0000 1.8px),radial-gradient(circle at 73% 62%,#0c090666 0 1.3px,#0000 2px),radial-gradient(at 35% 44%,#5a3d2480,#0000 58%),linear-gradient(118deg,#ffffff06,#0000001f);background-size:13px 11px,17px 15px,100% 100%,100% 100%;position:absolute;inset:0;box-shadow:inset 0 0 18px #00000059}.grow-space-scene-raised:before{content:"";z-index:9;pointer-events:none;border:4px solid #0000;border-image:linear-gradient(90deg,#704525,#9c6738 16%,#7b4c29 34%,#ad7642 52%,#81502c 69%,#a16a3a 84%,#6f4324) 1;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffe0aa33,0 0 0 1px #1d120ab8}.grow-space-scene-inground:before{content:"";z-index:9;pointer-events:none;border:1px solid #d1b8806b;position:absolute;inset:0;box-shadow:inset 0 0 5px #00000052}.grow-space-scene-containers.grow-space-shape-rectangular .grow-space-soil{background:radial-gradient(at 38% 32%,#ffefdc1f,#0000 36%),linear-gradient(145deg,#4b2d20,#392118 58%,#2d1b15);box-shadow:inset 0 0 0 4px #b76f47,inset 0 0 0 6px #7d422d,inset 0 0 10px #00000061}.grow-space-scene-containers.grow-space-shape-round{border-radius:50%}.grow-space-scene-containers.grow-space-shape-round .grow-space-soil{background:radial-gradient(circle at 38% 29%,#ffecd433 0 5%,#0000 27%),radial-gradient(circle,#3d251a 0 58%,#573223 59% 63%,#b96f46 64% 82%,#81452f 83% 100%);border-radius:50%;box-shadow:inset 0 0 9px #00000061}.scene-plant,.plant-token{transform-origin:50%;position:absolute}.scene-plant{z-index:3;pointer-events:none;display:block}.plant-visual-image,.plant-visual-fallback,.plant-visual-direct-sow{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.plant-visual-direct-sow{border-radius:inherit;background:repeating-linear-gradient(164deg,#0000 0 18%,#d8ae702e 19% 22%,#0000 23% 38%),radial-gradient(at 50% 52%,#1f120a80,#0000 64%);overflow:hidden;box-shadow:inset 0 0 6px #0c070461}.plant-visual-direct-sow:before,.plant-visual-direct-sow:after{content:"";border-top:1px solid #e2bb7d66;border-bottom:1px solid #180e0885;border-radius:50%;height:17%;position:absolute;left:8%;right:8%;transform:rotate(-5deg)}.plant-visual-direct-sow:before{top:27%}.plant-visual-direct-sow:after{top:58%}.plant-visual-direct-sow i{z-index:1;aspect-ratio:1;background:#91bd4f;border-radius:60% 12%;width:max(2px,5%);position:absolute;box-shadow:0 1px 1px #00000080}.plant-visual-direct-sow i:first-child{top:31%;left:22%;transform:rotate(-22deg)}.plant-visual-direct-sow i:nth-child(2){top:59%;left:51%;transform:rotate(38deg)}.plant-visual-direct-sow i:nth-child(3){top:29%;left:75%;transform:rotate(12deg)}.plant-visual-image{object-fit:contain;filter:drop-shadow(1px 2px 2px #00000061)}.grow-space-scene-editor .plant-visual-image,.grow-space-scene-editor .plant-visual-fallback{transform:scale(var(--plant-growth-scale,1));transform-origin:50%;transition:transform .16s ease-out}.plant-visual-fallback{border-radius:inherit;background:radial-gradient(circle at 35% 35%, color-mix(in srgb, var(--fallback-color) 76%, white) 0 18%, transparent 20%), radial-gradient(circle at 68% 36%, var(--fallback-color) 0 22%, transparent 24%), radial-gradient(circle at 50% 68%, color-mix(in srgb, var(--fallback-color) 78%, black) 0 25%, transparent 27%), color-mix(in srgb, var(--fallback-color) 45%, transparent);border:1px solid #ecf8d680;box-shadow:0 2px 4px #00000047}.scene-trellis,.trellis-token{transform-origin:50%;position:absolute}.scene-trellis{z-index:5;pointer-events:none;height:10px}.trellis-visual-rail{height:var(--trellis-visible-thickness);pointer-events:none;background:repeating-linear-gradient(90deg,#f2dcaecc 0 2px,#0000 2px 12px),linear-gradient(#9d7748,#5c4023);border-radius:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);box-shadow:0 2px 2px #0000006b,inset 0 1px #fff4d566}.trellis-visual-rail:before,.trellis-visual-rail:after{content:"";width:calc(var(--trellis-visible-thickness) * 1.7);height:calc(var(--trellis-visible-thickness) * 1.7);background:#c09964;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 1px #00000073}.trellis-visual-rail:before{left:0}.trellis-visual-rail:after{left:100%}.yard-space-scene{border-radius:inherit;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.grow-space-scene-yard.grow-space-scene-raised:before{border-width:1.5px;box-shadow:inset 0 0 0 1px #ffe6b433}.grow-space-scene-thumbnail.grow-space-scene-raised:before{border-width:3px}.grow-space-scene-thumbnail .thumbnail-plant:before{content:"";z-index:0;background:var(--thumbnail-fallback-color,#6d9f42);opacity:.72;border:1px solid #ecf8d659;border-radius:50%;position:absolute;inset:12%;box-shadow:0 1px 2px #0000004d}.grow-space-scene-thumbnail .thumbnail-plant.rect:before,.grow-space-scene-thumbnail .thumbnail-plant.square:before{border-radius:22%}.grow-space-scene-thumbnail .thumbnail-plant .plant-visual-image,.grow-space-scene-thumbnail .thumbnail-plant .plant-visual-fallback{z-index:1;position:relative;inset:auto}.grow-space-scene-yard .grow-space-soil{background-color:#493421;box-shadow:inset 0 0 8px #0000002e}.grow-space-scene-yard:after{content:"";z-index:1;background-image:linear-gradient(#ffffff1a 1px,#0000 1px),linear-gradient(90deg,#ffffff1a 1px,#0000 1px);background-size:var(--grow-grid-x) var(--grow-grid-y);pointer-events:none;position:absolute;inset:2px}.grow-space-scene-yard .scene-plant{border:.75px solid #ffffff7a;box-shadow:inset 0 0 0 .5px #0000002e;container:yard-plant/size}.grow-space-scene-yard .scene-plant.circle{border-radius:50%}.grow-space-scene-yard .scene-plant.square,.grow-space-scene-yard .scene-plant.rect{border-radius:2px}.grow-space-scene-yard .plant-visual-label{z-index:2;color:#fff;text-overflow:ellipsis;text-shadow:0 1px 1px #000000bf;white-space:nowrap;pointer-events:none;background:#151811e0;border-radius:4px;width:max-content;max-width:90px;padding:2px 4px;font-size:clamp(7px,1.9vw,10px);line-height:1;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.grow-space-scene-yard .plant-visual-label.label-start{left:0;transform:none}.grow-space-scene-yard .plant-visual-label.label-end{left:auto;right:0;transform:none}.grow-space-scene-yard .plant-visual-label.label-below{top:calc(100% + 2px)}.grow-space-scene-yard .plant-visual-label.label-above{bottom:calc(100% + 2px)}.bed-designer-shell.fit-overflow .plant-visual-label{max-width:132px;transform:scale(var(--plant-label-scale,1));transform-origin:50%;font-size:11px}.bed-designer-shell.fit-overflow .grow-space-scene-yard .plant-visual-label.label-center{transform:translateX(-50%) scale(var(--plant-label-scale,1))}.grow-space-scene-yard.crop-label-legend,.yard-space-scene.crop-label-legend{overflow:visible}.grow-space-crop-legend{z-index:12;pointer-events:none;gap:3px;width:max-content;max-width:120%;display:flex;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.grow-space-crop-legend span{color:#fff;text-overflow:ellipsis;text-shadow:0 1px 1px #000000bf;white-space:nowrap;background:#151811e6;border-radius:4px;max-width:90px;padding:2px 5px;font-size:clamp(7px,1.9vw,10px);line-height:1;overflow:hidden}.grow-space-scene-yard .scene-plant.season-plant-token{color:inherit;pointer-events:auto;touch-action:none;cursor:grab;background:0 0;padding:0}.grow-space-scene-yard .scene-plant.season-plant-token.selected{z-index:6;outline:2px solid var(--text-accent);outline-offset:1px}.grow-space-scene-yard .plant-visual-image,.grow-space-scene-thumbnail .plant-visual-image{filter:drop-shadow(0 1px 1px #00000061)}.bed-designer-canvas{touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;width:calc(100% - 17px);min-height:105px;max-height:250px;overflow:visible;box-shadow:0 4px 13px #0000004d}.bed-designer-canvas:after{content:"";z-index:1;background-image:linear-gradient(#ffffff1c 1px,#0000 1px),linear-gradient(90deg,#ffffff1c 1px,#0000 1px);background-size:inherit;pointer-events:none;position:absolute;inset:7px}.container-designer-shell .bed-canvas-stage{padding:8px 0 2px}.container-designer-shell .bed-layout{justify-content:center}.container-designer-shell .bed-designer-canvas{width:min(86vw,320px);min-height:0;max-height:none}.container-designer-round .bed-designer-canvas{border-radius:50%;width:min(72vw,270px)}.container-designer-shell .bed-designer-canvas:after{display:none}.container-empty-state{z-index:2;color:#fff7eeeb;text-align:center;text-shadow:0 1px 3px #000000b3;pointer-events:none;place-content:center;gap:3px;display:grid;position:absolute;inset:0}.container-empty-state b{font-size:15px}.container-empty-state small{max-width:150px;font-size:10px}.plant-token{z-index:3;color:#fff;cursor:grab;min-width:0;min-height:0;box-shadow:none;touch-action:none;background:0 0;border:1.5px solid #0000;flex-direction:column;justify-content:center;align-items:center;padding:2px;display:flex;overflow:visible}.plant-token.circle{border-radius:50%}.plant-token.square,.plant-token.rect{border-radius:5px}.plant-token.selected{box-shadow:0 0 0 2px var(--text-accent);z-index:5;border:2px solid #fff}.bed-object-handle{z-index:12;border:1.5px solid var(--text-accent);background:var(--surface-2);width:24px;height:24px;color:var(--text-accent);touch-action:none;cursor:grab;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;box-shadow:0 1px 3px #0000002e}.bed-object-handle.rotate{transform:translate(-50%,-28px)}.bed-object-handle.rotate:after{content:"";border-left:1.5px solid var(--text-accent);height:8px;position:absolute;top:22px}.bed-object-handle.resize{font-size:11px;font-weight:700;transform:translate(-35%,-35%)}.bed-object-handle.delete{color:var(--text-danger);border-color:var(--text-danger);cursor:pointer;transform:translate(-65%,-35%)}.plant-token.unsupported{border-color:#0000}.plant-token.oversized{z-index:4;box-shadow:none;border-color:#0000}.plant-token.selected.unsupported,.plant-token.selected.oversized{box-shadow:0 0 0 2px var(--text-accent);border:2px solid #fff}.plant-token.oversized b{color:var(--text-warning)}.plant-token .plant-visual-label{z-index:2;text-align:center;text-shadow:0 1px 2px #000000b3;pointer-events:none;background:#151811ad;border-radius:3px;max-width:95%;padding:2px 3px;font-size:8px;line-height:1;position:relative;overflow:hidden}.plant-token small{z-index:2;pointer-events:none;background:#1518119e;border-radius:2px;padding:1px 2px;font-size:8px;position:relative}.plant-token b{background:var(--amber);border-radius:50%;place-items:center;width:14px;height:14px;font-size:9px;display:grid;position:absolute;top:-7px;right:-5px}.plant-advice-list{margin-top:8px}.plant-advice{margin-bottom:7px}.plant-advice:last-child{margin-bottom:0}.trellis-advice,.oversized-advice{color:var(--text-warning);border-color:var(--border-warning);background:var(--bg-warning)}.pot-plant-button{margin-top:10px}.bed-capacity{background:var(--bg-success);color:var(--text-success);border-radius:8px;justify-content:space-between;gap:8px;margin:8px 0 14px;padding:8px 10px;font-size:11px;display:flex}.bed-capacity.over{background:var(--bg-warning);color:var(--text-warning)}.bed-capacity b{font-weight:600}.plant-actions{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px;display:grid}.plant-actions .ghostbtn{min-height:42px}.plant-move-button{grid-column:1/-1}.plant-move-targets{border:var(--hairline) solid var(--border-accent);background:var(--bg-accent);border-radius:9px;gap:7px;margin:-2px 0 10px;padding:9px;display:grid}.plant-move-targets button{border:var(--hairline) solid var(--border-accent);background:var(--surface-2);min-height:40px;color:var(--text-accent);font:inherit;cursor:pointer;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:600}.plant-delete-button{color:var(--text-danger);border-color:color-mix(in srgb, var(--text-danger) 45%, var(--border))}.direct-manipulation-note{border:var(--hairline) solid var(--border);background:var(--surface-2);border-radius:9px;flex-direction:column;gap:3px;margin-top:10px;padding:9px 10px;display:flex}.direct-manipulation-note span{color:var(--text-primary);font-size:12px;font-weight:500}.direct-manipulation-note small{color:var(--text-muted);font-size:11px;line-height:1.35}.plant-alerts{border:var(--hairline) solid var(--border-warning);background:var(--bg-warning);color:var(--text-warning);border-radius:9px;margin-top:10px;overflow:hidden}.plant-alert-heading{align-items:center;gap:6px;padding:8px 10px;font-size:11px;font-weight:500;display:flex}.plant-alert-toggle{width:100%;min-height:44px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.plant-alert-chevron{margin-left:auto;transition:transform .16s}.plant-alert-toggle[aria-expanded=true] .plant-alert-chevron{transform:rotate(180deg)}.plant-alerts .plant-advice-list{padding:0 8px 8px}.trellis-controls{margin-top:12px}.trellis-add-button{margin-top:9px}.trellis-token{z-index:5;cursor:grab;touch-action:none;background:0 0;border:0;border-radius:8px;min-width:5px;height:4px;padding:0}.trellis-token:before{content:"";position:absolute;inset:-14px 0}.trellis-token.selected{z-index:7;outline:2px solid var(--text-accent);outline-offset:-2px;background:color-mix(in srgb, var(--text-accent) 10%, transparent)}.bed-designer-shell.fullscreen{z-index:1000;padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:var(--surface-1);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.bed-designer-shell.fullscreen .designer-toolbar{flex-shrink:0}.bed-designer-shell.fullscreen .bed-capacity{display:none}.bed-designer-shell.fullscreen .bed-canvas-stage{width:var(--fullscreen-stage-width);align-self:center;max-width:100%}.bed-designer-shell.fullscreen .bed-designer-canvas{width:calc(100% - 17px);min-height:0;max-height:none}.bed-designer-shell.fullscreen .bed-size-panel{z-index:30;width:min(360px,100vw - 24px);margin:0;position:absolute;top:58px;left:12px;box-shadow:0 8px 24px #0000002e}.bed-designer-shell.fullscreen>.dashbtn,.bed-designer-shell.fullscreen>.yard-panel,.bed-designer-shell.fullscreen>.bed-sun-note,.bed-designer-shell.fullscreen>.plant-directory{display:none}@media (width<=430px){.fullscreen-toggle span{display:none}.meal-page-header{grid-template-columns:auto minmax(0,1fr)}.meal-page-header .meal-history-link{grid-column:2;justify-self:start}.meal-recipe-ingredient{grid-template-columns:minmax(0,1fr)}.meal-source-toggle{justify-self:start;margin-left:30px}}@media (width>=1024px){.app-viewport[data-layout=wide]{width:min(1180px,100vw - 48px);height:calc(100vh - 48px);min-height:620px}.app-viewport[data-layout=wide]>.topbar{padding:18px 28px 14px}.app-viewport[data-layout=wide]>.body{width:100%;max-width:1120px;margin:0 auto;padding:26px 32px}.app-viewport[data-layout=wide]>.footer{flex-direction:column;align-items:flex-end;padding:16px 32px 20px;display:flex}.app-viewport[data-layout=wide]>.footer>.pbtn,.app-viewport[data-layout=wide]>.footer>.textbtn{width:min(360px,100%);margin-inline:0}.app-viewport[data-layout=wide]>.access-page{border:var(--hairline) solid var(--border);border-radius:24px;width:min(580px,100% - 64px);min-height:auto;max-height:calc(100% - 64px);margin:auto;padding:42px 48px;overflow-y:auto;box-shadow:0 18px 50px #26431b1a}.app-viewport[data-layout=wide]>.access-page .access-brand{margin-bottom:34px}.app-viewport[data-layout=wide]>.access-page.access-status .access-brand{position:static}.app-viewport[data-layout=wide] .access-plan-list{grid-template-columns:repeat(2,minmax(0,1fr))}.app-viewport[data-layout=wide] .access-plan{flex-direction:column;align-items:flex-start;min-width:0}.app-viewport[data-layout=workspace]{width:min(1400px,100vw - 48px);height:calc(100vh - 48px);min-height:620px}.app-viewport[data-layout=workspace]>.topbar,.app-viewport[data-layout=workspace]>.body,.app-viewport[data-layout=workspace]>.save-failure-banner,.app-viewport[data-layout=workspace]>.recovery-notice{margin-left:190px}.app-viewport[data-layout=workspace]>.topbar{padding:18px 28px 14px}.app-viewport[data-layout=workspace]>.body{padding:24px 28px}.app-viewport[data-layout=workspace]>.body.home-body{padding-bottom:24px}.app-viewport[data-layout=workspace]>.tabbar{z-index:45;border-top:0;border-right:var(--hairline) solid var(--border);background:var(--surface-2);flex-direction:column;gap:4px;width:190px;padding:18px 12px;position:absolute;inset:0 auto 0 0}.desktop-nav-brand{border-bottom:var(--hairline) solid var(--border);color:var(--text-success);align-items:center;gap:9px;margin-bottom:14px;padding:0 9px 13px;font-size:14px;display:flex}.desktop-nav-brand span{background:var(--bg-success);border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.desktop-nav-brand b{font-weight:650}.app-viewport[data-layout=workspace] .tabbtn{border-radius:9px;flex-direction:row;flex:none;justify-content:flex-start;gap:10px;min-height:44px;padding:10px 12px;font-size:13px}.app-viewport[data-layout=workspace] .tabbtn.active{background:var(--bg-success);color:var(--text-success);font-weight:600}.app-viewport[data-layout=workspace] .task-undo-notice{max-width:520px;bottom:24px;left:214px;right:24px}.onboarding-body{max-width:1040px!important}.onboarding-body .location-choices{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.onboarding-body .location-choice{grid-template-columns:auto minmax(0,1fr);align-content:start;min-height:128px}.onboarding-body .location-choice>svg{display:none}.onboarding-body .recipe-list{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-body .yard-canvas-edge-to-edge{border-radius:14px;width:100%;margin-inline:0}.onboarding-body .yard-canvas{min-height:430px}.onboarding-body>.field,.onboarding-body>.note,.onboarding-body>.confirm,.onboarding-body>.inlineerr,.onboarding-body>.zonepick,.onboarding-body>.location-field,.onboarding-body>.location-match-button,.onboarding-body>.climate-editor{max-width:760px;margin-inline:auto}.onboarding-result-body{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:14px;display:grid}.onboarding-result-body>.h1,.onboarding-result-body>.sub,.onboarding-result-body>.warnbox,.onboarding-result-body>.plan-advice,.onboarding-result-body>.eyebrow,.onboarding-result-body>.season-planner{grid-column:1/-1}.onboarding-result-body>.gardencard{height:100%;margin:0}.settings-body{max-width:1060px!important}.settings-grid{grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);grid-template-areas:"profile climate""preferences climate";align-items:start;gap:20px;display:grid}.settings-panel{border:var(--hairline) solid var(--border);background:var(--surface-1);border-radius:14px;padding:20px}.settings-profile-panel{grid-area:profile}.settings-climate-panel{grid-area:climate}.settings-preferences-panel{grid-area:preferences}.settings-panel .settings-section-title{margin-top:0}.settings-panel .settings-save{width:100%}.settings-climate-panel .climate-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-view-yard>.yard-season-panel,.app-view-yard>.yard-desktop-layout{max-width:1180px;margin-inline:auto}.yard-desktop-layout{grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);align-items:start;gap:22px;display:grid}.yard-desktop-layout.is-editing{grid-template-columns:minmax(0,1fr)}.yard-map-area{min-width:0}.yard-map-area .yard-canvas,.yard-map-area .yard-canvas.viewing.focused{min-height:470px}.yard-map-area .yard-canvas-edge-to-edge{border-radius:14px;width:100%;margin-inline:0}.yard-insights{min-width:0}.yard-insights .yard-date-work{margin-top:0}.yard-insights .yard-alerts{margin-top:16px}.app-viewport[data-layout=workspace]>.yard-date-dock,.app-viewport[data-layout=workspace]>.schedule-date-dock{margin-left:190px}.app-view-schedule .season-planner{max-width:1180px;margin-inline:auto}.app-view-schedule .season-groups{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:14px}.app-view-schedule .season-group{height:100%}.app-view-plants .plant-list-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:14px;display:grid}.app-view-plants .plant-space-group{height:100%}.app-view-plants .plant-task-entry,.app-view-plants .plant-manage-card{margin-bottom:0}.app-view-plants .plant-space-tasks{display:block}.app-view-plants .plant-space-tasks>.eyebrow{margin-bottom:10px}.app-view-plants .plant-space-task-group{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 12px;margin:0}.app-view-plants .plant-space-task-group>b{grid-column:1/-1}.app-view-plants .plant-space-task-group>.plant-list-task{margin-top:0}.app-view-plants .placement-space-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.body.plant-directory-page>.plant-directory .plant-directory-list{background:var(--surface-1);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:14px;padding:14px;display:grid}.body.plant-directory-page .plant-directory-group{border:var(--hairline) solid var(--border);background:var(--surface-2);border-radius:12px;overflow:hidden}.app-view-home.is-meal-recipe>.meal-page,.app-view-home.is-meal-history>.meal-page{max-width:1100px;margin-inline:auto}.app-view-home.is-meal-recipe .meal-page{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;column-gap:28px;display:grid}.app-view-home.is-meal-recipe .meal-page-header,.app-view-home.is-meal-recipe .meal-recipe-meta,.app-view-home.is-meal-recipe .meal-record-button{grid-column:1/-1}.app-view-home.is-meal-recipe .meal-recipe-section{min-width:0;margin-bottom:0}.app-view-home.is-meal-recipe .meal-record-button{justify-self:end;width:min(320px,100%);margin-top:24px}.app-view-home.is-meal-history .meal-history-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.app-view-home.is-meal-history .meal-history-summary{grid-template-columns:minmax(240px,1fr) auto auto;align-items:center;gap:18px}.app-view-home.is-meal-history .meal-history-summary>b{margin:0}.plant-record-body{max-width:1160px!important}.plant-journal>.hero{padding:20px}.plant-journal-columns{grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);align-items:start;gap:22px;display:grid}.plant-journal-actions,.plant-journal-timeline{min-width:0}.plant-journal-timeline{border:var(--hairline) solid var(--border);background:var(--surface-1);border-radius:14px;padding:18px}.plant-journal-timeline .plant-timeline-heading{margin-top:0}.app-viewport[data-layout=wide]>.designer-body{max-width:none}.app-viewport[data-layout=wide] .bed-designer-shell:not(.fullscreen){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px 18px;display:grid}.app-viewport[data-layout=wide] .bed-designer-shell:not(.fullscreen)>.designer-toolbar,.app-viewport[data-layout=wide] .bed-designer-shell:not(.fullscreen)>.bed-capacity,.app-viewport[data-layout=wide] .bed-designer-shell:not(.fullscreen)>.bed-canvas-stage,.app-viewport[data-layout=wide] .bed-designer-shell:not(.fullscreen)>.bed-sun-note,.app-viewport[data-layout=wide] .bed-designer-shell:not(.fullscreen)>.plant-directory{grid-column:1/-1}.app-viewport[data-layout=wide] .bed-designer-shell:not(.fullscreen) .bed-designer-canvas{max-height:520px}.app-viewport[data-layout=wide] .bed-designer-shell:not(.fullscreen)>.plant-directory .plant-directory-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.meal-plant-picker-layer,.meal-frequency-layer,.recipe-detail-layer,.sun-hours-picker-layer{justify-content:center;align-items:center}.meal-plant-picker-sheet,.meal-frequency-sheet,.recipe-detail-sheet,.sun-hours-picker-sheet{border-radius:18px;width:min(760px,100% - 48px);max-height:min(760px,100% - 48px);overflow:hidden}.meal-plant-picker-sheet .plant-directory-list{max-height:520px}.home-dashboard{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);grid-template-areas:"weather weather""week week""meals meals";align-items:start;gap:20px 22px;max-width:1160px;margin:0 auto;display:grid}.home-dashboard>.home-weather-zone{grid-area:weather}.home-dashboard>.home-week{border:var(--hairline) solid var(--border);background:var(--surface-2);border-radius:12px;grid-area:week;margin:0;padding:17px}.home-dashboard>.home-meals{border:var(--hairline) solid var(--border);background:var(--surface-2);border-radius:12px;grid-area:meals;margin:0;padding:17px}.home-dashboard.without-harvest{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);grid-template-areas:"weather weather""week week""meals meals"}.home-dashboard .home-meal-card{height:100%}}@media (width>=1200px){.home-dashboard .home-meal-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
