:root{--bg:#edece7;--paper:#f8f8f4;--ink:#1a2026;--muted:#768085;--line:#dce0dc;--teal:#294058;--teal-soft:#e5eaef;--nav:#181e25;--orange:#bf7244;--red:#aa4e47;--shadow:0 14px 42px rgba(24,43,46,.045)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}input,select{min-width:0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,2.7vw,42px);letter-spacing:-.05em;line-height:1.23;font-weight:570;margin-bottom:11px}h2{font-size:19px;letter-spacing:-.035em;font-weight:610;margin:6px 0 0}h3{font-size:24px;letter-spacing:-.04em;margin:5px 0 0}small{font-size:11px}.shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}.rail{background:var(--nav);color:#f6f8f4;padding:33px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:11px;align-items:center;margin:0 0 74px 5px}.brand b{display:block;font-size:15px;letter-spacing:.16em;font-weight:600}.brand small{display:block;color:#9aa0a7;font-size:8px;letter-spacing:.13em;margin-top:6px}.mark{width:28px;height:28px;display:flex;align-items:center;justify-content:center;gap:3px}.mark i{width:6px;height:23px;background:#a7b9cc;border-radius:8px;transform:skew(-24deg)}.mark i+ i{height:17px;opacity:.48}.rail nav{display:grid;gap:8px}.rail nav button{border:0;background:transparent;color:#96a5a4;text-align:left;padding:14px 13px;border-radius:7px;letter-spacing:.03em}.rail nav button.active,.rail nav button:hover{background:#2e363f;color:#fff}.rail nav button span{color:#8093a8;font-size:10px;letter-spacing:.1em;margin-right:8px}.rail-bottom{margin-top:auto;border-top:1px solid #3b454f;padding:20px 4px 0;color:#bcc1c6;font-size:9px;letter-spacing:.14em;line-height:1.8}.rail-bottom small{letter-spacing:.02em;color:#809492}.dot{display:inline-block;width:7px;height:7px;background:#93dbb7;border-radius:50%;margin-right:5px;box-shadow:0 0 0 4px #9fb6cf21}main{min-width:0}.topbar{height:71px;border-bottom:1px solid #d7dbd7;display:flex;align-items:center;justify-content:space-between;padding:0 39px;background:#f3f3ee}.crumb{font-size:10px;letter-spacing:.14em;color:#8c9695}.crumb strong{color:#333a41;font-weight:650}.top-right{display:flex;gap:17px;align-items:center;color:#7f8888;font-size:11px}.badge,.chip,.status{display:inline-block;border-radius:30px;padding:6px 10px;font-size:10px;font-weight:650;letter-spacing:.04em}.badge.amber{background:#f6e5d3;color:#9f6334}.badge.green{background:#dcefe8;color:#29745e}.view{display:none;padding:37px 39px 80px}.view.active{display:block}.intro,.page-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:29px}.intro p,.page-title p{color:var(--muted);margin:0;line-height:1.7}.eyebrow,.section-no{font-size:10px;font-weight:700;letter-spacing:.17em;color:var(--teal)}.eyebrow{margin-bottom:12px}.intro-right{display:flex;gap:34px;flex-shrink:0}.metric{display:flex;flex-direction:column;min-width:120px}.metric small,.metric span{color:#81908e;font-size:9px;letter-spacing:.1em}.metric strong{font-size:29px;letter-spacing:-.08em;line-height:1.2;margin:5px 0}.workspace{display:grid;grid-template-columns:minmax(400px,43%) minmax(0,1fr);gap:16px;align-items:start}.analysis-column{display:grid;gap:16px;min-width:0}.card{background:var(--paper);border:1px solid #e0e4df;border-radius:12px;box-shadow:var(--shadow)}.simulator{padding:24px 24px 19px}.card-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.chip{background:var(--teal-soft);color:var(--teal)}.chip.outline{background:transparent;border:1px solid #d7dbe0;color:#6d7b8a}.scene-toolbar{display:grid;grid-template-columns:1.4fr .78fr auto;gap:9px;margin:21px 0 16px;align-items:end}.scene-toolbar label,.fields label,.settings-fields label,.batch-inputs label{display:flex;flex-direction:column;gap:7px;color:#677574;font-size:11px;font-weight:550}.scene-toolbar input,.scene-toolbar select,.fields input:not([type=range]):not([type=checkbox]),.fields select,.settings-fields input,.settings-fields select,.batch-inputs input,.model-fields input,.model-fields select{height:36px;border:1px solid #d8ddda;border-radius:6px;background:#fff;color:#252b32;padding:0 10px;outline:none;width:100%}.scene-toolbar input:focus,.scene-toolbar select:focus,.fields input:focus,.fields select:focus,.settings-fields input:focus,.model-fields input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #2d455f18}.secondary,.primary,.button{height:36px;border-radius:6px;border:1px solid #cdcfd2;padding:0 13px;background:#fff;color:#2d343c;font-size:12px;font-weight:650;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;gap:8px}.secondary:hover{background:#f0f5f1}.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.primary:hover{background:#223448}.primary span{font-size:17px;margin-left:10px}.cabin{background:radial-gradient(circle at 50% 45%,#36404b,#1f2730 72%);border-radius:11px;min-height:263px;padding:17px 20px 13px;color:#e6e9ed;position:relative;overflow:hidden}.cabin:before,.cabin:after{content:"";position:absolute;border:1px solid #7f8a9536;border-radius:46% 46% 42% 42%;width:58%;height:76%;left:21%;top:20%;pointer-events:none}.cabin:after{width:72%;height:105%;left:14%;top:7%;opacity:.4}.cabin-top,.cabin-foot{display:flex;justify-content:space-between;position:relative;z-index:1;font-size:8px;letter-spacing:.19em;color:#a7afb8}.cabin-foot{justify-content:center;margin-top:19px}.seats{display:grid;grid-template-columns:1fr 1fr;gap:12px 27px;width:65%;max-width:300px;margin:25px auto 0;position:relative;z-index:1}.seat{border:1px solid #929aa347;background:#e8ecf10b;border-radius:15px;padding:8px 8px 9px;display:grid;justify-items:center;gap:4px}.seat.rear{grid-column:1/3;width:62%;justify-self:center}.seat-icon{width:23px;height:24px;border-radius:12px 12px 7px 7px;border:1px solid #909ca9;color:#d0d7df;text-align:center;font-size:17px;line-height:22px}.seat b{font-size:10px;font-weight:520}.seat select{border:none;background:transparent;color:#eaedf1;text-align:center;font-size:10px;outline:none;cursor:pointer}.seat select option{color:#282d33}.form-groups{display:grid;gap:16px;margin-top:23px}.group{border-top:1px solid #e1e5df;padding-top:14px}.group-title{font-weight:670;letter-spacing:.02em;font-size:12px;display:flex;justify-content:space-between;margin-bottom:13px}.group-title span{color:#b1b9b6;font-family:monospace}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fields label.wide{grid-column:1/3}.fields input[type=range]{accent-color:var(--teal);width:100%;margin:8px 0}.fields em{font-style:normal;font-size:10px;color:var(--teal);margin-top:-6px}.toggle-row{flex-direction:row!important;align-items:center;justify-content:space-between;align-self:end;min-height:36px;border:1px solid #d8ddda;border-radius:6px;padding:0 11px;background:#fff}.toggle-row input{position:absolute;opacity:0}.switch{width:29px;height:17px;border-radius:20px;background:#c8cbcf;position:relative;transition:.2s}.switch:after{content:"";position:absolute;width:11px;height:11px;background:white;left:3px;top:3px;border-radius:50%;transition:.2s}.toggle-row input:checked+.switch{background:var(--teal)}.toggle-row input:checked+.switch:after{transform:translateX(12px)}.actionbar{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e1e5df;padding-top:18px;margin-top:21px}.fine{font-size:10px;line-height:1.6;color:#8a9691;margin:12px 0 0}.snapshot,.recommendations{padding:24px}.mono{font-family:ui-monospace,monospace}.tiny{font-size:9px;color:#98a4a1}.changes{display:grid;gap:7px;margin:20px 0;max-height:245px;overflow:auto}.changes.empty,.muted{color:#8c9793;font-size:12px;line-height:1.7}.change{display:grid;grid-template-columns:minmax(105px,1fr) auto 18px auto;align-items:center;gap:8px;background:#eef2ee;border-radius:6px;padding:10px 11px;font-size:11px}.change b{font-weight:600}.change span{color:#8b9893}.change strong{font-weight:650;color:#293f56}.snapshot-footer{display:flex;justify-content:space-between;border-top:1px solid #e5e9e5;padding-top:13px;color:#99a39e;font-size:10px}.snapshot-footer b{color:#4b6178;font-weight:610}.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:19px}.result-card{border:1px solid #dce4de;border-radius:10px;background:#fbfcf9;min-width:0;overflow:hidden}.result-top{min-height:70px;padding:14px 16px;display:flex;justify-content:space-between;gap:8px;align-items:start;border-bottom:1px solid #e5eae5}.result-top small{color:#8a9994;letter-spacing:.13em;font-size:9px}.status.neutral{color:#86958e;background:#edf1ed}.status.ok{color:#19705f;background:#e1f0e8}.status.fail{color:#a34e44;background:#fae8e5}.result-empty{padding:27px 17px;min-height:196px;line-height:1.6;color:#9ba8a1;font-size:11px}.result-content{padding:14px 15px}.result-mode{font-size:10px;color:#8b9992;display:flex;justify-content:space-between;margin-bottom:13px}.result-mode b{color:#383f46}.result-actions{min-height:100px;display:flex;flex-direction:column;gap:7px}.action{border-left:2px solid #6d8299;background:#eef0f3;padding:8px 9px;font-size:11px;line-height:1.4}.action span{display:block;color:#768b83;font-size:9px;margin-bottom:3px}.action.ask{border-color:#d2a065;background:#fbf4e8}.action.warn{border-color:#c97971;background:#fbefed}.no-change{font-size:11px;color:#83918b;padding:12px;border:1px dashed #dbe2da;border-radius:6px}.result-metrics{border-top:1px solid #e5eae5;display:grid;grid-template-columns:1fr 1fr;margin-top:14px;padding-top:11px;gap:6px}.result-metrics small{display:block;color:#99a6a0;font-size:9px;margin-bottom:4px}.result-metrics strong{font-weight:650;font-size:12px}.validation{font-size:10px;margin-top:11px;color:#68737e}.validation.error{color:#a15b51}.result-links{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}.linkbtn{border:0;background:none;color:var(--teal);font-size:10px;font-weight:650;padding:0;text-decoration:underline;text-underline-offset:3px}.three-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mini-panel{padding:20px;min-height:197px}.mini-panel h2{font-size:16px;margin-bottom:14px}.mini-panel select,.mini-panel textarea{width:100%;border:1px solid #d9dbde;border-radius:5px;background:white;padding:7px;font-size:11px;color:#2a3138}.mini-panel textarea{min-height:49px;resize:vertical}.mini-panel .secondary{height:31px;font-size:10px}.review-line{display:flex;gap:6px;align-items:center;margin-bottom:7px}.review-line b{font-size:10px;width:40px}.review-line select{flex:1}.flag-list{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.flag-list label{font-size:9px;color:#768681}.panel-metric{font-size:11px;margin:8px 0;display:flex;justify-content:space-between}.panel-metric strong{font-size:13px}.panel-metric small{font-size:9px;color:#81918a}.page-actions{display:flex;gap:8px}.insight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0 16px}.stat{padding:20px;display:flex;flex-direction:column;gap:9px}.stat small,.stat span{color:#87958e;font-size:10px}.stat strong{font-size:25px;letter-spacing:-.05em}.chart-card,.history-card{padding:24px;margin-bottom:16px}.legend{font-size:10px;color:#7c8b84}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin:0 4px 0 10px}.jev-dot{background:#2c435c}.compare-dot{background:#bf8a5d}.trend{height:180px;margin-top:22px;display:flex;align-items:end;gap:6px;border-bottom:1px solid #dce5db;padding:0 4px;overflow:auto}.trend-item{min-width:28px;max-width:45px;flex:1;height:100%;display:flex;align-items:end;gap:2px;cursor:pointer}.trend-bar{width:50%;background:#5d7691;border-radius:3px 3px 0 0;min-height:2px}.trend-bar.llm{background:#cb9b73}.table-wrap{overflow:auto;margin-top:20px}table{border-collapse:collapse;width:100%;font-size:11px}th{text-align:left;font-size:9px;letter-spacing:.08em;color:#8d9b93;font-weight:620;padding:12px 8px;border-bottom:1px solid #dde5de}td{padding:13px 8px;border-bottom:1px solid #e9ede8;vertical-align:top;line-height:1.5}td strong{font-size:11px}.more{margin-top:18px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-card{padding:23px}.settings-card p{color:#8a9690;font-size:11px;line-height:1.6}.settings-fields,.model-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:19px}.settings-fields label:first-child,.model-fields label.url{grid-column:1/3}.model-fields label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#677574}.settings-card .key-state{font-size:10px;border-radius:4px;padding:4px 7px;background:#eef2ee;color:#616972}.settings-card .key-state.missing{color:#b06856;background:#f9eee8}.batch-inputs{display:flex;align-items:end;gap:10px;margin:19px 0}.batch-inputs label{max-width:135px}.cost-estimate{font-size:24px;color:var(--teal);font-weight:650;margin:22px 0 3px}.settings-card.batch{min-height:187px}#toast{position:fixed;z-index:30;right:26px;bottom:22px;background:#252d36;color:white;padding:11px 16px;border-radius:6px;font-size:12px;box-shadow:0 8px 25px #141d2650;max-width:390px;display:none}#toast.show{display:block}dialog{width:min(900px,90vw);max-height:86vh;border:1px solid #d8e0d9;border-radius:12px;background:#fafbf8;box-shadow:0 25px 70px #181f2770;padding:23px}dialog::backdrop{background:#111922aa}.dialog-head{display:flex;justify-content:space-between;border-bottom:1px solid #e3e9e3;padding-bottom:15px}.dialog-head small{letter-spacing:.15em;color:var(--teal)}.dialog-head button{background:none;border:0;font-size:25px}#dialogContent{max-height:68vh;overflow:auto;padding-top:12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-block{background:#eef2ec;border-radius:7px;padding:12px;overflow:auto}.detail-block h4{margin:0 0 8px}.detail-block pre{font-size:10px;white-space:pre-wrap;word-break:break-word;line-height:1.5;margin:0}.dialog-actions{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}@media(max-width:1320px){.workspace{grid-template-columns:minmax(340px,42%) minmax(0,1fr)}.three-panels{grid-template-columns:1fr 1fr}.three-panels .mini-panel:last-child{grid-column:1/3}.results-grid{grid-template-columns:1fr}}@media(max-width:900px){.shell{display:block}.rail{height:auto;position:static;padding:14px 19px;display:flex;flex-direction:row;align-items:center;gap:20px}.brand{margin:0}.rail nav{display:flex;overflow:auto}.rail nav button{white-space:nowrap;padding:9px}.rail-bottom{display:none}.view{padding:24px 20px}.topbar{padding:0 20px}.workspace{grid-template-columns:1fr}.results-grid{grid-template-columns:1fr 1fr}.three-panels{grid-template-columns:repeat(3,1fr)}.three-panels .mini-panel:last-child{grid-column:auto}.intro-right{display:none}}@media(max-width:650px){.rail{display:block}.brand{margin-bottom:12px}.rail nav button{font-size:11px}.intro,.page-title{display:block}.page-actions{margin-top:15px}.results-grid,.three-panels,.settings-grid,.insight-grid,.detail-grid{grid-template-columns:1fr}.three-panels .mini-panel:last-child{grid-column:auto}.scene-toolbar{grid-template-columns:1fr 1fr}.scene-toolbar button{grid-column:1/3}.insight-grid{grid-template-columns:1fr 1fr}.actionbar{flex-direction:column}.actionbar button{width:100%}}
.recent-controls{display:grid;grid-template-columns:1.2fr 1fr auto;gap:8px}.recent-controls select{height:36px;border:1px solid #d8ddda;border-radius:6px;background:#fff;color:#252b32;padding:0 9px;min-width:0}.confidence{display:block;margin-top:5px;color:#546271;font-size:9px}.confidence-note{color:#8a968e;font-size:9px;margin-top:5px}

.key-console{grid-column:1/-1;background:linear-gradient(115deg,#f9faf6 0%,#f1f6f1 100%)}.key-console>p{max-width:820px}.key-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.key-role{background:#fff;border:1px solid #dbe4dc;border-radius:10px;padding:17px;min-width:0}.key-role.key-primary{border-color:#afbcc9;background:#eff1f4}.key-role-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:16px}.key-role-head b{font-size:13px}.key-role-head span{font-size:10px;color:#8a958e}.key-role-head span.ready{color:#294058}.key-role label{display:block;font-size:11px;color:#64746c}.key-role input{display:block;width:100%;height:39px;border:1px solid #cfd4d9;border-radius:6px;background:#fff;padding:0 11px;margin-top:8px;color:#1a2026;outline:none}.key-role input:focus{border-color:#294058;box-shadow:0 0 0 3px #2940581c}.key-actions{display:flex;gap:7px;margin-top:13px;flex-wrap:wrap}.key-actions button{height:33px;font-size:11px}@media(max-width:1100px){.key-grid{grid-template-columns:1fr}}@media(max-width:650px){.key-console{grid-column:auto}}

.live-route{margin:-10px 0 20px;padding:13px 17px;border-radius:8px;border:1px solid #bfc8d1;background:#eaeef2;color:#2a4159;font-size:12px;font-weight:600;line-height:1.5}.live-route.demo{border-color:#e6cfad;background:#faf0df;color:#926331}.live-route.missing{border-color:#e6b9ad;background:#fbece8;color:#9d5549}

.option-index{border-top:1px solid #e5e9e5;padding-top:15px;margin-top:13px}
.option-head{display:flex;justify-content:space-between;gap:10px;color:#65736e;font-size:10px;font-weight:700;letter-spacing:.03em;margin-bottom:8px}
.option-head span{color:#a3ada8;font-weight:500}
.option-list{max-height:186px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#c9ccd0 transparent;scrollbar-width:thin}
.option-row{height:31px;display:flex;align-items:center;gap:4px;border-bottom:1px solid #edf0ec;white-space:nowrap;color:#9ba5a0;font-size:10px}
.option-row b{flex:none;color:#87958e;font-weight:600}
.option-row span{min-width:0;overflow-x:auto;scrollbar-width:thin}
.ratings-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:11px}
.rating-card{border:1px solid #dce4de;border-radius:10px;background:#f3f7f3;min-width:0;padding:16px}
.rating-card h2{font-size:15px;margin:5px 0 13px}
.rating-body{font-size:11px}
.rating-field{display:block;font-size:11px;color:#62736d;margin:11px 0 8px}
.rating-field select{width:100%;height:34px;margin-top:6px;border:1px solid #d5ded7;background:white;border-radius:6px;padding:0 9px}
.rating-hint{float:right;color:#9ba9a1}
.score-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.score-choice{height:32px;border:1px solid #cdd2d7;border-radius:6px;background:white;color:#66796f;font-size:12px;font-weight:700}
.score-choice.selected{border-color:#294058;background:#294058;color:white}
.rating-card .flag-list{margin:12px 0 9px}
.rating-card textarea{width:100%;min-height:62px;border:1px solid #d4ded6;border-radius:6px;padding:9px;background:white;resize:vertical;font:inherit}
.rating-save{margin-top:8px;width:100%}
.review-extras{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.review-extras .mini-panel{min-height:0}
.nomi-last{background:#eceef1;border-left:2px solid #8898aa;padding:10px 11px;border-radius:4px;color:#38485a;font-size:11px;line-height:1.5}
.nomi-controls{display:flex;align-items:end;gap:9px;margin-top:10px}
.nomi-controls label{flex:1;display:grid;gap:6px;font-size:10px;color:#73847a}
.nomi-controls select{height:36px;border:1px solid #d8ddda;border-radius:6px;background:#fff;color:#252b32;padding:0 9px;min-width:0}
#controlList{max-height:132px;overflow:auto}
#controlList>div{padding:4px 0;border-bottom:1px solid #e7ebe6}
@media(max-width:1320px){.ratings-grid{grid-template-columns:1fr}}
@media(max-width:650px){.review-extras{grid-template-columns:1fr}.nomi-controls{flex-direction:column;align-items:stretch}}
.model-column{display:grid;grid-template-rows:auto auto;align-content:start;gap:11px;min-width:0}

/* Experiment layout: environment and snapshot share the first row; comparison follows. */
.workspace{grid-template-columns:minmax(0,4fr) minmax(0,1fr);gap:16px;align-items:start}
.analysis-column{display:contents}
.workspace>.snapshot{min-width:0}
.workspace>.analysis-column>.snapshot{min-width:0}
.workspace>.analysis-column>.recommendations,
.workspace>.analysis-column>.review-extras{grid-column:1/-1;min-width:0}
.simulator{display:grid;grid-template-columns:minmax(215px,27%) minmax(0,1fr);column-gap:22px;align-content:start}
.simulator>.card-head,.simulator>.scene-toolbar,.simulator>.actionbar,.simulator>.fine{grid-column:1/-1}
.simulator>.cabin{grid-column:1;align-self:start}
.simulator>.form-groups{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px 18px;margin-top:0;min-width:0}
.form-groups>.group{min-width:0}
.simulator>.actionbar{margin-top:24px}
.snapshot{padding:20px 17px}
.snapshot .card-head{display:block}
.snapshot .card-head #hash{display:block;margin-top:8px;overflow-wrap:anywhere}
.snapshot h2{font-size:16px;line-height:1.3}
.snapshot .changes{margin:16px 0;max-height:330px}
.snapshot .change{grid-template-columns:1fr;gap:3px;overflow-wrap:anywhere}
.snapshot .change span:nth-child(3){display:none}
.snapshot .option-head{display:block;line-height:1.5}
.snapshot .option-head span{display:block}
.snapshot .snapshot-footer{display:block;line-height:1.6}
.snapshot .snapshot-footer b{display:block}
.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:1550px){
  .simulator{grid-template-columns:minmax(190px,28%) minmax(0,1fr);column-gap:17px}
  .simulator>.form-groups{gap:14px}
  .fields{gap:9px}
}
@media(max-width:1320px){
  .workspace{grid-template-columns:minmax(0,4fr) minmax(0,1fr)}
  .simulator{grid-template-columns:1fr}
  .simulator>.cabin,.simulator>.form-groups{grid-column:1/-1}
  .simulator>.cabin{min-height:230px}
  .simulator>.form-groups{margin-top:19px}
  .results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1150px){
  .workspace{grid-template-columns:1fr}
  .workspace>.analysis-column>.snapshot{grid-column:1/-1}
  .snapshot .card-head{display:flex}
  .snapshot .change{grid-template-columns:minmax(105px,1fr) auto 18px auto}
  .snapshot .change span:nth-child(3){display:initial}
  .snapshot .option-head{display:flex}
  .snapshot .option-head span{display:initial}
  .snapshot .snapshot-footer{display:flex}
  .snapshot .snapshot-footer b{display:initial}
}
@media(max-width:650px){
  .simulator>.form-groups{grid-template-columns:1fr}
  .results-grid{grid-template-columns:1fr}
  .snapshot .card-head{display:block}
  .snapshot .option-head{display:block}
  .snapshot .option-head span{display:block}
}

/* Compact experiment cockpit: keep decisions and scoring in the first viewport. */
@media(min-width:1051px){
  .topbar{height:54px}
  #experiment.view.active{padding:14px 26px 38px}
  #experiment .intro{margin-bottom:9px}
  #experiment .intro .eyebrow{margin-bottom:3px}
  #experiment .intro h1{font-size:27px;margin-bottom:3px}
  #experiment .intro p{font-size:11px}
  #experiment .intro-right .metric strong{font-size:20px;margin:1px 0}
  #experiment .live-route{margin:0 0 10px;padding:7px 11px;font-size:10px}
  #experiment .workspace{grid-template-columns:minmax(0,4fr) minmax(0,1fr);gap:10px}
  #experiment .workspace>.analysis-column>.snapshot{grid-column:auto}
  #experiment .simulator{grid-template-columns:minmax(150px,22%) minmax(0,1fr);column-gap:12px;padding:13px 15px 11px}
  #experiment .simulator>.card-head h2{font-size:17px}
  #experiment .scene-toolbar{margin:6px 0 8px;grid-template-columns:minmax(0,1.4fr) minmax(90px,.7fr) auto}
  #experiment .scene-toolbar label{gap:3px;font-size:10px}
  #experiment .scene-toolbar input,#experiment .scene-toolbar select{height:30px}
  #experiment .scene-toolbar button{height:30px}
  #experiment .simulator>.group-tabs{grid-column:2;grid-row:3}
  #experiment .simulator>.cabin{grid-column:1;grid-row:3/5;height:158px;min-height:0;padding:10px 9px 7px}
  #experiment .simulator>.form-groups{grid-column:2;grid-row:4;display:block;height:123px;min-height:0;margin:0;overflow-y:auto;scrollbar-width:thin}
  #experiment .simulator>.actionbar{grid-column:1/-1;margin-top:8px;padding-top:8px}
  #experiment .simulator>.actionbar button{height:31px}
  #experiment .simulator>.fine{display:none}
  #experiment .cabin:before{top:16%;height:80%}
  #experiment .cabin:after{top:8%;height:90%}
  #experiment .cabin-top,#experiment .cabin-foot{font-size:7px}
  #experiment .cabin-foot{margin-top:7px}
  #experiment .seats{width:90%;max-width:215px;margin:9px auto 0;gap:4px 8px}
  #experiment .seat{padding:3px 4px;gap:1px;border-radius:9px}
  #experiment .seat-icon{height:14px;width:15px;line-height:12px;font-size:11px}
  #experiment .seat b,#experiment .seat select{font-size:9px}
  #experiment .form-groups>.group{border:0;padding:3px 1px 0}
  #experiment .form-groups>.group:not(.active){display:none}
  #experiment .form-groups .group-title{display:none}
  #experiment .form-groups .fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 9px}
  #experiment .form-groups .fields label{gap:3px;font-size:10px}
  #experiment .form-groups .fields label.wide{grid-column:auto}
  #experiment .form-groups .fields input:not([type=range]):not([type=checkbox]),#experiment .form-groups .fields select{height:29px}
  #experiment .form-groups .toggle-row{min-height:29px}
  #experiment .recent-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
  #experiment .recent-controls select,#experiment .nomi-controls select{height:29px}
  #experiment .recent-controls button,#experiment .nomi-controls button{height:29px;font-size:10px}
  #experiment .nomi-controls{margin-top:5px}
  #experiment .nomi-last{padding:6px 8px}
  #experiment .snapshot{padding:13px 12px;max-height:292px;overflow-y:auto}
  #experiment .snapshot .card-head,#experiment .snapshot .option-head,#experiment .snapshot .snapshot-footer{display:block}
  #experiment .snapshot .option-head span,#experiment .snapshot .snapshot-footer b{display:block}
  #experiment .snapshot .change span:nth-child(3){display:none}
  #experiment .snapshot h2{font-size:14px}
  #experiment .snapshot .changes{margin:10px 0;max-height:56px}
  #experiment .snapshot .change{padding:5px 7px;gap:1px}
  #experiment .snapshot .option-index{margin-top:8px;padding-top:8px}
  #experiment .snapshot .option-list{max-height:124px}
  #experiment .snapshot .snapshot-footer{padding-top:7px}
  #experiment .recommendations{padding:12px 14px}
  #experiment .recommendations .card-head h2{font-size:17px}
  #experiment .results-grid{margin-top:8px;gap:10px}
  #experiment .model-column{height:clamp(180px,calc(100vh - 600px),410px);grid-template-rows:minmax(0,1fr) auto;gap:7px}
  #experiment .result-card{overflow-y:auto;scrollbar-width:thin}
  #experiment .result-top{position:sticky;top:0;z-index:1;min-height:44px;padding:7px 10px;background:#fbfcf9}
  #experiment .result-top h3{font-size:17px;margin:2px 0 0}
  #experiment .result-empty{min-height:50px;padding:12px}
  #experiment .result-content{padding:9px 10px}
  #experiment .result-actions{min-height:0}
  #experiment .rating-card{padding:8px 10px}
  #experiment .rating-card h2{font-size:13px;margin:2px 0 5px}
  #experiment .rating-quick{display:grid;grid-template-columns:minmax(90px,1fr) minmax(155px,1.2fr) auto;gap:8px;align-items:end}
  #experiment .rating-quick .rating-field{margin:0;font-size:9px}
  #experiment .rating-quick .rating-field select{height:28px;margin-top:3px}
  #experiment .rating-score>span{display:block;color:#62736d;font-size:9px;margin-bottom:5px}
  #experiment .score-choice{height:28px}
  #experiment .rating-save{height:28px;width:auto;margin:0;font-size:10px}
  #experiment .rating-details{margin-top:5px;font-size:10px;max-height:105px;overflow-y:auto}
  #experiment .rating-details summary{color:var(--teal);cursor:pointer}
  #experiment .rating-card .flag-list{margin:5px 0}
  #experiment .rating-card textarea{min-height:36px}
  #experiment .review-extras{margin-top:0}
}
.group-tabs{display:flex;gap:3px;min-width:0;overflow-x:auto;scrollbar-width:thin;padding-bottom:3px}
.group-tabs button{flex:1 0 auto;border:0;border-bottom:2px solid transparent;background:transparent;color:#87938d;padding:4px 6px;font-size:10px;white-space:nowrap;cursor:pointer}
.group-tabs button.active{color:var(--teal);border-bottom-color:var(--teal);font-weight:700}
@media(max-width:1050px){
  #experiment .simulator>.group-tabs{grid-column:1/-1;margin-top:12px}
  #experiment .form-groups>.group:not(.active){display:none}
  #experiment .form-groups{display:block;max-height:300px;overflow-y:auto}
}

/* Six-step context review: every group is visible, numbered, and explicitly acknowledged. */
#experiment .simulator{border-color:#cad0d6}
#experiment .step-progress{background:#f7ead6;color:#94693d;border:1px solid #ead5b8;white-space:nowrap}
#experiment .step-progress.complete{background:#e2e8ef;color:#2b425b;border-color:#c0ccd8}
#experiment .group-tabs{display:grid;grid-template-columns:repeat(6,minmax(64px,1fr));gap:5px;overflow-x:auto;padding:1px 0 3px}
#experiment .group-tabs button{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-content:center;align-items:center;column-gap:3px;min-width:64px;height:35px;padding:3px 4px;text-align:left;border:1px solid #d7dfd8;border-radius:7px;background:#f3f5f0;box-shadow:inset 0 1px 0 #fff;color:#565c63;line-height:1.05}
#experiment .group-tabs button b{font-family:ui-monospace,monospace;font-size:9px;color:#9caaa0}
#experiment .group-tabs button span{overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:700}
#experiment .group-tabs button small{grid-column:2;font-size:8px;color:#9eaaa0}
#experiment .group-tabs button.active{border-color:#435f7d;background:#e8ecf1;box-shadow:0 0 0 2px #bec9d5;color:#24384d}
#experiment .group-tabs button.active b{color:#2f4965}
#experiment .group-tabs button.confirmed{border-color:#b4c1ce;background:#f1f3f6}
#experiment .group-tabs button.confirmed small{color:#2e4761;font-weight:700}
#experiment .group-tabs button.active.confirmed{border-color:#435f7d;background:#e8ecf1}
#experiment .group-tabs button:focus-visible,#experiment .group-confirm:focus-visible{outline:2px solid #294058;outline-offset:2px}
#experiment .form-groups>.group.active{min-height:0;overflow-y:auto;scrollbar-width:thin}
#experiment .group-confirm{height:27px;width:100%;padding:0 10px;background:#e8ecf1;border-color:#bec9d4;color:#293f57;font-size:10px;font-weight:750}
#experiment .group-confirm:hover{background:#dbe1e8}
#experiment #runBtn.review-ready{box-shadow:0 0 0 3px #b1bfce}
#experiment .option-row.priority-option b{color:#43566a}
@media(min-width:1051px){
  #experiment .simulator>.form-groups{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:4px;overflow:hidden}
}
@media(max-width:1050px){
  #experiment .simulator>.form-groups{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;height:242px;max-height:none;overflow:hidden}
}
@media(max-width:650px){
  #experiment .group-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  #experiment .group-tabs button{min-width:0}
}
