:root{--ink:#243b3b;--muted:#84928f;--line:#e2e9e5;--bg:#f4f7f5;--teal:#087b65;--nav:#173238;--mono:ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:13px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:7px;white-space:nowrap}button:disabled{opacity:.45;cursor:not-allowed}button:hover{filter:brightness(.97)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a7d4c4;outline-offset:2px}[hidden]{display:none!important}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;background:var(--nav);color:#e9f4ef}.brand,.top-actions{display:flex;align-items:center;gap:14px}.brand-mark{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;font-size:22px;font-weight:700;background:#d6eee2;color:#155e4c}.brand strong{font-size:20px;letter-spacing:2px}.divider{height:20px;width:1px;background:#44615f;margin:0 5px}.brand small{font-size:9px;letter-spacing:1.7px;color:#8eaaa3}.top-actions{font-size:10px;color:#a6bfb4}.local-pill{background:#284f48;padding:4px 10px;border-radius:5px;color:#bce2ce}.shell{display:grid;grid-template-columns:205px minmax(0,1fr);height:calc(100vh - 64px)}.nav-panel{padding:27px 15px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.eyebrow{font-size:9px;letter-spacing:1.6px;color:#899c91;font-weight:600}.nav-panel>.eyebrow{padding-left:13px;margin:0 0 14px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px;margin-bottom:6px;text-align:left;background:transparent;color:#83948b;font-size:12px}.nav-item>span{font-size:16px}.nav-item small{margin-left:auto;background:#edf0ee;color:#86958b;padding:0 6px;border-radius:4px;font-size:9px}.nav-item.active{background:#e8f3ed;color:#19775d;font-weight:600}.nav-item.active small{background:#d8eadd;color:#5c8e6c}.nav-bottom{margin-top:auto;padding:15px 13px 0}.nav-bottom p{font-size:10px;line-height:2;color:#a2ada5;margin:18px 0 0}.source-dot{font-size:10px;color:#708977;margin-top:10px;display:flex;gap:7px;align-items:center}.source-dot i{height:5px;width:5px;border-radius:50%;background:#76ac8c}.source-dot.missing i{background:#bdc7bf}.source-dot.missing{color:#a4afa7}main{overflow:auto;padding:29px 30px 35px;min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{font-size:23px;letter-spacing:.2px;font-weight:600;margin:5px 0 7px}.page-heading p{font-size:11px;color:#8c9a90;margin:0}.primary{background:var(--teal);color:#fff;padding:10px 15px;font-size:11px}.secondary{background:#fff;border:1px solid #dce6df;color:#627c69;padding:7px 11px;font-size:11px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:25px}.metric{background:#fff;border:1px solid var(--line);border-radius:9px;padding:15px 18px}.metric label{display:block;font-size:10px;color:#8c9c91}.metric b{font-size:27px;font-weight:500;color:#315c47;line-height:1.7}.metric small{font-size:9px;color:#a2afa4;margin-left:6px}.library-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px}.section-title h2{font-size:13px;font-weight:600;margin:0}.section-title small{font-size:9px;color:#9aa89d}.snapshot-card,.run-card{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff;margin-bottom:10px;white-space:normal}.snapshot-card.active,.run-card.active{border-color:#83b39a;box-shadow:0 0 0 1px #83b39a22}.snapshot-card h3,.run-card h3{font-size:12px;font-weight:600;margin:0 0 7px}.snapshot-card time,.run-card time{font-size:10px;color:#92a397}.snapshot-card .counts,.run-card .counts{display:flex;gap:10px;margin-top:9px;font-size:10px;color:#6f8a78}.mono{font-family:var(--mono);font-size:10px;color:#9bab9d;overflow-wrap:anywhere}.snapshot-detail,.run-detail{min-width:0}.detail-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.detail-heading h2{font-size:16px;font-weight:600;margin:0 0 5px}.detail-heading p{font-size:10px;color:#8fa092;margin:7px 0 0}.pill{display:inline-block;font-size:9px;padding:3px 7px;border-radius:5px;white-space:nowrap;background:#edf1ed;color:#809286}.pill.green{background:#e6f3e9;color:#42865b}.pill.amber{background:#fbf1df;color:#a47a35}.pill.red{background:#f9eae7;color:#af6556}.pill.blue{background:#eaf0f9;color:#6082ad}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:21px 0 15px;overflow:auto;scrollbar-width:none}.tabs button{background:transparent;color:#93a194;font-size:11px;padding:0 0 11px;position:relative;border-radius:0}.tabs button.active{color:#27775b;font-weight:600}.tabs button.active:after{content:'';height:2px;background:#3c9875;position:absolute;left:0;right:0;bottom:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:10px;color:#96a499}.toolbar input{max-width:220px;padding:7px 10px;font-size:10px}.toolbar .group{display:flex;gap:6px;align-items:center}.selection-bar{display:flex;justify-content:space-between;align-items:center;margin:12px 0;color:#7d9482;font-size:11px}.table-wrap{border:1px solid var(--line);border-radius:8px;overflow:auto;background:#fff}table{width:100%;border-collapse:collapse;font-size:11px}th{font-size:9px;font-weight:500;color:#93a498;text-align:left;background:#f9fbf9;padding:9px 11px;white-space:nowrap}td{padding:11px;border-top:1px solid #edf2ed;vertical-align:middle;color:#66836e}td small{font-size:9px;color:#a4b1a5}.text-button{background:transparent;color:#468c6b;font-size:10px;padding:0;white-space:normal;text-align:left;overflow-wrap:anywhere}.pager{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:13px;font-size:10px;color:#9caa9e}.card{border:1px solid var(--line);border-radius:9px;background:#fff;padding:18px;margin:0 0 15px}.card h3{font-size:13px;font-weight:600;margin:0 0 10px}.card p{font-size:11px;color:#8b9c8e;margin:7px 0;white-space:pre-wrap}.empty{text-align:center;padding:45px 20px;color:#a4b0a6;font-size:12px;line-height:2}.empty small{font-size:10px}.capture-job{background:#edf6ef;border:1px solid #d4e6d8;border-radius:8px;padding:13px 16px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:#5b8265;font-size:11px}.capture-job.failed,.capture-job.interrupted{background:#fbf3eb;border-color:#eadfce;color:#a5885b}.capture-job small{font-size:10px;opacity:.8}.runs-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px}.run-overview{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.run-overview h2{font-size:17px;margin:0 0 8px}.run-stats{display:flex;gap:16px;font-size:10px;color:#91a492;margin:12px 0}.run-stats b{color:#527d5f;font-weight:600}.case-row{border-top:1px solid var(--line);padding:14px 0}.case-row:first-child{border:0}.case-row-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;margin-bottom:10px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.reply-box{background:#f4f7f4;border:1px solid #e7ede6;border-radius:7px;padding:12px;min-width:0;overflow-wrap:anywhere}.reply-box.generated{background:#eef7f0;border-color:#dfecdf}.reply-box h4{font-size:10px;font-weight:500;color:#8ca08d;margin:0 0 9px}.reply-box p{font-size:11px;color:#648269;margin:0;white-space:pre-wrap}.user-line{font-size:11px;padding:9px 12px;background:#f7faf7;color:#7f9680;border-left:2px solid #aacdb3}.review-form{display:flex;gap:8px;align-items:center;margin:10px 0}.review-form select{width:120px;font-size:10px;padding:7px}.review-form input{flex:1;min-width:0;font-size:10px;padding:7px}.review-form button{font-size:10px}.observe-toolbar{display:flex;align-items:center;gap:15px;padding-bottom:17px}.observe-toolbar>div{margin-right:auto}.observe-toolbar h2{font-size:15px;font-weight:600;margin:3px 0}.observe-toolbar label{font-size:9px;color:#95a398;display:block;max-width:220px}.observe-toolbar select{display:block;font-size:10px;max-width:220px;margin-top:4px}.observer-view{height:100%;display:flex;flex-direction:column}.observer-view iframe{width:100%;flex:1;min-height:560px;border:1px solid var(--line);border-radius:9px;background:#fff}.observer-view #observer-empty{background:#fff;border:1px solid var(--line);border-radius:9px}dialog{border:1px solid #d9e3da;border-radius:12px;padding:24px;max-height:88vh;max-width:min(700px,94vw);width:680px;color:var(--ink);box-shadow:0 20px 80px #193c3622}dialog::backdrop{background:#15342b66}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-heading h2{font-size:19px;font-weight:600;margin:3px 0}.close{font-size:24px;color:#98a89a;background:transparent;padding:0 5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}label{font-size:11px;color:#7c9382;display:block}input,select,textarea{display:block;width:100%;border:1px solid #dfe7de;background:#fff;border-radius:6px;padding:9px 10px;color:#526f5b;margin-top:6px;min-width:0}textarea{resize:vertical;line-height:1.7}.check-label{display:flex;align-items:center;gap:9px;font-size:10px;padding-top:17px}input[type=checkbox]{display:inline-block;width:auto;accent-color:#208666;margin:0;cursor:pointer}.form-note{font-size:10px;color:#99a69a;line-height:1.9;margin:16px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}summary{font-size:11px;color:#819984;cursor:pointer}details{margin:14px 0}pre{font:10px/1.8 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;max-height:450px;overflow:auto;background:#f4f7f3;border:1px solid #e5ece2;border-radius:7px;padding:13px;color:#6c866c}.selection-summary{padding:12px;border:1px solid #dfebe1;background:#f2f8f2;border-radius:7px;font-size:11px;color:#749779;margin-bottom:15px}.consent{display:flex;gap:10px;padding:13px;background:#fff7e8;border:1px solid #ecdec1;border-radius:7px;align-items:flex-start;font-size:11px;color:#9a804e}.consent input{margin-top:4px}.wide-dialog{width:850px;max-width:min(900px,94vw)}.source-message{border:1px solid #e6ece4;border-radius:7px;padding:12px;margin:10px 0;white-space:pre-wrap;font-size:11px;color:#718c74}.source-message.user{background:#eef6ef;border-color:#dceadd}.source-message .message-meta{font-size:9px;color:#9cab9c;display:flex;justify-content:space-between;margin-bottom:7px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:20;color:#fff;background:#315344;border-radius:8px;padding:12px 21px;font-size:12px;box-shadow:0 4px 20px #18392d25}.scope-note{font-size:10px;color:#a39373;padding:9px 0}.metadata-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;border-bottom:1px solid #edf2ea;padding:9px 0;font-size:10px;color:#91a28e}.metadata-row b{color:#68866a;font-weight:500;overflow-wrap:anywhere}.observer-view .observe-toolbar select{max-width:175px}.trace-link{margin-left:7px}.item-title{max-width:350px;overflow-wrap:anywhere}.section-title .secondary{font-size:10px}body.observer-open main{padding:18px}.model-warning{color:#a78c5d}.review-note{font-size:10px;color:#a0ada0}.run-actions{display:flex;gap:8px;margin-top:14px}.snapshot-card .pill{margin-bottom:7px}.tag-line{font-size:9px;color:#99a99b;line-height:1.8}@media(max-width:1150px){.shell{grid-template-columns:175px minmax(0,1fr)}main{padding:24px 22px}.library-layout,.runs-layout{grid-template-columns:210px minmax(0,1fr)}.page-heading h1{font-size:21px}.brand small{display:none}.observe-toolbar{flex-wrap:wrap}.observe-toolbar>div{flex-basis:100%}}@media(max-width:800px){.shell{display:block;height:auto}.nav-panel{padding:10px;display:flex;flex-direction:row;gap:6px}.nav-panel>.eyebrow,.nav-bottom{display:none}.nav-item{margin:0;padding:10px;flex:1}.library-layout,.runs-layout{grid-template-columns:1fr}.snapshot-column,.run-column{max-height:250px;overflow:auto}.metrics{grid-template-columns:repeat(2,1fr)}.form-grid,.comparison{grid-template-columns:1fr}.page-heading{align-items:flex-start}.topbar{padding:0 15px}.top-actions>span:last-child{display:none}main{overflow:visible;padding:20px}.brand{gap:9px}.observer-view iframe{min-height:700px}.review-form{flex-wrap:wrap}}

.selection-bar{position:sticky;top:0;background:var(--bg);z-index:2;padding:8px 0}
/* Editable component versions and frozen experiment configurations. */
.configuration-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px}.configuration-editor{min-width:0}.config-edit-heading,.component-title,.prompt-heading,.config-save-bar{display:flex;justify-content:space-between;align-items:center;gap:12px}.config-edit-heading h2{margin:3px 0 14px;font-size:17px}.config-edit-heading>span{font-size:11px;color:#527767}.component-title{margin-bottom:12px}.component-title h3{font-size:17px;margin:0}.component-title code{font-size:11px;background:#eef4f0;padding:4px 8px;border-radius:5px;color:#486d5b}.component-description{font-size:12px;color:#647c70;margin:10px 0}.config-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:18px 0}.config-fields label,.configuration-editor label{display:flex;flex-direction:column;font-size:12px;color:#436153;gap:6px}.configuration-editor input:not([type=checkbox]),.configuration-editor select,.configuration-editor textarea{display:block;width:100%;padding:9px 10px;border:1px solid #dbe5df;border-radius:6px;color:#294a3b;background:#fff}.configuration-editor label small{font-size:10px;font-weight:400;color:#7e9285;line-height:1.7}.configuration-editor .config-check{flex-direction:row;align-items:center;flex-wrap:wrap}.config-check input{width:15px;height:15px}.config-check small{display:block;width:100%}.configuration-editor .card{padding:20px;margin-bottom:16px}.configuration-editor .card>label{margin-bottom:12px}.configuration-editor .prompt-field{margin:14px 0}.configuration-editor textarea{font:12px/1.9 ui-monospace,SFMono-Regular,Menlo,"PingFang SC",monospace;resize:vertical;min-height:200px}.prompt-heading{margin-top:22px}.prompt-heading h4{font-size:12px;margin:0}.code-reference{display:flex;gap:9px;align-items:center;color:#8a9a8f;font:10px var(--mono)}.connection-readback{padding:9px 11px;background:#f1f7f3;color:#698171;font-size:11px;overflow-wrap:anywhere;border-radius:6px}.config-jump{display:flex;gap:5px;flex-wrap:wrap;position:sticky;top:-29px;background:#f4f7f5ee;padding:10px 0;z-index:2;margin:0 0 12px}.config-jump button{padding:7px 12px;background:#e7f0e9;color:#426c52;font-size:11px}.component-editor{scroll-margin-top:60px}.config-save-bar{position:sticky;bottom:-35px;background:#fffefa;border:1px solid #dee7de;padding:14px;border-radius:9px;box-shadow:0 -5px 22px #35533a09;z-index:2}.config-save-bar span{font-size:10px;color:#8b977d;margin-right:auto}.configuration-summary{padding:12px 14px;background:#f0f6f1;border:1px solid #dce8df;border-radius:7px;margin:13px 0}.configuration-summary strong{font-size:13px;margin-right:8px}.configuration-summary p{font-size:10px;color:#6b8274;margin:6px 0}.run-compare-heading{display:flex;align-items:center;gap:15px;justify-content:space-between}.run-compare-heading select{max-width:300px;padding:7px;border:1px solid var(--line);border-radius:6px}.config-edit-heading .eyebrow{font-size:9px}@media(max-width:1100px){.configuration-layout{grid-template-columns:180px minmax(0,1fr);gap:16px}.config-fields{grid-template-columns:1fr}.prompt-heading{display:block}.prompt-heading button{margin-top:6px}.config-jump button{padding:6px 9px}.config-save-bar{flex-wrap:wrap}}@media(max-width:750px){.configuration-layout{grid-template-columns:1fr}.configuration-layout>section:first-child{max-height:180px;overflow:auto}.config-save-bar{bottom:-20px}}

@media(min-width:851px) and (max-width:1100px){.config-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

.component-lab-link{text-decoration:none;color:inherit;display:block}

.component-test-heading{margin-top:24px}
