:root {
  --oxford:#002147;
  --navy:#102d50;
  --blue:#3d6390;
  --light-blue:#e9eff6;
  --ink:#182d43;
  --muted:#617084;
  --paper:#f6f5f0;
  --white:#fff;
  --line:#dde2e7;
  --gold:#bd9459;
  --rust:#a4493b;
  --rust-wash:#f9ece7;
  --radius:16px
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
button,input,select,textarea {
  font:inherit
}
button,a,input,select,textarea {
  touch-action:manipulation
}
button {
  cursor:pointer
}
button:disabled {
  cursor:not-allowed;
  opacity:.48
}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
  outline:3px solid #afc6e1;
  outline-offset:3px
}
a {
  color:inherit
}
[hidden] {
  display:none!important
}
h1,h2,h3,h4,p {
  margin-top:0
}
h1,h2 {
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.14
}
h1 {
  font-size:clamp(36px,4vw,58px);
  margin-bottom:20px
}
h2 {
  font-size:30px;
  margin-bottom:12px
}
h3 {
  font-size:18px;
  font-weight:600;
  line-height:1.4;
  margin-bottom:12px
}
h4 {
  font-size:14px;
  margin:0 0 8px
}
p {
  margin-bottom:16px
}
small,.small {
  font-size:12px;
  color:var(--muted)
}
strong {
  font-weight:600
}
pre,code {
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px
}
pre {
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
.skip {
  position:fixed;
  top:-80px;
  left:20px;
  z-index:20;
  padding:12px;
  background:white
}
.skip:focus {
  top:10px
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%)
}
.topbar {
  height:88px;
  background:var(--oxford);
  color:white;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:0 max(28px,calc((100vw - 1320px)/2));
  border-bottom:1px solid #294260
}
.brand {
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:12px;
  font-size:23px;
  letter-spacing:-.7px;
  font-weight:650
}
.brand-light {
  font-weight:350
}
.brand-mark {
  display:grid;
  place-items:center;
  width:35px;
  height:35px;
  border:1px solid #a9bfd7;
  border-radius:50%;
  font:italic 27px Georgia;
  color:#e6edf6
}
.topbar nav {
  display:flex;
  align-items:stretch;
  height:100%;
  gap:25px
}
.nav {
  background:none;
  color:#bbc9db;
  border:0;
  border-bottom:3px solid transparent;
  padding:0 5px;
  font-size:13px
}
.nav:hover,.nav.active {
  color:white
}
.nav.active {
  border-bottom-color:#afc6e1
}
.nav span {
  margin-left:5px;
  font-size:11px;
  border:1px solid #536980;
  border-radius:5px;
  padding:1px 5px
}
.local-badge {
  font-size:11px;
  border:1px solid #49617d;
  border-radius:30px;
  padding:7px 11px;
  white-space:nowrap;
  color:#d9e5f2
}
.local-badge span {
  color:#b5cbe5;
  margin-right:5px
}
main {
  max-width:1320px;
  padding:42px 28px 64px;
  margin:auto;
  min-height:calc(100vh - 170px)
}
.intro {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  margin:0 0 35px
}
.eyebrow {
  font-size:10px;
  font-weight:650;
  letter-spacing:2px;
  color:var(--blue);
  margin-bottom:15px
}
.lead {
  font-size:16px;
  color:var(--muted);
  line-height:1.8;
  margin-bottom:0
}
.lead-small {
  font-size:16px;
  color:var(--muted)
}
.intro-note {
  border-left:1px solid #c7cdd4;
  padding-left:28px;
  min-width:235px;
  margin-right:20px
}
.note-number {
  font:12px ui-monospace,monospace;
  color:var(--blue);
  letter-spacing:2px
}
.intro-note p {
  font:23px/1.4 Georgia;
  margin:18px 0
}
.stepper {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:0;
  margin:0 0 27px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff9;
  overflow:hidden
}
.stepper li {
  padding:15px 18px;
  color:var(--muted);
  font-size:12px;
  border-right:1px solid var(--line)
}
.stepper li:last-child {
  border:0
}
.stepper span {
  font-size:11px;
  margin-right:10px;
  opacity:.7
}
.stepper .current {
  background:var(--oxford);
  color:white
}
.stepper .done {
  color:var(--oxford);
  background:var(--light-blue)
}
.workspace-grid {
  display:grid;
  grid-template-columns:minmax(0,2.2fr) minmax(275px,1fr);
  gap:24px;
  align-items:start
}
.panel {
  border:1px solid var(--line);
  background:var(--white);
  border-radius:var(--radius);
  padding:30px;
  margin-bottom:22px;
  box-shadow:0 3px 12px #00214703
}
.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px
}
.section-heading h2,.section-heading h3,.section-heading label {
  margin-bottom:0
}
.section-heading .eyebrow {
  margin-bottom:9px
}
.pill {
  display:inline-block;
  white-space:nowrap;
  font-size:10px;
  letter-spacing:.3px;
  background:var(--light-blue);
  color:var(--oxford);
  border-radius:20px;
  padding:5px 10px
}
.compact {
  margin-bottom:9px
}
.input-panel {
  padding:32px
}
label {
  display:block;
  font-size:12px;
  font-weight:650;
  margin-bottom:8px
}
input[type=text],input[type=search],select,textarea {
  border:1px solid #cfd7e0;
  background:#fff;
  color:var(--ink);
  border-radius:7px;
  padding:11px 12px;
  width:100%;
  min-width:0
}
textarea {
  resize:vertical;
  line-height:1.6
}
textarea::placeholder,input::placeholder {
  color:#8491a0
}
#research-prompt {
  font-size:16px;
  background:#fcfcfa;
  min-height:112px
}
.field-note {
  font-size:11px;
  line-height:1.7;
  color:var(--muted);
  margin:8px 0 20px
}
.form-row {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:18px
}
.text-button {
  background:none;
  border:0;
  color:var(--blue);
  font-size:12px;
  padding:5px 0;
  text-align:left
}
.text-button:hover {
  text-decoration:underline
}
.primary,.secondary {
  border-radius:7px;
  padding:11px 18px;
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
  display:inline-flex;
  gap:20px;
  align-items:center;
  justify-content:center
}
.primary {
  background:var(--oxford);
  border:1px solid var(--oxford);
  color:white
}
.primary:hover:enabled {
  background:#183c66
}
.secondary {
  background:white;
  border:1px solid #cad3de;
  color:var(--oxford)
}
.secondary:hover:enabled {
  background:var(--light-blue)
}
.form-footer {
  margin-top:23px;
  padding-top:23px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px
}
.form-footer p {
  color:var(--muted);
  font-size:11px;
  max-width:380px;
  margin:0
}
.upload-zone {
  border:1px dashed #b5c3d3;
  background:#f7f9fc;
  border-radius:9px;
  display:flex;
  align-items:center;
  gap:16px;
  padding:21px;
  cursor:pointer;
  margin-bottom:17px
}
.upload-zone:hover,.upload-zone.dragging {
  background:var(--light-blue);
  border-color:var(--blue)
}
.upload-icon {
  border:1px solid #cbd6e3;
  border-radius:8px;
  background:white;
  display:grid;
  place-items:center;
  font-size:22px;
  font-weight:400;
  color:var(--blue);
  width:38px;
  height:40px
}
.upload-zone strong {
  font-size:13px
}
.upload-zone small {
  display:block;
  font-size:11px;
  font-weight:400;
  margin-top:4px
}
.upload-zone input {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%)
}
.upload-zone:focus-within {
  outline:3px solid #afc6e1
}
.editor-label {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:8px
}
.editor-label label {
  font-size:11px;
  color:var(--muted);
  margin:0
}
.editor-label select {
  width:88px;
  padding:3px 8px;
  font-size:11px
}
.code-editor {
  font:12px/1.7 ui-monospace,monospace;
  background:#fcfcfa
}
.check-line {
  display:flex;
  gap:12px;
  align-items:flex-start;
  font-weight:400;
  cursor:pointer;
  font-size:12px
}
.check-line input {
  margin:4px 0 0;
  width:16px;
  height:16px;
  accent-color:var(--oxford);
  flex:0 0 auto
}
.check-line small {
  display:block;
  font-size:11px;
  margin-top:4px
}
.assistant-choice {
  border-top:1px solid var(--line);
  padding-top:17px;
  margin-top:18px
}
.dark-panel {
  background:var(--oxford);
  color:#fff;
  border:0;
  padding:28px
}
.dark-panel .eyebrow {
  color:#b1c4dc
}
.dark-panel h2 {
  font-size:31px;
  line-height:1.2
}
.workflow-list {
  list-style:none;
  padding:0;
  counter-reset:path;
  margin:27px 0 0
}
.workflow-list li {
  counter-increment:path;
  position:relative;
  padding:0 0 25px 34px
}
.workflow-list li:before {
  content:counter(path);
  position:absolute;
  left:0;
  top:2px;
  width:21px;
  height:21px;
  border:1px solid #617997;
  border-radius:50%;
  font:10px/21px ui-monospace,monospace;
  text-align:center;
  color:#cedbea;
  background:var(--oxford);
  z-index:1
}
.workflow-list li:after {
  content:"";
  position:absolute;
  left:10px;
  top:24px;
  bottom:0;
  border-left:1px solid #415b78
}
.workflow-list li:last-child {
  padding-bottom:0
}
.workflow-list li:last-child:after {
  display:none
}
.workflow-list strong {
  display:block;
  font-size:12px;
  margin-bottom:5px
}
.workflow-list span {
  display:block;
  font-size:11px;
  line-height:1.7;
  color:#b8c9dc
}
.quiet-panel {
  background:#eeeee8;
  box-shadow:none;
  border-color:#dfdfd6;
  padding:25px
}
.quiet-panel p:last-child {
  font-size:12px;
  color:var(--muted);
  margin:16px 0 0
}
.signal-key {
  font-size:12px;
  display:flex;
  align-items:center;
  gap:10px;
  margin:9px 0
}
.binding-dot,.dili-dot {
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--blue)
}
.dili-dot {
  background:var(--rust)
}
.readiness-mini {
  font-size:11px;
  color:var(--muted);
  padding:0 8px
}
.readiness-mini button {
  display:block;
  margin-top:7px
}
.notice {
  border:1px solid #dfb9aa;
  border-left:3px solid var(--rust);
  background:#fff5ee;
  padding:14px 18px;
  border-radius:8px;
  color:#713c2e;
  font-size:13px;
  margin-bottom:22px
}
.notice.soft {
  border-color:#cdd8e5;
  border-left-color:var(--blue);
  background:#f0f4f9;
  color:var(--ink)
}
.review-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px
}
.data-preview {
  background:#f5f7fa;
  border:1px solid var(--line);
  border-radius:8px;
  max-height:350px;
  overflow:auto;
  padding:18px;
  color:#3c526c
}
.consent-box {
  padding:24px;
  border:1px solid #c7d4e5;
  background:#f5f8fc;
  border-radius:10px;
  margin-top:24px
}
.consent-box p {
  font-size:12px;
  color:var(--muted)
}
.retention-field {
  padding:14px;
  background:#fff6ed;
  border:1px solid #e9d6c1;
  border-radius:7px;
  margin:10px 0
}
.retention-field code {
  display:block;
  overflow-wrap:anywhere
}
.execution-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  margin:30px 0
}
.execution-stages {
  list-style:none;
  counter-reset:stages;
  padding:0
}
.execution-stages li {
  counter-increment:stages;
  padding:13px 12px 13px 45px;
  position:relative;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:13px
}
.execution-stages li:before {
  content:counter(stages);
  position:absolute;
  left:10px;
  color:#8296ad;
  font:11px/22px ui-monospace,monospace
}
.execution-stages .done {
  color:var(--oxford)
}
.execution-stages .done:before {
  content:"✓"
}
.execution-stages .current {
  color:var(--oxford);
  font-weight:600;
  background:var(--light-blue);
  border-radius:7px
}
.frozen-card {
  border-radius:12px;
  padding:25px;
  background:var(--light-blue);
  align-self:start
}
.frozen-card p {
  font-size:12px
}
.frozen-card .pill {
  background:white;
  margin:0 8px 12px 0
}
.event-log {
  font:11px/1.8 ui-monospace,monospace;
  color:var(--muted);
  max-height:220px;
  overflow:auto;
  padding-left:20px
}
.event-log li {
  padding:4px
}
details summary {
  cursor:pointer;
  color:var(--oxford);
  font-size:13px;
  font-weight:600
}
details[open] summary {
  margin-bottom:18px
}
.assistant-note {
  background:#f1f5fa;
  font-size:13px;
  white-space:pre-wrap
}
.assistant-note .small {
  display:block
}
.result-heading {
  margin:38px 0 24px
}
.actions {
  display:flex;
  gap:10px
}
.metric-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin:0 0 24px
}
.metric {
  background:#fff;
  padding:22px 24px;
  border:1px solid var(--line);
  border-radius:12px
}
.metric .value {
  display:block;
  font:38px/1.2 Georgia;
  color:var(--oxford);
  margin:9px 0
}
.metric span {
  font-size:11px;
  color:var(--muted)
}
.metric.emphasis {
  background:var(--oxford);
  border-color:var(--oxford)
}
.metric.emphasis .value {
  color:#fff
}
.metric.emphasis span {
  color:#c1cfe0
}
.decision-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.decision-card {
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden
}
.decision-card h4 {
  padding:14px 18px;
  margin:0;
  background:#f6f8fb;
  display:flex;
  justify-content:space-between;
  font-size:13px
}
.decision-transition {
  padding:20px;
  display:grid;
  grid-template-columns:1fr 22px 1fr;
  gap:12px;
  align-items:start
}
.decision-transition .small {
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:8px
}
.decision-transition p {
  font-size:12px;
  line-height:1.6;
  margin:0
}
.decision-transition .arrow {
  color:#9aacc2;
  padding-top:24px
}
.hold {
  color:var(--rust)
}
.decision-card>p {
  padding:0 20px 18px;
  font-size:11px;
  color:var(--muted);
  margin:0
}
.table-controls {
  display:flex;
  gap:9px
}
.table-controls input {
  max-width:180px;
  font-size:12px;
  padding:9px
}
.table-controls select {
  font-size:12px;
  padding:9px;
  max-width:200px
}
.table-scroll {
  overflow-x:auto;
  margin:0 -8px
}
table {
  width:100%;
  border-collapse:collapse;
  font-size:12px;
  min-width:760px
}
th {
  padding:13px 12px;
  text-align:left;
  color:var(--muted);
  font-size:10px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.65px;
  border-bottom:1px solid var(--line);
  background:#f8f9fa
}
td {
  padding:17px 12px;
  border-bottom:1px solid #e9edf1;
  vertical-align:top
}
tbody tr:last-child td {
  border:0
}
tbody tr:hover {
  background:#f8fafd
}
td .text-button {
  font-size:12px;
  font-weight:650;
  padding:0
}
td small {
  display:block;
  font-size:10px;
  margin-top:3px
}
meter {
  display:block;
  width:82px;
  height:5px;
  margin-top:8px;
  border:0;
  background:#e7ecf2;
  border-radius:4px;
  appearance:none
}
meter::-webkit-meter-bar {
  background:#e7ecf2;
  border:0;
  border-radius:4px
}
meter::-webkit-meter-optimum-value {
  background:var(--blue);
  border-radius:4px
}
meter.dili::-webkit-meter-optimum-value {
  background:var(--rust)
}
meter::-moz-meter-bar {
  background:var(--blue)
}
.status-tag {
  display:inline-block;
  font-size:10px;
  padding:3px 8px;
  background:var(--light-blue);
  color:var(--oxford);
  border-radius:4px
}
.status-tag.hold {
  background:var(--rust-wash);
  color:var(--rust)
}
.detail-grid {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:25px
}
.detail-grid>div {
  padding:20px;
  background:#f7f9fb;
  border:1px solid var(--line);
  border-radius:9px
}
.detail-grid p {
  font-size:12px;
  margin-bottom:11px
}
.detail-grid code {
  overflow-wrap:anywhere
}
.detail-grid .big-number {
  font:34px Georgia;
  color:var(--oxford)
}
.evidence-list {
  font-size:12px;
  padding-left:20px
}
.empty {
  padding:20px;
  color:var(--muted);
  font-size:13px;
  text-align:center
}
.run-card {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px
}
.run-card h3 {
  margin-bottom:8px
}
.run-card p {
  font-size:12px;
  color:var(--muted);
  margin:0
}
.setup-row {
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid var(--line);
  padding:13px 0;
  font-size:12px
}
.setup-row:last-of-type {
  margin-bottom:20px
}
.setup-row strong {
  font-size:11px;
  color:var(--blue)
}
.setup-row .missing {
  color:var(--rust)
}
.methods-copy {
  max-width:100%
}
.methods-copy ol {
  padding-left:22px
}
.methods-copy li {
  margin:14px 0;
  max-width:960px;
  font-size:14px
}
.methods-copy p {
  font-size:13px;
  max-width:960px
}
footer {
  border-top:1px solid var(--line);
  padding:23px max(28px,calc((100vw - 1264px)/2));
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:10px;
  color:var(--muted)
}
.footer-divider {
  margin:0 10px;
  color:#a0acb9
}
@media(min-width:1500px) {
  main {
    padding-top:52px
  }
  .intro {
    margin-bottom:40px
  }
}
@media(max-width:1000px) {
  .topbar {
    padding:0 24px;
    gap:15px
  }
  .topbar nav {
    gap:13px
  }
  .local-badge {
    display:none
  }
  .workspace-grid {
    grid-template-columns:1fr 290px;
    gap:18px
  }
  .input-panel {
    padding:24px
  }
  .panel {
    padding:24px
  }
  .intro-note {
    min-width:200px;
    margin:0
  }
  .form-row {
    grid-template-columns:1fr
  }
  .form-footer {
    align-items:flex-start;
    flex-direction:column
  }
  .form-footer .primary {
    align-self:flex-end
  }
  .metric-grid {
    gap:10px
  }
  .metric {
    padding:18px
  }
  .section-heading {
    flex-wrap:wrap
  }
  .table-controls {
    width:100%
  }
  .detail-grid {
    grid-template-columns:1fr
  }
  .decision-transition {
    grid-template-columns:1fr
  }
  .decision-transition .arrow {
    padding:0;
    transform:rotate(90deg);
    width:20px
  }
  .review-grid {
    gap:18px
  }
}
@media(max-width:760px) {
  .topbar {
    height:auto;
    min-height:80px;
    flex-wrap:wrap;
    padding:17px 20px 0;
    gap:10px
  }
  .brand {
    font-size:22px
  }
  .topbar nav {
    height:45px;
    gap:17px;
    width:100%;
    order:2
  }
  .nav {
    font-size:12px;
    padding:0 4px
  }
  .nav:last-child {
    margin-left:auto
  }
  main {
    padding:30px 18px 40px
  }
  .intro {
    margin-bottom:26px
  }
  .intro-note {
    display:none
  }
  h1 {
    font-size:38px
  }
  h2 {
    font-size:27px
  }
  .lead {
    font-size:14px
  }
  .stepper {
    grid-template-columns:repeat(2,1fr)
  }
  .stepper li {
    font-size:11px;
    padding:12px
  }
  .stepper li:nth-child(2) {
    border-right:0
  }
  .stepper li:nth-child(-n+2) {
    border-bottom:1px solid var(--line)
  }
  .workspace-grid,.review-grid,.execution-grid {
    grid-template-columns:1fr
  }
  .study-rail {
    display:grid;
    grid-template-columns:1fr
  }
  .dark-panel {
    display:none
  }
  .quiet-panel {
    margin:0 0 18px
  }
  .input-panel,.panel {
    padding:21px
  }
  .form-row {
    grid-template-columns:1fr
  }
  .metric-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .decision-grid {
    grid-template-columns:1fr
  }
  .decision-transition {
    grid-template-columns:1fr 22px 1fr
  }
  .decision-transition .arrow {
    transform:none;
    padding-top:24px
  }
  .actions {
    flex-wrap:wrap
  }
  .result-heading {
    gap:15px
  }
  .table-controls {
    flex-wrap:wrap
  }
  .table-controls input,.table-controls select {
    max-width:none;
    flex:1;
    min-width:150px
  }
  .run-card {
    align-items:flex-start;
    flex-direction:column
  }
  .upload-zone {
    padding:17px;
    gap:12px
  }
  .form-footer .primary {
    width:100%
  }
  .execution-grid {
    gap:10px
  }
  footer {
    padding:22px 18px;
    flex-direction:column;
    gap:7px
  }
  .form-footer p {
    max-width:100%
  }
}
@media(prefers-reduced-motion:no-preference) {
  button {
    transition:background .15s,color .15s
  }
  main {
    animation:enter .25s ease-out
  }
  @keyframes enter {
    from {
      opacity:.5;
      transform:translateY(4px)
    }
    to {
      opacity:1;
      transform:none
    }
  }
}

