/* Performance plots: dark SVGs with editable, source-linked numerical data. */
.highlights p a {
  display:inline-block;
  padding-block:3px;
  color:#bdc3ed;
  font-size:11px;
  line-height:1.6;
  text-decoration:none;
}
.highlights p a:hover { color:#fff; }
.plot-card {
  min-width:0;
  border:1px solid #2b2b35;
  border-radius:18px;
  background:#101014;
  overflow:hidden;
}
.plot-card-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  padding:30px 32px 12px;
}
.plot-kicker {
  color:#a7b0ff;
  font-size:10px;
  letter-spacing:.13em;
  font-weight:600;
}
.plot-card-heading h3 {
  margin:9px 0 0;
  color:#fafaff;
  font-family:var(--display);
  font-size:clamp(22px,2.2vw,30px);
  font-weight:500;
  letter-spacing:-.045em;
  line-height:1.35;
}
.plot-card-heading p {
  color:#aaaab9;
  font-size:13px;
  line-height:1.7;
  margin-top:9px;
}
.plot-tabs {
  display:flex;
  flex-shrink:0;
  gap:4px;
  padding:4px;
  border:1px solid #33333d;
  background:#09090c;
  border-radius:28px;
}
.plot-tabs button {
  min-height:38px;
  padding:8px 19px;
  border:0;
  border-radius:22px;
  background:transparent;
  color:#b6b6c4;
  cursor:pointer;
  font:500 12px var(--body);
  transition:background .18s,color .18s;
}
.plot-tabs button[aria-selected="true"] {
  background:#e8eaff;
  color:#14141c;
}
.plot-tabs button:hover:not([aria-selected="true"]) {
  color:white;
  background:#ffffff0b;
}
.plot-panel[hidden] { display:none; }
.plot-card figure { margin:0; }
.plot-image-link {
  display:block;
  text-decoration:none;
  padding:6px 10px 0;
  border-radius:8px;
  cursor:zoom-in;
}
.plot-image-link picture { display:block; }
.plot-image-link img {
  display:block;
  width:100%;
  height:auto;
  margin:0;
  background:#101014;
}
.plot-card figcaption {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:6px 32px 20px;
  color:#aaaab9;
  font-size:11px;
  line-height:1.7;
}
.plot-card figcaption>a {
  flex-shrink:0;
  text-decoration:none;
  color:#d1d5ff;
}
.plot-card a:hover { color:#fff; }
.plot-insights {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  border-top:1px solid #292931;
  margin:0 32px;
  padding:25px 0;
}
.plot-insights>div+div { border-left:1px solid #292931; padding-left:25px; }
.plot-insights span {
  display:block;
  color:#9797a8;
  font-size:9px;
  letter-spacing:.11em;
}
.plot-insights strong {
  display:block;
  color:#e9ebff;
  font:500 clamp(24px,3vw,36px)/1.35 var(--display);
  letter-spacing:-.055em;
  margin:8px 0 4px;
  font-variant-numeric:tabular-nums;
}
.plot-insights small { font-size:20px; }
.plot-insights p { color:#a8a8b7; font-size:11px; line-height:1.7; }
.plot-source {
  padding:18px 32px 22px;
  color:#9898a9;
  border-top:1px solid #24242d;
  font-size:11px;
  line-height:1.9;
}
.plot-source a { color:#c3c8f6; text-underline-offset:3px; text-decoration-color:#676b8c; }
.plots-pair {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:24px;
}
.plots-pair .plot-card { display:flex; flex-direction:column; }
.plots-pair .plot-source { margin-top:auto; }
.plots-pair .plot-card-heading { align-items:flex-start; padding:27px 26px 10px; }
.plots-pair .plot-card-heading h3 { font-size:25px; }
.plots-pair .plot-card-heading p { max-width:390px; }
.plots-pair .plot-card figcaption { padding-inline:26px; }
.plots-pair .plot-source { padding-inline:26px; }
.plot-data {
  margin:0 32px 20px;
  border-top:1px solid #2b2b35;
  border-bottom:1px solid #2b2b35;
}
.plot-data summary {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:13px 0;
  list-style:none;
  cursor:pointer;
  color:#d0d0df;
  font-size:12px;
}
.plot-data summary::-webkit-details-marker { display:none; }
.plot-data summary span { font-size:18px; color:#a7b0ff; }
.plot-data[open] summary span { transform:rotate(45deg); }
.data-table-scroll { max-width:100%; overflow:auto; margin-bottom:15px; }
.data-table-scroll:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.data-table-scroll table {
  width:100%;
  border-collapse:collapse;
  color:#c1c1cf;
  font-size:12px;
  font-variant-numeric:tabular-nums;
  text-align:right;
  white-space:nowrap;
}
.data-table-scroll th,.data-table-scroll td { padding:12px 14px; border-bottom:1px solid #26262f; }
.data-table-scroll th { font-weight:500; color:#eeeef6; }
.data-table-scroll th:first-child,.data-table-scroll td:first-child { text-align:left; padding-left:0; }
.data-table-scroll td.ours-value { color:#bec6ff; font-weight:600; }
.data-table-scroll thead { color:#eeeef6; }
.performance-section>.timing-note { margin-top:23px; max-width:none; }
.performance-section>.timing-note a { color:#c3c8f6; }
.lightbox[data-plot="true"] .lightbox-image-wrap { background:#101014; }
.lightbox[data-plot="true"] #lightbox-image { background:#101014; max-height:75vh; }

@media (max-width:1000px) {
  .plots-pair { grid-template-columns:1fr; }
  .plots-pair .plot-image-link { max-width:760px; margin-inline:auto; width:100%; }
  .plot-card-heading { padding-inline:24px; }
  .plot-card figcaption,.plot-source { padding-inline:24px; }
}
@media (max-width:600px) {
  .plot-card { border-radius:14px; }
  .plot-card-heading { display:block; padding:23px 19px 8px; }
  .plot-card-heading h3 { font-size:25px; }
  .plot-card-heading p { font-size:12px; }
  .plot-tabs { width:max-content; margin-top:20px; }
  .plot-tabs button { min-height:39px; padding-inline:20px; }
  .plot-image-link { padding:4px 0 0; }
  .plot-card figcaption { padding:4px 19px 18px; gap:14px; font-size:10px; }
  .plot-card figcaption>span { max-width:230px; }
  .plot-insights { grid-template-columns:1fr; gap:0; margin-inline:19px; padding:2px 0; }
  .plot-insights>div { display:grid; grid-template-columns:1fr auto; gap:5px 10px; padding:17px 0; align-items:center; }
  .plot-insights>div+div { padding:17px 0; border-left:0; border-top:1px solid #25252e; }
  .plot-insights strong { grid-row:1/3; grid-column:2; font-size:26px; margin:0; }
  .plot-insights small { font-size:16px; }
  .plot-insights p { font-size:10px; max-width:165px; }
  .plot-insights span { font-size:8px; }
  .plot-source { padding:17px 19px 20px; font-size:10px; }
  .plots-pair { gap:18px; margin-top:18px; }
  .plots-pair .plot-card-heading { padding:23px 19px 8px; }
  .plots-pair .plot-card figcaption,.plots-pair .plot-source { padding-inline:19px; }
  .plot-data { margin:0 19px 18px; }
  .data-table-scroll table { font-size:11px; }
  .data-table-scroll th,.data-table-scroll td { padding:10px 12px; }
}
@media print {
  .plot-tabs,.plot-data { display:none; }
  .plot-panel[hidden] { display:block; }
  .plot-card { break-inside:avoid; }
}
