:root{font-family:var(--font);font-size:16px;line-height:1.45;color:var(--ink);background:var(--paper);-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}::selection{background:var(--pine);color:var(--ink)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}[tabindex="-1"]:focus{outline:none}input{caret-color:var(--go)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}svg.ic{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.num{font-weight:700;line-height:.78;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.app{height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"top" "tools" "canvas" "right"}.topbar{grid-area:top}.tools{grid-area:tools}.canvas{grid-area:canvas}aside.right{grid-area:right}aside.left{grid-area:left}@media(min-width:900px){.app{grid-template-columns:272px minmax(0,1fr) 344px;grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"top top top" "left tools right" "left canvas right"}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(8px,env(safe-area-inset-top)) 12px 8px 16px;border-top:6px solid var(--mull);border-bottom:2px solid var(--ink);background:var(--paper)}.brand{display:flex;align-items:center;gap:16px;min-width:0}.home{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none}.wordmark{font-weight:700;font-size:20px;letter-spacing:-.02em;white-space:nowrap}.garden-name{font-size:15px;font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:479px){.wordmark{font-size:18px}}@media(min-width:900px){.topbar{padding:12px 20px 12px 24px}.wordmark{font-size:24px}}.tools{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 16px;border-bottom:2px solid var(--ink);background:var(--paper)}.tools-status{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:flex-end;column-gap:16px;font-size:14px;font-weight:600;color:var(--ink-2)}.tools-status .text-btn{font-size:14px}.tools-status .status{display:block;line-height:44px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:479px){.tools .hide-narrow{display:none}.tools{gap:6px}.tools-status .text-btn,.tools-status .status{font-size:13px}}@media(min-width:900px){.tools{padding:8px 16px}.tools-status{margin-left:8px}}aside{background:var(--paper);overflow-y:auto;min-height:0}aside.left{border-right:2px solid var(--ink);padding:22px 20px}aside.right{border-top:2px solid var(--ink);max-height:40dvh;padding:16px 16px 18px}@media(min-width:900px){aside.right{border-top:none;border-left:2px solid var(--ink);max-height:none;padding:24px 24px 28px}}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}.icon-btn{min-width:44px;height:44px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--ink);border-radius:var(--r);background:var(--paper);font-weight:650;font-size:15px}.icon-btn:hover:not(:disabled){background:var(--hover-wash)}.icon-btn:disabled{border-color:var(--rule);color:var(--ink-disabled)}.icon-btn[aria-pressed=true]{background:var(--ink);color:var(--paper)}.icon-btn.close{border-color:transparent;margin-left:auto}.seg{display:flex;border:2px solid var(--ink);border-radius:var(--r);overflow:hidden;height:44px}.seg button{border:none;background:var(--paper);padding:0 14px;font-weight:700;font-size:15px;min-width:52px}.seg button+button{border-left:2px solid var(--ink)}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.seg button:hover:not([aria-pressed=true]){background:var(--hover-wash)}.seg-wide{height:48px}.seg-wide button{flex:1;padding:0 6px}.btn-go{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;border:none;border-radius:var(--r);background:var(--go);color:var(--paper);font-weight:700;font-size:18px;padding:0 16px;transition:background-color .12s ease-out,transform .12s ease-out}.btn-go:hover{background:var(--go-press)}.btn-go:active{transform:translateY(1px)}.btn-line{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 14px;border:2px solid var(--ink);border-radius:var(--r);background:var(--paper);font-weight:650;font-size:15px}.btn-line:hover{background:var(--hover-wash)}.btn-line:disabled{border-color:var(--rule);color:var(--ink-disabled);cursor:default}.btn-danger{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 2px;margin-top:auto;border:none;background:none;color:var(--danger);font-weight:650;font-size:15px;text-align:left}.btn-danger:hover{text-decoration:underline;text-underline-offset:4px}.text-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0;border:none;background:none;font-weight:600;font-size:15px;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.text-btn:disabled{color:var(--ink-disabled);text-decoration:none}.canvas{position:relative;overflow:hidden;min-height:0;background:var(--paper)}.editor2d,.view3d{width:100%;height:100%;display:block}.editor2d:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.editor2d text{font-family:var(--font);-webkit-user-select:none;user-select:none}.editor2d g.obj:focus-visible,.editor2d g.ghost:focus-visible{outline:3px solid var(--focus);outline-offset:6px}.editor2d .selection{animation:settle .18s cubic-bezier(.16,1,.3,1)}@keyframes settle{0%{opacity:0}to{opacity:1}}.canvas-tools{position:absolute;left:12px;bottom:12px;display:flex;gap:8px}.labels3d{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.focus3d{position:absolute;left:12px;top:12px;max-width:calc(100% - 24px);overflow-x:auto}.focus3d button{flex:none;min-width:44px;padding:0 12px;font-variant-numeric:tabular-nums}.focus3d button:focus-visible{outline-offset:-5px}.compass{position:absolute;right:12px;bottom:12px;width:48px;height:48px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;background:var(--paper);padding:0}.compass svg{transition:transform .2s cubic-bezier(.16,1,.3,1);font-family:var(--font)}.view-message{display:grid;place-content:center;gap:8px;height:100%;padding:24px;text-align:center;max-width:420px;margin:0 auto}.view-message p{margin:0}.view-message .btn-go,.view-message .btn-line{margin-top:12px}.toast-slot{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;pointer-events:none;padding:0 68px}.toast{pointer-events:auto;display:flex;align-items:center;gap:16px;min-height:52px;padding:4px 6px 4px 16px;background:var(--ink);color:var(--paper);border-radius:var(--r);font-size:15px;font-weight:600;box-shadow:0 6px 20px var(--shadow);animation:rise .2s cubic-bezier(.16,1,.3,1)}.toast button{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:2px solid var(--paper);border-radius:var(--r);background:none;color:var(--paper);font-weight:700}@keyframes rise{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.north-hint{position:absolute;left:12px;right:12px;top:12px;max-width:460px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 6px 6px 16px;background:var(--paper);border:2px solid var(--ink);border-radius:var(--r);box-shadow:0 6px 20px var(--shadow);animation:rise .2s cubic-bezier(.16,1,.3,1)}.north-hint p{margin:0;flex:1 1 180px;font-size:15px;font-weight:600}.north-hint .icon-btn{border-color:transparent}.panel-title{margin:0;font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.15}.panel-title.big{font-size:24px}.panel-hint{margin:4px 0 0;font-size:15px;color:var(--ink-2);max-width:40ch}.field{display:grid;gap:4px;font-size:14px;font-weight:650;min-width:0}.field input,.field select,.field textarea,.num-input{width:100%;height:48px;border:2px solid var(--ink);border-radius:var(--r);background:var(--field);font:inherit;font-size:18px;font-weight:600;color:var(--ink);padding:0 12px}.num-input{display:flex;align-items:center;padding:0 12px 0 0}.num-input input{border:none;background:none;height:100%;padding:0 12px;font-variant-numeric:tabular-nums;min-width:0}.num-input input:focus-visible{outline:none}.num-input:focus-within{outline:3px solid var(--focus);outline-offset:2px}.num-input.invalid{border-color:var(--danger)}.unit{font-size:14px;font-weight:500;color:var(--ink-2)}.field textarea{height:auto;padding:10px 12px;resize:vertical;line-height:1.35}.field input::placeholder,.field textarea::placeholder{color:var(--placeholder);font-weight:500}.field-error{font-size:14px;font-weight:600;color:var(--danger)}.field-group{display:grid;gap:6px}.field-label{font-size:14px;font-weight:650}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.marks{display:inline-flex;gap:5px;align-items:center}.marks i{width:16px;height:16px;border:2px solid var(--ink);display:block;transition:background-color .2s ease-out,border-width .2s ease-out}.marks i.on{border-width:4px}.marks i.done{background:var(--ink)}.part-list{display:grid;margin-top:14px;border-top:2px solid var(--ink)}.part{display:flex;align-items:center;gap:12px;min-height:64px;padding:6px 4px;width:100%;border:none;border-bottom:1px solid var(--rule);background:none;text-align:left}.part:hover{background:var(--paper-2)}.part-text{display:grid;line-height:1.2;min-width:0}.part-name{font-weight:700;font-size:16px}.part-size{font-size:14px;color:var(--ink-2);white-space:nowrap}.part-count{margin-left:auto;font-weight:700;font-size:17px;font-variant-numeric:tabular-nums}.parts .text-btn{margin-top:8px;text-align:left}.parts-compact .part-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));column-gap:12px}.parts-compact .panel-hint{display:none}.parts-compact .part{gap:8px}.parts-compact .part svg{width:46px}.steps-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.steps-count{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:650;white-space:nowrap}.step-now{display:flex;align-items:center;gap:14px;margin-top:4px}.step-num{display:inline-grid;place-items:center;flex:none;width:1.6em;height:1.6em;border-radius:50%;background:var(--key);color:var(--field);font-size:40px;line-height:1;letter-spacing:-.02em}.step-title{margin:0 0 4px;font-size:26px;line-height:1.08;font-weight:700;letter-spacing:-.01em;text-wrap:balance}.step-drawing{display:block;margin:0 auto;max-width:var(--drawing-w)}.litho-fill *{stroke:none}.litho-ink *{fill:none}.step-drawing .dim-text{font-family:var(--font);font-size:14px;font-weight:700;fill:var(--ink)}.step-text{margin:0;font-size:16px;max-width:42ch}.in-house{font-size:14px;font-weight:600;color:var(--ink-2)}.tally-line{display:none;font-size:14px;font-weight:600;color:var(--ink-2)}.step-form{display:grid;gap:12px}.step-list{list-style:none;margin:4px 0 0;padding:0;border-top:2px solid var(--ink)}.step-list li{display:flex;align-items:center;gap:14px;min-height:52px;border-bottom:1px solid var(--rule);font-size:16px}.step-list li .num{font-size:26px;width:28px}.step-list li .marks{margin-left:auto}.step-list li.done>span:nth-child(2){color:var(--ink-2)}.onboard{display:flex;flex-direction:column;gap:20px;max-width:560px;margin:0 auto;padding:20px 16px max(32px,env(safe-area-inset-bottom))}.onboard-step{display:flex;flex-direction:column;gap:16px;animation:step-in .32s cubic-bezier(.16,1,.3,1)}.onboard-step .step-now{margin-bottom:4px}.onboard-step .step-drawing{margin:4px auto;max-width:min(100%,340px)}.onboard-step>.text-btn{align-self:flex-start;margin-top:-4px}.onboard-step .template-list{margin-top:4px}.onboard-parts{margin-top:0;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));column-gap:16px}@keyframes step-in{0%{transform:translateY(12px);opacity:.2}to{transform:none;opacity:1}}.onboard-aside{display:none}.onboard-later li{display:block;min-height:0;padding:12px 0;font-size:15px}.onboard-later b{display:block;font-size:16px}@media(min-width:900px){.onboard{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);grid-template-rows:auto 1fr;align-content:start;gap:24px 72px;max-width:1080px;padding:56px 32px 40px}.onboard-aside{display:flex;flex-direction:column;gap:12px;grid-column:2;grid-row:1 / span 2;align-self:start;padding:20px 24px 8px;background:var(--paper-2);border-top:2px solid var(--ink)}.onboard-aside .panel-title:not(:first-child){margin-top:16px}}@media(max-width:899px){.step-now{margin-top:0}.step-num{font-size:28px}.step-title{font-size:21px}.step-drawing{max-width:190px}.step-text{font-size:15px}}.inspector,.settings{display:flex;flex-direction:column;gap:16px;min-height:100%}.insp-head{display:flex;align-items:flex-start;gap:14px}.insp-num{width:44px;height:44px;font-size:22px}.insp-name{display:grid;gap:8px;flex:1;min-width:0}.fine summary{cursor:pointer;font-size:14px;font-weight:600;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.fine-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.tally{margin:0;border-top:2px solid var(--ink)}.tally div{display:flex;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--rule)}.tally dt{font-weight:700;font-size:17px;min-width:44px;font-variant-numeric:tabular-nums}.tally dd{margin:0;font-size:15px}@media(max-width:899px){.inspector .tally{display:none}.tally-line{display:block}.inspector,.settings{gap:12px}}.dial-wrap{display:flex;align-items:center;gap:16px}.dial{color:var(--ink);cursor:grab;flex:none;border-radius:50%}.dial:active{cursor:grabbing}.dial-needle{transition:transform .16s cubic-bezier(.16,1,.3,1)}.dial-text{display:grid;gap:2px;font-size:15px}.label3d{display:flex;align-items:center;gap:8px;transform:translateY(-50%);font-family:var(--font);white-space:nowrap}.label3d-no{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--paper);color:var(--ink);border:2px solid var(--ink);font-weight:700;font-size:15px;box-shadow:0 2px 8px var(--shadow)}.label3d.selected .label3d-no{background:var(--ink);color:var(--paper)}.label3d-text{display:grid;padding:5px 10px;border-radius:var(--r);background:var(--ink);color:var(--paper);line-height:1.2;font-size:14px}.label3d-text span{font-size:13px;opacity:.85}.gridview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:var(--paper);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.gridview-top .seg.year{flex:none}.gridview-top{display:flex;align-items:center;gap:16px;flex-wrap:nowrap;padding:max(8px,env(safe-area-inset-top)) 16px 10px;border-top:6px solid var(--mull);border-bottom:2px solid var(--ink)}.gridview-top .back{min-width:44px}@media(max-width:599px){.gridview-top{gap:8px;padding-left:8px;padding-right:12px}.back-text{display:none}.grid-title{gap:8px}.grid-title .panel-title.big{font-size:18px}.seg.year span{padding:0 8px}}.grid-title{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.grid-title .bed-no{width:36px;height:36px;font-size:18px}.grid-title h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:599px){.gridview-top{flex-wrap:wrap;row-gap:4px}.gridview-top .seg.year{margin-left:auto}.grid-title{order:3;flex-basis:100%;padding-left:4px}}.seg.year{align-items:center}.seg.year span{padding:0 12px;font-weight:700;font-variant-numeric:tabular-nums}.seg.year button{min-width:44px;display:grid;place-items:center;padding:0}.seg.year span+button,.seg.year button+span{border-left:2px solid var(--ink)}.gridview-body{overflow-y:auto;display:grid;gap:20px;padding:16px 16px max(28px,env(safe-area-inset-bottom));align-content:start}.grid-wrap{display:grid;gap:8px;justify-items:center;min-width:0}.grid{width:100%;max-height:62dvh;touch-action:manipulation;display:block}.grid .cell:focus{outline:none}.grid-ring{stroke:var(--focus)}.grid .cell.can-plant{cursor:copy}.grid .cell.can-plant:hover{fill:var(--paper-veil)}.grid-letter{font-family:var(--font)}.grid-hint{justify-self:start}.gridview-panel{display:grid;gap:22px;align-content:start}.gridview-panel section{display:grid;gap:10px}.grid-focus{padding-bottom:18px;border-bottom:2px solid var(--ink)}.step-title.small{font-size:24px}.grid-room{margin:0;font-size:16px}.rel{margin:0;display:flex;gap:10px;align-items:flex-start;font-size:15px;font-weight:600}.rel.good{color:var(--go)}.rel.bad{color:var(--danger)}.rel-mark{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:none;color:var(--paper)}.rel-mark.good{background:var(--go)}.rel-mark.bad{background:var(--danger)}.grid-search input{font-size:16px}.crop-list{display:grid;border-top:2px solid var(--ink)}.crop{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 4px;border:none;border-bottom:1px solid var(--rule);background:none;text-align:left;font-size:16px;font-weight:600}.crop:hover{background:var(--paper-2)}.crop[aria-pressed=true]{background:var(--ink);color:var(--paper)}.crop-swatch{width:22px;height:22px;border:2px solid var(--ink);border-radius:4px;flex:none}.crop[aria-pressed=true] .crop-swatch{border-color:var(--paper)}.crop-size{margin-left:auto;font-size:14px;font-weight:500;opacity:.8}.template-list{display:grid;border-top:2px solid var(--ink)}.template{display:grid;gap:4px;padding:12px 4px;border:none;border-bottom:1px solid var(--rule);background:none;text-align:left;min-height:64px}.template:hover{background:var(--paper-2)}.template-swatches{display:flex;gap:4px}.template-swatches .crop-swatch{width:16px;height:16px}.template-name{font-size:17px;font-weight:700}.template-desc{font-size:15px;opacity:.85}.more-templates{margin-top:8px}.more-templates summary{cursor:pointer;font-size:15px;font-weight:600;min-height:44px;padding:12px 0;text-decoration:underline;text-underline-offset:4px}.more-templates .template-list{border-top:1px solid var(--rule)}.template-when{font-size:15px;color:var(--ink-2)}.template-when b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.bed-templates{display:grid;gap:10px}.plan-done{display:grid;gap:8px;justify-items:start}.plan-done .step-text{margin:0}.letter-ring{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border:2px solid var(--ink);border-radius:4px;background:var(--paper);font-size:13px;font-weight:700}.grid-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;justify-self:start;font-size:15px;font-weight:600}.grid-legend li{display:flex;align-items:center;gap:6px}.grid-legend .crop-swatch{width:18px;height:18px}.pairs{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}.pairs li{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--rule)}.pair-body{display:grid;gap:4px;font-size:15px}.pair-head{font-weight:700}.confidence{font-size:14px;color:var(--ink-2)}.confidence b{display:inline-block;margin-right:6px;padding:0 6px;border:2px solid var(--ink);border-radius:4px;color:var(--ink);font-size:13px}.bed-now,.bed-season{--cal-label: 110px;display:grid;gap:10px;align-content:start;min-width:0}.bed-now .panel-title,.bed-season .panel-title,.grid-heading{margin:0}.grid-heading{justify-self:start}.bed-now .week-step{grid-template-columns:minmax(0,1fr)}.bed-now .week-step .step-title{font-size:24px}.bed-now .step-now{margin-top:0}.bed-now .week-figure{grid-row:auto}@media(min-width:900px){.bed-now .week-figure{display:none}}.bed-actions{display:flex;flex-wrap:wrap;gap:4px 20px}.bed-actions .field{flex:1 1 100%;max-width:360px;margin-bottom:8px}button.cal-bed{border:none;border-top:1px solid var(--rule);border-radius:0;min-height:44px;font-family:inherit;color:inherit;text-align:left;cursor:pointer}button.cal-bed:hover{background:var(--paper-2)}@media(min-width:900px){.gridview-top{padding:12px 24px}.gridview-body{grid-template-columns:minmax(0,1fr) 380px;grid-template-areas:"grid now" "grid panel" "grid actions";gap:24px 32px;padding:28px 24px;align-items:start}.bed-now{grid-area:now}.grid-wrap{grid-area:grid}.gridview-panel{grid-area:panel}.bed-actions{grid-area:actions}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.nav button{min-width:0;display:flex;align-items:center;justify-content:center;gap:8px}.seg.nav button[aria-current=page]{background:var(--ink);color:var(--paper)}@media(min-width:900px){.nav svg{display:none}}@media(max-width:899px){.app:not(.no-nav){padding-bottom:calc(var(--bottom-nav) + env(safe-area-inset-bottom))}.app:not(.no-nav) .gridview{bottom:calc(var(--bottom-nav) + env(safe-area-inset-bottom))}.topbar .nav{position:fixed;left:0;right:0;bottom:0;z-index:35;height:calc(var(--bottom-nav) + env(safe-area-inset-bottom));padding:4px 8px max(4px,env(safe-area-inset-bottom));gap:6px;border:none;border-radius:0;background:var(--ink)}.topbar .nav button{flex:1;flex-direction:column;gap:2px;padding:0 6px;font-size:14px;border:none;border-radius:10px;background:none;color:var(--paper)}.topbar .nav button:hover:not([aria-current=page]){background:none;text-decoration:underline;text-underline-offset:4px}.seg.nav button[aria-current=page]{background:var(--paper);color:var(--ink)}.topbar .nav button:focus-visible{outline-color:var(--paper);outline-offset:-3px}}.app-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"top" "page"}.page{grid-area:page;overflow-y:auto;min-height:0}.zones{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.zones button{min-height:48px;border:2px solid var(--ink);border-radius:var(--r);background:var(--paper);font-weight:700;font-size:18px;padding:0}.zones button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.zone-now{display:flex;align-items:center;gap:16px;padding:12px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}.zone-now .num{font-size:64px}.zone-now div{display:grid;gap:2px;font-size:15px}.zone-now b{font-size:19px}.btn-go:disabled{background:var(--hover-wash);color:var(--ink-2);cursor:default}.step-text a{color:var(--ink);font-weight:600;text-underline-offset:3px}.week{display:flex;flex-direction:column;gap:16px;max-width:1080px;margin:0 auto;padding:20px 16px max(28px,env(safe-area-inset-bottom))}.week-empty{max-width:520px;padding-top:40px}.week-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:4px 12px}.week-label{margin:0;display:grid;font-weight:700}.week-no{font-size:52px;line-height:.9;letter-spacing:-.035em}.week-range{margin-top:4px;font-size:17px;font-weight:600;color:var(--ink-2)}.week-head{flex-wrap:nowrap}.week .steps-count{display:grid;justify-items:end;font-size:15px;font-weight:600;color:var(--ink-2);line-height:1.2}.week .steps-count b{font-size:26px;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.key{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--key);color:var(--field);font-weight:700;font-size:16px;font-variant-numeric:tabular-nums}.key.done{background:var(--ink);color:var(--paper)}.week-todo .panel-title,.your-beds .panel-title{font-size:15px;letter-spacing:.06em;text-transform:uppercase}.week-intro{margin:0 0 4px;font-size:15px;font-weight:700;color:var(--ink-2)}.week-step{display:grid;gap:14px}.week-text{display:grid;gap:12px;align-content:start}.week-figure .step-drawing{max-width:360px}.day-field{max-width:240px}.week-done{display:flex;align-items:center;gap:10px;margin:0;font-weight:700}.needs{margin:0;display:grid;gap:4px;border-top:2px solid var(--ink);padding-top:10px}.needs dt{font-size:14px;font-weight:650}.needs dd{margin:0;font-size:16px}.needs b{font-weight:700;font-size:18px;margin-right:6px}.week-list li{padding:0}.week-list button{display:flex;align-items:center;gap:14px;width:100%;min-height:52px;border:none;background:none;text-align:left;font-size:16px;padding:0}.week-list button:hover{background:var(--paper-2)}.week-list .num{font-size:26px;width:28px}.week-list .marks{margin-left:auto}.week .btn-line{align-self:flex-start}.week-rows{margin-top:0}.week-rows li{display:block}.week-todo .panel-title{margin:0 0 8px}.row-toggle{display:flex;align-items:center;gap:14px;width:100%;min-height:52px;padding:6px 4px;border:none;background:none;text-align:left;font-size:16px}.row-toggle:hover{background:var(--paper-2)}.row-toggle>svg:last-child{flex:none;margin-left:auto;transform:rotate(90deg);transition:transform .15s ease-out}.row-toggle[aria-expanded=true]>svg:last-child{transform:rotate(-90deg)}.row-text{display:grid;flex:1;min-width:0;line-height:1.25}.row-text span{font-size:14px;color:var(--ink-2)}.row-due{flex:none;text-align:right;font-size:15px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}.row-due small{display:block;font-size:12px;font-weight:500;color:var(--ink-2)}.week-rows .week-figure{display:none}.week-plate{margin:0;display:grid;gap:6px}.week-plate .step-drawing{max-width:100%}.week-plate figcaption{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink-2)}.week-plate figcaption i{margin-left:auto;font-weight:500}.week-plate .litho-fill{animation:register .18s steps(2)}@keyframes register{0%{transform:translate(5px,4px)}}@media(min-width:900px){.week:has(>.week-plate){display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:16px 48px;align-items:start}.week:has(>.week-plate)>*{grid-column:2}.week:has(>.week-plate)>.week-head{grid-column:1 / -1}.week:has(>.week-plate)>.week-plate{grid-column:1;grid-row:2 / span 3}}.row-body{display:grid;gap:16px;padding:4px 4px 20px 48px;border-bottom:1px solid var(--rule)}.row-body>.text-btn{justify-self:start}.bed-list .row-body{padding-left:120px}@media(max-width:479px){.bed-list .row-body{padding-left:4px}}.row-harvest{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px}.row-harvest>p{flex-basis:100%}.row-line{margin:0;font-size:16px}.row-line span{font-size:14px;color:var(--ink-2);margin-left:6px}@media(prefers-reduced-motion:reduce){.row-toggle>svg:last-child{transition:none}}@media(min-width:900px){.week{padding:32px 32px 40px}.week-no{font-size:72px}.week-step{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px}.week-step .step-now,.week-step .week-intro{grid-column:1 / -1}.week-figure{grid-row:span 2}.week-step .step-num{font-size:48px}.week-step .step-title{font-size:32px}}.ask{max-width:640px}.chat{list-style:none;margin:0;padding:0;display:grid;gap:12px}.chat li{display:grid;gap:8px;max-width:52ch;padding:12px 14px;border-radius:var(--r);font-size:16px}.chat p{margin:0;white-space:pre-line}.chat-user{justify-self:end;background:var(--paper-2)}.chat-assistant{justify-self:start;border:2px solid var(--ink)}.chat-wait{color:var(--ink-2);font-weight:600}.chat-confidence{font-size:15px;font-weight:700;border-top:1px solid var(--rule);padding-top:8px}.chat-photo{display:block;max-width:100%;max-height:240px;border-radius:4px}.chat-extras{display:grid;gap:12px;border-top:1px solid var(--rule);padding-top:12px}.chat-extras .step-drawing{max-width:280px}.chat-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.chat-pair .chat-photo{width:100%;object-fit:cover}.chat-actions{display:flex;flex-wrap:wrap;gap:8px}.chat-actions:empty{display:none}.ask-form{border-top:2px solid var(--ink);padding-top:14px}.ask-photo{display:grid;gap:12px}.ask-photo-btn{cursor:pointer;align-self:flex-start}.ask-photo-btn:focus-within{outline:3px solid var(--focus);outline-offset:2px}.calendar{display:grid;gap:16px;padding:20px 16px max(28px,env(safe-area-inset-bottom));--cal-label: 120px}.cal-scroll{overflow-x:auto;border-top:2px solid var(--ink)}.cal{display:grid;width:max-content}.cal-group,.cal-row{display:contents}.cal-label,.cal-bed{position:sticky;left:0;z-index:1;background:var(--paper);display:flex;align-items:center;padding-right:8px;min-width:0}.cal-corner{font-size:13px;font-weight:700;color:var(--ink-2)}.cal-bed{grid-column:1 / -1;font-weight:700;font-size:16px;border-top:1px solid var(--rule);white-space:nowrap}.cal-bed-in{position:sticky;left:0;display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 8px 6px 0}.cal-crop{display:flex;align-items:center;gap:8px;border:none;background:none;padding:0 6px;min-height:44px;width:100%;text-align:left;font-size:15px;font-weight:600;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-crop:hover{background:var(--paper-2)}.cal-crop[aria-pressed=true]{background:var(--ink);color:var(--paper)}.cal svg{display:block}.cal-week{font-family:var(--font);font-size:12px;font-weight:700;fill:var(--ink-2)}.cal-key{font-family:var(--font);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.cal-now{font-family:var(--font);font-size:12px;font-weight:700;fill:var(--ink)}.cal-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px}.cal-legend li{display:flex;align-items:center;gap:8px}.cal-swatch{display:inline-block;width:22px;height:14px;border:2px solid var(--ink);border-radius:3px;flex:none}.cal-swatch.now{background:var(--hover-wash);border-color:transparent}.cal-detail{display:grid;gap:12px;max-width:520px;padding-top:12px;border-top:2px solid var(--ink)}@media(min-width:900px){.calendar{padding:28px 32px 40px;--cal-label: 170px}}.account{display:grid;gap:10px;padding-top:16px;border-top:2px solid var(--ink)}.account h3{margin:0}.account-state{display:flex;align-items:center;gap:10px;margin:0;font-size:15px}.account .text-btn{justify-self:start}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:16px;background:var(--scrim)}.dialog{display:grid;gap:14px;width:min(100%,460px);padding:24px 20px;background:var(--paper);border:2px solid var(--ink);border-radius:var(--r);animation:rise .2s cubic-bezier(.16,1,.3,1)}.dialog .tally dt{font-size:14px;min-width:72px}.mini-map{flex:none}.bed-no{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border:2px solid var(--ink);border-radius:50%;background:var(--paper);font-weight:700;font-size:15px;line-height:1;font-variant-numeric:tabular-nums}.figure-btn{display:block;width:100%;padding:0;border:none;background:none;cursor:pointer}.your-beds{margin-top:8px}.your-beds .panel-title{margin:0 0 8px}.your-beds .step-text{margin-bottom:12px}.spring-rows{margin-top:0}.spring-rows li{padding:8px 4px}.spring-week{flex:none;display:grid;justify-items:center;width:52px;font-size:22px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.spring-week small{font-size:12px;font-weight:600;color:var(--ink-2)}.bed-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}.bed-list>li>button{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:6px 4px;border:none;border-bottom:1px solid var(--rule);background:none;text-align:left;font-size:16px}.bed-list>li>button:hover{background:var(--paper-2)}.bed-text{display:grid;flex:1;min-width:0;line-height:1.25}.bed-text span{font-size:14px;color:var(--ink-2)}.bed-text b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bed-contents{font-size:14px;font-weight:600;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-bed-text{display:grid;min-width:0;line-height:1.15}.cal-bed-text>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-bed-text small{font-size:13px;font-weight:600;color:var(--ink-2)}@media(max-width:899px){.wide-only{display:none}}@media(min-width:900px){.narrow-only{display:none}}
