/* Plain-language decision UX: one answer first, sliders second, details on demand. */
.fx-impact-lab{padding:20px;background:#f7faf5}
.fx-impact-head{align-items:center}
.fx-impact-head p{max-width:55ch;margin:4px 0 0;color:#455f4b;font-size:13px}
.fx-impact-quick-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:16px;padding:19px;border:1px solid #dce8da;border-radius:17px;background:#fff}
.fx-impact-focus-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:700;color:#304b35}
.fx-impact-focus-label select{min-width:0;width:min(100%,290px);background:#f6faf4;color:#263b2b;border:1px solid #acbead;border-radius:10px;padding:10px 9px;font-weight:700;font-size:13px}
.fx-impact-quick-status{padding:4px 0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.fx-impact-quick-label{color:#4d6453;font-size:12px;font-weight:700}
.fx-impact-quick-status>strong{font:800 clamp(33px,4vw,50px) 'Outfit','DM Sans',sans-serif;letter-spacing:-.03em;color:#305c3b;line-height:1.15}
.fx-impact-quick-status>h3{font:750 clamp(18px,2.2vw,23px) 'Outfit','DM Sans',sans-serif;color:#263d2b;margin:1px 0 0}
.fx-impact-plain-bars{display:grid;gap:7px;max-width:780px}
.fx-impact-bar-topline{display:flex;gap:12px;justify-content:space-between;align-items:baseline;color:#435b49;font-size:12px}
.fx-impact-bar-topline strong{color:#283b2c;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.fx-impact-track{width:100%;height:18px;background:#edf2e9;border-radius:8px;overflow:hidden;border:1px solid #dbe5d7}
.fx-impact-original-fill,.fx-impact-loss-fill{height:100%;border-radius:6px;transition:width .14s ease}
.fx-impact-original-fill{background:#4d9564;width:100%}
.fx-impact-loss-fill{background:#c77656;width:0}
.fx-impact-loss-fill.is-gain{background:#4d9564}
.fx-impact-quick-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fx-impact-quick-figures>div{display:flex;flex-direction:column;gap:4px;padding:13px 15px;border:1px solid #e1e9dc;border-radius:12px;background:#f7faf5}
.fx-impact-quick-figures span{color:#4c6251;font-size:12px}
.fx-impact-quick-figures strong{font:750 clamp(18px,2.2vw,26px) 'Outfit','DM Sans',sans-serif;color:#263a2b;overflow-wrap:anywhere}
.fx-impact-quick-figures small{color:#42634a;font-size:11px;line-height:1.5}
.fx-impact-quick-figures small.is-negative{color:#9c4934;font-weight:800}
.fx-impact-scenario-note{font-size:12px;line-height:1.6;color:#526555;margin:0}
.fx-impact-columns{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.fx-impact-control-area{padding:17px;border:1px solid #dce8da}
.fx-impact-control-area h3{font-size:16px;margin-bottom:10px}
.fx-impact-control-area label{margin:9px 0 5px;color:#344d3a}
.fx-impact-peg-ends{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#445e4a;margin:2px 0 12px}
.fx-impact-control-area input[type=range]{min-height:30px}
.fx-impact-control-area output{font-size:16px;color:#274b34}
.fx-impact-rate{margin-bottom:9px}
.fx-impact-winner{margin-top:12px;padding:13px 15px}
.fx-impact-winner b{font-size:22px}
.fx-impact-map-disclosure,.fx-impact-method,.fx-impact-deep-dive{border:1px solid #dbe6d6;background:#fff;border-radius:14px;min-width:0}
.fx-impact-map-disclosure>summary,.fx-impact-method>summary,.fx-impact-deep-dive>summary{padding:15px 17px;font-size:13px;font-weight:750;line-height:1.5;color:#355641;cursor:pointer;list-style-position:inside}
.fx-impact-map-disclosure[open]>summary,.fx-impact-method[open]>summary,.fx-impact-deep-dive[open]>summary{border-bottom:1px solid #e4ece0}
.fx-impact-map-disclosure .fx-impact-map-area{border:0;margin:0;padding:14px;background:transparent}
.fx-impact-map-area canvas{max-width:700px;margin:auto}
.fx-impact-erosion{padding:0;background:transparent;border:0;margin-top:10px}
.fx-impact-method{padding:0}
.fx-impact-method .fx-impact-numbers{margin:14px}
.fx-impact-method .fx-impact-explanation,.fx-impact-method .fx-impact-recovery-chart,.fx-impact-method>p{margin:14px}
.fx-impact-deep-dive{padding:0;margin-top:14px;background:#fafcf8}
.fx-impact-deep-dive>.card,.fx-impact-deep-dive>details.card{margin:12px}
.fx-impact-deep-dive>.card:last-child{margin-bottom:16px}
.fx-simple-routes{padding:18px;border:1px solid #e0e7dd;background:#fff;border-radius:18px}
.fx-simple-routes h2{font-size:20px;color:#263b2c;margin:0 0 6px}
.fx-simple-routes>p{font-size:12px;color:#506653;margin:0 0 15px}
.fx-simple-route-list{display:grid;gap:13px}
.fx-simple-route{display:grid;gap:6px;border-radius:12px;padding:11px 13px;border:1px solid #e0e9dc;background:#fafcf9}
.fx-simple-route.is-best{background:#edf6e9;border-color:#acc9b1}
.fx-simple-route-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#344937}
.fx-simple-route-row strong{font-size:14px;white-space:nowrap;color:#273c2c}
.fx-simple-route-name{font-weight:800}
.fx-simple-route-track{height:10px;border-radius:5px;background:#e4e9e1;overflow:hidden}
.fx-simple-route-track{position:relative}
.fx-simple-route-track::before{content:"";position:absolute;left:50%;height:100%;border-left:2px solid #687d69;z-index:1}
.fx-simple-route-track>span{position:absolute;height:100%;display:block;border-radius:4px}
.fx-simple-route-track>span.is-positive{left:50%;background:#4b9161}
.fx-simple-route-track>span.is-negative{right:50%;background:#bd7959}
.fx-simple-route-foot{color:#4c6251;font-size:11px}
.fx-compare-more{margin-top:13px;padding-bottom:2px}
.fx-compare-more>.path-primer,.fx-compare-more>.card{margin:13px 13px 18px}
@media(max-width:640px){
.fx-impact-lab{padding:12px}
.fx-impact-quick-summary{padding:14px;gap:13px}
.fx-impact-focus-label{align-items:stretch;flex-direction:column;gap:6px}
.fx-impact-focus-label select{width:100%}
.fx-impact-quick-figures{grid-template-columns:1fr}
.fx-impact-track{height:17px}
.fx-impact-map-disclosure .fx-impact-map-area canvas{width:100%;height:auto}
.fx-impact-deep-dive>.card,.fx-impact-deep-dive>details.card{margin:10px}
.fx-simple-routes{padding:13px}
.fx-simple-route-row{gap:6px}
}
@media(prefers-reduced-motion:reduce){.fx-impact-original-fill,.fx-impact-loss-fill{transition:none}}
