@font-face{font-family: "Bitter";src: url("fonts/bitter-latin.woff2") format("woff2");font-weight: 500 700;font-style: normal;font-display: swap}:root{--paper: #f4f1e8;--surface: #fffdf7;--sunk: #ece8db;--ink: #232a22;--muted: #5d6558;--line: #d9d3c2;--line-strong: #b9b29d;--soil: #5e4331;--soil-dark: #47321f;--mulch: #6b4e3a;--leaf: #4f6b45;--leaf-deep: #36502f;--leaf-pale: #e4ebdb;--bloom: #6e52a8;--bloom-deep: #5a4190;--bloom-pale: #f1edf8;--sun: #f2c230;--warn: #8a3a1c;--warn-pale: #f6e7dc;--poor: #a3261f;--fair: #5c4a12;--fair-pale: #f1ead2;--font-heading: "Bitter",Georgia,"Times New Roman",serif;--font-body: system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-data: ui-monospace,"Cascadia Mono","SF Mono",Menlo,Consolas,monospace;--radius: 8px;--radius-small: 5px;--shadow: 0 1px 2px rgba(35,42,34,0.05),0 5px 16px rgba(35,42,34,0.05);--bar: 3.25rem;--tabs: 3.6rem;--page: 88rem;--gutter: 1.25rem}*{box-sizing: border-box}[hidden]{display: none !important}html{-webkit-text-size-adjust: 100%}body{margin: 0;background: var(--paper);color: var(--ink);font-family: var(--font-body);font-size: 1rem;line-height: 1.45}h1,h2,h3,h4,legend,.field > label{font-family: var(--font-heading)}main{max-width: var(--page);margin: 0 auto;padding: 1rem var(--gutter) 2.5rem}:focus-visible{outline: 3px solid var(--bloom);outline-offset: 2px}.visually-hidden{position: absolute;width: 1px;height: 1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap}.sprite{position: absolute}.icon{flex: none;width: 1.15em;height: 1.15em;fill: none;stroke: currentColor;stroke-width: 1.9;stroke-linecap: round;stroke-linejoin: round}button{font: inherit;cursor: pointer}.primary{display: inline-flex;align-items: center;gap: 0.5rem;background: var(--bloom);color: #fff;border: 0;border-radius: var(--radius-small);padding: 0.65rem 1.3rem;font-weight: 700;box-shadow: 0 1px 0 rgba(35,42,34,0.25)}.primary:hover{background: var(--bloom-deep)}.primary:disabled{background: var(--line);color: var(--muted);box-shadow: none;cursor: not-allowed}.quiet{display: inline-flex;align-items: center;gap: 0.4rem;background: var(--surface);border: 1px solid var(--line-strong);border-radius: var(--radius-small);padding: 0.4rem 0.8rem;color: var(--ink)}.quiet:hover{background: var(--sunk)}.quiet:disabled{color: var(--muted);background: transparent;cursor: not-allowed}.small{padding: 0.25rem 0.6rem;font-size: 0.85rem}.icon-button{padding: 0.35rem}.field{border: 0;margin: 0 0 1.1rem;padding: 0;min-width: 0}.field:last-child{margin-bottom: 0}.field > label,legend{display: block;font-size: 1rem;font-weight: 500;margin-bottom: 0.4rem;padding: 0}.hint{margin: 0.35rem 0 0;font-size: 0.84rem;color: var(--muted)}select,input[type="number"]{font: inherit;color: inherit;background: var(--surface);border: 1px solid var(--line-strong);border-radius: var(--radius-small);padding: 0.42rem 0.6rem}select{width: 100%}.segmented{display: flex;border: 1px solid var(--line-strong);border-radius: var(--radius-small);background: var(--surface);overflow: hidden}.segment{position: relative;flex: 1 1 auto;display: grid;text-align: center;font-size: 0.88rem;line-height: 1.2}.segment + .segment{border-left: 1px solid var(--line)}.segment input{position: absolute;inset: 0;width: 100%;height: 100%;margin: 0;opacity: 0;cursor: pointer}.segment span{display: grid;place-items: center;padding: 0.5rem 0.4rem}.segment:has(input:checked) span{background: var(--leaf);color: #fff;font-weight: 600}.segment:has(input:focus-visible){outline: 3px solid var(--bloom);outline-offset: -3px}.choices{display: flex;flex-wrap: wrap;gap: 0.3rem}.choice{display: inline-flex;align-items: center;gap: 0.35rem;padding: 0.28rem 0.7rem;border: 1px solid var(--line-strong);border-radius: 999px;background: var(--surface);cursor: pointer;font-size: 0.86rem;white-space: nowrap}.choice input{accent-color: var(--leaf);margin: 0}.choice:has(input:checked){border-color: var(--leaf);background: var(--leaf-pale)}.swatch{display: inline-block;flex: none;width: 0.78rem;height: 0.78rem;border-radius: 50%;border: 1px solid rgba(35,42,34,0.45);vertical-align: -0.08em}.numbers{display: grid;grid-template-columns: repeat(auto-fit,minmax(5.4rem,1fr));gap: 0.4rem;margin: 0}.number{padding: 0.3rem 0.6rem 0.35rem;background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius-small)}.number dt{font-size: 0.66rem;font-weight: 600;letter-spacing: 0.07em;text-transform: uppercase;color: var(--muted);white-space: nowrap}.number dd{margin: 0;font-family: var(--font-data);font-size: 1.05rem;font-weight: 600;font-variant-numeric: tabular-nums;white-space: nowrap}.number .unit{font-family: var(--font-body);font-size: 0.76rem;font-weight: 400;color: var(--muted)}.eyebrow{margin: 0 0 0.2rem;font-size: 0.68rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--leaf-deep)}.botanical{margin: 0;font-style: italic;font-size: 0.86rem;color: var(--muted)}.app-bar{position: sticky;top: 0;z-index: 20;display: flex;align-items: center;gap: 1rem;height: calc(var(--bar) + env(safe-area-inset-top));padding: env(safe-area-inset-top) max(var(--gutter),env(safe-area-inset-right)) 0 max(var(--gutter),env(safe-area-inset-left));background: var(--leaf-deep);color: #fff}.brand{display: flex;align-items: center;gap: 0.55rem;color: inherit;text-decoration: none}.brand-mark{width: 1.9rem;height: 1.9rem;flex: none}.brand-text{display: flex;flex-direction: column;line-height: 1.1}.brand-name{font-family: var(--font-heading);font-size: 1.2rem;font-weight: 700;letter-spacing: -0.01em;white-space: nowrap}.brand-o{display: inline-block;color: #cdbcea;animation: bloom-open 0.5s ease-out backwards}.brand-o:nth-child(3n + 2){color: #f0d24a}.brand-o:nth-child(3n){color: #f2a3c3}.brand-o:nth-child(1){animation-delay: 0.20s}.brand-o:nth-child(2){animation-delay: 0.27s}.brand-o:nth-child(3){animation-delay: 0.34s}.brand-o:nth-child(4){animation-delay: 0.41s}.brand-o:nth-child(5){animation-delay: 0.48s}.brand-o:nth-child(6){animation-delay: 0.55s}.brand-o:nth-child(7){animation-delay: 0.62s}.brand-o:nth-child(8){animation-delay: 0.69s}.brand:hover .brand-o{animation-name: bloom-again}@keyframes bloom-open{from{transform: scale(0)}70%{transform: scale(1.3)}to{transform: scale(1)}}@keyframes bloom-again{from{transform: scale(1)}50%{transform: scale(1.4)}to{transform: scale(1)}}.brand-tag{font-size: 0.68rem;color: rgba(255,255,255,0.75);white-space: nowrap}.steps{display: flex;gap: 0.3rem;margin: 0 auto}.step{display: flex;align-items: center;gap: 0.45rem;padding: 0.3rem 0.85rem 0.3rem 0.35rem;border: 0;border-radius: 999px;background: transparent;color: rgba(255,255,255,0.86);font-weight: 600;white-space: nowrap}.step:hover:not(:disabled){background: rgba(255,255,255,0.12)}.step[aria-current]{background: var(--paper);color: var(--leaf-deep)}.step:disabled{opacity: 0.5;cursor: not-allowed}.step-number{display: grid;place-items: center;width: 1.5rem;height: 1.5rem;border: 1.5px solid currentColor;border-radius: 50%;font-family: var(--font-data);font-size: 0.8rem}.app-bar :focus-visible{outline-color: #fff}.bar-button{background: transparent;border-color: rgba(255,255,255,0.4);color: #fff;font-size: 0.9rem;white-space: nowrap}.bar-button:hover{background: rgba(255,255,255,0.12)}.view-head{display: flex;flex-wrap: wrap;align-items: baseline;gap: 0.1rem 0.75rem}.view-head h1{margin: 0;font-size: 1.3rem;font-weight: 700}.view-head p{margin: 0;font-size: 0.9rem;color: var(--muted)}.setup{display: grid;grid-template-columns: minmax(17rem,21rem) minmax(0,1fr);gap: 1.25rem;align-items: start;margin-top: 0.7rem}.settings,.bed-area{background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius);box-shadow: var(--shadow);padding: 1rem 1.1rem}.size-inputs{display: flex;flex-wrap: wrap;gap: 0.6rem 1rem}.size-inputs label{display: flex;flex-direction: column;font-size: 0.84rem;color: var(--muted)}.size-inputs input{width: 5.5rem;margin-top: 0.15rem;font-family: var(--font-data)}.bed-toolbar{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;gap: 0.6rem 1rem;margin-bottom: 0.8rem}.bed-toolbar p{margin: 0;font-size: 0.92rem}.toolbar-buttons{display: flex;gap: 0.5rem}.bed-stage{display: flex;flex-wrap: wrap;align-items: flex-start;gap: 0.9rem 1.5rem}.bed-facts{flex: 1 1 15rem;max-width: 34rem}.bed-frame{max-width: 100%;display: grid;grid-template-columns: auto minmax(0,calc(var(--cols) * 2.45rem)) auto;grid-template-rows: auto auto auto;justify-content: start;grid-template-areas: ". top ." "left bed right" ". bottom .";gap: 0.4rem}.grid{grid-area: bed;align-self: center;display: grid;grid-template-columns: repeat(var(--cols),minmax(0,1fr));gap: 2px;background: var(--line);border: 2px solid var(--line);border-radius: 4px;width: 100%;touch-action: none;user-select: none}.square{aspect-ratio: 1;min-width: 0;padding: 0;border: 0;background: var(--surface);cursor: crosshair}.square:hover{background: var(--sunk)}.square.in-bed{background-color: var(--soil);background-image: radial-gradient(rgba(255,255,255,0.12) 1px,transparent 1.5px);background-size: 6px 6px}.square.in-bed:hover{background-color: var(--soil-dark)}.edge-label{text-align: center;font-size: 0.82rem;padding: 0.25rem 0.6rem;border-radius: 4px;align-self: center}.edge-label.front{background: var(--leaf);color: #fff;font-weight: 600}.edge-label.back{color: var(--muted);border: 1px dashed var(--line-strong)}.edge-label.vertical{writing-mode: vertical-rl;padding: 0.6rem 0.25rem}.bed-facts .numbers{grid-template-columns: repeat(2,minmax(0,1fr))}.bed-brief{margin: 0.7rem 0 0;padding-left: 0.75rem;border-left: 3px solid var(--leaf);font-size: 0.9rem}.next-step{position: sticky;bottom: 0;display: flex;flex-wrap: wrap;align-items: center;justify-content: flex-end;gap: 0.6rem 1rem;margin: 0.7rem -1.1rem -1rem;padding: 0.6rem 1.1rem;background: var(--surface);border-top: 1px solid var(--line);border-radius: 0 0 var(--radius) var(--radius)}.next-step .hint{margin: 0;margin-right: auto}.workspace{display: grid;grid-template-columns: minmax(0,1.2fr) minmax(23rem,0.8fr);gap: 1.25rem;align-items: start}.map-pane{position: sticky;top: calc(var(--bar) + 0.75rem);display: flex;flex-direction: column;gap: 0.55rem;min-width: 0}.plan-head{display: flex;flex-wrap: wrap;align-items: baseline;gap: 0.1rem 0.75rem}.plan-head h1{margin: 0;font-size: 1.3rem;font-weight: 700}.plan-head p{margin: 0;font-size: 0.88rem;color: var(--muted)}.map-switch{margin-left: auto;align-self: center}.map-switch .segment span{padding: 0.3rem 0.75rem;white-space: nowrap}.size-box{display: inline-flex;align-items: center;gap: 0.35rem;color: var(--ink);font-size: 0.9rem}.size-box input{width: 5.2rem}.unit-toggle{flex: none;background: transparent;border-color: rgba(255,255,255,0.35)}.unit-toggle .segment span{padding: 0.28rem 0.55rem;color: rgba(255,255,255,0.85);font-family: var(--font-data);font-size: 0.82rem}.unit-toggle .segment + .segment{border-left-color: rgba(255,255,255,0.35)}.unit-toggle .segment:has(input:checked) span{background: rgba(255,255,255,0.9);color: var(--leaf-deep)}.plan-map svg:not(.eye-view) .plan-plant{cursor: grab}.plan-map svg{-webkit-user-select: none;user-select: none}.plan-map svg.moving-plants,.plan-map svg.moving-plants .plan-plant{cursor: grabbing}.plan-plant.dragging > circle:first-of-type{stroke: #ffffff}.plan-plant.menu-target > circle:first-of-type{stroke: #ffffff}.eye-plant.menu-target{filter: brightness(1.3) saturate(1.2)}.plan-plant.leaving{opacity: 0.3}.plan-marker{fill: none;stroke: #ffffff;stroke-width: 1.6;stroke-dasharray: 4 3;pointer-events: none}.plan-map svg:not(.eye-view) .plan-plant.locked{cursor: pointer}.plan-plant.troubled .plan-marker{stroke: #d0342c;stroke-width: 2.4}.plan-edits{display: flex;flex-wrap: wrap;align-items: center;gap: 0.3rem 0.6rem;padding: 0.3rem 0.5rem;font-size: 0.84rem;background: var(--bloom-pale);border: 1px solid var(--line);border-radius: var(--radius-small)}.plan-edits p{flex: 1 1 12rem;margin: 0}.edit-buttons{display: flex;flex-wrap: wrap;align-items: center;gap: 0.3rem}.edit-buttons .quiet{white-space: nowrap}.move-what .segment span{padding: 0.24rem 0.55rem;font-size: 0.8rem;white-space: nowrap}.plant-action{display: inline-flex;align-items: center;gap: 0.25rem;flex: none;padding: 0.15rem 0.45rem;font: inherit;font-size: 0.78rem;color: var(--muted);background: transparent;border: 1px solid var(--line);border-radius: 999px;cursor: pointer;white-space: nowrap}.plant-action:hover{border-color: var(--line-strong);color: var(--ink)}.keep-toggle[aria-pressed="true"]{color: #fff;background: var(--bloom);border-color: var(--bloom)}.add-to-bed{color: var(--leaf-deep);border-color: var(--leaf)}.add-to-bed:hover{background: var(--leaf-pale);border-color: var(--leaf);color: var(--leaf-deep)}.plant-action.icon-only{padding: 0.3rem;border-color: transparent}.plant-action.icon-only:last-child{margin-right: 0.4rem}.plant-action.icon-only:not([aria-pressed="true"]){opacity: 0.45}.plant-action.icon-only:hover,.plant-action.icon-only:focus-visible,.legend-line:hover .plant-action.icon-only{opacity: 1}.plant-action:disabled{opacity: 0.25;cursor: not-allowed}.legend-line{display: flex;align-items: center}.count-buttons{display: inline-flex;flex: none}.count-buttons .plant-action.icon-only:last-child{margin-right: 0}.count-buttons .plant-action.icon-only:not(:disabled){opacity: 0.8}.legend-line:hover .plant-action.icon-only:disabled{opacity: 0.25}.context-menu{position: fixed;z-index: 30;min-width: 13rem;max-width: min(20rem,calc(100vw - 8px));padding: 0.3rem;background: var(--surface);border: 1px solid var(--line-strong);border-radius: var(--radius);box-shadow: 0 2px 6px rgba(35,42,34,0.12),0 10px 28px rgba(35,42,34,0.18);font-size: 0.9rem}.context-menu:focus{outline: none}.menu-head{margin: 0;padding: 0.3rem 0.6rem 0.35rem;font-size: 0.78rem;color: var(--muted)}.menu-item{display: flex;align-items: flex-start;gap: 0.55rem;width: 100%;padding: 0.42rem 0.6rem;font: inherit;text-align: left;color: var(--ink);background: none;border: 0;border-radius: var(--radius-small);cursor: pointer}.menu-item .icon{margin-top: 0.1em;color: var(--muted)}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background: var(--leaf-pale);outline: none}.menu-item:disabled{color: var(--muted);cursor: default}.menu-label{display: flex;flex-direction: column}.menu-why{font-size: 0.78rem}.menu-rule{margin: 0.3rem 0.3rem;border: 0;border-top: 1px solid var(--line)}.legend-line .legend-item{flex: 1;min-width: 0}.notes-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.4rem 0.6rem}.notes-name{flex: 1 1 9rem;min-width: 0}.notes-actions{display: flex;flex-wrap: wrap;justify-content: flex-end;gap: 0.3rem}.trouble-note{color: var(--poor)}.map-pane:has(.notes.swapping) .plan-map svg{max-height: 38vh;max-height: 38dvh}.notes.swapping{max-height: max(14rem,calc(62vh - 20rem));max-height: max(14rem,calc(62dvh - 20rem));min-height: 0 !important}.swap-list{list-style: none;margin: 0.4rem 0 0;padding: 0;border: 1px solid var(--line);border-radius: var(--radius-small);overflow: hidden}.swap-list li + li{border-top: 1px solid var(--line)}.swap-option{display: grid;grid-template-columns: 3.4rem minmax(0,1fr);gap: 0 0.6rem;align-items: start;width: 100%;padding: 0.4rem 0.55rem;text-align: left;color: var(--ink);background: var(--surface);border: 0}.swap-option:hover{background: var(--paper)}.swap-option[aria-pressed="true"]{background: var(--bloom-pale);box-shadow: inset 3px 0 0 var(--bloom);cursor: default}.swap-thumb{width: 3.4rem;aspect-ratio: 4 / 3;overflow: hidden;background: var(--paper);border: 1px solid var(--line);border-radius: var(--radius-small)}.swap-text{display: flex;flex-direction: column;min-width: 0}.swap-name{font-weight: 600}.swap-here{margin-left: 0.4rem;padding: 0 0.4rem;border-radius: 999px;background: var(--bloom);color: #fff;font-size: 0.7rem;font-weight: 700;white-space: nowrap}.swap-facts{font-size: 0.8rem;color: var(--muted)}.swap-colours .swatch{margin-right: 0.15rem}.swap-note{font-size: 0.84rem}.swap-warning{display: inline-flex;align-items: center;gap: 0.25rem;font-size: 0.76rem;font-weight: 600;color: var(--warn)}.dev-links{display: flex;gap: 0.7rem;margin: 0.1rem 0 0.2rem;font-size: 0.75rem}.dev-links a{color: var(--bloom-deep)}.problem{max-width: 44rem;margin: 1rem 0;padding: 1rem 1.2rem;background: var(--surface);border: 1px solid var(--line);border-left: 4px solid var(--soil);border-radius: var(--radius)}.problem h1{margin: 0 0 0.4rem;font-size: 1.3rem}.problem p{margin: 0}.plan-tools{display: flex;flex-wrap: wrap;align-items: center;gap: 0.4rem 1.1rem;padding: 0.4rem 0.6rem;background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius)}.seed-note{margin-left: -0.6rem;font-family: var(--font-data);font-size: 0.78rem;color: var(--muted);cursor: help}.tool{display: flex;align-items: center;gap: 0.5rem;font-size: 0.86rem}.tool label{color: var(--muted);white-space: nowrap}.tool output{display: inline-block;min-width: 4.8em;color: var(--bloom-deep);font-weight: 700}#variety-label{min-width: 6.9em}.tool input[type="range"]{width: 6.5rem;margin: 0;accent-color: var(--bloom)}.tools-help{position: relative;margin-left: auto}.tools-help summary{display: grid;place-items: center;width: 1.9rem;height: 1.9rem;border-radius: 50%;color: var(--muted);cursor: pointer;list-style: none}.tools-help summary::-webkit-details-marker{display: none}.tools-help summary:hover,.tools-help[open] summary{background: var(--sunk);color: var(--ink)}.tools-help-body{position: absolute;top: calc(100% + 0.4rem);right: 0;z-index: 5;width: min(24rem,84vw);padding: 0.75rem 0.9rem;background: var(--surface);border: 1px solid var(--line-strong);border-radius: var(--radius);box-shadow: 0 12px 28px rgba(35,42,34,0.18);font-size: 0.86rem}.tools-help-body p{margin: 0 0 0.5rem}.tools-help-body p:last-child{margin: 0}.plan-map svg{display: block;width: 100%;height: auto;min-height: 11rem;max-height: calc(100vh - 22rem);max-height: calc(100dvh - 22rem);background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius);box-shadow: var(--shadow)}.eye-lawn{fill: url(#eye-lawn)}.eye-sky{fill: #e6ecee}.eye-soil{fill: var(--mulch);stroke: var(--mulch);stroke-width: 0.8}.eye-shadow{fill: rgba(35,25,15,0.22)}.eye-line{fill: none;stroke-linecap: round;stroke-linejoin: round}.eye-leaves{stroke: rgba(20,30,18,0.4);stroke-width: 0.6;stroke-linejoin: round}.eye-gaps{opacity: 0.55}.eye-mist{opacity: 0.22}.eye-resting{fill: rgba(60,40,25,0.35)}.eye-stub{fill: #8a6a4e}.eye-reach{fill: transparent}.eye-reach.eye-bare-outline{fill: rgba(122,92,69,0.07)}.eye-season{display: flex;flex-wrap: wrap;align-items: center;gap: 0.3rem 0.8rem;margin: 0 0 0.4rem;font-size: 0.86rem}.eye-season label{color: var(--muted)}.eye-season input[type="range"]{flex: 1 1 10rem;max-width: 22rem;accent-color: var(--bloom)}.eye-when{min-width: 8.5em;color: var(--bloom-deep);font-weight: 700}.eye-all{display: inline-flex;align-items: center;gap: 0.3rem;margin-left: auto;white-space: nowrap}.eye-caption{margin: 0.3rem 0 0;font-size: 0.78rem;color: var(--muted)}.plan-soil{fill: var(--mulch);stroke: rgba(255,255,255,0.13);stroke-width: 0.6}.plan-front{stroke: var(--leaf);stroke-linecap: round}.plan-front-label{fill: var(--leaf-deep);font-family: var(--font-body);font-weight: 600;text-anchor: middle;dominant-baseline: central}.plan-dimension line{stroke: var(--muted)}.plan-dimension-label{fill: var(--muted);font-family: var(--font-data);text-anchor: middle;dominant-baseline: central}.plan-plant{cursor: pointer;transition: opacity 0.15s}.plan-plant.dim{opacity: 0.22}.plan-plant.growing{transform-box: fill-box;transform-origin: center;animation: plant-in 0.32s ease-out backwards;pointer-events: none}@keyframes plant-in{from{opacity: 0;transform: scale(0.4)}}.eye-plant.growing{transform-origin: center bottom;animation-name: plant-up}@keyframes plant-up{from{opacity: 0;transform: scale(0.9,0.2)}}.plan-map,.eye-holder{position: relative}.thinking{position: absolute;top: 0.55rem;left: 0.55rem;z-index: 1;display: flex;align-items: center;gap: 0.5rem;max-width: calc(100% - 1.1rem);padding: 0.3rem 0.75rem 0.3rem 0.6rem;background: var(--surface);border: 1px solid var(--line-strong);border-radius: 999px;box-shadow: var(--shadow);font-size: 0.82rem;font-weight: 600;pointer-events: none;animation: card-in 0.14s ease-out}.thinking.beside-button{position: static;max-width: none;min-width: 0;margin-right: auto}.next-step:has(.thinking) .hint{display: none}.grid.reading{position: relative;overflow: hidden}.grid.reading::after{content: "";position: absolute;inset: 0;background: linear-gradient(100deg,transparent 30%,rgba(255,255,255,0.4) 50%,transparent 70%);animation: bed-read 1.4s ease-in-out infinite;pointer-events: none}@keyframes bed-read{from{transform: translateX(-100%)}to{transform: translateX(100%)}}.thinking-mark{display: flex;gap: 3px}.thinking-mark i{width: 7px;height: 7px;border-radius: 50%;background: var(--bloom);animation: thinking-pulse 0.9s ease-in-out infinite}.thinking-mark i:nth-child(2){background: var(--sun);animation-delay: 0.15s}.thinking-mark i:nth-child(3){background: var(--leaf);animation-delay: 0.3s}@keyframes thinking-pulse{0%,100%{opacity: 0.45;transform: scale(0.6)}40%{opacity: 1;transform: scale(1)}}#plan-numbers,#tab-plan{transition: opacity 0.25s}.planner-thinking #plan-numbers,.planner-thinking #tab-plan{opacity: 0.35}.plan-number{font-family: var(--font-body);font-weight: 700;text-anchor: middle;dominant-baseline: central;pointer-events: none}.plan-symbol{fill: none;stroke-width: 2.4;stroke-linecap: round;stroke-linejoin: round;pointer-events: none}.plan-star{fill: var(--sun);stroke-width: 1.8}.notes{overflow-y: auto;padding: 0.65rem 0.9rem;background: var(--surface);border: 1px solid var(--line);border-left: 4px solid var(--leaf);border-radius: var(--radius);font-size: 0.9rem}.notes h3{margin: 0;font-size: 1.05rem}.notes .note{margin: 0.45rem 0 0}.notes-prompt{margin: 0;color: var(--muted)}.notes-picture{flex: none;width: 2.6rem;height: 2.6rem;object-fit: cover;border-radius: var(--radius-small)}.notes{container-type: inline-size}.why-cards{display: grid;grid-auto-flow: column;grid-auto-columns: 1fr;gap: 0.45rem;margin-top: 0.5rem}@container (max-width: 40rem){.why-cards{grid-auto-flow: row}}.why-card{padding: 0.45rem 0.65rem 0.55rem;background: var(--paper);border: 1px solid var(--line);border-radius: var(--radius-small)}.why-card h4{display: flex;align-items: center;gap: 0.3rem;margin: 0 0 0.3rem;font-family: var(--font-body);font-size: 0.68rem;font-weight: 600;letter-spacing: 0.07em;text-transform: uppercase;color: var(--leaf-deep)}.why-card h4 .icon{width: 0.9rem;height: 0.9rem}.why-point{margin: 0 0 0.4rem;font-size: 0.85rem;line-height: 1.4;color: var(--muted)}.why-point:last-child{margin-bottom: 0}.why-point strong{color: var(--ink)}.side-pane{min-width: 0}.tabs{position: sticky;top: calc(var(--bar) + env(safe-area-inset-top));z-index: 10;display: grid;grid-template-columns: repeat(4,auto);justify-content: start;gap: 0 0.25rem;background: var(--paper);border-bottom: 1px solid var(--line-strong)}.tab{display: flex;align-items: center;gap: 0.4rem;padding: 0.5rem 0.75rem;border: 0;border-bottom: 3px solid transparent;margin-bottom: -1px;background: none;color: var(--muted);font-size: 0.92rem;font-weight: 600;white-space: nowrap}.tab:hover{color: var(--ink)}.tab[aria-current]{color: var(--leaf-deep);border-bottom-color: var(--leaf)}.tab-count{padding: 0 0.4rem;border-radius: 999px;background: var(--sunk);color: var(--muted);font-family: var(--font-data);font-size: 0.72rem;font-weight: 600}.tab-count:empty{display: none}.tab-count.has-poor{background: var(--poor);color: #fff}.tab-panel{padding-top: 0.9rem}.panel-head{display: flex;flex-wrap: wrap;align-items: baseline;justify-content: space-between;gap: 0.2rem 0.75rem;margin: 1.1rem 0 0.5rem}.tab-panel > .panel-head:first-child{margin-top: 0}.panel-head h2{margin: 0;font-size: 1.1rem;font-weight: 700}.panel-actions{display: flex;gap: 0.4rem}.panel-note{margin: 0;font-size: 0.85rem;color: var(--muted)}.panel-intro{margin: 0 0 0.75rem;font-size: 0.9rem;color: var(--muted)}.brief{padding: 0.7rem 0.95rem 0.8rem;background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius);box-shadow: var(--shadow)}.brief-text{margin: 0;font-family: var(--font-heading);font-weight: 500;font-size: 0.94rem;line-height: 1.48}.brief-more{margin-top: 0.35rem;padding: 0;border: 0;background: none;color: var(--bloom-deep);font: inherit;font-size: 0.86rem;font-weight: 600;text-decoration: underline;text-underline-offset: 2px;cursor: pointer}.brief-more:hover{color: var(--bloom)}.schedule{list-style: none;margin: 0;padding: 0;background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius);overflow: hidden}.schedule li + li{border-top: 1px solid var(--line)}.legend-item{display: grid;grid-template-columns: 1.9rem minmax(0,1fr) auto;gap: 0 0.65rem;align-items: center;width: 100%;padding: 0.38rem 0.7rem;text-align: left;color: var(--ink);background: none;border: 0}.legend-item:hover{background: var(--paper)}.legend-item[aria-pressed="true"]{background: var(--bloom-pale);box-shadow: inset 3px 0 0 var(--bloom)}.legend-item.dim{opacity: 0.5}.legend-number{display: grid;place-items: center;width: 1.9rem;height: 1.9rem;border: 3px solid;border-radius: 50%;font-size: 0.85rem;font-weight: 700}.legend-text,.legend-meta{display: flex;flex-direction: column;min-width: 0}.legend-name{font-weight: 600}.legend-popular{margin-left: 0.3rem;cursor: help}.legend-popular .icon{width: 0.95em;height: 0.95em;vertical-align: -0.1em;fill: var(--sun);stroke: var(--ink);stroke-width: 1.4}.legend-botanical{font-size: 0.8rem;font-style: italic;color: var(--muted);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.legend-meta{align-items: flex-end;text-align: right}.legend-count{font-family: var(--font-data);font-weight: 600;white-space: nowrap}.legend-role{font-size: 0.78rem;color: var(--muted);cursor: help}.scorecard{list-style: none;margin: 0;padding: 0;display: flex;flex-wrap: wrap;gap: 0.35rem}.score{display: inline-flex;align-items: center;gap: 0.4rem;padding: 0.22rem 0.65rem 0.22rem 0.25rem;background: var(--surface);border: 1px solid var(--line);border-radius: 999px;color: var(--ink);font-size: 0.82rem}.score:hover{border-color: var(--line-strong);background: var(--sunk)}.score-mark,.check-verdict{border-radius: 999px;font-size: 0.7rem;font-weight: 700;text-align: center}.score-mark{padding: 0.05rem 0.45rem}.verdict-good .score-mark,.verdict-good .check-verdict{background: var(--leaf-pale);color: var(--leaf-deep)}.verdict-fair .score-mark,.verdict-fair .check-verdict{background: var(--fair-pale);color: var(--fair)}.verdict-watch .score-mark,.verdict-watch .check-verdict{background: var(--warn-pale);color: var(--warn);box-shadow: inset 0 0 0 1px var(--warn)}.verdict-poor .score-mark,.verdict-poor .check-verdict{background: var(--poor);color: #fff}.score.verdict-poor{border-color: var(--poor)}.check.verdict-poor{box-shadow: inset 3px 0 0 var(--poor)}.verdict-info .score-mark,.verdict-info .check-verdict{background: var(--paper);color: var(--muted);box-shadow: inset 0 0 0 1px var(--line)}.left-out{margin-top: 1rem;font-size: 0.9rem}.left-out summary{cursor: pointer;color: var(--muted)}.left-out p{margin: 0.5rem 0 0}.left-out h3{margin: 0.75rem 0 0;font-family: var(--font-body);font-size: 0.9rem}.left-out-count{font-weight: 400;color: var(--muted)}.left-out .left-out-names{margin-top: 0.1rem;color: var(--muted)}.check-list{list-style: none;margin: 0;padding: 0;background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius);overflow: hidden}.check-list li + li{border-top: 1px solid var(--line)}.check summary{display: grid;grid-template-columns: 3.6rem minmax(0,1fr);gap: 0.15rem 0.7rem;align-items: baseline;padding: 0.55rem 0.75rem;cursor: pointer;list-style: none}.check summary::-webkit-details-marker{display: none}.check summary:hover{background: var(--paper)}.check-verdict{padding: 0.1rem 0}.check-name{font-family: var(--font-heading);font-weight: 700}.check-finding{grid-column: 2;font-size: 0.92rem}.check-theory{margin: 0 0.75rem 0.75rem 5.05rem;padding: 0.6rem 0.8rem;background: var(--paper);border-left: 3px solid var(--bloom);border-radius: 0 var(--radius-small) var(--radius-small) 0;font-size: 0.9rem}.calendar-row{display: grid;grid-template-columns: minmax(7.5rem,12.5rem) minmax(0,1fr) 1.8rem;align-items: center;gap: 0 0.6rem;padding: 0.15rem 0;border-top: 1px solid var(--line)}.calendar-head{border-top: 0;padding: 0;font-family: var(--font-data);font-size: 0.7rem;color: var(--muted)}.calendar-label strong{display: block;font-size: 0.9rem}.calendar-label span{display: block;font-size: 0.76rem;color: var(--muted)}.calendar-track{position: relative;display: grid;grid-template-columns: repeat(52,minmax(0,1fr));grid-template-rows: 1rem 0.45rem;row-gap: 3px;padding: 0.4rem 0}.calendar-head .calendar-track{grid-template-rows: 1.15rem;padding: 0}.calendar-month{grid-row: 1 / -1;margin: -0.4rem 0;border-left: 1px solid var(--line);padding-left: 0.15rem;overflow: hidden}.calendar-head .calendar-month{margin: 0}.calendar-today{grid-row: 1 / -1;z-index: 2;justify-self: center;width: 2px;background: var(--warn);border-radius: 1px}.calendar-bar,.calendar-foliage,.calendar-cell{z-index: 1}.calendar-bar,.calendar-foliage{border: 1px solid rgba(35,42,34,0.5);border-radius: 3px}.calendar-bar{grid-row: 1}.calendar-foliage{grid-row: 2;border-color: rgba(35,42,34,0.35);border-radius: 2px}.calendar-strip{grid-template-rows: 1rem}.calendar-cell{grid-row: 1;background: var(--bloom)}.calendar-remove{justify-content: center;padding: 0;width: 1.8rem;height: 1.8rem;font-size: 1.05rem;line-height: 1}.search-row{display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem}.search{flex: 1 1 12rem;display: flex;align-items: center;gap: 0.4rem;padding: 0 0.75rem;background: var(--surface);border: 1px solid var(--line-strong);border-radius: 999px;color: var(--muted)}.search:focus-within{outline: 3px solid var(--bloom);outline-offset: 1px}.search input{flex: 1;min-width: 0;padding: 0.45rem 0;border: 0;outline: none;background: none;color: var(--ink);font: inherit}.filters{margin-top: 0.5rem;background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius)}.filters > summary{padding: 0.45rem 0.8rem;cursor: pointer;font-size: 0.9rem;font-weight: 600}.filters-count{font-weight: 400;color: var(--leaf-deep)}.filters-body{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(13rem,100%),1fr));gap: 0.8rem 1.25rem;padding: 0.2rem 0.8rem 0.8rem}.filters .field{margin: 0}.filters legend{font-size: 0.86rem;margin-bottom: 0.3rem}.filter-status{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.4rem 0.8rem;margin: 0.7rem 0 0.5rem;font-size: 0.88rem}.filter-status p{margin: 0}.filter-buttons{display: flex;flex-wrap: wrap;gap: 0.4rem}.plant-list{list-style: none;margin: 0;padding: 0;background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius)}.plant-row{display: grid;grid-template-columns: 4.6rem minmax(0,1fr);grid-template-rows: auto 1fr;gap: 0.3rem 0.75rem;align-items: start;padding: 0.6rem 0.75rem;border-top: 1px solid var(--line);content-visibility: auto;contain-intrinsic-size: auto 6.4rem}.plant-row:first-child{border-top: 0}.plant-row:not(.selected){background: var(--paper)}.plant-row:not(.selected) .plant-main,.plant-row:not(.selected) .plant-thumb{opacity: 0.72}.plant-thumb{width: 4.6rem;aspect-ratio: 4 / 3;overflow: hidden;background: var(--paper);border: 1px solid var(--line);border-radius: var(--radius-small)}.plant-photo,.plant-diagram{display: block;width: 100%;height: 100%;object-fit: cover}.diagram-ground{stroke: var(--line-strong);stroke-width: 1}.diagram-flower{stroke: #fff;stroke-width: 0.9}.plant-main{grid-column: 2;grid-row: 1 / span 2;min-width: 0}.details-toggle{grid-column: 1;grid-row: 2;align-self: start;justify-content: center;padding: 0.15rem 0;font-size: 0.8rem}.plant-head{display: flex;flex-wrap: wrap;align-items: baseline;gap: 0.25rem 0.4rem}.plant-main .plant-head h3{margin-right: auto}.plant-main h3{margin: 0;font-size: 1rem;font-weight: 700;line-height: 1.3}.plant-summary{display: flex;flex-wrap: wrap;align-items: center;gap: 0 0.9rem;margin-top: 0.15rem}.plant-pick{display: inline-flex;align-items: flex-start;gap: 0.5rem;cursor: pointer}.plant-pick input{flex: none;width: 1.1rem;height: 1.1rem;margin: 0.12rem 0 0;accent-color: var(--bloom)}.plant-line{display: flex;flex-wrap: wrap;gap: 0 0.35rem;margin: 0;font-size: 0.84rem}.plant-line span:not(:last-child)::after{content: " ·";color: var(--muted)}.plant-colours{display: flex;flex-wrap: wrap;align-items: center;gap: 0.2rem 0.6rem;margin: 0;font-size: 0.84rem}.colour-group{display: inline-flex;flex-wrap: wrap;align-items: center;gap: 0.2rem 0.3rem}.colour-label{font-size: 0.76rem;color: var(--muted)}.colours{display: inline-flex;flex-wrap: wrap;align-items: center;gap: 0.2rem;margin-right: 0.3rem}.colour-pick{display: inline-flex;align-items: center;gap: 0.2rem;padding: 0.05rem 0.45rem 0.05rem 0.3rem;font-size: 0.82rem;color: var(--ink);background: var(--surface);border: 1px solid var(--leaf);border-radius: 999px}.colour-pick[aria-pressed="false"]{border-color: var(--line);color: var(--muted);text-decoration: line-through}.colour-pick[aria-pressed="false"] .swatch{opacity: 0.3}.plan-badge{flex: none;margin: 0;font-size: 0.78rem;color: var(--muted);white-space: nowrap}.plan-badge:empty{display: none}.plan-badge.on-plan{padding: 0 0.5rem;border-radius: 999px;background: var(--leaf-pale);color: var(--leaf-deep);font-weight: 700}.native-badge{flex: none;margin: 0;padding: 0 0.5rem;border: 1px solid var(--leaf);border-radius: 999px;color: var(--leaf-deep);font-size: 0.78rem;font-weight: 600;white-space: nowrap}.plant-warnings{list-style: none;margin: 0.3rem 0 0;padding: 0;display: flex;flex-wrap: wrap;gap: 0.3rem;font-size: 0.78rem;font-weight: 600}.warning{display: inline-flex;align-items: center;gap: 0.3rem;padding: 0.1rem 0.55rem;border-radius: 999px;background: var(--warn-pale);color: var(--warn)}.popular{display: inline-flex;align-items: center;gap: 0.3rem;padding: 0.1rem 0.55rem;border-radius: 999px;background: var(--sun);color: var(--ink)}.warning.strong{background: var(--warn);color: #fff}.plant-more{grid-column: 1 / -1;margin-top: 0.45rem;padding-top: 0.6rem;border-top: 1px dashed var(--line-strong);font-size: 0.9rem}.plant-more p{margin: 0 0 0.5rem}.plant-figure{margin: 0 0 0.6rem}.plant-figure .plant-photo{width: 100%;max-width: 26rem;height: auto;aspect-ratio: 4 / 3;border-radius: var(--radius)}.plant-figure figcaption{font-size: 0.75rem;color: var(--muted)}.plant-facts{display: grid;grid-template-columns: auto 1fr;gap: 0.2rem 0.9rem;margin: 0.5rem 0 0.7rem}.plant-facts dt{color: var(--soil);font-weight: 600}.plant-facts dd{margin: 0}.plant-design{margin: 0 0 0.6rem;padding: 0.6rem 0.8rem;background: var(--paper);border-radius: var(--radius-small)}.plant-design h4{margin: 0 0 0.3rem;font-size: 0.95rem}.plant-design ul{margin: 0 0 0.5rem;padding-left: 1.1rem}.plant-design p:last-child{margin-bottom: 0}.plant-more .plant-sources{margin: 0;font-size: 0.8rem;color: var(--muted)}.show-more{margin-top: 1rem;text-align: center}.show-more button{padding: 0.5rem 1.2rem}.about{width: min(46rem,calc(100vw - 1.5rem));max-height: calc(100vh - 2rem);max-height: calc(100dvh - 2rem);padding: 0;background: var(--paper);color: var(--ink);border: 0;border-radius: 12px;box-shadow: 0 24px 70px rgba(0,0,0,0.35)}.about::backdrop{background: rgba(35,42,34,0.55)}.about-head{position: sticky;top: 0;z-index: 1;display: flex;align-items: center;justify-content: space-between;gap: 1rem;padding: 0.75rem 1.2rem;background: var(--paper);border-bottom: 1px solid var(--line)}.about-head h2{margin: 0;font-size: 1.25rem}.about-body{padding: 0.25rem 1.2rem 1.4rem;font-size: 0.95rem}.about-section h3{margin: 1.1rem 0 0.3rem;font-size: 1.05rem}.about-body p{margin: 0 0 0.6rem}.about-body ul,.about-body ol{margin: 0 0 0.6rem;padding-left: 1.3rem}.about-body li{margin-bottom: 0.4rem}.about-principles{list-style: none;padding: 0 !important;border-top: 1px solid var(--line)}.about-principles li{margin: 0;border-bottom: 1px solid var(--line)}.about-principles summary{padding: 0.4rem 0;cursor: pointer}.about-principles details p{margin: 0 0 0.6rem;padding-left: 1rem;border-left: 3px solid var(--bloom);color: var(--muted)}@media (max-width: 999px){:root{--gutter: 1rem}.brand-tag{display: none}.setup{grid-template-columns: minmax(0,1fr);gap: 0.9rem}.next-step{position: fixed;left: 0;right: 0;bottom: 0;z-index: 15;margin: 0;padding: 0.55rem var(--gutter) calc(0.55rem + env(safe-area-inset-bottom));background: var(--surface);border-top: 1px solid var(--line-strong);border-radius: 0;box-shadow: 0 -4px 14px rgba(35,42,34,0.08);flex-wrap: nowrap}.next-step .primary{flex: none;white-space: nowrap}body[data-view="bed"] main{padding-bottom: calc(5rem + env(safe-area-inset-bottom))}.workspace{grid-template-columns: minmax(0,1fr);gap: 0.9rem}.map-pane{position: static}.plan-head h1{position: absolute;width: 1px;height: 1px;overflow: hidden;clip-path: inset(50%)}.plan-tools{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 0.4rem 0.75rem}#shuffle{justify-self: start}.seed-note{margin-left: 0}.tools-help{grid-column: 3;grid-row: 1;justify-self: end}.tool{flex-direction: column;align-items: stretch;gap: 0.15rem}.tool label{white-space: normal}.tool output,#variety-label{display: block;min-width: 0}.tool input[type="range"]{width: 100%}.plan-head{order: 1}.plan-tools{order: 2}.plan-map{order: 3}.notes{order: 4}.plan-edits{order: 5}.map-pane > .numbers{order: 6}.notes{min-height: 0 !important}body:not([data-tab="plan"]) .map-pane{display: none}.plan-map svg{max-height: 62vh}.notes.swapping{max-height: none}.map-pane:has(.notes.swapping) .plan-map svg{max-height: 45vh}.tabs{position: fixed;top: auto;left: 0;right: 0;bottom: 0;z-index: 15;grid-template-columns: repeat(4,1fr);justify-content: stretch;gap: 0;padding-bottom: env(safe-area-inset-bottom);background: var(--surface);border-top: 1px solid var(--line-strong);border-bottom: 0;box-shadow: 0 -4px 14px rgba(35,42,34,0.08)}.tab{flex-direction: column;justify-content: center;gap: 0.1rem;height: var(--tabs);padding: 0.3rem 0.2rem;margin: 0;border-bottom: 0;border-top: 3px solid transparent;font-size: 0.72rem}.tab .icon{width: 1.35rem;height: 1.35rem}.tab[aria-current]{border-top-color: var(--leaf)}.tab-count{display: none}body[data-view="plan"] main{padding-bottom: calc(var(--tabs) + 1.25rem + env(safe-area-inset-bottom))}.tab-panel{padding-top: 0}}@media (max-width: 640px){:root{--brand-row: 2.6rem;--bar: 2.75rem}.app-bar{flex-wrap: wrap;gap: 0 0.5rem;height: auto;top: calc(-1 * var(--brand-row))}.brand{flex: 1;min-width: 0;height: var(--brand-row)}.brand-mark{width: 1.6rem;height: 1.6rem}.bar-button-label{display: none}.bar-button{padding: 0.4rem;border: 0}.steps{order: 1;flex: 0 0 100%;align-items: center;height: var(--bar);margin: 0;padding-bottom: 0.35rem}.step{flex: 1;justify-content: center;font-size: 0.92rem}.step-number{width: 1.35rem;height: 1.35rem}.legend-line{flex-wrap: wrap}.legend-line .legend-item{flex: 1 1 100%;align-items: start;padding: 0.55rem 0.7rem 0.3rem}.legend-meta{display: contents}.legend-count{grid-column: 3;grid-row: 1}.legend-role{grid-column: 2 / -1;grid-row: 2;display: flex;align-items: center;min-height: 2.4rem;padding-right: 9.4rem;text-align: left}.legend-botanical{white-space: normal}.legend-line .count-buttons{margin: -2.7rem 0 0.3rem auto}.legend-line > .plant-action.icon-only{margin-top: -2.7rem;margin-bottom: 0.3rem}.legend-line .plant-action.icon-only{display: grid;place-items: center;width: 2.25rem;height: 2.4rem;padding: 0}.legend-line .plant-action.icon-only .icon{width: 1.25rem;height: 1.25rem}.calendar-row{grid-template-columns: minmax(0,1fr) 1.8rem}.calendar-label{grid-column: 1;grid-row: 1}.calendar-remove{grid-column: 2;grid-row: 1}.calendar-row > .calendar-track{grid-column: 1 / -1;grid-row: 2}.calendar-head > :not(.calendar-track){display: none}.calendar-head > .calendar-track{grid-row: 1}.check-theory{margin-left: 0.75rem}}.not-found{max-width: 34rem;padding-top: 3rem;text-align: center}.not-found .primary{text-decoration: none}@media print{@page{margin: 14mm}*{-webkit-print-color-adjust: exact;print-color-adjust: exact}body{background: #fff;font-size: 10.5pt}main{padding: 0}.app-bar,.plan-tools,.plan-edits,.tabs,.panel-actions,.notes,.next-step,.left-out,.calendar-remove,.scorecard,#scorecard-heading,#scorecard-note,#tab-plants{display: none !important}body[data-view="plan"] .workspace{display: block}body[data-view="plan"] .map-pane{display: flex !important;position: static}body[data-view="plan"] .tab-panel:not(#tab-plants){display: block !important;padding-top: 6mm}.plan-map svg{max-height: 105mm;box-shadow: none}.brief,.schedule,.check-list,.number{box-shadow: none}.legend-item,.check,.calendar-row{break-inside: avoid}}.plant-card{position: fixed;z-index: 40;width: min(20rem,calc(100vw - 16px));overflow: hidden;background: var(--surface);border: 1px solid var(--line-strong);border-radius: var(--radius);box-shadow: 0 2px 6px rgba(35,42,34,0.12),0 14px 36px rgba(35,42,34,0.22);font-size: 0.86rem;animation: card-in 0.14s ease-out}@keyframes card-in{from{opacity: 0;transform: translateY(4px)}}@media (hover: none){.plant-thumb{cursor: pointer}.plant-action.icon-only:not(:disabled),.count-buttons .plant-action.icon-only:not(:disabled){opacity: 1}}.plant-card.sheet{left: 0;right: 0;bottom: 0;width: min(100%,30rem);max-height: 58vh;max-height: 58dvh;margin: 0 auto;overflow-y: auto;overscroll-behavior: contain;padding-bottom: env(safe-area-inset-bottom);border-bottom: 0;border-radius: 14px 14px 0 0;box-shadow: 0 -2px 6px rgba(35,42,34,0.12),0 -10px 36px rgba(35,42,34,0.28);font-size: 0.95rem;animation: sheet-in 0.2s ease-out}@keyframes sheet-in{from{transform: translateY(100%)}}.plant-card.sheet .card-picture{aspect-ratio: auto;height: min(9.5rem,22vh)}.plant-card.sheet .card-picture.no-photo{height: 6rem}.plant-card.sheet .card-body{gap: 0.55rem;padding: 0.8rem 1rem 1rem}.plant-card.sheet .card-body h3{font-size: 1.25rem}.card-close{position: sticky;top: 0.5rem;z-index: 1;display: grid;place-items: center;width: 2.25rem;height: 2.25rem;margin: 0.5rem 0.5rem -2.75rem auto;padding: 0;color: var(--ink);background: var(--surface);border: 1px solid var(--line-strong);border-radius: 50%;box-shadow: 0 1px 4px rgba(35,42,34,0.25);cursor: pointer}.card-why{padding: 0.5rem 0.65rem;background: var(--leaf-pale);border-radius: var(--radius-small)}.card-picture{aspect-ratio: 4 / 3;background: var(--sunk)}.card-picture.no-photo{aspect-ratio: 3 / 1;padding: 0.5rem}.card-picture.no-photo .plant-diagram{object-fit: contain}.card-body{display: grid;gap: 0.45rem;padding: 0.7rem 0.85rem 0.8rem}.card-body > *{margin: 0}.card-body h3{font-size: 1.08rem;line-height: 1.2}.card-body .botanical{margin-top: -0.35rem}.card-tags{display: flex;flex-wrap: wrap;gap: 0.3rem}.card-tags span{padding: 0.05rem 0.5rem;border-radius: 999px;background: var(--sunk);font-size: 0.78rem}.card-tags .native{background: none;box-shadow: inset 0 0 0 1px var(--leaf);color: var(--leaf-deep);font-weight: 600}.card-tags .on-plan{background: var(--leaf-pale);color: var(--leaf-deep);font-weight: 600}.card-facts{display: grid;grid-template-columns: auto 1fr;gap: 0.1rem 0.7rem}.card-facts dt{color: var(--muted)}.card-facts dd{margin: 0}.card-year{display: grid;grid-template-columns: repeat(52,minmax(0,1fr));grid-template-rows: 0.5rem auto;row-gap: 2px}.card-year::before{content: "";grid-area: 1 / 1 / 2 / -1;background: var(--sunk);border-radius: 999px}.card-bloom{grid-row: 1;border-radius: 999px;box-shadow: inset 0 0 0 1px rgba(35,42,34,0.25)}.card-today{grid-row: 1;justify-self: center;width: 2px;margin: -2px 0;background: var(--ink)}.card-month{grid-row: 2;font-family: var(--font-data);font-size: 0.66rem;color: var(--muted)}.card-warnings{display: flex;flex-wrap: wrap;gap: 0.3rem;padding: 0;list-style: none;font-size: 0.78rem}.photo-credit{font-size: 0.72rem;color: var(--muted);overflow-wrap: anywhere}.photo-credit a{color: inherit}.plant-card .photo-credit{padding-top: 0.4rem;border-top: 1px solid var(--line)}@media (prefers-reduced-motion: reduce){*{transition: none !important;animation: none !important;scroll-behavior: auto !important}}
