.planner-shell{width:min(100% - 2.5rem,72rem);margin:0 auto;padding-block:clamp(2.5rem,6vw,5rem)}.planner-top{justify-content:space-between;align-items:end;gap:2rem;display:flex}.planner-top h1{max-width:13ch;color:var(--forest);font-size:clamp(2.8rem,6vw,5.2rem)}.planner-top p{max-width:43rem;color:var(--ink-soft);margin-top:1rem;font-size:1.05rem}.planner-utilities{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.import-button{cursor:pointer}.import-button input{opacity:0;width:1px;height:1px;min-height:1px;position:absolute}.text-button{color:var(--forest-2);text-underline-offset:.2em;background:0 0;border:0;padding:.45rem;font-size:.82rem;font-weight:800;text-decoration:underline}.stepper{border-block:1px solid var(--line);grid-template-columns:repeat(6,1fr);margin-top:3rem;display:grid}.stepper button{border:0;border-right:1px solid var(--line);color:var(--ink-soft);text-align:left;background:0 0;grid-template-columns:auto 1fr;align-items:center;gap:.55rem;padding:.75rem .65rem;font-size:.74rem;font-weight:800;display:grid;position:relative}.stepper button:last-child{border-right:0}.stepper button span{border:1px solid var(--line-strong);border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;font-size:.7rem;display:grid}.stepper button.active{color:var(--forest);background:#dce8be59}.stepper button.active:after{background:var(--forest);content:"";height:3px;position:absolute;bottom:-1px;left:0;right:0}.stepper button.active span,.stepper button.complete span{border-color:var(--forest);background:var(--forest);color:#fff}.stepper button:disabled{cursor:default}.planner-message{border-radius:var(--radius-sm);background:var(--warning-bg);color:#6f4618;border:1px solid #d3b788;margin-top:1.2rem;padding:.8rem 1rem}.planner-content{min-height:29rem;padding-block:clamp(2.5rem,6vw,5rem)}.planner-step{grid-template-columns:.7fr 1.3fr;align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.step-intro{position:sticky;top:2rem}.step-intro>span,.result-heading span,.result-kicker{color:var(--clay-dark);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:800}.step-intro h2{margin-top:.8rem;font-size:clamp(2rem,4vw,3.2rem)}.step-intro p{color:var(--ink-soft);margin-top:1rem}.step-intro .planner-help-link{margin-top:.65rem;font-size:.86rem;font-weight:750}.planner-help-link a,.space-card small a,.trellis-edge-field>p a{color:var(--forest-2);text-underline-offset:.18em}.planner-help-link a:hover,.space-card small a:hover,.trellis-edge-field>p a:hover{color:var(--forest)}.form-panel,.space-card,.crop-chooser,.goal-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-sm);gap:1.4rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.form-panel label span{color:var(--ink-soft);font-size:.75rem;font-weight:500}.inline-callout{border-left:3px solid var(--leaf);color:var(--ink-soft);background:#dce8be52;padding:.8rem 1rem;font-size:.82rem}.inline-callout strong{color:var(--ink)}.space-list{gap:1rem;display:grid}.space-card header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:1rem;padding-bottom:1rem;display:flex}.space-card header>div{gap:.35rem;display:grid}.space-card header span{color:var(--ink-soft);text-transform:uppercase;font-size:.7rem;font-weight:800}.space-card header input{min-height:auto;font-family:var(--font-display);background:0 0;border:0;border-radius:0;padding:0;font-size:1.4rem;font-weight:700}.remove-button{color:var(--danger);background:0 0;border:0;font-size:.75rem;font-weight:800}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.check-row{align-items:center;gap:.7rem;margin-top:.4rem;display:flex}.check-row input{width:1.1rem;min-height:1.1rem}.trellis-edge-field{border:0;border-top:1px solid var(--line);gap:.55rem;margin:0;padding:1rem 0 0;display:grid}.trellis-edge-field legend{color:var(--ink);padding:0 .45rem 0 0;font-size:.9rem;font-weight:800}.trellis-edge-field>p{max-width:42rem;color:var(--ink-soft);font-size:.72rem}.trellis-edge-field>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.trellis-edge-field label{border:1px solid var(--line-strong);border-radius:var(--radius-sm);grid-template-columns:auto 1fr;align-items:start;gap:.55rem;padding:.7rem;display:grid}.trellis-edge-field label:has(input:checked){border-color:var(--forest);background:#dce8be5c}.trellis-edge-field input{width:1rem;min-height:1rem;margin-top:.12rem}.trellis-edge-field span{display:grid}.trellis-edge-field strong{font-size:.76rem}.trellis-edge-field small{color:var(--ink-soft);font-size:.64rem}.temporary-supports{align-items:end;gap:.55rem;grid-template-columns:minmax(12rem,1fr) repeat(2,minmax(8rem,.55fr))!important;display:grid!important}.temporary-supports>div{gap:.2rem;display:grid}.temporary-supports>div small{max-width:34rem}.temporary-supports label{grid-template-columns:1fr auto;align-items:center;display:grid}.temporary-supports input[type=number]{width:4.5rem;min-height:2.25rem}.temporary-support-option{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);align-self:stretch;gap:.45rem;padding:.65rem;display:grid}.temporary-support-toggle{justify-content:start;gap:.45rem;font-size:.76rem;font-weight:800;grid-template-columns:none!important;display:flex!important}.temporary-support-toggle input{width:1rem;min-height:1rem}.temporary-support-limit span{color:var(--ink-soft);font-size:.65rem}.temporary-support-limit input{width:6.5rem!important}.access-path-toggle{border:1px solid var(--line-strong);border-radius:var(--radius);background:#dce8be5c;grid-template-columns:auto 1fr;align-items:start;gap:.7rem;padding:.9rem;display:grid}.access-path-toggle input{width:1.1rem;min-height:1.1rem;margin-top:.12rem}.access-path-toggle span{gap:.2rem;display:grid}.access-path-toggle strong{font-size:.78rem}.access-path-toggle small{color:var(--ink-soft);font-size:.67rem}.succession-toggle{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);grid-template-columns:auto 1fr;align-items:start;gap:.75rem;padding:1rem;display:grid}.succession-toggle:has(input:checked){border-color:var(--forest);background:#dce8be5c}.succession-toggle input{width:1.1rem;min-height:1.1rem;margin-top:.15rem}.succession-toggle span{gap:.2rem;display:grid}.succession-toggle small{color:var(--ink-soft)}.add-space-row{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.add-space-row button{border:1px solid var(--line-strong);background:var(--paper);color:var(--forest);border-radius:999px;padding:.5rem .75rem;font-size:.75rem;font-weight:800}.garden-arrangement{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);overflow:hidden}.garden-arrangement>header{justify-content:space-between;align-items:start;gap:1.25rem;padding:1.25rem;display:flex}.garden-arrangement>header>div{gap:.3rem;display:grid}.garden-arrangement>header span{color:var(--clay-dark);letter-spacing:.1em;text-transform:uppercase;font-size:.64rem;font-weight:800}.garden-arrangement>header h3{font-size:1.45rem}.garden-arrangement>header p{max-width:42rem;color:var(--ink-soft);font-size:.74rem}.garden-arrangement>header button{border:1px solid var(--forest);color:var(--forest);background:0 0;border-radius:999px;flex:none;padding:.55rem .8rem;font-size:.7rem;font-weight:800}.garden-canvas-shell{border-block:1px solid var(--line);background:#eee8d9;min-height:19rem;padding:.7rem;overflow:auto}.garden-canvas{touch-action:none;width:100%;min-width:34rem;max-height:36rem;display:block}.garden-ground{fill:url(#garden-foot-grid);stroke:#173f3557;stroke-width:.04px}.garden-grid-minor,.garden-grid-major{fill:none;stroke:#173f3521;stroke-width:.018px}.garden-grid-major{stroke:#173f3540;stroke-width:.028px}.garden-north-arrow path{fill:none;stroke:var(--forest);stroke-linecap:round;stroke-linejoin:round;stroke-width:.1px}.garden-north-arrow text{fill:var(--forest);font-family:var(--font-sans);letter-spacing:.08em;font-size:.42px;font-weight:900}.garden-space-shape{cursor:grab;outline:none}.garden-space-shape:active{cursor:grabbing}.garden-space-shape>rect,.garden-space-shape>ellipse{fill:#dfe9c7;fill-opacity:.95;stroke:var(--forest);stroke-width:.09px;transition:fill .12s,stroke .12s}.garden-space-shape:focus-visible>rect,.garden-space-shape:focus-visible>ellipse{stroke:var(--clay-dark);stroke-width:.16px}.garden-space-shape.overlapping>rect,.garden-space-shape.overlapping>ellipse{fill:#efd0c7;stroke:var(--danger);stroke-dasharray:.22 .12}.garden-space-shape>text{pointer-events:none;fill:var(--forest);font-family:var(--font-sans);font-size:.42px;font-weight:900}.garden-space-shape>.garden-space-size{fill:var(--ink-soft);font-size:.31px;font-weight:700}.garden-space-shape .garden-trellis-edge{pointer-events:none;stroke:var(--clay-dark);stroke-dasharray:.2 .1;stroke-linecap:square;stroke-width:.17px}.garden-overlap-warning{background:var(--warning-bg);color:#6f4618;border-bottom:1px solid #d3b788;padding:.7rem 1.25rem;font-size:.72rem;font-weight:700}.garden-coordinate-editor{padding:.85rem 1.25rem 1rem}.garden-coordinate-editor summary{cursor:pointer;color:var(--forest);font-size:.75rem;font-weight:800}.garden-coordinate-editor>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;max-height:20rem;margin-top:.8rem;display:grid;overflow-y:auto}.garden-coordinate-editor fieldset{border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;padding:.7rem;display:grid}.garden-coordinate-editor legend{grid-column:1/-1;padding-inline:.2rem;font-size:.72rem;font-weight:800}.garden-coordinate-editor label{gap:.25rem;display:grid}.garden-coordinate-editor label span{color:var(--ink-soft);font-size:.62rem}.garden-coordinate-editor input{min-height:2.2rem;padding:.35rem .45rem;font-size:.75rem}.segmented-field{border:0;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0;padding:0;display:grid}.segmented-field legend{grid-column:1/-1;margin-bottom:.3rem;font-size:.9rem;font-weight:700}.segmented-field label input{opacity:0;position:absolute}.segmented-field label span{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:3.4rem;color:var(--ink);text-align:center;place-items:center;padding:.6rem;font-size:.75rem;font-weight:700;display:grid}.segmented-field label input:checked+span{border-color:var(--forest);background:var(--forest);color:#fff}.segmented-field label input:focus-visible+span{outline:3px solid var(--clay);outline-offset:3px}input[type=range]{accent-color:var(--forest);padding:0}.selected-count{background:var(--leaf-light);color:var(--forest);border-radius:999px;margin-top:1rem;padding:.4rem .75rem;font-size:.75rem;font-weight:800;display:inline-flex}.crop-chooser{gap:0;padding:0}.starter-guide{border-bottom:1px solid var(--line);background:#dce8be2e;padding:1rem 1.25rem}.starter-guide summary{cursor:pointer;color:var(--forest);font-family:var(--font-display);font-size:1.05rem;font-weight:700}.starter-guide>div{gap:.85rem;padding-top:.8rem;display:grid}.starter-guide p{max-width:48rem;color:var(--ink-soft);font-size:.76rem}.starter-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.starter-guide-grid label{color:var(--ink);gap:.3rem;font-size:.72rem;font-weight:800;display:grid}.starter-guide-grid .starter-check{align-items:center;gap:.55rem;display:flex}.starter-check input{width:1rem;min-height:1rem}.crop-search{border-bottom:1px solid var(--line);gap:.4rem;padding:1.25rem;display:grid}.crop-list{max-height:36rem;overflow-y:auto}.crop-row{border-bottom:1px solid var(--line);grid-template-columns:1fr minmax(10rem,13rem);align-items:center;gap:1rem;padding:.85rem 1.25rem;display:grid}.crop-row:last-child{border-bottom:0}.crop-row.selected{background:#dce8be40}.crop-row>div{display:grid}.crop-row a{color:var(--ink);font-family:var(--font-display);font-size:1.1rem;font-weight:700}.crop-row>div>span{color:var(--ink-soft);font-size:.68rem}.crop-row>div>.viability-note{flex-wrap:wrap;gap:.3rem;margin-top:.25rem;font-size:.66rem;display:flex}.viability-note strong{color:var(--forest)}.viability-note.marginal strong,.viability-note.poor strong{color:var(--clay-dark)}.show-more-crops{border:0;border-top:1px solid var(--line);background:var(--paper);width:100%;color:var(--forest);padding:.9rem;font-weight:800}.crop-row select{min-height:2.5rem;padding:.45rem .6rem;font-size:.78rem}.crop-row .vine-choice{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:minmax(12rem,1fr) minmax(12rem,.8fr) minmax(9rem,.55fr);align-items:center;gap:.65rem;padding-top:.75rem;display:grid}.vine-choice>div{display:grid}.vine-choice strong{font-size:.76rem}.vine-choice small{color:var(--ink-soft);font-size:.65rem}.vine-choice .vine-warning{color:var(--clay-dark);grid-column:2/-1}.goal-list{gap:.7rem}.goal-card{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:auto auto 1fr;align-items:center;gap:.8rem;padding:1rem;display:grid}.goal-card:hover,.goal-card.selected{border-color:var(--forest);background:#dce8be40}.goal-card input{opacity:0;position:absolute}.goal-check{border:1px solid var(--line-strong);border-radius:50%;width:1.15rem;height:1.15rem}.goal-card.selected .goal-check{border:4px solid var(--forest)}.goal-card>span:last-child{display:grid}.goal-card strong{font-family:var(--font-display);font-size:1.15rem}.goal-card small{color:var(--ink-soft)}.goal-card input:focus-visible+.goal-check{outline:3px solid var(--clay);outline-offset:3px}.goal-review{border-top:1px solid var(--line);margin-top:.4rem;padding-top:1.2rem;display:grid}.goal-review span{color:var(--ink-soft);font-size:.8rem}.extra-planting-control{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#dce8be2e;gap:.45rem;padding:1rem;display:grid}.extra-planting-control label{font-weight:750}.extra-planting-control small{color:var(--ink-soft);line-height:1.5}.planner-actions{border-top:1px solid var(--line);justify-content:space-between;padding-top:1.25rem;display:flex}.planner-loading,.empty-result{min-height:30rem;color:var(--ink-soft);text-align:center;place-items:center;display:grid}.empty-result{align-content:center;gap:1rem}.result-content{padding-top:3rem}.result-hero{justify-content:space-between;align-items:end;gap:2rem;display:flex}.result-hero h2{max-width:18ch;margin-top:.7rem;font-size:clamp(2.4rem,5vw,4.2rem)}.result-hero p{max-width:48rem;color:var(--ink-soft);margin-top:1rem}.result-summary{grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2.5rem;padding:1.5rem;display:grid}.result-section{margin-top:4rem}.result-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.2rem;display:flex}.result-heading h3{margin-top:.2rem;font-size:2rem}.warning-section{border-radius:var(--radius);background:var(--warning-bg);border:1px solid #d3b788;padding:1.3rem}.warning-section .result-heading{margin-bottom:.7rem}.warning-section ul{margin:0;padding-left:1.2rem}.warning-section li+li{margin-top:.4rem}.allocation-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;display:grid}.allocation-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:1.1rem}.allocation-card header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.allocation-card header>div{display:grid}.allocation-card header a{color:var(--ink);font-family:var(--font-display);font-size:1.25rem;font-weight:700}.allocation-card header div span{color:var(--ink-soft);font-size:.75rem}.area-pill{background:var(--leaf-light);color:var(--forest);border-radius:999px;padding:.25rem .5rem;font-size:.68rem;font-weight:800}.coverage-track{background:var(--line);border-radius:999px;height:4px;margin-block:1rem}.coverage-track span{border-radius:inherit;background:var(--leaf);max-width:100%;height:100%;display:block}.allocation-card dl{margin:0}.allocation-card dl div{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;padding-block:.45rem;display:flex}.allocation-card dt{color:var(--ink-soft);font-size:.72rem}.allocation-card dd{text-align:right;font-size:.75rem;font-weight:700}.layout-intro{max-width:58rem;color:var(--ink-soft);margin-bottom:1.4rem;font-size:.86rem}.garden-plan-overview{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);margin-bottom:1.4rem;overflow:hidden}.garden-plan-overview>header{justify-content:space-between;align-items:start;gap:1rem;padding:1rem 1.15rem;display:flex}.garden-plan-overview>header span{color:var(--clay-dark);letter-spacing:.1em;text-transform:uppercase;font-size:.64rem;font-weight:800}.garden-plan-overview h4{font-family:var(--font-display);font-size:1.25rem}.garden-height-key{color:var(--ink-soft);flex-wrap:wrap;justify-content:end;gap:.45rem .8rem;margin:0;padding:0;font-size:.66rem;font-weight:700;list-style:none;display:flex}.garden-height-key li{align-items:center;gap:.3rem;display:flex}.garden-height-key i{border:1px solid #173f3540;border-radius:.18rem;width:.75rem;height:.75rem}.garden-height-key i.tall,.garden-height-zone.tall{fill:#d8aa89;background:#d8aa89}.garden-height-key i.medium,.garden-height-zone.medium{fill:#d9c982;background:#d9c982}.garden-height-key i.low,.garden-height-zone.low{fill:#b8d0a2;background:#b8d0a2}.garden-overview-shell{border-block:1px solid var(--line);background:#eee8d9;min-height:14rem;padding:.7rem;overflow:auto}.garden-overview-svg{width:100%;min-width:32rem;max-height:32rem;display:block}.garden-overview-ground{fill:url(#result-garden-grid);stroke:#173f3557;stroke-width:.04px}.result-garden-grid-line{fill:none;stroke:#173f3533;stroke-width:.025px}.garden-overview-north path{fill:none;stroke:var(--forest);stroke-linecap:round;stroke-linejoin:round;stroke-width:.1px}.garden-overview-north text{fill:var(--forest);font-family:var(--font-sans);letter-spacing:.08em;font-size:.42px;font-weight:900}.garden-overview-bed-base{fill:#e8e1cf;stroke:var(--forest);stroke-width:.08px}.garden-height-zone{fill-opacity:.83;stroke:#173f3538;stroke-width:.025px}.garden-overview-path{fill:#d6c8ad;stroke:#9c8969;stroke-dasharray:.18 .1;stroke-width:.04px}.garden-overview-trellis{stroke:var(--clay-dark);stroke-dasharray:.18 .1;stroke-width:.15px}.garden-overview-bed-name{fill:var(--forest);stroke:#ffffffe6;stroke-width:.12px;paint-order:stroke;font-family:var(--font-sans);font-size:.3px;font-weight:900}.garden-shade-checks{gap:.5rem;margin:0;padding:.85rem 1.15rem 1rem;list-style:none;display:grid}.garden-shade-checks li{border-left:3px solid var(--leaf-dark);grid-template-columns:minmax(10rem,.35fr) 1fr;gap:.7rem;padding-left:.7rem;font-size:.73rem;display:grid}.garden-shade-checks li.review{border-left-color:var(--clay-dark)}.garden-shade-checks span{color:var(--ink-soft)}.bed-layout-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,28rem),1fr));gap:1rem;display:grid}.bed-layout-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);overflow:hidden}.bed-layout-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:1rem;padding:1rem 1.15rem;display:flex}.bed-layout-header>div{display:grid}.bed-layout-header span{color:var(--clay-dark);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:800}.bed-layout-header h4{font-family:var(--font-display);font-size:1.35rem}.bed-layout-header>strong{color:var(--ink-soft);text-align:right;font-size:.7rem}.bed-map-shell{background:radial-gradient(circle at 50% 15%,#dce8be40,#0000 55%),#f3efe5;place-items:center;min-height:14rem;padding:1rem;display:grid;position:relative;overflow:hidden}.map-expand-button{z-index:2;color:var(--forest);box-shadow:var(--shadow-sm);background:#fffdf7f0;border:1px solid #173f3559;border-radius:999px;padding:.4rem .65rem;font-size:.68rem;font-weight:800;position:absolute;top:.65rem;right:.65rem}.bed-map-shell.expanded{z-index:1000;border:1px solid var(--line-strong);border-radius:var(--radius);overscroll-behavior:contain;justify-content:center;align-items:center;display:flex;position:fixed;inset:.5rem;overflow:auto;box-shadow:0 0 0 100vmax #101f1bb8}.bed-map-shell.expanded .bed-layout-svg{width:auto;min-width:min(70rem,100vw - 3rem);max-width:none;height:calc(100vh - 3rem);max-height:none}.bed-layout-svg{width:100%;max-height:34rem;overflow:visible}.bed-outline{fill:#e8e1cf;stroke:var(--forest);stroke-width:3px}.bed-outline.container{fill:#e1dac8;stroke-width:4px}.bed-outline.overlay{fill:none;pointer-events:none}.crop-section{stroke-width:1.35px;stroke-opacity:.62;vector-effect:non-scaling-stroke}.crop-section.perennial-zone{stroke-width:3px;stroke-dasharray:7 3;stroke-opacity:.95}.foot-grid{stroke:#173f3547;stroke-width:1px;vector-effect:non-scaling-stroke}.foot-grid.minor{stroke:#173f3521;stroke-dasharray:2 4}.foot-grid.major{stroke-dasharray:5 4;stroke-width:1.2px}.access-path{fill:#d6c8ad;fill-opacity:.96;stroke:#9c8969;stroke-dasharray:5 4;stroke-width:1.25px;vector-effect:non-scaling-stroke}.plant-spacing-halo{fill-opacity:.32;stroke-opacity:.35;stroke-width:.8px;vector-effect:non-scaling-stroke}.plant-symbol{fill-opacity:.9}.plant-vine{fill:none;stroke-linecap:round;stroke-width:1.4px;vector-effect:non-scaling-stroke}.temporary-support-symbol{fill:none;stroke:var(--clay-dark);stroke-dasharray:3 2;stroke-width:1.4px;vector-effect:non-scaling-stroke}.temporary-support-symbol.stake{stroke-dasharray:none;stroke-width:1.8px}.zone-badge circle{fill:var(--paper);stroke:var(--forest);stroke-width:2px}.zone-badge text{fill:var(--forest);font-family:var(--font-sans);font-size:12px;font-weight:900}.zone-badge.radial text{font-size:10px}.trellis-line line{stroke:var(--clay-dark);stroke-width:3px}.trellis-line text{fill:var(--clay-dark);font-family:var(--font-sans);letter-spacing:.12em;font-size:11px;font-weight:900}.spill-line line{stroke:var(--leaf-dark);stroke-dasharray:7 5;stroke-width:3px}.spill-line text{fill:var(--leaf-dark);font-family:var(--font-sans);letter-spacing:.1em;font-size:10px;font-weight:900}.cardinal-labels text{fill:var(--forest);font-family:var(--font-sans);font-size:16px;font-weight:900}.movable-trellis-line line{stroke:#785637;stroke-width:2.2px;stroke-linecap:round;vector-effect:non-scaling-stroke}.movable-trellis-line>line:first-child{stroke-width:3.4px}.bed-zone-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:.4rem 1.15rem .8rem;list-style:none;display:grid}.bed-zone-list li{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;align-items:start;gap:.65rem;min-width:0;padding:.75rem .55rem .75rem 0;display:grid}.zone-key{width:1.65rem;height:1.65rem;color:var(--forest);border:1px solid #173f3547;border-radius:50%;place-items:center;font-size:.68rem;font-weight:900;display:grid}.bed-zone-list li>div{min-width:0;display:grid}.bed-zone-list strong{font-size:.8rem}.perennial-pill{border:1px solid var(--leaf-dark);width:fit-content;color:var(--forest);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-block:.16rem;padding:.08rem .34rem;font-size:.56rem;font-style:normal;font-weight:900}.space-fill-pill{color:#72552d;letter-spacing:.04em;text-transform:uppercase;border:1px solid #9a7742;border-radius:999px;width:fit-content;margin-block:.16rem;padding:.08rem .34rem;font-size:.56rem;font-style:normal;font-weight:900}.bed-zone-list li div>span,.bed-zone-list small{color:var(--ink-soft);font-size:.67rem}.bed-zone-list small{margin-top:.15rem}.bed-layout-card>footer{border-top:1px solid var(--line);color:var(--ink-soft);padding:.7rem 1.15rem;font-size:.68rem;font-weight:700}.empty-bed-layout{color:var(--ink-soft);padding:2rem 1.15rem}.timeline{border-block:1px solid var(--line)}.timeline-row{border-bottom:1px solid var(--line);grid-template-columns:5rem auto 1fr;align-items:start;gap:1rem;padding-block:.8rem;display:grid}.succession-handoffs{border:1px solid var(--line);border-radius:var(--radius);background:#dce8be38;gap:.55rem;margin-top:1.2rem;padding:1rem;display:grid}.succession-handoffs h4{font-family:var(--font-display)}.succession-handoffs>p{color:var(--ink-soft);font-size:.75rem}.succession-handoffs ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.succession-handoffs li{border-top:1px solid var(--line);grid-template-columns:minmax(8rem,.55fr) 1fr;gap:.15rem .75rem;padding-top:.5rem;display:grid}.succession-handoffs li small{color:var(--ink-soft);grid-column:2}.timeline-row:last-child{border-bottom:0}.timeline-row time{color:var(--ink-soft);font-size:.75rem;font-weight:700}.task-dot{background:var(--leaf);border-radius:50%;width:.75rem;height:.75rem;margin-top:.35rem}.task-dot.startIndoors{background:#8e75a8}.task-dot.transplant{background:var(--clay)}.task-dot.harvest{background:var(--forest)}.timeline-row>div{display:grid}.timeline-row strong{font-size:.86rem}.timeline-row div span{color:var(--ink-soft);font-size:.72rem}.value-section{border-radius:var(--radius);background:var(--forest);color:#fff;padding:clamp(1.5rem,4vw,2.5rem)}.value-section .result-heading span{color:var(--leaf-light)}.value-range{color:#acc1b7;font-family:var(--font-display);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-block:1.5rem;font-size:1.5rem;display:grid}.value-range span:last-child{text-align:right}.value-range strong{color:#fff;font-size:clamp(2rem,5vw,3.7rem)}.value-section p{color:#bdc9c2;font-size:.8rem}.value-section a{color:var(--leaf-light)}.split-section{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.checklist,.assumption-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.checklist li{border-bottom:1px solid var(--line);gap:.6rem;padding-bottom:.55rem;display:flex}.checklist li span{color:var(--forest-2);font-size:1.2rem}.assumption-list{color:var(--ink-soft);padding-left:1rem;font-size:.82rem;list-style:outside}.split-section a{margin-top:1rem;font-size:.82rem;font-weight:800;display:inline-block}.export-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#e8e3d6;grid-template-columns:.8fr 1.2fr;gap:2rem;margin-top:5rem;padding:clamp(1.5rem,4vw,3rem);display:grid}.premium-extra-grid{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.premium-extra-grid>article{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:1.1rem}.premium-extra-grid h4,.rotation-notes h4{font-family:var(--font-display);font-size:1.15rem}.premium-extra-grid p{color:var(--ink-soft);margin-block:.4rem .9rem;font-size:.78rem}.premium-extra-grid.locked{opacity:.68}.saved-plans{gap:.35rem;display:grid}.saved-plans button{border:0;border-top:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;justify-content:space-between;gap:.8rem;padding:.45rem 0;display:flex}.saved-plans button span{color:var(--ink-soft);font-size:.67rem}.comparison-table,.rotation-notes{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);margin-top:.8rem;padding:1rem}.rotation-notes p{color:var(--ink-soft);margin-top:.45rem;font-size:.78rem}.export-copy h3{margin-top:.8rem;font-size:2rem}.export-copy>p{color:var(--ink-soft);margin-block:.8rem 1.3rem}.export-copy>small{color:var(--ink-soft);margin-top:.7rem;display:block}.license-form{margin-top:1.5rem}.license-form>div{margin-top:.35rem;display:flex}.license-form input{border-radius:var(--radius-sm) 0 0 var(--radius-sm);font-size:.75rem}.license-form button{border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--forest);color:#fff;border:0;padding-inline:.8rem;font-weight:800}.license-message{font-size:.75rem;color:var(--clay-dark)!important}.export-actions{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.export-actions button{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);text-align:left;grid-template-columns:auto 1fr;align-content:center;gap:0 .7rem;padding:1rem;display:grid}.export-actions button:hover{border-color:var(--forest)}.export-actions button>span{border-radius:var(--radius-sm);background:var(--leaf-light);width:2.4rem;height:2.4rem;color:var(--forest);grid-row:span 2;place-items:center;font-size:.65rem;font-weight:900;display:grid}.export-actions button strong{font-size:.8rem}.export-actions button em{color:var(--ink-soft);font-size:.68rem}.result-bottom{justify-content:flex-end;gap:.7rem;margin-top:2rem;display:flex}@media (width<=850px){.planner-step,.export-card{grid-template-columns:1fr}.step-intro{position:static}.stepper{grid-template-columns:repeat(3,1fr)}.stepper button:nth-child(3){border-right:0}.stepper button:nth-child(-n+3){border-bottom:1px solid var(--line)}}@media (width<=650px){.planner-shell{width:min(100% - 1.5rem,72rem)}.planner-top,.result-hero,.result-heading{flex-direction:column;align-items:start}.stepper button{border-bottom:1px solid var(--line);justify-content:center;font-size:0;display:flex}.stepper button span{font-size:.7rem}.field-grid,.segmented-field,.result-summary,.allocation-grid,.split-section,.export-actions,.premium-extra-grid,.bed-zone-list{grid-template-columns:1fr}.garden-plan-overview>header{flex-direction:column}.garden-overview-svg{min-width:100%}.garden-height-key{justify-content:start}.garden-shade-checks li{grid-template-columns:1fr;gap:.2rem}.trellis-edge-field>div{grid-template-columns:1fr}.garden-arrangement>header{flex-direction:column;align-items:stretch}.garden-arrangement>header button{width:fit-content}.garden-coordinate-editor>div{grid-template-columns:1fr}.crop-row{grid-template-columns:1fr;gap:.5rem}.starter-guide-grid,.temporary-supports{grid-template-columns:1fr!important}.succession-handoffs li{grid-template-columns:1fr}.succession-handoffs li small{grid-column:auto}.crop-row .vine-choice{grid-template-columns:1fr}.vine-choice .vine-warning{grid-column:auto}.result-summary .stat{border-top:1px solid var(--line);border-left:0;padding-top:.8rem;padding-left:0}.result-summary .stat:first-child{border-top:0}.value-range{text-align:center;grid-template-columns:1fr}.value-range span:last-child{text-align:center}.timeline-row{grid-template-columns:4rem auto 1fr;gap:.55rem}.result-bottom{flex-direction:column}}@media print{.planner-shell{width:100%;padding:0}.planner-top{display:block}.result-section{margin-top:1.5rem}.allocation-grid{grid-template-columns:1fr 1fr}.bed-layout-grid{grid-template-columns:1fr}.bed-layout-card,.garden-plan-overview{break-inside:avoid;box-shadow:none}.bed-map-shell{background:#fff;min-height:0}.bed-outline,.bed-outline.container,.crop-section,.foot-grid,.plant-spacing-halo,.plant-symbol,.plant-vine,.zone-badge circle,.trellis-line line,.movable-trellis-line line,.spill-line line{print-color-adjust:exact}}