/* Researcher journey: locally rendered evidence, restrained editorial hierarchy. */
.stepper { grid-template-columns:repeat(5,minmax(0,1fr)); }
.stepper li { min-width:0; }
.study-context { border-bottom:1px solid var(--line); padding:14px 0 20px; margin-bottom:24px; color:var(--muted); overflow-wrap:anywhere; }
body[data-study-stage="run"] .intro,body[data-study-stage="assess"] .intro,body[data-study-stage="results"] .intro,body[data-study-stage="review"] .intro { display:none; }
.replay-invitation { background:var(--light-blue); }
.replay-invitation h2 { font-size:27px; }
.molecule-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0; min-width:0; }
#candidate-preview { display:block; }
.molecule-card { padding:16px; background:var(--white); border:1px solid var(--line); border-radius:12px; min-width:0; }
.molecule-card img { display:block; width:100%; height:130px; object-fit:contain; margin-bottom:12px; }
.molecule-card strong,.molecule-card span { display:block; overflow-wrap:anywhere; }
.live-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr); gap:32px; }
.live-layout .execution-grid { display:block; }
.live-layout .execution-stages { display:none; }
.activity-panel { border-left:1px solid var(--line); padding-left:24px; }
.activity-panel .event-log { max-height:420px; overflow-y:auto; padding-right:12px; }
.activity-panel h3 { color:var(--oxford); }
.event-log li { font-size:13px; line-height:1.65; border-bottom:1px solid var(--line); padding:10px 0; }
.review-readable { margin:24px 0; }
.review-readable .molecule-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.detail-molecule { width:min(100%,420px); height:210px; object-fit:contain; }
.table-molecule { width:120px; height:70px; object-fit:contain; display:block; }
.evidence-switch { display:flex; gap:8px; margin:22px 0; }
.discovery-only .decision-panel,.discovery-only #explanation-note,.discovery-only #result-metrics { display:none; }
.replay-controls { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:24px 0; }
#replay-content { min-height:340px; }
#replay-content .molecule-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
#continue-fixed { margin-top:18px; }
#study-form .field-note { margin-bottom:14px; }
@media(max-width:1000px){
 .stepper li { font-size:12px; padding:14px 10px; }
 .live-layout { grid-template-columns:1fr; }
 .activity-panel { border-left:0; border-top:1px solid var(--line); padding:24px 0 0; }
 .review-readable .molecule-grid,#replay-content .molecule-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px){
 .stepper { grid-template-columns:1fr; }
 .stepper li,.stepper li:nth-child(2),.stepper li:nth-child(-n+2) { border-right:0; border-bottom:1px solid var(--line); padding:10px 14px; }
 .stepper li:last-child { border-bottom:0; }
 .molecule-grid { gap:8px; }
 .molecule-card { padding:10px; }
 .molecule-card img { height:105px; }
 .replay-controls { flex-wrap:wrap; }
 .evidence-switch { flex-wrap:wrap; }
 .intro h1 { font-size:36px; }
 #replay-content { min-height:0; }
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }}
.operation-note { padding:16px 20px; border-left:3px solid var(--blue); background:var(--light-blue); color:var(--oxford); }
#replay-content { min-height:260px; }
#result-history .event-log { max-height:360px; overflow-y:auto; }
@media(max-width:760px){#replay-content { min-height:0; }}
.privacy-findings { padding:16px 20px 16px 36px; border-radius:8px; background:var(--light-blue); color:var(--oxford); font-size:13px; overflow-wrap:anywhere; }
.privacy-findings:empty { display:none; }
#revise-study { margin:18px 0 0 8px; }
.candidate-score { font-variant-numeric:tabular-nums; color:var(--oxford); margin:12px 0 4px; font-size:14px; }
.selected-molecule { border-color:var(--blue); background:#f7f9fc; }
.replay-decision { padding:22px; border-left:3px solid var(--gold); background:#faf7ef; margin:20px 0; border-radius:0 10px 10px 0; }
.replay-decision h3 { color:var(--oxford); }
.activity-panel .assistant-note { font-size:13px; padding:16px; margin:16px 0; line-height:1.7; overflow-wrap:anywhere; }

/* Prompt-first study setup */
.prompt-example{display:flex;justify-content:space-between;width:100%;background:var(--paper,#f8f7f3);color:var(--navy,#102a4c);border:1px solid #d6dfdf;border-radius:10px;padding:14px 16px;text-align:left;margin:14px 0 20px}
.route-preview{padding:22px;border:1px solid #d9e3e4;border-radius:12px;background:#eef3f4;margin:18px 0}.route-preview p:last-child{margin-bottom:0}.route-preview strong{font-size:18px;color:#142e4e}
.optional-inputs,.execution-options{border-top:1px solid #dce2e3;margin-top:22px;padding-top:18px}.optional-inputs>summary,.execution-options>summary{cursor:pointer;padding:4px 0 12px;font-weight:600}.optional-inputs>summary .small{margin-left:8px;font-weight:400}.dataset-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.optional-inputs[open]>summary{margin-bottom:12px}

#live-candidates{max-height:620px;overflow-y:auto;align-content:start;padding:3px}#live-candidates .molecule-card strong{overflow-wrap:anywhere}@media(max-width:700px){#live-candidates{max-height:480px}}

/* Current-run dashboard: shared scientific views, native workspace presentation. */
.results-empty{padding:clamp(28px,7vw,90px);min-height:380px;background:linear-gradient(120deg,#fffefa,#edf1f5)}
.results-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px;border-bottom:1px solid var(--line);padding-bottom:14px}
.results-tabs [aria-pressed=true]{background:#002147;color:#fff;border-color:#002147}
.explorer-intro{margin-bottom:26px}.score-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(150px,2fr) 60px minmax(100px,1fr);gap:20px;align-items:center;width:100%;padding:12px 4px;border:0;border-bottom:1px solid #e3e8ed;background:transparent;text-align:left;color:#002147;cursor:pointer;font:inherit}
.score-row:hover,.feature-bar:hover{background:#f0f3f6}.score-row>span{overflow-wrap:anywhere;font-size:12px}.score-row svg{width:100%;height:30px}.score-row small{color:#52667d}
.discovery-record{border-top:1px solid #e1e6ed;padding:18px 0}.artifact-checksum{font:11px monospace;overflow-wrap:anywhere}
.source-record-table {
  min-width:0;
  table-layout:fixed;
  margin:16px 0;
  font-size:13px;
  background:var(--white);
}
.source-record-table caption { padding:0 0 12px;text-align:left;color:var(--muted);overflow-wrap:anywhere; }
.source-record-table th,.source-record-table td { padding:12px 16px;vertical-align:top;overflow-wrap:anywhere; }
.source-record-table thead th:first-child { width:34%; }
.source-record-table tbody th { font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;background:transparent;color:var(--ink); }
.source-record-table .source-record-section th { background:var(--light-blue);color:var(--oxford);font-weight:650;border-top:1px solid var(--line); }
.source-record-table td { font-variant-numeric:tabular-nums; }
.source-record-table code { font-size:12px;white-space:normal; }
.source-record-values { margin:0;padding-left:20px; }
.source-record-values li+li { margin-top:6px; }
@media(max-width:700px) {
  .source-record-table thead th:first-child { width:40%; }
  .source-record-table th,.source-record-table td { padding:10px 8px; }
}
.feature-explorer{border-top:1px solid #dce3ec;margin-top:30px;padding-top:28px}.feature-controls{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.feature-controls select{min-width:260px;max-width:100%}.feature-molecule{display:block;width:100%;max-width:760px;margin:10px auto}.feature-bars{max-width:740px;margin:24px auto}.feature-bar{width:100%;display:grid;grid-template-columns:110px 1fr 80px;gap:10px;align-items:center;border:0;background:transparent;color:#002147;padding:5px;font:inherit;font-size:12px;text-align:left;cursor:pointer}.feature-bar svg{width:100%;height:22px}.confusion-table{max-width:760px;margin:30px auto}.confusion-table td{text-align:center;font-size:28px;background:#edf2f8}.confusion-table caption{padding:12px;text-align:left;color:#52667d}
@media(max-width:700px){.score-row{grid-template-columns:minmax(100px,1fr) minmax(110px,1fr) 50px;gap:8px}.score-row small{grid-column:1/-1}.feature-controls{gap:12px}.feature-controls select{min-width:0;width:100%}.feature-bar{grid-template-columns:85px 1fr 60px;gap:4px}.results-tabs{gap:5px}.results-tabs button{font-size:12px;padding:10px}.confusion-table th{font-size:11px}.confusion-table td{font-size:22px}}
.stepper li>button{display:flex;align-items:center;gap:10px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:8px 0;width:100%}.stepper li>button:disabled{cursor:default;opacity:.6}.stepper li>button:focus-visible{outline:2px solid #ab8952;outline-offset:4px;border-radius:5px}.step-navigation{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:-10px 0 24px;font-size:12px;color:#52667d}#step-history-section{margin-bottom:25px}.pose-section{margin-top:20px;padding:22px;border:1px solid #dce3ec;border-radius:12px;background:#fbfcfe}.pose-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.pose-controls select{width:auto}.pose-controls .check-line{margin:0}.pose-canvas{position:relative;width:100%;height:480px;overflow:hidden;border-radius:10px;background:#f0f3f7}.pose-section input[type=file]{display:block;margin:10px 0}.pose-section canvas{outline:none}@media(max-width:700px){.pose-canvas{height:350px}.pose-section{padding:12px}.stepper li>button{font-size:11px;gap:4px}.step-navigation{gap:10px}}
/* Reference evaluation must fit the same narrow screens as the dashboard. */
.confusion-table{min-width:0;width:100%;table-layout:fixed}
.confusion-table th,.confusion-table td{overflow-wrap:anywhere}

/* Readable model configuration, using the Results page's body typography. */
.model-setup-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0;font-family:inherit}
.model-setup-card{min-width:0;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.model-setup-card h4{margin:0 0 16px;font-family:inherit;font-size:15px;font-weight:600;letter-spacing:0;color:var(--oxford)}
.model-setup-card dl{margin:0;font-size:14px;line-height:1.6}
.model-setup-card dl>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-top:1px solid var(--line)}
.model-setup-card dt{color:var(--muted)}
.model-setup-card dd{margin:0;text-align:right;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(max-width:900px){.model-setup-summary{grid-template-columns:1fr}}

.evaluation-comparison{overflow-x:auto}
.evaluation-comparison .source-record-table{min-width:560px}
.evaluation-comparison:focus-visible{outline:2px solid var(--oxford);outline-offset:2px}

.workflow-routing{margin:0 0 28px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.routing-heading,.routing-path-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.routing-heading h2{font-size:25px;margin-bottom:10px}.routing-intro{font-weight:600;color:var(--oxford);line-height:1.8}
.routing-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.routing-path{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.routing-path.selected{border-color:var(--blue);background:var(--light-blue);box-shadow:inset 0 3px var(--blue)}
.routing-path h3{font-size:16px;margin:0}.routing-path-heading{margin-bottom:12px}
.routing-selected{font-size:11px;font-weight:600;color:var(--oxford);background:var(--white);padding:3px 8px;border-radius:20px}
.routing-pipeline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px}.routing-path p:last-child,#routing-note{margin-bottom:0}
@media(max-width:720px){.workflow-routing{padding:18px}.routing-paths{grid-template-columns:1fr}.routing-heading h2{font-size:23px}.routing-path{padding:16px}}

.result-order-controls{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:20px 0 28px;padding:18px 20px;background:var(--light-blue);border-radius:12px}
.result-order-controls label{margin:0;font-size:12px;color:var(--muted)}
.result-order-controls select{display:block;width:auto;min-width:170px;margin-top:6px;background:var(--white)}
.result-order-controls p{flex:1;min-width:200px;margin:0;padding-bottom:8px}
@media(max-width:600px){.result-order-controls{padding:16px}.result-order-controls label{flex:1}.result-order-controls select{width:100%;min-width:0}}

/* Agent selection previews product choices without changing execution. */
.agent-picker{margin:22px 0;padding:0;border:0;min-width:0}
.agent-picker legend{font-weight:600;color:var(--oxford);margin-bottom:12px}
.agent-preview-badge{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:20px;background:var(--paper);font-size:11px;font-weight:500;color:var(--muted)}
.agent-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.agent-option{display:flex;align-items:center;gap:12px;margin:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);cursor:pointer}
.agent-option:has(input:checked){border-color:var(--blue);background:var(--light-blue);box-shadow:inset 0 3px var(--blue)}
.agent-option:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:3px}
.agent-option input{width:17px;height:17px;margin:0;flex:0 0 auto;accent-color:var(--blue)}
.agent-option strong,.agent-option small{display:block}.agent-option strong{font-size:14px}.agent-option small{font-size:12px;color:var(--muted);margin-top:5px}
.agent-future{opacity:.5;cursor:not-allowed}
#agent-preview-note{margin:12px 0 0}
#result-metrics{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr);gap:8px;align-items:stretch}
#result-metrics .metric{min-width:0;padding:22px 18px}
.metric-connector{align-self:center;text-align:center;font-size:25px;color:var(--blue)}
.metric-connector.status-connector{color:var(--muted)}
/* Restrained business palette: slate, blue, muted rose and soft coral. */
#result-metrics .metric:nth-of-type(1){background:#edf2f8;border-color:#cdd8e5}
#result-metrics .metric:nth-of-type(2){background:#234e78;border-color:#234e78}
#result-metrics .metric:nth-of-type(3){background:#9a4e5c;border-color:#9a4e5c}
#result-metrics .metric:nth-of-type(4){background:#f4e5e3;border:1px solid #d7aaa6}
#result-metrics .metric span{color:#40536b}
#result-metrics .metric .value{color:#1d3654}
#result-metrics .metric:nth-of-type(2) span,#result-metrics .metric:nth-of-type(3) span{color:#f8f5f6}
#result-metrics .metric:nth-of-type(2) .value,#result-metrics .metric:nth-of-type(3) .value{color:#fff}
#result-metrics .metric:nth-of-type(4) span{color:#794c50}
#result-metrics .metric:nth-of-type(4) .value{color:#723941}
@media(max-width:900px){
 .agent-options{grid-template-columns:1fr}
 #result-metrics{grid-template-columns:1fr;gap:6px}
 .metric-connector{transform:rotate(90deg);line-height:24px}
 #result-metrics .metric{padding:18px 22px}
}
