/* trials — benchmark plots in the cockpit's "measured" panel style: thin square frames
   with the title set into the border, dot-matrix marks, DOS type. Site tokens only. */
.bench{
  --b-bg:#050506; --b-ink:#f4f4f7; --b-dim:#a2a2ac; --b-rule:#3a3a44;
  --b-dos:'VT323','Courier New',ui-monospace,monospace;
  --b-mono:ui-monospace,'Cascadia Mono',Menlo,Consolas,'Courier New',monospace;
  margin:16vh 0 0;text-align:left;color:var(--b-ink)
}
.bench *{box-sizing:border-box}
.bench .tv{position:relative;margin:48px 0 0;border:1px solid var(--b-rule);background:rgba(5,5,6,.86);
  padding:28px 16px 16px;min-width:0}
.bench .tv-title{position:absolute;top:0;left:14px;transform:translateY(-55%);margin:0;background:var(--b-bg);
  padding:0 8px;font-family:var(--b-mono);font-size:13.5px;letter-spacing:.01em;color:var(--b-ink);white-space:nowrap}
.bench .replay{position:absolute;top:0;right:14px;transform:translateY(-55%);background:var(--b-bg);
  border:1px solid var(--b-rule);color:var(--b-dim);font-family:var(--b-dos);font-size:17px;letter-spacing:.08em;
  padding:0 8px;cursor:pointer;line-height:1.35;transition:color .15s,border-color .15s}
.bench .replay:hover,.bench .replay:focus-visible{color:#fff;border-color:#fff;outline:none}
.bench .panels{display:grid;grid-template-columns:minmax(0,1fr);gap:18px 22px}
.bench .m-panel[hidden]{display:none}
.bench .panel-name{margin:0 0 2px;font-family:var(--b-dos);font-size:15px;letter-spacing:.12em;color:var(--b-dim)}
.bench svg{width:100%;max-width:900px;height:auto;display:block;overflow:visible;margin:0 auto}
.bench svg .vt{font-family:var(--b-mono);font-size:11px;fill:currentColor}
.bench .legend{display:flex;flex-wrap:wrap;justify-content:center;text-align:center;gap:4px 22px;margin:10px 0 0;padding-top:8px;
  border-top:1px dashed var(--b-rule);font-family:var(--b-dos);font-size:17px;letter-spacing:.06em;color:var(--b-dim)}
.bench .legend i{display:inline-block;width:34px;height:6px;margin-right:8px;vertical-align:middle;
  background-repeat:repeat-x;background-size:var(--w) 6px}
.bench .legend .ax{--w:4px;background-image:linear-gradient(90deg,#ffffff 0 3px,transparent 3px);box-shadow:0 0 6px rgba(255,255,255,.8)}
.bench .legend .oc{--w:8px;background-image:linear-gradient(90deg,#a2a2ac 0 2px,transparent 2px)}
.bench .legend .pass{width:8px;height:8px;border-radius:1px;background:#ffffff;box-shadow:0 0 6px rgba(255,255,255,.8)}
.bench .legend .fail{width:8px;height:8px;border-radius:1px;background:transparent;border:1px solid #a2a2ac}
.bench .legend .om{--w:16px;background-image:linear-gradient(90deg,#6f6f7a 0 2px,transparent 2px 4px,#6f6f7a 4px 6px,transparent 6px)}
.bench .legend .ax-hero{color:#ffffff;font-weight:700;letter-spacing:.08em;text-shadow:0 0 8px rgba(255,255,255,.6)}
.bench .legend .ax-hero i{box-shadow:0 0 6px rgba(255,255,255,.9),0 0 14px rgba(255,255,255,.6);animation:ax-ambient-pulse 2.2s ease-in-out infinite}
.bench .legend .cap-indicator{display:inline-block;width:16px;height:5px;margin-right:6px;vertical-align:middle;background:var(--b-dim);border-top:2px solid #ffffff}

/* angelX: vibrant flashing ambient highlight across all lines, marks, dots, and legends */
@keyframes ax-ambient-pulse {
  0%, 100% {
    filter: drop-shadow(0 0 1.5px #ffffff) drop-shadow(0 0 5px rgba(255,255,255,0.85)) drop-shadow(0 0 12px rgba(255,255,255,0.45));
    opacity: 1;
  }
  50% {
    filter: drop-shadow(0 0 3.5px #ffffff) drop-shadow(0 0 10px rgba(255,255,255,0.95)) drop-shadow(0 0 22px rgba(255,255,255,0.75));
    opacity: 0.92;
  }
}
@keyframes ax-ambient-pulse-soft {
  0%, 100% {
    filter: drop-shadow(0 0 1.2px rgba(255,255,255,0.75)) drop-shadow(0 0 4px rgba(255,255,255,0.4));
  }
  50% {
    filter: drop-shadow(0 0 2.5px rgba(255,255,255,0.95)) drop-shadow(0 0 8px rgba(255,255,255,0.7));
  }
}
@keyframes ax-text-flash {
  0%, 100% {
    filter: drop-shadow(0 0 1.5px rgba(255,255,255,0.7));
    fill: #ffffff;
  }
  50% {
    filter: drop-shadow(0 0 3.5px rgba(255,255,255,1)) drop-shadow(0 0 8px rgba(255,255,255,0.6));
    fill: #ffffff;
  }
}
.bench .ax-glow      { animation: ax-ambient-pulse 2.2s ease-in-out infinite; fill: #ffffff !important; }
.bench .ax-glow-soft { animation: ax-ambient-pulse-soft 2.8s ease-in-out infinite; fill: #ffffff !important; }
.bench .ax-txt-glow  { animation: ax-text-flash 2.2s ease-in-out infinite; fill: #ffffff !important; font-weight: 700 !important; }

@media (prefers-reduced-motion: reduce) {
  .bench .ax-glow { animation: none; filter: drop-shadow(0 0 2px rgba(255,255,255,.9)) drop-shadow(0 0 6px rgba(255,255,255,.5)); }
  .bench .ax-glow-soft { animation: none; filter: drop-shadow(0 0 1.5px rgba(255,255,255,.7)) drop-shadow(0 0 4px rgba(255,255,255,.3)); }
  .bench .ax-txt-glow { animation: none; filter: drop-shadow(0 0 2px rgba(255,255,255,.8)); }
}

/* main readouts */
.bench svg text { font-weight: 500; }
.bench svg .num { font-weight: 700; letter-spacing: .01em; }

.bench .row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}
.bench .provenance{margin:30px 0 0;font-family:var(--b-dos);font-size:17px;line-height:1.45;letter-spacing:.04em;color:var(--b-dim)}
.bench .provenance a{color:var(--b-ink);text-decoration:underline dotted;text-underline-offset:3px}
.bench .provenance a:hover,.bench .provenance a:focus-visible{color:#fff;text-decoration-color:#fff}
@media (max-width:760px){
  .bench{margin-top:10vh}
  .bench .panels,.bench .row2{grid-template-columns:minmax(0,1fr)}
  .bench .tv{padding:40px 10px 10px}
  .bench .tv-title{font-size:12px;white-space:normal;max-width:calc(100% - 118px);line-height:1.3}
}
