/* Связанный маршрут: развилка выбора модели и возвращение к общему исполнению. */
.routing-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-bottom:34px}
.routing-scenarios,.routing-controls{display:flex;gap:8px;flex-wrap:wrap}
.routing-toolbar button{background:transparent;border:1px solid var(--line);border-radius:2px;padding:11px 17px;min-height:46px;font-size:13px;color:var(--muted)}
.routing-toolbar button[aria-pressed=true]{border-color:var(--accent);color:var(--text)}
.routing-controls button{color:var(--text)}
.routing-path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:38px;row-gap:35px}
.routing-node{position:relative;min-width:0;padding:24px 20px 22px;border:1px solid var(--line);background:var(--bg);transition:border-color .3s,background-color .3s}
.routing-index{font:400 11px var(--sans);color:var(--muted);letter-spacing:.1em}
.routing-node h3{font-size:24px;line-height:1.25;margin:18px 0 12px}
.routing-node>p,.routing-model p{font-size:13px;color:var(--muted);line-height:1.6;margin:0;max-width:360px}
.routing-connector{position:absolute;top:50%;left:100%;width:39px;height:1px;background:var(--line);pointer-events:none}
.routing-connector:after{content:'';position:absolute;right:0;top:-3px;border-left:5px solid var(--muted);border-top:3px solid transparent;border-bottom:3px solid transparent}
.routing-node-router .routing-connector{top:100%;left:50%;width:1px;height:36px}
.routing-node-router .routing-connector:after{top:auto;bottom:0;left:-3px;border-top:5px solid var(--muted);border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:0}
.routing-node-llm{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,2fr);column-gap:35px;padding:28px 30px}
.routing-node-llm>.routing-index{grid-column:1}
.routing-node-llm>h3{grid-column:1;margin:12px 0 0}
.routing-models{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;position:relative;padding-left:32px;border-left:1px solid var(--line)}
.routing-model{position:relative;min-width:0;border-top:1px solid var(--line);padding-top:16px;transition:border-color .3s}
.routing-model strong{font-size:15px;font-weight:500;display:block;margin-bottom:8px}
.routing-branch{position:absolute;top:19px;right:100%;width:33px;height:1px;background:var(--line)}
.routing-model:last-child .routing-branch{display:none}
.routing-node-llm>.routing-connector{top:100%;left:16.66%;width:1px;height:36px}
.routing-node-llm>.routing-connector:after{top:auto;bottom:0;left:-3px;border-top:5px solid var(--muted);border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:0}
.routing-node-result>.routing-connector{display:none}
.routing-node.is-active{border-color:var(--accent);background:#151310}
.routing-node.is-active>.routing-index{color:var(--accent)}
.routing-node.is-complete>.routing-connector{background:var(--accent)}
.routing-node.is-complete>.routing-connector:after{border-left-color:var(--accent)}
.routing-node-router.is-complete>.routing-connector:after,.routing-node-llm.is-complete>.routing-connector:after{border-left-color:transparent;border-top-color:var(--accent)}
.routing-model.is-selected{border-top-color:var(--accent)}
.routing-model.is-selected strong{color:var(--accent)}
.routing-demo[data-routing-ready] .routing-model:not(.is-selected) strong{color:var(--muted)}
.routing-status{font-size:14px;line-height:1.7;color:var(--accent);margin:25px 0 0;min-height:48px}
.routing-notes{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;border-top:1px solid var(--line);padding-top:25px;margin-top:16px}
.routing-notes p{font-size:13px;color:var(--muted);margin:0}
@media(max-width:760px){.routing-toolbar{align-items:flex-start;flex-direction:column}.routing-path{grid-template-columns:1fr;row-gap:28px}.routing-node{padding:22px}.routing-node>.routing-connector,.routing-node-router>.routing-connector,.routing-node-llm>.routing-connector{top:100%;left:50%;width:1px;height:29px}.routing-node>.routing-connector:after{top:auto;bottom:0;left:-3px;right:auto;border-top:5px solid var(--muted);border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:0}.routing-node.is-complete>.routing-connector:after{border-left-color:transparent;border-top-color:var(--accent)}.routing-node-llm{grid-column:auto;display:block}.routing-models{margin-top:22px;padding-left:18px;grid-template-columns:1fr;gap:22px}.routing-model:last-child .routing-branch{display:block}.routing-branch{width:19px}.routing-notes{grid-template-columns:1fr;gap:18px}.routing-status{min-height:0}.routing-node h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.routing-node,.routing-model{transition:none}}
.paused .routing-node,.paused .routing-model{transition:none}
@media print{.routing-toolbar{display:none}.routing-path{gap:18px}.routing-node{break-inside:avoid;background:white!important}.routing-node-llm{grid-column:1/-1}.routing-node h3{font-size:14pt}.routing-node>p,.routing-model p,.routing-notes p{font-size:9pt}.routing-node.is-active{border-color:var(--line)}.routing-demo[data-routing-ready] .routing-model{opacity:1}.routing-status{display:none}}
.routing-economy{border-block:1px solid var(--line);padding-block:24px;margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.routing-economy p{font-size:14px;color:var(--muted);margin:0;max-width:780px}
.routing-economy strong{color:var(--text);font-weight:500}
.routing-economy a{color:var(--accent);font-size:13px;min-height:44px;display:inline-flex;align-items:center;gap:12px;flex-shrink:0;border-bottom:1px solid #65533f}
.routing-economy+.routing-notes{border-top:0;margin-top:0}
@media(max-width:760px){.routing-economy{align-items:flex-start;flex-direction:column;gap:12px}}

.routing-connector{--packet-x:36px;--packet-y:0px}.routing-node-router>.routing-connector,.routing-node-llm>.routing-connector{--packet-x:0px;--packet-y:32px}.routing-node.is-active>.routing-connector:before{content:"";position:absolute;left:-2px;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px var(--accent);animation:routing-packet 1.6s ease-in-out both}@keyframes routing-packet{0%{opacity:0;transform:translate(0,0)}20%{opacity:1}90%{opacity:1}100%{opacity:0;transform:translate(var(--packet-x),var(--packet-y))}}@media(max-width:760px){.routing-connector{--packet-x:0px;--packet-y:26px}}@media(prefers-reduced-motion:reduce){.routing-connector:before{animation:none!important;display:none}}.paused .routing-connector:before{animation:none!important;display:none}

.routing-demo[data-routing-running="false"] .routing-connector:before{animation-play-state:paused}
