/*
 * EvalCall selected interface theme
 * Source: evalcall-style-selection-2026-07-15 (2).json
 * Selection SHA-256: 49a071ee701c5816a8c177d650fd04b7da25d7e2a937ee117c9399a73b57abf7
 */
:root{
  --canvas:#f0f2f4;--paper:#fff;--ink:#111b31;--muted:#6f7989;--line:#cfd6df;--subtle:#f6f7f8;
  --input:#285f9d;--input-soft:#f1f6fb;--output:#08755d;--output-soft:#edf8f4;
  --signal:#ffd100;--signal-dark:#5c4a00;--danger:#c5352d;--danger-soft:#fff1ef;
  --shadow:0 28px 72px rgba(17,27,49,.12);--radius:11px;
}
body{background:linear-gradient(180deg,#eef1f4 0,#f5f6f7 34%,#edf0f3 100%);letter-spacing:.002em}

/* 01 / brand and page shell */
.topbar{min-height:82px;padding-block:16px;background:rgba(255,255,255,.96);border-bottom:1px solid #bfc8d3;box-shadow:none;backdrop-filter:blur(16px)}
.brand{gap:14px}.brand-mark{width:42px;height:42px;border:1px solid #26324a;border-radius:9px;background:var(--ink);color:var(--signal);box-shadow:none;font-size:19px}.brand strong{font-size:18px;font-weight:800;letter-spacing:.015em}.brand span{font:750 10px var(--font-data);letter-spacing:.08em;text-transform:uppercase}
.top-controls{gap:15px}.library-link{min-height:36px;border:1px solid #bfc8d3;border-radius:8px;background:#fff;color:#475367;padding-inline:12px}.library-link:hover{border-color:var(--ink);background:#fff;color:var(--ink)}
.mode-switch{border:1px solid #c7ced8;border-radius:9px;background:#f1f3f5;padding:3px}.mode-switch button{border-radius:6px;padding:8px 13px}.mode-switch button.active{box-shadow:none;border:1px solid #d2b100;background:#fff7cc;color:#4b3e00}
.truth-badge{position:relative;padding:8px 12px 8px 28px;border:1px solid #c9d1dc;background:#fff;color:#4d596b}.truth-badge::before{content:"";position:absolute;left:12px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--signal);transform:translateY(-50%);box-shadow:0 0 0 0 rgba(255,209,0,.35);animation:selectedLive 1.8s ease-out infinite}.truth-badge.live{border-color:#b8dbcf;background:#fff;color:var(--output)}.truth-badge.live::before{background:var(--output);box-shadow:0 0 0 0 rgba(8,117,93,.28)}
main{max-width:1540px;padding-top:38px}.title-row{align-items:stretch;margin-bottom:24px}.title-copy{max-width:860px}.title-copy .eyebrow{color:#7d8796;font-size:9px}.title-copy h1{font-size:36px;font-weight:760;letter-spacing:-.055em}.title-copy p{max-width:720px;font-size:13px;font-weight:560;line-height:1.65}
.formula{min-width:250px;align-content:center;text-align:left;border:0;border-left:1px solid #20293b;padding:10px 0 10px 22px;color:#242d40;font:700 15px/1.5 "Songti SC",Georgia,serif;letter-spacing:0;white-space:normal}.formula span{font:800 9px var(--font-data);letter-spacing:.13em;text-transform:uppercase}
.workbench{border:1px solid #c7d0da;border-radius:18px;background:#fff;box-shadow:var(--shadow)}

/* 02 / navigation and stage identity */
.steps{background:#f5f6f7;border-bottom-color:#cdd5df}.step{min-width:160px;padding:18px 16px;border-right-color:#d5dbe3}.step:hover{background:#fff}.step-name{font-size:12px}.step-index{width:31px;height:31px;border:1px solid #d5dbe3;border-radius:7px;background:#fff;color:#8792a2}.step.active{background:#fff;color:#2a2408;box-shadow:inset 0 -4px 0 var(--signal)}.step.active .step-index{border-color:#d4af00;background:var(--signal);color:#211b00}.step.done{background:#fbfdfc}.step.done .step-index{border-color:#b7ddcf;background:#eaf7f2;color:var(--output)}.step.core:not(.active){box-shadow:inset 0 -4px 0 #ded4a2}
.stage{padding:30px}.stage-head{min-height:58px;margin-bottom:20px}.stage-kicker{color:#8490a0}.stage-head h2{font-size:25px;font-weight:760;letter-spacing:-.04em}.run-context{position:relative;padding:9px 12px 9px 36px;border:1px solid #d2d9e2;border-radius:9px;background:#fff;text-align:left;max-width:48%}.run-context::before{content:"R";position:absolute;left:10px;top:50%;width:18px;height:18px;border-radius:50%;background:#e8eef5;color:#46617e;display:grid;place-items:center;transform:translateY(-50%);font:900 8px var(--font-data)}.run-context>span{margin:0}.run-label{font-size:10px}
.footer .nav{border:0;border-radius:8px;background:#eef1f4;color:#3f4b5d;padding:11px 17px}.footer .nav:hover{background:#e4e8ed}.footer .nav.primary{background:#e9edf2;color:var(--ink)}

/* 03 / dynamic signal tree */
.stage-layout{grid-template-columns:minmax(410px,.78fr) minmax(0,1.22fr);gap:22px}.flow-map{height:700px;border:1px solid #bcc6d2;border-radius:12px;background:#fff;box-shadow:none}.flow-map-head{height:56px;border-top:5px solid var(--signal);background:#fff;padding-inline:20px}.flow-map-title{font-size:13px;color:#283449}.flow-map-title::before{border-radius:2px;box-shadow:none}.flow-state{font-size:10px}
.flow-progress{padding:10px 20px 14px;background:#f7f8f9;border-color:#dbe1e7}.flow-progress-track{height:8px;background:#dfe4ea}.flow-progress-track>i{background:linear-gradient(90deg,var(--input) 0%,var(--signal) 50%,var(--output) 100%);box-shadow:none}.flow-progress-track>b{width:9px;height:9px}.flow-progress-track>b.active{box-shadow:0 0 0 4px rgba(255,209,0,.23)}
.flow-tree{padding:18px 28px 24px}.flow-column-label{color:#6f7a8b}.flow-node-grid{gap:10px}.flow-node{min-height:55px;border:1px solid #cfd6df;border-left:5px solid var(--signal);border-radius:8px;background:#fff;box-shadow:0 3px 9px rgba(17,27,49,.035);color:#3e4a5d}.flow-node::before{width:9px;height:9px;border-width:3px}.flow-column.input .flow-node{border-color:#c8d7e6;border-left-color:var(--input);background:#fff;color:var(--input)}.flow-column.process .flow-node{border-left-color:var(--signal)}.flow-column.output .flow-node{border-color:#c8ded6;border-left-color:var(--output);background:#fff;color:var(--output)}
.flow-link{width:2px;background:#c8d0da}.flow-pulse{width:8px;height:8px;background:var(--signal);box-shadow:0 0 0 5px rgba(255,209,0,.16)}.flow-map.done .flow-link{background:linear-gradient(180deg,var(--input),var(--signal),var(--output))}
.flow-map.running .flow-column.process .flow-node.active{border-color:#c7a400;border-left-color:var(--signal);background:#fffbea;box-shadow:0 0 0 4px rgba(255,209,0,.1)}.flow-map.running .flow-column.output .flow-node.active,.flow-map.done .flow-column.output .flow-node{border-color:#9ccfbd;border-left-color:var(--output);background:#f7fcfa;box-shadow:none}.flow-map.done .flow-column.process .flow-node{border-color:#d9bd37;border-left-color:var(--signal);background:#fffdf1}

/* 04 / input and task configuration */
.io-grid{height:700px;grid-template-rows:minmax(0,1fr) 70px minmax(0,1fr)}.io-card{border:1px solid #cdd5df;border-radius:10px;background:#fff;box-shadow:none}.io-card.input,.io-card.output{box-shadow:none}.io-head{height:50px;border-bottom:1px solid #d8dee6;border-top:4px solid var(--signal);background:#fff;padding-inline:16px}.io-card.input .io-head{border-top-color:var(--input)}.io-card.output .io-head{border-top-color:var(--output)}.io-title{font-size:11px}.io-body{padding:15px}
.relay::before{width:1px;background:repeating-linear-gradient(180deg,#bbc4cf 0 7px,transparent 7px 12px)}.relay::after{border-width:0 2px 2px 0;border-color:#aeb9c5}.execute{min-width:150px;min-height:44px;border:1px solid #20293b;border-radius:5px;background:#fff;color:#111b31;box-shadow:5px 5px 0 var(--signal);font-size:11px;letter-spacing:.03em}.execute:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:7px 7px 0 var(--signal)}.relay.running .execute{background:#fffdf0}.relay.running::after{border-color:#c8a500}
.entry-switch{gap:0;border:1px solid #c9d1db;border-radius:8px;overflow:hidden}.entry-switch button{border:0;border-radius:0;background:#fff}.entry-switch button+button{border-left:1px solid #c9d1db}.entry-switch button.selected{border:0;background:var(--signal);color:#2d2500}
.preset-grid{gap:10px}.preset{position:relative;border:1px solid #d0d7df;border-top:4px solid #d7dde4;border-radius:8px;background:#fff;padding:12px}.preset:hover{border-top-color:#c1a000}.preset.selected{border-color:#d0d7df;border-top-color:var(--signal);background:#fff;box-shadow:none}.preset b{font-size:11px}
.material-library{border:1px solid #ccd4de;border-radius:8px;background:#fff;box-shadow:none}.material-library-head{padding:11px 12px;border-bottom:1px solid #dce2e8;background:#f5f7f8}.material-library-head span{border:1px solid #bddacd;background:#fff}.material-row{padding:11px 12px}.material-icon{border-radius:6px}.material-select{border:1px solid #c8d1dc;border-radius:6px;background:#fff;font-size:10.5px}
.text-input{border:0;border-bottom:1px solid #7f8b9b;border-radius:0;background:transparent;padding:9px 2px}.text-input:focus{border-bottom-color:var(--signal-dark);box-shadow:0 2px 0 var(--signal)}
.mode-note,.mode-note.live{border:1px solid #d2d8e0;border-radius:7px;background:#f5f7f8;color:#586477;padding:10px 12px;font-weight:700}.empty{min-height:120px;border:0;border-top:1px solid #252e40;border-bottom:1px solid #252e40;border-radius:0;background:#faf9f5;color:#5e6470;font:500 12px/1.7 "Songti SC",Georgia,serif}

/* 05 / data and evidence */
.section-label{margin-top:15px;color:#6e798a;font-size:8.5px}.section-label::before{width:22px;height:1px}.metrics{gap:9px}.metric{border:0;border-top:1px solid #c8d0da;border-radius:0;background:#fff;padding:11px 5px}.metric b{font-size:19px;letter-spacing:-.045em}.metric b.text{font-size:11.5px;letter-spacing:0}.metric span{font-size:9px}.status-line{position:relative;border:1px solid #c7d4d0;border-radius:7px;background:#fff;color:var(--output);padding-left:28px}.status-line .dot{position:absolute;left:12px;width:7px;height:7px;box-shadow:0 0 0 0 rgba(8,117,93,.25);animation:selectedLive 1.8s ease-out infinite}.status-line.error{border-color:#e0bbb7;background:#fff;color:var(--danger)}
.excerpt{border:0;border-left:1px solid #111b31;border-radius:0;background:#faf9f5;color:#414959;padding:12px 14px;font:500 11px/1.7 "Songti SC",Georgia,serif}.artifact{border:1px solid #bfc8d3;border-radius:6px;background:#fff;color:#465267;padding:8px 10px}.artifact:hover{border-color:var(--ink);background:#fff;color:var(--ink)}
.list{gap:0}.item{position:relative;padding:12px 4px 12px 35px;border-bottom:1px solid #dce2e8}.item::before{content:"↳";position:absolute;left:5px;top:12px;width:21px;height:21px;border:1px solid #d0d7df;border-radius:6px;background:#f5f7f8;color:#586477;display:grid;place-items:center;font:900 10px var(--font-data)}.chip{border:1px solid #c7d1db;border-radius:999px;background:#eef7f3;color:var(--output);padding:3px 7px}.chip.fail,.chip.critical{border-color:#e5bbb7;background:var(--danger-soft);color:var(--danger)}
.detail-table{border:1px solid #cbd3dd;border-radius:8px}.detail-head{background:#edf3f1;color:#4a665d}.detail-row{border-top-color:#dce3e3}.detail-row:has(.chip.fail){box-shadow:inset 4px 0 0 var(--danger)}.detail-row:has(.chip.pass){box-shadow:inset 4px 0 0 var(--output)}
.problem-table{border-top-color:#d5dce4}.problem{padding:12px 2px}.problem .bar{height:7px;background:#e5e9ee}.problem .bar i{background:linear-gradient(90deg,var(--signal),#ee8d31,var(--danger))}.problem-rate{color:#9c3b34}
.gate{border:1px solid var(--danger);border-radius:8px;background:#fff;padding:15px 15px 15px 20px}.gate::before{width:6px}.gate.pass{border-color:var(--output);background:#fff}.gate b{font-size:27px;letter-spacing:-.04em}.root{border:1px solid #d0d7df;border-top:5px solid var(--signal);border-radius:8px;background:#fff;padding:14px}.root p{color:#606b7c}
.loop{position:relative;display:grid;grid-template-columns:30px 1fr;gap:0 12px;margin:14px 0 0;padding-left:2px}.loop::before{content:"";position:absolute;left:16px;top:15px;bottom:15px;width:1px;background:#1b2539}.loop-num{z-index:1;width:30px;height:30px;border:1px solid #1b2539;border-radius:50%;background:#fff;color:#1b2539}.loop-text{min-height:45px;padding:5px 0 12px;font:600 11px/1.5 "Songti SC",Georgia,serif}

/* 06 / feedback and overlays */
.progress{border:1px solid #cbd3dd;border-radius:8px;background:#fff}.progress .bar{height:9px;background:repeating-linear-gradient(90deg,#e2e7ec 0 calc(20% - 3px),transparent calc(20% - 3px) 20%)}.progress .bar i{background:repeating-linear-gradient(90deg,var(--signal) 0 calc(20% - 3px),transparent calc(20% - 3px) 20%)}
.toast{border:1px solid #0f654f;border-radius:8px;background:var(--output);box-shadow:0 14px 34px rgba(17,27,49,.18)}.evidence-trigger{border:1px solid #bfc8d3;border-radius:6px;background:#fff;color:#465267}.evidence-trigger:hover{border-color:var(--ink);background:#fff;color:var(--ink)}
.drawer-backdrop{background:rgba(17,27,49,.18);backdrop-filter:blur(2px)}.evidence-drawer{border-left:1px solid #bdc7d2;box-shadow:none}.drawer-head{border-bottom-color:#cfd6df}.drawer-close{border-radius:6px}.drawer-meta{border:1px solid #d2d9e2;border-radius:6px;background:#f6f7f8}.drawer-evidence{border-left:5px solid var(--input);border-radius:0;background:#f3f7fb;color:#293d55;font-family:"Songti SC",Georgia,serif}

/* 00 / composition imported from the selected v2 JSON */
.stage-layout{grid-template-columns:minmax(330px,32fr) minmax(0,68fr);gap:16px}
.io-grid{grid-template-rows:minmax(0,1fr) 56px minmax(0,1fr);gap:6px}
.io-head{height:42px;padding-inline:12px}.io-body{height:calc(100% - 42px);padding:10px}.relay{min-height:54px}
.preset-grid{gap:6px;margin-bottom:9px}.preset{padding:9px}.material-library{margin-top:8px}.material-library-head,.material-row{padding:8px 9px}.mode-note,.mode-note.live{padding:8px 9px;margin-bottom:8px}.metrics{gap:6px}.metric{padding:8px 5px}

/* Retool-style responsibility swimlanes: input / process / output become three traceable lanes. */
.flow-tree{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:8px;align-content:stretch;padding:12px 16px 16px}
.flow-link{display:none}
.flow-column{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:10px;border:1px solid #d4dbe4;border-radius:6px;background:#f9fafb;padding:9px 10px;overflow:hidden}
.flow-column-label{height:100%;align-content:center;margin:0;padding-right:10px;border-right:1px solid #d7dee7;font:850 9px var(--font-data);line-height:1.45;letter-spacing:.08em}
.flow-column-label::before{width:9px;height:9px;border-radius:2px;opacity:1}
.flow-column.input .flow-column-label::before{background:var(--input)}.flow-column.process .flow-column-label::before{background:var(--signal)}.flow-column.output .flow-column-label::before{background:var(--output)}
.flow-node-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.flow-node{min-height:46px;padding:8px 58px 8px 34px;border-radius:5px;font-size:10.5px}.flow-node::before{left:3px;width:8px;height:8px;border-width:3px}.flow-node-index{left:15px;font-size:8px}.flow-node-state{right:7px;font-size:7.5px}

/* Explicit color overrides from the imported JSON. */
.step-index,.step.active .step-index,.step.done .step-index{border-color:#d0aa00;background:#ffd100;color:#2a2200}
.execute,.relay.running .execute{border:1px solid #d94851;border-radius:7px;background:#f05b64;color:#fff;box-shadow:none}
.execute:hover:not(:disabled){transform:translateY(-1px);background:#df4c55;box-shadow:0 7px 16px rgba(240,91,100,.22)}

@keyframes selectedLive{0%{box-shadow:0 0 0 0 rgba(255,209,0,.35)}70%{box-shadow:0 0 0 7px rgba(255,209,0,0)}100%{box-shadow:0 0 0 0 rgba(255,209,0,0)}}
@media(max-width:1060px){.stage-layout{grid-template-columns:1fr}.run-context{max-width:70%}.formula{min-width:220px}.flow-map,.io-grid{height:680px}}
@media(max-width:620px){main{padding-inline:14px}.title-copy h1{font-size:30px}.formula{min-width:0;width:100%}.top-controls{gap:7px}.library-link{padding-inline:8px}.stage{padding:16px}.stage-layout{gap:14px}.run-context{max-width:100%}.io-grid{height:auto}.flow-map{height:auto}.metrics{grid-template-columns:1fr 1fr}.metric.wide{grid-column:1/-1}.flow-tree{grid-template-rows:auto;gap:10px}.flow-column{grid-template-columns:1fr;padding:10px}.flow-column-label{height:auto;padding:0 0 7px;border-right:0;border-bottom:1px solid #d7dee7}.flow-node-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.truth-badge::before,.status-line .dot{animation:none!important}}
