.tools-page{max-width:var(--content-width);margin:0 auto;padding:var(--spacing-8) var(--spacing-4) var(--spacing-16)}.tools-back{margin:0 0 var(--spacing-3);font-size:var(--font-size-sm)}.tools-back a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.tools-index-list{display:flex;flex-direction:column;gap:var(--spacing-4);margin-top:var(--spacing-8)}.tools-index-card{display:block;padding:var(--spacing-5);background:var(--color-bg-paper);border:1px solid var(--color-border);text-decoration:none;color:inherit;min-height:44px}.tools-index-card:hover{border-color:var(--color-border-strong);color:inherit}.tools-index-kicker{font-size:var(--font-size-xs);letter-spacing:var(--tracking-wide);color:var(--color-muted);margin-bottom:var(--spacing-2)}.tools-index-name{font-family:var(--font-display);font-size:clamp(1.25rem,3.5vw,1.5rem);line-height:var(--leading-snug);color:var(--color-ink);margin-bottom:var(--spacing-2)}.tools-index-lead{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--leading-snug)}.tools-form{display:flex;flex-direction:column;gap:var(--spacing-4);margin:var(--spacing-8) 0;padding:var(--spacing-5);background:var(--color-bg-paper);border:1px solid var(--color-border)}.tools-field{display:flex;flex-direction:column;gap:var(--spacing-2);min-width:0}.tools-field label,.tools-legend{font-size:var(--font-size-sm);font-weight:600;color:var(--color-ink)}.tools-field input,.tools-field select,.tools-field button,.tools-form button[type=submit]{width:100%;min-height:44px;font-size:1rem;font-family:inherit;line-height:var(--leading-snug);color:var(--color-text);background:#fff;border:1px solid var(--color-border-strong);border-radius:var(--radius);padding:var(--spacing-2) var(--spacing-3)}.tools-form button[type=submit]{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent);font-weight:600;cursor:pointer}.tools-form button[type=submit]:hover{background:var(--color-accent-hover)}.tools-form button[type=button]{width:100%;min-height:44px;font-size:1rem;font-family:inherit;cursor:pointer;background:transparent;color:var(--color-field);border:1px solid var(--color-border-strong);border-radius:var(--radius)}.tools-stepper{display:flex;align-items:stretch;gap:var(--spacing-2);min-width:0}.tools-field .tools-stepper input{width:auto;flex:1 1 auto;min-width:0;text-align:center;-moz-appearance:textfield;appearance:textfield}.tools-stepper input[type=number]::-webkit-outer-spin-button,.tools-stepper input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tools-field .tools-stepper button,.tools-form .tools-stepper button[type=button]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 4.5rem;width:4.5rem;padding:0}.tools-stepper button svg{width:1.5rem;height:1.5rem;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tools-stepper button:disabled{opacity:.4;cursor:not-allowed}.fert-bag-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-2);min-width:0}.fert-bag-row .tools-field label{overflow-wrap:anywhere}.fert-npk{display:flex;flex-direction:column;gap:var(--spacing-2);min-width:0;margin:0;padding:0;border:0}.fert-npk>legend{float:none;width:100%;margin:0;padding:0}.fert-npk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-2);min-width:0}.fert-npk .tools-field label{font-size:1rem;text-align:center}.fert-npk-symbol{display:block;font-weight:400;font-size:1rem;color:var(--color-text-secondary)}.fert-target-label{display:block;text-align:center}.fert-target-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--spacing-3);align-items:start;min-width:0}.fert-target-row .spray-choice,.fert-target-amount{min-width:0}.fert-target-row .spray-choice-buttons{max-width:none;grid-template-columns:1fr}.fert-target-amount .tools-field label{overflow-wrap:anywhere}.fert-target-amount [hidden]{display:none}.fert-npk .tools-stepper{flex-direction:column}.fert-npk .tools-field .tools-stepper input{width:100%;flex:0 0 auto;padding-left:.125rem;padding-right:.125rem}.tools-form .fert-npk .tools-stepper button[type=button]{flex:0 0 auto;width:100%;min-height:44px}.fert-figure{display:flex;flex-direction:column;gap:var(--spacing-2);min-width:0}.fert-figure-svg{display:block;width:100%;max-width:100%;height:auto}.fert-figure-value{font-size:clamp(1.25rem,5vw,1.75rem);font-weight:700;line-height:var(--leading-tight);color:var(--color-ink);overflow-wrap:anywhere}.fert-figure-note{font-size:1rem;line-height:var(--leading-snug);color:var(--color-text-secondary);overflow-wrap:anywhere}.fert-swatch{display:inline-block;width:.75rem;height:.75rem;margin-right:.25rem;border-radius:2px;vertical-align:-1px}.fert-swatch-need{background:var(--color-field)}.fert-swatch-extra{background:var(--color-accent)}.fert-bars{display:flex;flex-direction:column;gap:var(--spacing-3);margin-top:var(--spacing-3);min-width:0}.fert-bar{display:flex;flex-direction:column;align-items:stretch;gap:var(--spacing-1);min-width:0}.fert-bar-svg{width:100%;height:1rem;display:block}.fert-bar-name,.fert-bar-value,.fert-bar-note{width:100%;margin:0;font-size:1rem;line-height:var(--leading-snug);text-align:start;overflow-wrap:anywhere}.fert-bar-name,.fert-bar-value{font-weight:700;color:var(--color-ink)}.fert-bar-note{color:var(--color-text-secondary)}.tools-plot{display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-4);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg-paper) 70%,var(--color-bg))}.tools-plot-head{display:flex;flex-direction:column;gap:var(--spacing-2)}.spray-choice,.tools-choice{display:flex;flex-direction:column;gap:var(--spacing-3);width:100%;min-inline-size:0;margin:0;padding:0;border:0}.spray-choice>legend,.tools-choice>legend{float:none;width:100%;margin:0;padding:0}.spray-choice-buttons,.tools-choice-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-3);max-width:24rem}.tools-choice-buttons{grid-template-columns:1fr;max-width:none}@media(min-width:641px){.dep-preset-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}.spray-choice-btn,.tools-choice-btn{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:#fff;color:var(--color-ink);font-size:1rem;font-weight:600;line-height:var(--leading-snug);text-align:center;cursor:pointer;touch-action:manipulation;overflow-wrap:anywhere;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.tools-choice-btn{justify-content:flex-start;text-align:start;gap:var(--spacing-2)}.spray-choice-btn input,.tools-choice-btn input{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;appearance:none}.spray-choice-btn:has(input:focus-visible),.tools-choice-btn:has(input:focus-visible){outline:2px solid var(--color-field);outline-offset:2px}.spray-choice-btn:has(input:checked),.tools-choice-btn:has(input:checked){background:var(--color-field);border-color:var(--color-field);color:var(--color-on-accent)}@media(hover:hover){.spray-choice-btn:hover,.tools-choice-btn:hover{border-color:var(--color-field);color:var(--color-field)}.spray-choice-btn:has(input:checked):hover,.tools-choice-btn:has(input:checked):hover{background:var(--color-field);color:var(--color-on-accent)}}.tools-choice-btn:has(input:disabled){opacity:.45;cursor:not-allowed}@media(hover:hover){.tools-choice-btn:has(input:disabled):hover{background:#fff;border-color:var(--color-border-strong);color:var(--color-ink)}}.spray-diagram{min-width:0;max-width:100%;padding:var(--spacing-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius)}.spray-diagram-svg{display:block;width:100%;max-width:28rem;height:auto}.spray-diagram-value,.spray-diagram-note{overflow-wrap:break-word}.spray-diagram-value{margin-top:var(--spacing-2);font-size:clamp(1.25rem,4vw,1.5rem);font-weight:700;line-height:var(--leading-tight);color:var(--color-ink)}.spray-diagram-note{margin-top:var(--spacing-1);font-size:1rem;line-height:var(--leading-snug);color:var(--color-text-secondary)}.tools-status{min-height:1.5em;color:var(--color-text-secondary)}.tools-result{margin-top:var(--spacing-6);padding:var(--spacing-5);background:var(--color-bg-paper);border:1px solid var(--color-border)}.tools-result-kicker{font-size:var(--font-size-sm);color:var(--color-muted);margin-bottom:var(--spacing-4);overflow-wrap:anywhere}.tools-metrics{display:grid;grid-template-columns:1fr;gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.tools-metrics dt{font-size:var(--font-size-sm);color:var(--color-muted)}.tools-metrics dd{font-size:clamp(1.5rem,6vw,2rem);font-weight:700;line-height:var(--leading-tight);color:var(--color-ink);overflow-wrap:anywhere}.tools-list{display:flex;flex-direction:column;gap:var(--spacing-2);margin:var(--spacing-3) 0}.tools-list li{font-size:var(--font-size-base);line-height:var(--leading-snug)}.tools-field-note{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--leading-snug)}.tools-table-wrap{overflow-x:auto;max-width:100%;margin-top:var(--spacing-4)}.tools-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.tools-table th,.tools-table td{padding:var(--spacing-2);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;white-space:nowrap}.tools-disclaimer,.tools-app-cta,.tools-hint{margin-top:var(--spacing-6);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--leading-snug)}.tools-pest-list{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.tools-pest-card{padding:var(--spacing-4);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg-paper) 70%,var(--color-bg))}.tools-pest-card h3{font-family:var(--font-display);font-size:var(--font-size-xl);margin:var(--spacing-1) 0 var(--spacing-2)}.tools-pest-kind{font-size:var(--font-size-xs);letter-spacing:var(--tracking-wide);color:var(--color-muted)}.tools-result .btn-primary{width:100%;min-height:44px;margin-top:var(--spacing-2)}.crop-cal-result{--crop-cal-label: clamp(5rem, 24vw, 8.5rem);--crop-cal-current-bg: color-mix(in srgb, var(--color-accent) 14%, transparent)}.crop-cal-legend{display:flex;flex-wrap:wrap;gap:var(--spacing-2) var(--spacing-4);margin-bottom:var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.crop-cal-legend-item{display:inline-flex;align-items:center;gap:var(--spacing-2)}.crop-cal-swatch{display:inline-block;width:1.5rem;height:.625rem;border-radius:2px}.crop-cal-swatch--current{height:1rem;width:1rem;background:var(--crop-cal-current-bg);border:1px solid color-mix(in srgb,var(--color-accent) 40%,transparent)}.crop-cal-legend-item[hidden],.crop-cal[hidden]{display:none}.crop-cal-head,.crop-cal-row{display:grid;grid-template-columns:var(--crop-cal-label) minmax(0,1fr);column-gap:var(--spacing-2);align-items:center}.crop-cal-head{position:sticky;top:var(--crop-cal-sticky-top, var(--nav-height));z-index:1;padding:var(--spacing-2) 0;background:var(--color-bg-paper);border-bottom:1px solid var(--color-border-strong);font-size:var(--font-size-xs);color:var(--color-muted)}.crop-cal-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));text-align:center;font-variant-numeric:tabular-nums}.crop-cal-months .is-current{border-radius:2px;background:var(--crop-cal-current-bg);color:var(--color-accent-hover);font-weight:700}.crop-cal-family{margin:var(--spacing-4) 0 0;padding:var(--spacing-1) var(--spacing-2);background:var(--color-field-soft);font-size:var(--font-size-sm);font-weight:600;color:var(--color-ink)}.crop-cal-item{border-bottom:1px solid var(--color-border)}.crop-cal-row{min-height:2.75rem;padding:var(--spacing-1) 0;cursor:pointer}.crop-cal-row:focus-visible{outline:2px solid var(--color-field);outline-offset:2px}.crop-cal-row[aria-expanded=true]{background:var(--color-field-soft)}.crop-cal-crop{display:flex;align-items:center;gap:var(--spacing-1);min-width:0}.crop-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;font-size:1.25rem;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.crop-icon svg{width:100%;height:100%}.crop-cal-name{min-width:0;font-size:var(--font-size-sm);line-height:var(--leading-tight);color:var(--color-ink);overflow-wrap:anywhere}.crop-cal-affordance{display:block;margin-top:.125rem;font-size:var(--font-size-xs);font-weight:700;color:var(--color-accent)}.crop-cal-track{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));grid-template-rows:repeat(3,.5rem);row-gap:2px;align-content:center;height:100%;min-height:2.25rem;background-image:repeating-linear-gradient(to right,var(--color-border) 0 1px,transparent 1px calc(100% / 12))}.crop-cal-result[data-current-month] .crop-cal-track{background-image:repeating-linear-gradient(to right,var(--color-border) 0 1px,transparent 1px calc(100% / 12)),linear-gradient(to right,transparent calc((var(--crop-cal-month) - 1) * 100% / 12),var(--crop-cal-current-bg) 0,var(--crop-cal-current-bg) calc(var(--crop-cal-month) * 100% / 12),transparent 0)}.crop-cal-bar{border-radius:2px}.crop-cal-bar--sow{background:color-mix(in srgb,var(--color-field) 45%,#fff)}.crop-cal-bar--plant{background:var(--color-field)}.crop-cal-bar--harvest{background:var(--color-accent)}.crop-cal-note{grid-column:1 / -1;margin:0;padding-bottom:var(--spacing-1);font-size:var(--font-size-sm);line-height:var(--leading-snug);color:var(--color-text-secondary)}.crop-cal-panel{padding:var(--spacing-3) 0 var(--spacing-4);border-top:1px solid var(--color-border);font-size:var(--font-size-base);line-height:var(--leading-normal);color:var(--color-ink)}.crop-cal-panel[hidden]{display:none}.crop-cal-panel h4,.crop-cal-panel h5,.crop-cal-panel p{margin:0}.crop-cal-panel h4{margin-top:var(--spacing-4);margin-bottom:var(--spacing-2);font-size:1.125rem;line-height:var(--leading-snug)}.crop-cal-panel h4:first-child{margin-top:0}.crop-cal-panel h5{margin-top:var(--spacing-4);margin-bottom:var(--spacing-2);font-size:1rem;line-height:var(--leading-snug)}.crop-cal-panel ul{margin:0;padding-left:1.25rem}.crop-cal-panel li+li{margin-top:var(--spacing-2)}.crop-cal-money-note{color:var(--color-text-secondary)}.crop-cal-stats{margin:0}.crop-cal-stats div+div{margin-top:var(--spacing-2)}.crop-cal-stats dt{font-weight:700}.crop-cal-stats dd{margin:0;overflow-wrap:anywhere}.crop-cal-sources a{display:inline-flex;align-items:center;min-height:2.75rem;overflow-wrap:anywhere}.crop-cal-sources span{display:block;color:var(--color-text-secondary)}@media(max-width:640px){.crop-cal-result{padding:var(--spacing-4) var(--spacing-3)}}@media(max-width:400px){.crop-cal-crop{flex-direction:column;gap:2px;text-align:center}.crop-cal-name{font-size:var(--font-size-xs);overflow-wrap:normal}}@media(max-width:360px){.crop-cal-result{padding-inline:var(--spacing-2)}.crop-cal-months{font-size:.6875rem}}.gdd-process{margin-top:var(--spacing-6);padding-top:var(--spacing-4);border-top:1px solid var(--color-border)}.gdd-process h2{font-family:var(--font-display);font-size:clamp(1.25rem,4vw,1.5rem);font-weight:400;line-height:var(--leading-snug);color:var(--color-ink);margin-bottom:var(--spacing-3)}.gdd-process>p,.gdd-equation,.gdd-formula,.gdd-day p{font-size:1rem;line-height:var(--leading-snug);overflow-wrap:break-word}.gdd-equation{margin:0 0 var(--spacing-2);color:var(--color-ink);font-weight:600}.gdd-formula,.gdd-days{margin:var(--spacing-3) 0 0;padding-left:1.5rem;list-style:decimal}.gdd-formula{display:flex;flex-direction:column;gap:var(--spacing-2)}.gdd-days{padding-left:2.5rem}.gdd-formula li,.gdd-day{font-size:1rem;line-height:var(--leading-snug);overflow-wrap:break-word}.gdd-day{margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--color-border)}.gdd-day p{margin:0 0 var(--spacing-1)}.gdd-day-date{font-weight:600;color:var(--color-ink)}.gdd-days-block{margin-top:var(--spacing-4)}.gdd-days-block summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:1rem;font-weight:600;line-height:var(--leading-snug);color:var(--color-ink)}.gdd-unit{white-space:nowrap}.gdd-days-note{margin:var(--spacing-3) 0 0;font-size:1rem;line-height:var(--leading-snug);color:var(--color-text-secondary);overflow-wrap:break-word}@media(min-width:641px){.tools-metrics{grid-template-columns:1fr 1fr}}.dep-preset-icon{flex:0 0 auto;width:1.75rem;height:1.75rem}.dep-preset-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.dep-preset-text{min-width:0}.dep-cost-row{display:flex;align-items:center;gap:var(--spacing-3);min-width:0}.tools-field .dep-cost-row input{width:auto;flex:1 1 auto;min-width:0}.dep-cost-display{flex:0 0 auto;margin:0;font-size:1rem;font-weight:700;line-height:var(--leading-snug);color:var(--color-ink);white-space:nowrap}.dep-month{display:flex;flex-direction:column;gap:var(--spacing-3);min-width:0}.dep-month-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:var(--spacing-2);align-items:center}.dep-month-year{margin:0;font-size:1rem;font-weight:700;line-height:var(--leading-snug);text-align:center;color:var(--color-ink)}.tools-form .dep-month-nav button[type=button]{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;background:#fff;color:var(--color-ink);border:1px solid var(--color-border-strong);border-radius:var(--radius)}.dep-month-nav button svg{width:1.5rem;height:1.5rem;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dep-month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-2)}.tools-form .dep-month-grid button[type=button]{width:100%;min-height:44px;padding:var(--spacing-2) var(--spacing-1);background:#fff;color:var(--color-ink);border:1px solid var(--color-border-strong);border-radius:var(--radius);font-size:1rem;font-weight:600;line-height:var(--leading-snug)}.tools-form .dep-month-grid button[aria-pressed=true]{background:var(--color-field);border-color:var(--color-field);color:var(--color-on-accent)}.tools-form .dep-month-nav button:focus-visible,.tools-form .dep-month-grid button:focus-visible{outline:2px solid var(--color-field);outline-offset:2px}.dep-month-nav button:disabled,.dep-month [data-month-clear]:disabled{opacity:.4;cursor:not-allowed}@media(hover:hover){.tools-form .dep-month-grid button[type=button]:hover,.tools-form .dep-month-nav button[type=button]:hover{border-color:var(--color-field);color:var(--color-field)}.tools-form .dep-month-grid button[aria-pressed=true]:hover{background:var(--color-field);color:var(--color-on-accent)}}.dep-chart{margin:var(--spacing-4) 0 0;min-width:0}.dep-chart-title{margin:0 0 var(--spacing-2);font-size:1rem;font-weight:700;line-height:var(--leading-snug);color:var(--color-ink)}.dep-chart-legend{display:flex;flex-wrap:wrap;gap:var(--spacing-2) var(--spacing-4);margin:0 0 var(--spacing-2);padding:0;list-style:none;font-size:1rem;line-height:var(--leading-snug);color:var(--color-text)}.dep-chart-legend li{display:inline-flex;align-items:center;gap:var(--spacing-2)}.dep-chart-swatch{flex:none;width:1.25rem;height:.85rem}.dep-chart-swatch.is-bar{background:var(--color-field)}.dep-chart-swatch.is-line{height:0;border-top:3px solid var(--color-accent);background:transparent}.dep-chart-note{margin:0 0 var(--spacing-3);font-size:1rem;line-height:var(--leading-snug);color:var(--color-text-secondary)}.dep-chart-body{display:flex;align-items:flex-start;gap:var(--spacing-2);min-width:0}.dep-chart-y{display:flex;flex-direction:column;justify-content:space-between;flex:0 0 auto;height:160px;margin-top:6px;font-size:1rem;line-height:1;text-align:right;color:var(--color-text-secondary)}.dep-chart-y span{white-space:nowrap}.dep-chart-scroll{flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;padding:6px 0}.dep-chart-plot{width:100%;min-width:0}.dep-chart-plot.is-scroll{min-width:calc(var(--dep-cols) * 2.75rem)}.dep-chart-stage{position:relative;height:160px}.dep-chart-grid{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.dep-chart-grid span{display:block;border-top:1px solid var(--color-border)}.dep-chart-cols{position:relative;z-index:1;display:grid;grid-template-columns:repeat(var(--dep-cols),minmax(0,1fr));height:100%}.dep-chart-col{display:flex;align-items:flex-end;justify-content:center;height:100%;min-width:0}.dep-chart-bar{width:58%;max-width:2.5rem;background:var(--color-field)}.dep-chart-line{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}.dep-chart-dots{position:absolute;inset:0;z-index:3;pointer-events:none}.dep-chart-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--color-accent);transform:translate(-50%,50%)}.dep-chart-x{display:grid;grid-template-columns:repeat(var(--dep-cols),minmax(0,1fr));margin-top:var(--spacing-2);font-size:1rem;line-height:var(--leading-snug);text-align:center;color:var(--color-text-secondary)}.dep-chart-x span{min-width:0;overflow-wrap:anywhere}
