:root{--bg:#f4f2e8;--surface:#fffef9;--ink:#22332a;--muted:#6b786f;--line:#d7ddd6;--accent:#466b52}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
.site-header,main,footer{width:min(1180px,calc(100% - 32px));margin:auto}
.site-header{padding:48px 0 24px}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--accent);font-weight:700}
h1{margin:.3rem 0 0;font-family:Georgia,serif;font-size:clamp(3rem,8vw,6rem);font-weight:500;line-height:.95}
.lede{color:var(--muted);font-size:1.1rem}.section-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.section-nav a{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:10px 14px;text-decoration:none;font-weight:700}
.yard-panel{margin-bottom:38px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.section-heading h2{margin:.2rem 0 0;font-family:Georgia,serif;font-size:2rem;font-weight:500}.explorer-heading{margin-bottom:12px}.yard-summary{margin:.4rem 0 0;color:var(--muted);font-weight:700}.secondary-button,.remove-button{background:transparent}.secondary-button[data-confirming="true"]{border-color:#9b4d3d;color:#7b3024;font-weight:700}.yard-list{list-style:none;margin:18px 0;padding:0;border-top:1px solid var(--line)}.yard-plant{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.yard-plant.unresolved{border-left:4px solid #a86b35;padding-left:12px}.yard-plant-details{display:grid;min-width:0;gap:3px}.yard-plant-meta{color:var(--muted);font-size:.85rem;overflow-wrap:anywhere}.quantity-controls{display:flex;align-items:center;gap:7px}.quantity-controls button{min-width:42px}.quantity-label{display:block}.quantity-label span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.quantity-label input{width:64px;text-align:center}.yard-loading{padding:14px 0;color:var(--muted)}
.yard-features{margin-top:22px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.yard-features legend{margin-bottom:8px}.yard-features label{display:grid;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.yard-status{min-height:1.2em;margin:14px 0 0;color:var(--muted);font-size:.85rem}
.assessment-panel{margin-bottom:38px}.assessment-intro{margin:.5rem 0 0;color:var(--muted)}.assessment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;align-items:start}.assessment-card{min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.assessment-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px;cursor:pointer}.assessment-card[open] .assessment-summary{border-bottom:1px solid var(--line)}.assessment-title{font-family:Georgia,serif;font-size:1.35rem;font-weight:500}.assessment-details{padding:3px 17px 17px}.assessment-card b{display:block;margin-top:14px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.assessment-card ul{margin:6px 0 0;padding-left:18px}.assessment-card p{margin:6px 0 0}.assessment-status{white-space:nowrap;font-weight:700}.status-strong{color:#28734b}.status-developing{color:#8b6000}.status-underrepresented{color:#a13f35}.status-unknown{color:var(--muted)}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.filters>*{min-width:0}.filters>button{align-self:end}
label{display:grid;gap:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
input,select,button{max-width:100%;min-height:42px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:9px 11px;font:inherit}select{width:100%}
button{cursor:pointer}.results-head{padding:22px 2px 12px;color:var(--muted)}
fieldset{min-width:0;min-inline-size:0;border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px 10px;align-items:start}legend{grid-column:1/-1;width:100%;padding:0;color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}fieldset label{min-width:0;display:flex;align-items:center;gap:4px;font-size:.8rem;text-transform:none;letter-spacing:0;color:var(--ink)}fieldset input{min-height:0;margin:0}
.plant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:17px}
.card h3{margin:0 0 4px;font-family:Georgia,serif;font-size:1.5rem;font-weight:500}.scientific{color:var(--muted);font-style:italic}
.meta{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.meta div{padding-top:8px;border-top:1px solid var(--line)}
.meta b{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.card a{color:inherit}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.card-actions button{background:var(--accent);border-color:var(--accent);color:white;font-weight:700}
footer{padding:36px 0 54px;color:var(--muted);font-size:.85rem}
@media(max-width:850px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.plant-grid,.assessment-list{grid-template-columns:repeat(2,minmax(0,1fr))}.yard-features{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.filters,.plant-grid,.yard-features,.assessment-list{grid-template-columns:minmax(0,1fr)}.section-heading,.yard-plant{align-items:stretch;flex-direction:column}.assessment-summary{grid-template-columns:minmax(0,1fr)}.quantity-controls{flex-wrap:wrap}.remove-button{margin-left:auto}.card-actions{align-items:stretch;flex-direction:column}.section-nav{position:sticky;top:0;z-index:1;padding:8px 0;background:var(--bg)}}
