/* Autowhat Labs — research page. Flat turquoise; final overrides still come from turquoise.css. */
.labs-page { --lab-ink: #2f3a3d; --lab-body: #55605f; --lab-tq: #0b8fa8; --lab-line: #dfe7e9; }

/* hero illustration */
.lab-hero { display: block; width: 100%; height: auto; background: #0d1013; }
.lab-hero text { font: 600 11px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; fill: #fff; text-anchor: middle; }
.lab-hero .lab-sub { font-size: 8.5px; letter-spacing: .04em; fill: rgba(255,255,255,.55); }
.lab-box { fill: rgba(11,143,168,.18); stroke: rgba(92,200,214,.55); }
.lab-box--llm { fill: #0b8fa8; stroke: #5cc8d6; }
.lab-wire { fill: none; stroke: rgba(92,200,214,.6); stroke-dasharray: 3 4; }
.lab-pkt { fill: #fff; }
.lab-price-l { fill: none; stroke: #5cc8d6; stroke-width: 2; }
.lab-price { animation: lab-scroll 14s linear infinite; }
@keyframes lab-scroll { to { transform: translateX(-520px); } }
@media (prefers-reduced-motion: reduce) { .lab-price { animation: none; } }

.lab-venues { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 28px 0 0; padding: 0; }
.lab-venues li { padding: 7px 12px; border: 1px solid var(--lab-line); font: 600 11px/1 "IBM Plex Mono", monospace; letter-spacing: .06em; text-transform: uppercase; color: var(--lab-tq); background: #fff; }

/* model bench */
.lab-bench { display: grid; grid-template-columns: 260px 1fr; gap: 0; background: #fff; border: 1px solid var(--lab-line); color: var(--lab-ink); }
.lab-tabs { display: flex; flex-direction: column; border-right: 1px solid var(--lab-line); background: #f5f8f9; }
.lab-tabs button { all: unset; cursor: pointer; display: grid; gap: 3px; padding: 14px 18px; border-bottom: 1px solid var(--lab-line); border-left: 3px solid transparent; }
.lab-tabs button b { font: 600 15px/1.2 "Source Sans 3", sans-serif; color: var(--lab-ink); }
.lab-tabs button span { font: 500 10.5px/1.2 "IBM Plex Mono", monospace; letter-spacing: .05em; text-transform: uppercase; color: #7b8a8c; }
.lab-tabs button:hover { background: #fff; }
.lab-tabs button[aria-selected="true"] { background: #fff; border-left-color: var(--lab-tq); }
.lab-tabs button[aria-selected="true"] span { color: var(--lab-tq); }
.lab-tabs button:focus-visible { outline: 2px solid var(--lab-tq); outline-offset: -2px; }
.lab-card { padding: 28px 32px; min-height: 320px; }
.lab-card__head { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; padding-bottom: 16px; border-bottom: 1px solid var(--lab-line); }
.lab-card__head > div { margin-right: auto; }
.lab-card__head small { font: 600 10.5px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; text-transform: uppercase; color: #7b8a8c; }
.lab-card__head h3 { margin: 6px 0 0; font: 500 30px/1.1 "Newsreader", serif; color: var(--lab-ink); }
.lab-role, .lab-tier { padding: 6px 10px; font: 600 10.5px/1 "IBM Plex Mono", monospace; letter-spacing: .06em; text-transform: uppercase; }
.lab-role { background: var(--lab-tq); color: #fff; }
.lab-tier { border: 1px solid var(--lab-line); color: var(--lab-body); }
.lab-card__use { margin: 18px 0 22px; font-size: 17px; line-height: 1.55; color: var(--lab-body); max-width: 62ch; }
.lab-card__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.lab-k { margin: 0 0 10px; font: 600 10.5px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--lab-tq); }
.lab-card__cols ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.lab-card__cols li { position: relative; padding-left: 18px; font-size: 15px; line-height: 1.45; color: var(--lab-ink); }
.lab-card__cols li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 2px; background: var(--lab-tq); }
.lab-card__cols .is-watch li::before { background: #b42318; }
.lab-card__cols div:last-child .lab-k { color: #b42318; }

/* baseline scatter */
.lab-scatter { background: #fff; border: 1px solid var(--lab-line); padding: 12px 8px 4px; }
.lab-scatter svg { display: block; width: 100%; height: auto; }
.lab-g { stroke: #eef2f3; }
.lab-ax { font: 500 10px "IBM Plex Mono", monospace; fill: #7b8a8c; }
.lab-axt { font: 600 10.5px "IBM Plex Mono", monospace; letter-spacing: .08em; text-transform: uppercase; fill: var(--lab-body); }
.lab-dot { fill-opacity: .72; stroke: #fff; stroke-width: 1; transition: opacity .5s ease calc(var(--i) * 12ms), transform .5s ease calc(var(--i) * 12ms); transform-box: fill-box; transform-origin: center; }
.lab-dot:hover { fill-opacity: 1; }
.lab-scatter.is-pending .lab-dot { opacity: 0; transform: scale(.2); }
.lab-note text { font: 600 11px "Source Sans 3", sans-serif; fill: #b42318; }
.lab-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 14px 0 0; font: 500 11px/1.4 "IBM Plex Mono", monospace; color: var(--lab-body); }
.lab-legend span { display: inline-flex; align-items: center; gap: 6px; }
.lab-legend i { width: 10px; height: 10px; border-radius: 50%; }
.lab-leg-size { margin-left: auto; color: #7b8a8c; }
.lab-caveat { margin: 14px 0 0; padding: 12px 16px; border-left: 3px solid #b42318; background: #fbf3f2; font-size: 14px; line-height: 1.5; color: var(--lab-ink); }

/* findings */
.lab-find { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid var(--lab-line); background: #fff; }
.lab-find li { padding: 24px 22px; border-right: 1px solid var(--lab-line); color: var(--lab-ink); }
.lab-find li:last-child { border-right: 0; }
.lab-find span { font: 600 12px/1 "IBM Plex Mono", monospace; color: var(--lab-tq); }
.lab-find h3 { margin: 14px 0 10px; font: 500 21px/1.2 "Newsreader", serif; color: var(--lab-ink); }
.lab-find p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--lab-body); }

.lab-disclaimer { max-width: 70ch; margin: 18px auto 22px; font-size: 13.5px; line-height: 1.55; color: #7b8a8c; }

@media (max-width: 960px) {
  .lab-find { grid-template-columns: 1fr 1fr; }
  .lab-find li:nth-child(2) { border-right: 0; }
  .lab-find li:nth-child(-n+2) { border-bottom: 1px solid var(--lab-line); }
}
@media (max-width: 720px) {
  .lab-bench { grid-template-columns: 1fr; }
  .lab-tabs { display: grid; grid-template-columns: repeat(3, 1fr); border-right: 0; border-bottom: 1px solid var(--lab-line); }
  .lab-tabs button { min-width: 0; border-bottom: 0; border-left: 0; border-top: 3px solid transparent; padding: 12px 14px; }
  .lab-tabs button[aria-selected="true"] { border-left-color: transparent; border-top-color: var(--lab-tq); }
  .lab-card { padding: 22px 18px; }
  .lab-card__cols, .lab-find { grid-template-columns: 1fr; }
  .lab-find li { border-right: 0; border-bottom: 1px solid var(--lab-line); }
  .lab-leg-size { margin-left: 0; }
}
@media (min-width: 961px) { .labs-page #pipeline .journey { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 720px) { .lab-tabs button b { font-size: 13.5px; } .lab-tabs button span { font-size: 9.5px; } }
