.frozen-policy {
  margin:14px 22px 0;
}

.jev-frozen {
  padding-top:11px;
  border-top:1px solid var(--line);
}

.jev-model-line {
  display:flex;
  justify-content:space-between;
  gap:9px;
  font-size:10px;
  color:var(--agent);
  overflow-wrap:anywhere;
}

.jev-model-line strong {
  font-weight:600;
}

.jev-model-line span {
  white-space:nowrap;
  color:var(--muted);
}

.jev-components {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px 14px;
  margin:13px 0;
}

.jev-components>div {
  min-width:0;
}

.jev-components dt {
  font-size:9px;
  color:var(--muted);
  margin-bottom:3px;
}

.jev-components dd {
  margin:0;
  font-size:15px;
  font-weight:550;
  font-variant-numeric:tabular-nums;
}

.jev-components dd small {
  font-size:9px;
  color:var(--muted);
  font-weight:400;
}

.jev-note {
  font-size:10px;
  color:var(--muted);
  line-height:1.8;
  margin:10px 0;
}

.jev-hash {
  font-family:monospace;
  font-size:8px;
  color:var(--muted);
  overflow-wrap:anywhere;
  margin:8px 0;
}

.baseline-details {
  margin:10px 22px 0;
  border-top:1px solid var(--line);
  padding-top:10px;
}

.baseline-details>summary {
  font-size:10px;
  color:var(--muted);
  cursor:pointer;
}

.baseline-details .candidate-list {
  margin-left:0;
  margin-right:0;
}

.baseline-details .empty-state {
  padding:10px 0;
}

.strategy-dot.agent {
  background:var(--blue-solid);
}

.strategy-dot.jev {
  background:var(--agent);
}

.trace-line.agent {
  stroke:var(--blue-mid);
  stroke-width:2;
}

.trace-line.jev {
  stroke:var(--agent);
  stroke-width:2.6;
}

.chart-legend {
  flex-wrap:wrap;
}

.jev-workshop {
  margin-top:26px;
  border:1px solid var(--line);
  border-top:3px solid var(--agent);
  background:var(--surface-2);
  border-radius:8px;
  padding:21px 22px;
}

.jev-workshop .section-heading {
  margin-bottom:17px;
}

.jev-workshop .section-heading h2 {
  font-size:18px;
}

.jev-toolbar {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.jev-toolbar label {
  font-size:10px;
  color:var(--muted);
  margin-right:2px;
}

.jev-toolbar button,.jev-toolbar select {
  font-size:10px;
  min-height:34px;
  padding:7px 10px;
}

.jev-toolbar #jev-apply {
  margin-left:auto;
  border-color:var(--green-mid);
  color:var(--agent);
}

.jev-workshop-state {
  display:flex;
  gap:9px 20px;
  align-items:center;
  flex-wrap:wrap;
  margin:17px 0 9px;
  padding-top:14px;
  border-top:1px solid var(--line);
  font-size:10px;
  color:var(--muted);
}

.jev-workshop-state strong {
  font-size:11px;
  color:var(--ink);
  font-weight:550;
}

.jev-ready {
  display:flex;
  gap:5px;
  flex-direction:column;
  border-left:3px solid var(--agent);
  padding:10px 13px;
  background:var(--agent-soft);
  margin:13px 0;
  font-size:10px;
  color:var(--muted);
  line-height:1.6;
}

.jev-ready strong {
  font-size:12px;
  color:var(--agent);
}

.jev-records {
  display:grid;
  gap:8px;
}

.jev-record {
  border:1px solid var(--line);
  border-radius:5px;
  background:var(--surface);
}

.jev-record>summary {
  display:flex;
  gap:12px;
  align-items:center;
  cursor:pointer;
  padding:11px 13px;
  font-size:11px;
  list-style:none;
}

.jev-record>summary::-webkit-details-marker {
  display:none;
}

.jev-record>summary:after {
  content:'+';
  margin-left:auto;
  font-size:17px;
  color:var(--agent);
}

