/* Routing adds editable destinations and scenarios to the shared model canvas. */
.routing-mode .bench-foot{display:none}.routing-mode .output-panel>.panel-heading{height:0;position:relative}.routing-mode .output-panel>.panel-heading>span{display:none}.routing-mode #copy-button{position:absolute;right:52px;top:-1px;font-size:8px;padding:2px 3px}.routing-mode .flow-toolbar{display:grid;grid-template-columns:250px minmax(0,1fr);column-gap:18px;row-gap:5px}.routing-mode .result-meta{padding-top:9px}
.routing-editor{min-width:0}.routing-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 5px}.routing-small-label{font:8px/1.6 var(--mono);letter-spacing:1.1px;color:#7b8b71}#routing-category-count{color:#a0ac93;letter-spacing:.5px}.routing-result-summary{min-height:30px;margin-bottom:11px}#routing-result-label{display:none}.routing-result-title{font:20px/1.2 var(--serif);color:#647c58;margin:0;overflow-wrap:anywhere}.routing-result-title.result-title{color:var(--teal);font-size:21px;margin:0}.routing-result-intro{display:none}.routing-result-metrics{display:flex;gap:10px;flex-wrap:wrap;font:7px/1.5 var(--mono);color:#8b9a7c;margin-top:5px}.routing-result-metrics>span+span{color:#aaa58c}.routing-loading{border-left:2px solid #91a879;background:#eef2e5;padding:9px 10px;margin:0 0 12px;position:relative;overflow:hidden}.routing-loading strong{font:16px/1.2 var(--serif);font-weight:400;color:var(--teal)}.routing-loading p{font-size:9px;line-height:1.6;color:#829174;margin:4px 0 0}.routing-loading .cancel-button{font-size:9px;margin-top:3px;padding:2px 0}
.routing-map{position:relative;min-width:0}.routing-destinations{display:flex;flex-direction:column;gap:7px;min-width:0}.routing-destination{border:1px solid #d9e1ce;border-radius:5px;background:#fafaf3;min-width:0;position:relative;padding:0 9px;transition:background .2s,border-color .2s}.routing-destination:before{content:'';position:absolute;left:-3px;top:50%;width:4px;height:4px;background:#b4c5a7;border-radius:50%;transform:translateY(-50%)}.routing-destination.is-winner{background:#e9efdd;border-color:#91ac7d;box-shadow:0 3px 9px #56754a05}.routing-destination.is-winner:before{background:#a78051;width:5px;height:5px}.routing-destination:focus-within{border-color:#8fab78;box-shadow:0 0 0 2px #a1b88a12}.routing-category-main{display:grid;grid-template-columns:16px minmax(0,1fr) 45px 25px 22px;gap:4px;align-items:center;min-height:43px;min-width:0}.routing-category-number{grid-column:1;font:9px var(--mono);color:#b8c3a8;width:16px}.routing-category-name{grid-column:2;font:13px var(--sans);color:#53694a;border:0;background:transparent;min-width:0;width:100%;outline:none;padding:6px 0;line-height:1.35}.routing-category-name::placeholder{color:#9fac90}.routing-destination-score{grid-column:3;text-align:right;font:10px var(--mono);color:#849872;white-space:nowrap;padding-right:3px}.is-winner .routing-category-name{color:#285b42;font-weight:600}.is-winner .routing-destination-score{color:#3d7044}.routing-description-toggle{grid-column:4;border:0;background:transparent;color:#9baa88;font:15px/1 var(--sans);width:25px;height:30px;padding:0}.routing-description-toggle:hover,.routing-description-toggle[aria-expanded=true]{color:#597b48;background:#e9efdd;border-radius:3px}.routing-remove{grid-column:5;border:0;background:transparent;color:#b0bba1;padding:0;font:17px/1 var(--sans);width:22px;height:30px}.routing-remove:hover{color:var(--copper)}.routing-remove:disabled{cursor:not-allowed;opacity:.25}.routing-category-details{min-width:0}.routing-description-summary{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.routing-category-description{font:11px/1.7 var(--sans);padding:9px 10px;margin:0 0 10px;background:#f1f4e8;border:1px solid #dee6d2;border-radius:4px;min-height:90px;max-height:240px;resize:vertical;color:#637b55}.routing-category-description:focus-visible{outline:1px solid #8eab79}.routing-match-bar{position:absolute;bottom:0;left:9px;right:9px;height:2px;overflow:hidden;pointer-events:none;border-radius:2px;background:#e5ebdc}.routing-match-bar>span{height:100%;background:#bfcdaf;display:block;animation:reveal .7s ease both;transform-origin:left}.is-winner .routing-match-bar>span{background:#83a06a}.routing-match-rank{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.routing-add{font:10px var(--sans);color:#8b9d79;background:transparent;border:1px dashed #d3dec7;border-radius:5px;margin-top:8px;padding:9px 10px;width:100%;transition:background .2s}.routing-add:hover{background:#edf2e3;color:#5c7e4a}.routing-add:disabled{cursor:not-allowed}.routing-map-caption{font-size:8px;line-height:1.7;color:#98a28d;margin:10px 0 0}
.routing-scenarios{display:flex;align-items:center;gap:8px;min-width:0}.routing-scenario-field{flex:1;min-width:0}.routing-scenario-field label{display:none}.routing-scenario-field select{width:100%;background:#f2f4e8;border:1px solid #d6e0c9;border-radius:5px;padding:8px 23px 8px 10px;color:#657d53;font:10px var(--sans);height:33px}.routing-scenario-field select:focus-visible{outline:2px solid var(--copper);outline-offset:3px}.routing-scenario-copy{display:none}.routing-reset{font-size:9px;white-space:nowrap;padding:6px 0;color:#8fa17b}.routing-toolbar .examples>span{display:none}.routing-preset-note{grid-column:1/-1;font-size:8px;line-height:1.6;color:#a0aa92;margin:3px 0 0}
@media(min-width:1500px){.routing-category-name{font-size:14px}}
@media(max-width:1300px) and (min-width:1121px){.routing-category-name{font-size:12px}.routing-category-main{grid-template-columns:12px minmax(0,1fr) 42px 23px 20px;gap:3px}.routing-category-number{font-size:8px}}
@media(max-width:1120px) and (min-width:701px){.routing-mode .flow-toolbar{grid-template-columns:230px minmax(0,1fr)}.routing-category-name{font-size:13px}}
@media(max-width:900px) and (min-width:701px){.routing-category-main{grid-template-columns:10px minmax(0,1fr) 38px 21px 19px;gap:2px}.routing-category-name{font-size:12px}.routing-destination-score{font-size:9px}.routing-category-number{font-size:7px}.routing-description-toggle{width:21px}.routing-remove{width:19px}.routing-destination{padding-inline:7px}.routing-mode .flow-toolbar{grid-template-columns:1fr;gap:10px}.routing-scenarios{max-width:280px}}
@media(max-width:700px){.routing-category-name{font-size:13px}.routing-category-main{min-height:45px;grid-template-columns:14px minmax(0,1fr) 43px 25px 22px;gap:3px}.routing-category-description{font-size:12px}.routing-destination-score{font-size:10px}.routing-result-title{font-size:21px}.routing-editor-heading{margin-bottom:5px}.routing-small-label{font-size:8px}.routing-map-caption{font-size:9px}.routing-loading p{font-size:10px}.routing-mode .flow-toolbar{grid-template-columns:1fr;gap:11px}.routing-scenarios{max-width:none}.routing-scenario-field select{font-size:11px;height:35px}.routing-preset-note{font-size:9px;margin:0}.routing-reset{font-size:10px;padding-inline:3px}}
