/* Shared geometry, model card, connectors, and controls for every Vela task. */
.flow-mode .model-strip{display:none}.flow-mode .task-heading{margin-bottom:24px}.flow-mode .task-symbol{display:none}.flow-mode .task-heading h3{font-size:33px}.flow-mode .task-heading p{font-size:12px}.flow-mode>.action-row{display:none}.flow-mode .bench-foot{display:flex;max-width:1140px;margin:13px auto 0;font-size:9px;line-height:1.7;align-items:flex-start}.flow-mode .keyboard-hint{display:none}
.flow-mode .flow-stage{position:relative;display:grid;grid-template-columns:minmax(275px,360px) 210px minmax(350px,450px);column-gap:48px;justify-content:center;align-items:center;isolation:isolate;min-width:0;max-width:1140px;width:100%;margin-inline:auto}.flow-stage>.input-panel,.flow-stage>.output-panel,.flow-model-card{position:relative;z-index:1}.flow-mode .input-panel{align-self:center;background:#fcfaf5;border-color:#d8dfd1;box-shadow:0 5px 22px #42633f04}.flow-mode .input-panel .panel-heading{height:40px;padding-inline:16px;font-size:9px}.flow-mode #input{min-height:215px;max-height:350px;flex:none;font-size:14px;line-height:1.85;padding:17px 17px 12px}.flow-mode .editor-foot{font-size:8px;padding:7px 16px 14px}.flow-prompt-actions{display:flex;align-items:center;flex-direction:column;gap:9px;padding:14px 16px 13px;border-top:1px solid #e2e7dc;background:#f6f6ed;border-radius:0 0 5px 5px}.flow-prompt-actions .run-button{width:100%;justify-content:space-between;padding:12px 15px;font-size:12px}.flow-shortcut{font:7px var(--mono);color:#99a08d}.flow-mode .output-panel{align-self:center;border:0;border-radius:0;background:transparent;min-width:0}.flow-mode .output-panel>.panel-heading{height:34px;padding:0;border:0;font-size:8px;letter-spacing:1px;color:#829274;gap:10px}.flow-mode .output{padding:0;min-height:0}.flow-mode .result-meta{font-size:7px;line-height:1.7;padding:9px 0 0;color:#8c957e}.flow-mode .stale-note{color:var(--copper)}.flow-mode.retrieval-mode #input{min-height:117px;max-height:220px;font-size:13px}.flow-mode #candidates{min-height:136px;max-height:260px;font-size:12px;line-height:1.75;padding:10px 15px}.flow-mode #candidates-wrap label{font-size:8px;padding:13px 15px 0;align-items:center}.flow-mode #candidates-wrap label span{font-size:8px}
.flow-model-card{width:210px;min-height:225px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #b8c9af;border-radius:12px;padding:21px 12px 17px;background:radial-gradient(ellipse at 50% 28%,#dce8d178 0%,#eef2e5 57%,#f4f5eb 100%);box-shadow:0 0 0 4px #edf1e57a,0 12px 34px #57734b0c;isolation:isolate}.flow-model-card:before{content:'';position:absolute;inset:6px;border:1px solid #d6dfca;border-radius:8px;pointer-events:none}.flow-model-art{width:78px;height:78px;margin:0 0 9px;flex-shrink:0}.flow-model-art svg{display:block;width:100%;height:100%;fill:none;stroke:#617f56;stroke-width:.85;overflow:visible}.flow-model-art .flow-dial-outer{stroke:#9eb58a;stroke-width:.75}.flow-dial-ticks{stroke:#698455;stroke-width:1}.flow-needle{fill:#be916222;stroke:#99653d;stroke-width:1.15;transform-origin:50% 50%}.flow-needle-core{fill:#58785222;stroke:#4b713e;stroke-width:.95}.flow-needle-pin{fill:#b08252;stroke:#f4f3e7;stroke-width:.7}.flow-model-body{position:relative;min-width:0}.flow-model-card #model-link{font:20px/1.2 var(--serif);letter-spacing:-.15px;color:#355b42;white-space:nowrap}.flow-model-metadata{display:flex;justify-content:center;gap:7px;align-items:center;margin:8px 0 11px;font:8px var(--mono);color:#819473;letter-spacing:.7px}.flow-model-metadata i{font-style:normal;color:#bdc7ae}.flow-model-card #model-state{justify-content:center;align-items:center;gap:5px;font:7px/1.5 var(--mono);color:#6e8262;max-width:163px;min-height:11px}.flow-model-card .hollow-dot{flex-shrink:0;width:4px;height:4px;border-color:#8ca07c}.is-running .flow-model-card{border-color:#8eac7b;box-shadow:0 0 0 4px #e7eedb,0 12px 34px #57734b15}
/* Only the compass turns; the card and its text keep a steady position. */
.flow-model-card:after{content:'';position:absolute;inset:-1px;border:1px solid #88a276;border-radius:inherit;box-shadow:0 0 0 3px #a4bb8726,0 0 20px #829e663d,inset 0 0 12px #9cb87c18;opacity:0;pointer-events:none}
.is-running .flow-model-art svg{transform-origin:50% 50%;animation:flow-orbit 6s linear infinite}
.is-running .flow-model-card:after{animation:flow-halo 2.4s ease-in-out infinite}

.flow-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}.flow-path{fill:none;stroke:#c0ceb3;stroke-width:1.15;vector-effect:non-scaling-stroke}.flow-path.is-winner{stroke:#aa8159;stroke-width:1.7}.flow-path.flow-pulse{stroke:#4c7651;stroke-width:2;stroke-dasharray:4 90;animation:flow-travel 2.4s linear infinite}
.flow-toolbar{max-width:1140px;width:100%;margin:27px auto 0;display:flex;align-items:center;padding:14px 0 0;border-top:1px solid #e1e6d9}.flow-toolbar .examples{min-width:0;gap:12px;align-items:center;flex-wrap:wrap}.flow-toolbar .examples>span{font-size:7px;letter-spacing:1px;color:#94a285}.flow-toolbar .examples>div{gap:6px;flex-wrap:wrap}.flow-toolbar .example-button{font-size:10px;padding:6px 10px;border-radius:5px;border-color:#dce5d0;background:#f8faf0;color:#879b6f}.flow-toolbar .example-button:hover{background:#eff4e5;border-color:#b7c9a3}.flow-toolbar .example-button[aria-pressed=true]{border-color:#a3ba8c;background:#eaf1df;color:#567d42}
/* Result-specific typography preserves each model's semantics inside the canvas. */
.flow-mode .empty-state{align-items:flex-start;text-align:left;min-height:215px;height:auto;padding:22px;border:1px dashed #d7e0ce;border-radius:6px;background:#f8faf1;gap:3px}.flow-mode .empty-state strong{font:25px/1.2 var(--serif);color:#718560}.flow-mode .empty-state p{font-size:11px;color:#94a188;max-width:300px;line-height:1.8;margin-top:8px}.flow-empty-label{font:7px var(--mono);letter-spacing:1px;color:#a3af95;margin-bottom:10px}.flow-mode .loading-track{margin-top:13px;width:120px}.flow-mode .cancel-button{font-size:10px;margin-top:10px;padding-left:0}.flow-mode .result-title{font:25px/1.2 var(--serif);margin:0 0 14px;color:#3f674b}.flow-mode .score-list{gap:7px}.flow-mode .score-row{border:1px solid #dae3cf;border-radius:5px;background:#f9faf2;padding:9px 11px 8px;min-width:0}.flow-mode .score-label{font-size:12px;line-height:1.45;align-items:center;gap:12px;margin-bottom:6px}.flow-mode .score-label>span:first-child{overflow-wrap:anywhere}.flow-mode .score-label>span:last-child{font-size:10px;color:#7d936d;white-space:nowrap}.flow-mode .score-bar{height:2px;background:#e4ebdb}.flow-mode .score-bar span{background:#b0c59b}.flow-mode .score-row:first-child .score-bar span{background:#779d60}.flow-mode .rank-score{font-size:8px;margin-top:5px;color:#8d9b80}.flow-mode .hazard-flag{font-size:6px;padding:1px 4px;vertical-align:middle;border-color:#d4b597;color:#a97d4e}.flow-mode .rank-item{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;padding:13px;border:1px solid #d9e3ce;border-radius:5px;background:#f9faf2;font-size:12px;line-height:1.75;margin-bottom:8px}.flow-mode .rank-item:first-child{padding-top:13px;background:#edf3e3;border-color:#a6bd90}.flow-mode .rank-number{font-size:21px;color:#ac8359}.flow-mode .rank-item .rank-score{font-size:9px;line-height:1.6;color:#819770;margin-top:6px}.flow-mode .result-caption{font-size:9px;line-height:1.7;color:#8a9c7a}.flow-more{margin-top:10px}.flow-more>summary{cursor:pointer;font-size:10px;color:#6f895b;padding:7px 0;list-style:disclosure-closed}.flow-more[open]>summary{list-style:disclosure-open}.flow-more>.score-list{margin-top:5px}.flow-mode .pii-text,.flow-mode .redacted{padding:17px;border:1px solid #d9e3ce;border-radius:5px;background:#fafaf3;max-height:440px;overflow:auto;line-height:2.2;font-size:13px}.flow-mode .redacted{font-size:11px}.flow-mode .entity{font-size:inherit}.flow-mode .entity-legend{margin-top:13px;gap:7px}.flow-mode .entity-legend span{font-size:8px;padding:3px 5px}.flow-mode .output-tabs{border-color:#d7e1ca;background:#f5f8ed}.flow-mode .output-tabs button{font-size:9px;padding:4px 7px}.flow-mode #copy-button{font-size:10px}
@keyframes flow-travel{to{stroke-dashoffset:-94}}@keyframes flow-orbit{to{transform:rotate(360deg)}}@keyframes flow-halo{0%,100%{opacity:.15}50%{opacity:.9}}
@media(min-width:1500px){.flow-mode .flow-stage{grid-template-columns:minmax(320px,360px) 210px minmax(390px,450px);column-gap:53px}.flow-model-card{width:210px;min-height:225px}}
@media(max-width:1300px) and (min-width:1121px){.flow-mode .flow-stage{grid-template-columns:minmax(265px,350px) 200px minmax(335px,430px);column-gap:38px}.flow-model-card{width:200px;min-height:218px;padding-inline:10px}.flow-model-card #model-state{max-width:145px}.flow-mode #input{font-size:13px}}
@media(max-width:1120px) and (min-width:701px){.flow-mode .flow-stage{grid-template-columns:minmax(270px,.92fr) minmax(340px,1.08fr);column-gap:66px;row-gap:35px;align-items:start}.flow-stage>.input-panel{grid-column:1;grid-row:1;align-self:start}.flow-model-card{grid-column:1;grid-row:2;justify-self:center;align-self:start;min-height:190px}.flow-stage>.output-panel{grid-column:2;grid-row:1/span 2;align-self:center}.flow-mode #input{min-height:175px;font-size:13px}.flow-mode .task-heading{margin-bottom:22px}}
@media(max-width:900px) and (min-width:701px){.flow-mode .flow-stage{grid-template-columns:minmax(240px,.92fr) minmax(285px,1.08fr);column-gap:38px}.flow-mode #input{font-size:12px}}
@media(max-width:700px){.flow-mode .flow-stage{grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}.flow-stage>.input-panel,.flow-stage>.output-panel,.flow-model-card{grid-column:1;grid-row:auto;width:100%;align-self:start}.flow-model-card{min-height:96px;flex-direction:row;gap:18px;padding:13px 18px;border-radius:9px;text-align:left;justify-content:center}.flow-model-art{width:63px;height:63px;margin:0}.flow-model-body{min-width:0}.flow-model-card #model-link{font-size:23px}.flow-model-metadata{justify-content:flex-start;margin:6px 0 7px;font-size:8px;letter-spacing:.3px}.flow-model-card #model-state{justify-content:flex-start;max-width:none;font-size:8px}.flow-mode #input{min-height:160px;max-height:320px;font-size:14px}.flow-mode .task-heading h3{font-size:29px}.flow-mode .task-heading p{font-size:11px;line-height:1.7}.flow-mode .task-heading{margin-bottom:19px}.flow-mode .input-panel .panel-heading{font-size:8px}.flow-toolbar{margin-top:20px;padding-top:15px}.flow-toolbar .examples>span{width:100%;font-size:8px}.flow-toolbar .examples>div{gap:7px}.flow-toolbar .example-button{font-size:11px;padding:7px 10px}.flow-prompt-actions .run-button{font-size:13px;padding-block:13px}.flow-shortcut{font-size:8px}.flow-mode .bench-foot{font-size:9px}.flow-mode .empty-state{min-height:160px;padding:20px}.flow-mode .rank-item{font-size:12px}.flow-mode .pii-text,.flow-mode .redacted{padding:14px}.flow-mode .output-panel>.panel-heading{height:35px}.flow-mode .score-label{font-size:12px}.flow-mode #candidates{font-size:12px}.flow-mode.retrieval-mode #input{min-height:110px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.flow-path.flow-pulse{display:none}}
.no-motion .flow-path.flow-pulse{display:none}

/* Similarity uses the shared example toolbar, with a compact use-case selector. */
.flow-toolbar .similarity-examples{display:grid;grid-template-columns:220px minmax(0,1fr);gap:7px 18px;width:100%}.flow-toolbar .similarity-examples>span{display:none}.flow-toolbar .similarity-use-case{display:block;min-width:0}.similarity-use-case label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.similarity-use-case select{width:100%;min-width:0;background:#f2f4e8;border:1px solid #d6e0c9;border-radius:5px;padding:8px 25px 8px 10px;color:#657d53;font:10px var(--sans);height:33px}.similarity-use-case select:focus-visible{outline:2px solid var(--copper);outline-offset:3px}.similarity-use-case select:disabled{opacity:.55;cursor:wait}.similarity-group-note{grid-column:1/-1;font-size:9px;line-height:1.65;color:#879777;margin:0}.flow-mode #candidates-label{font:inherit;color:inherit;margin:0}
@media(max-width:700px){.flow-toolbar .similarity-examples{grid-template-columns:minmax(0,1fr);gap:10px}.similarity-use-case select{font-size:12px;height:36px}.similarity-group-note{font-size:10px}}