.jev-record[open]>summary:after {
  content:'−';
}

.jev-record>summary strong {
  font-weight:550;
}

.jev-record>summary>span:nth-of-type(2) {
  font-size:9px;
  color:var(--muted);
}

.jev-version {
  font-family:monospace;
  color:var(--agent);
  font-size:12px;
}

.jev-record-body {
  border-top:1px solid var(--line);
  padding:6px 14px 12px;
}

.jev-analysis {
  display:flex;
  align-items:baseline;
  gap:5px 12px;
  flex-wrap:wrap;
  margin:10px 0;
  font-size:10px;
}

.jev-analysis>span {
  font-size:9px;
  color:var(--muted);
}

.jev-analysis strong {
  font-family:monospace;
  font-size:10px;
  font-weight:500;
}

.jev-analysis small {
  font-size:10px;
  color:var(--muted);
}

.jev-record-body .jev-components {
  grid-template-columns:repeat(5,minmax(0,1fr));
  padding:12px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.jev-feedback {
  font-size:10px;
  line-height:1.8;
}

.jev-feedback>p {
  margin:8px 0;
}

.jev-feedback-numbers {
  display:flex;
  gap:8px 24px;
  flex-wrap:wrap;
  color:var(--muted);
}

.jev-feedback-numbers strong {
  font-weight:500;
  color:var(--ink);
  margin-left:5px;
}

.jev-feedback ul {
  padding-left:16px;
  color:var(--danger);
  margin:7px 0;
}

.jev-raw {
  margin-top:8px;
  font-size:9px;
}

.jev-raw>summary {
  cursor:pointer;
  color:var(--muted);
}

.jev-raw table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  margin-top:8px;
  font-size:9px;
  font-variant-numeric:tabular-nums;
}

.jev-raw th,.jev-raw td {
  border-bottom:1px solid var(--line);
  padding:5px 8px;
  font-weight:400;
  overflow-wrap:anywhere;
}

.jev-raw th {
  color:var(--muted);
  background:var(--surface-3);
}

#jev-error {
  font-size:11px;
  line-height:1.7;
}

@media(max-width:980px) {
  .frozen-policy,.baseline-details {
    margin-left:17px;
    margin-right:17px;
  }
  .jev-components {
    gap:7px 9px;
  }
  .jev-components dt {
    font-size:8px;
  }
  .jev-components dd {
    font-size:14px;
  }
  .jev-toolbar #jev-apply {
    margin-left:0;
  }
  .jev-workshop .section-heading {
    align-items:flex-start;
  }
  .jev-workshop .section-heading>p {
    max-width:300px;
  }
  .jev-record-body .jev-components {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:720px) {
  .frozen-policy,.baseline-details {
    margin-left:19px;
    margin-right:19px;
  }
  .jev-workshop {
    padding:15px 13px;
    margin-top:20px;
  }
  .jev-workshop .section-heading {
    display:block;
  }
  .jev-workshop .section-heading h2 {
    font-size:17px;
  }
  .jev-workshop .section-heading>p {
    text-align:left;
    max-width:none;
    font-size:10px;
    margin-top:8px;
    line-height:1.7;
  }
  .jev-toolbar label {
    width:100%;
  }
  .jev-toolbar button,.jev-toolbar select {
    font-size:10px;
  }
  .jev-workshop-state {
    gap:6px 13px;
  }
  .jev-record>summary {
    gap:8px;
    font-size:10px;
  }
  .jev-record>summary>span:nth-of-type(2) {
    font-size:8px;
  }
  .jev-record-body {
    padding:5px 10px 10px;
  }
  .jev-components dt {
    font-size:9px;
  }
  .jev-feedback-numbers {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px 10px;
    font-size:9px;
  }
  .jev-feedback-numbers strong {
    display:block;
    margin-left:0;
  }
  .jev-analysis {
    display:block;
  }
  .jev-analysis>* {
    display:block;
    margin-top:3px;
  }
  .jev-raw {
    overflow:auto;
  }
  .jev-raw table {
    min-width:330px;
  }
}
