/* ICA IDE LAB V04.3 — Color harmonization and research workflow readability.
   Primary palette #fcea8c #f2d16c #d1b834 #6d8517 #3f5b0b */
:root{--bg:#fafaf5;--paper:#ffffff;--paper2:#f8f7e9;--ink:#253417;--body:#33412b;--sub:#4a5940;--faint:#59684a;--olive:#617b16;--olive2:#6d8517;--deep:#3f5b0b;--gold:#d1b834;--gold2:#f2d16c;--cream:#fcea8c;--line:#e3e2cf;--line2:#cacb9e;--warn:#995532;--warnbg:#fff3e9;--pass:#396c4b;--passbg:#eaf4e8;--shadow:0 12px 34px rgba(50,65,17,.055);--radius:17px}
body{background:linear-gradient(180deg,#fffdf6 0,#fafaf5 350px,#f8f9f2 100%);color:var(--ink);font-size:15px}
.topbar{background:rgba(255,255,251,.97);border-bottom-color:#dedfcb;box-shadow:0 2px 13px rgba(50,65,17,.025)}
.brand-ico{background:#3f5b0b;border-radius:13px;color:#fcea8c}
.brand small,.desktop-nav,.helper,.hero-copy>p,.step small,.worktop-copy>p,.panel p,.ai-studio p,.library-redesign p{color:var(--sub)}
.brand b,.hero h1,.panel h3,.stage-head h2,.ai-header h2,.ai-output-top h3,.theory-header h2{color:#26361d}
.hero{padding-top:64px}.hero h1{letter-spacing:-.056em}.hero h1 em{color:#6d8517}
.hero-side{background:linear-gradient(145deg,#fcea8c 0%,#f2d16c 72%,#e9dc87 100%);box-shadow:0 20px 48px rgba(109,133,23,.10);border-color:#d8c86d}
.step{background:#fff;border-color:#dcdfc7}.step.selected{background:#f5f6e2;border-color:#a6b571;box-shadow:inset 0 3px #6d8517}.step-num{background:#f0f1df}
.panel{background:#fff;border:1px solid #e1e3d2;box-shadow:0 10px 30px rgba(54,72,28,.045)}
.lab-meta,.preset,.field input,.field textarea,.field select,.library-row,.library-reader,.library-filter button{background:#fff}
.preset.selected{background:#eef3dd;border-color:#8dab65}.summary-prose{background:#f6f7eb}
.btn{border-radius:10px;transition:transform .18s,background .18s,box-shadow .18s}.btn-ink{background:#3f5b0b;color:white;box-shadow:0 5px 14px rgba(63,91,11,.13)}.btn-ink:hover{background:#526e12;box-shadow:0 8px 18px rgba(63,91,11,.18)}.btn-light:hover{background:#f8e9ac}
.vex-orientation{background:linear-gradient(100deg,#f1f5e6,#fff9e5);border-color:#d9dfbe}
.vex-mission-rail{box-shadow:0 5px 24px rgba(68,83,31,.04)}
.vex-mission-rail>button{background:#fffef9!important;border-color:#e0e1cc!important}
.vex-mission-rail>button.active{background:linear-gradient(180deg,#f8f3d4,#eff3e2)!important;box-shadow:inset 0 4px 0 #6d8517}
.ai-studio .panel{background:#fff!important}.ai-input-pane{background:#fff!important}.ai-output-pane{background:linear-gradient(180deg,#fffefb 0%,#fff 100%)!important}
.ai-modes button{background:#fff!important}.ai-modes button.selected{background:#edf3da!important;border-color:#8a9f53!important;color:#344a1d!important}
.ai-preset-prompts button{background:#faf5d9!important;color:#475725!important}
.ai-privacy{background:#f5f7eb!important;color:#455b33!important}
.ai-secret-label{color:#253c1b!important}
.ai-empty{background:#fafbf4!important;border:1px dashed #c9d1ae!important;border-radius:16px}
.ai-insight{background:linear-gradient(125deg,#fff3ba,#fff9dd)!important;border-color:#e4d68d!important}
.ai-decision{background:#eaf3e5!important;border-left:4px solid #6d8517!important}
.ai-architecture,.ai-assumptions>div,.ai-sources button,.ai-questions p{background:#fff!important;border-color:#e3e5d2!important}
.ai-experiment{background:#f0f6e9!important}.ai-caution{background:#fff4ed!important}
.ai-studio .ai-input-pane{border-top:4px solid #d1b834}.ai-studio .ai-output-pane{border-top:4px solid #6d8517}
.library-redesign .library-row{background:#fff!important}.library-redesign .library-row.selected{background:#f0f4df!important}.library-reader .reader-feature{background:#f5f8e9!important}
.vex-decision-topology{border:1px solid #d8dfbf;border-radius:16px;background:#fff!important}
.vex-branch-source{background:linear-gradient(145deg,#eaf2dc,#f8f4d8)!important}
.vex-branch-grid button{background:#fff!important;border-color:#dfe3cb!important}.vex-branch-grid button.active{background:#f2f6e6!important;border-color:#9cae67!important}
.vex-lens,.vex-relations{background:#fafbf6!important}
.vex-relations button,.vex-lens-card{background:#fff!important}
.vex-run-ledger{background:linear-gradient(90deg,#fffdf1,#f8faef)!important;border-color:#e0dfb9}
.vex-ledger-cards button{background:#fff!important}
.site-footer{background:#3f5b0b;color:#fff8d9}
#ai-submit{background:linear-gradient(90deg,#3f5b0b,#5d781b);font-size:13px;min-height:48px}
/* True per-model progress: bar reflects model-attempt index, never token completion. */
.ai-model-policy{display:grid;gap:4px;padding:12px 14px;background:#f2f6e6;border:1px solid #dce5c7;border-radius:12px;margin:12px 0 12px}
.ai-model-policy .policy-indicator{font-size:10px;color:#395b22;font-weight:900;letter-spacing:.08em}
.ai-model-policy strong{font-size:13px;color:#253c1b}.ai-model-policy small{font-size:11px;color:#4b6141;line-height:1.6}
.ai-progress{padding:16px;margin-top:13px;background:linear-gradient(105deg,#fffaf0,#f6f9ed);border:1px solid #dfdda9;border-radius:13px;box-shadow:0 6px 22px rgba(62,92,18,.06)}
.ai-progress[hidden]{display:none!important}
.ai-progress-header{display:flex;align-items:center;gap:12px}.ai-progress-header>div{display:grid;gap:2px;flex:1;min-width:0}.ai-progress-header strong{font-size:13px;color:#253c19}.ai-progress-header small{font-size:11px;color:#4c6040;line-height:1.45}.ai-progress-time{font-size:12px;font-weight:850;color:#45611d;white-space:nowrap}
.ai-progress-dot{height:14px;width:14px;border-radius:50%;background:#6d8517;box-shadow:0 0 0 5px #e1ebc5;animation:ica-breathe 1.35s ease-in-out infinite}
@keyframes ica-breathe{50%{opacity:.4;box-shadow:0 0 0 10px #e1ebc540}}
.ai-progress-track{background:#e7ebdd;height:8px;overflow:hidden;border-radius:12px;margin:13px 0 8px}.ai-progress-track>span{height:100%;background:linear-gradient(90deg,#d1b834,#6d8517);display:block;transition:width .5s ease;border-radius:12px}
.ai-progress-models{font-size:11px;color:#596448;line-height:1.5}
.ai-executed-model{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:9px 0 12px;padding:11px 13px;border-radius:10px;background:#eaf3df;border:1px solid #c6d8b0;color:#28471f}
.ai-executed-model span{font-size:10px;font-weight:850;letter-spacing:.06em}.ai-executed-model strong{font-size:13px}.ai-executed-model small{font-size:11px;color:#426436}
.ai-executed-model.local{background:#fff0e0;border-color:#e8c7a2;color:#874a20}.ai-executed-model.local small{color:#874a20}
.ai-output-status{max-width:280px;overflow-wrap:anywhere;white-space:normal!important}
.ai-output-pane{min-width:0}.ai-grid{grid-template-columns:minmax(350px,.91fr) minmax(0,1.38fr)!important;gap:18px!important}
.ai-result-row p,.ai-insight p,.ai-decision p,.ai-subtitle,.ai-questions p{line-height:1.7}
.vex-results-header{font-size:12px;color:#425b2e;background:#f6f8eb!important;border-color:#dfe6ce!important}
@media(max-width:1120px){.ai-grid{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.ai-progress-dot{animation:none}}

/* Preserve strong contrast in the central capability node. */
.vex-branch-source{background:linear-gradient(115deg,#3f5b0b,#526b20)!important;color:#fff!important;border:1px solid #3f5b0b}
.vex-branch-source span{color:#fcea8c!important}.vex-branch-source strong{color:#fff!important}
/* Make five-step research output visually traceable */
.vex-mission-rail button>span{color:#5a622a;font-weight:760}.vex-mission-rail button.active>span{color:#4a5e1b}
.library-redesign,.ai-studio{scroll-margin-top:92px}
.ai-result-row p,.ai-architecture p{color:#35482c}
