.workbench{max-width:1440px;margin:auto;padding:2.1rem clamp(.8rem,3vw,3rem) 2.5rem;color:#19372e}
.wb-intro,.wb-results-top,.wb-map-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.wb-intro h1{font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.055em;margin:.3rem 0 .65rem;line-height:1.04}
.wb-intro p:last-child{margin:0;color:#425c51}
.wb-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,19rem);gap:1rem;align-items:start}
.wb-map-panel,.wb-results,.wb-sidebar details{border:1px solid #c9d8cf;border-radius:14px;background:#fff}
.wb-map-panel{overflow:hidden}
.wb-map-header{padding:1rem;justify-content:flex-start}
.wb-map-header>div:first-child{margin-right:auto}
.wb-map-header h2,.wb-results h2{margin:.2rem 0 0;font-size:1.32rem}
.wb-map-header .eyebrow,.wb-results .eyebrow{margin:0}
.wb-field{min-width:7.5rem}
.workbench button,.workbench select,.workbench input[type=number]{font:inherit;color:inherit;background:#fff;border:1px solid #a4b9ae;border-radius:6px;padding:.4rem .55rem;min-height:2.2rem}
.workbench button{cursor:pointer;font-weight:600}
.workbench button:disabled{cursor:default;opacity:.52}
.workbench button[aria-pressed=true],.workbench .wb-primary{background:#245440;border-color:#245440;color:#fff}
.workbench :focus-visible{outline:3px solid #b56413;outline-offset:2px}
.wb-field label,.wb-sidebar label{display:block;font-size:.82rem;font-weight:650;margin-bottom:.2rem}
.wb-sidebar select,.wb-sidebar input:not([type=checkbox]){width:100%}
.wb-sidebar input[type=range]{accent-color:#285d45}
.wb-toolbar,.wb-actions,.wb-map-foot{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}
.wb-toolbar{padding:.55rem .8rem;border-top:1px solid #e1eae4;background:#f4f8f3}
.wb-spacer{flex:1}
.wb-map{display:block;width:100%;height:auto;aspect-ratio:var(--image-ratio,2);min-height:235px;max-height:530px;background:#182620;touch-action:none;cursor:crosshair;user-select:none}
.wb-map[data-mode=pan]{cursor:grab}
.wb-map .plot{fill:none;stroke:#fff;stroke-width:1.25;vector-effect:non-scaling-stroke;opacity:.76}
.wb-map .plot-label{fill:#fff;stroke:#192d20;stroke-width:2px;paint-order:stroke;text-anchor:middle;dominant-baseline:central;font:bold 13px system-ui}
.wb-map .outline{stroke-width:1.55;vector-effect:non-scaling-stroke;fill:transparent;stroke:#55ffc1}
.wb-map .outline.bloom{stroke:#ffd062}
.wb-map .outline.selected{stroke:#fff;stroke-width:3}
.wb-map .outline.comparison{stroke:#edc3ff;stroke-dasharray:4 3;fill:none}
#comparison-image,#comparison-layer,#labels-layer,#plots-layer,#draw-box{pointer-events:none}
.wb-map [hidden]{display:none}
#draw-box{fill:#ffffff22;stroke:white;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}
.wb-map-foot{padding:.55rem .8rem;gap:.9rem;font-size:.8rem}
.wb-map-foot span{white-space:nowrap}
.wb-north{margin-left:auto;font-weight:700}
.swatch{display:inline-block;width:.78rem;height:.78rem;border-radius:.2rem;margin-right:.23rem;vertical-align:middle}
.plant{background:#12875d}.bloom{background:#a2660c}.other{background:#874a9d}
.wb-status{min-height:1.2rem;margin:.6rem 0;color:#315147;font-size:.86rem}
.wb-map-panel .wb-status{margin:.2rem .8rem .7rem}
.wb-sidebar{display:grid;gap:.65rem}
.wb-sidebar details{padding:.65rem .8rem}
.wb-sidebar summary{font-weight:750;cursor:pointer}
.wb-sidebar details[open] summary{margin-bottom:.65rem}
.wb-sidebar select,.wb-sidebar .wb-actions{margin-bottom:.5rem}
.wb-checks{display:grid;grid-template-columns:1fr 1fr;gap:.32rem;margin:.45rem 0}
.wb-checks label{display:flex;align-items:center;gap:.3rem;font-size:.79rem}
.wb-sidebar input[type=checkbox]{display:inline-block;width:auto;padding:0;margin:0;accent-color:#285d45}
.wb-help,.wb-source{font-size:.85rem;color:#486155}
.wb-help{margin:.4rem 0}
.wb-results{padding:1rem;margin-top:1rem}
.wb-table{overflow:auto;margin:.65rem 0}
.wb-table table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.wb-table th,.wb-table td{padding:.45rem .55rem;border-bottom:1px solid #deebe3;text-align:right;white-space:nowrap}
.wb-table th:first-child,.wb-table td:first-child{text-align:left}
.wb-table th{background:#f1f6ee;font-size:.83rem}
.wb-source{margin-top:1.1rem}
.guide{max-width:840px;margin:auto;padding:2.6rem clamp(1rem,4vw,2rem)}
.guide h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.08}.guide h2{margin-top:2rem}.guide li{margin:.4rem 0}
@media(max-width:850px){.wb-layout{grid-template-columns:1fr}.wb-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:530px){.wb-sidebar{grid-template-columns:1fr}.wb-toolbar button{font-size:.82rem}.wb-map-header{gap:.5rem}.wb-map-header>div:first-child{flex-basis:100%}}
