/* Palette from the paper (preamble): discblue, buildgreen, compileamber, evalpurple, feedred,
   archgray, inkblack, with their light tints. Serif headings echo the paper's figures. */
:root {
  color-scheme: light;
  --bg: #fbfaf8;
  --paper: #ffffff;
  --soft: #f4f3ef;
  --line: #e6e3dc;
  --line-2: #d6d2c9;
  --ink: #2b2d33;
  --muted: #5d626b;
  --faint: #8a8f98;
  --blue: #4f7cac;   --blue-t: #e6edf6;
  --green: #4e8f6e;  --green-t: #e4f0e9;
  --amber: #bf8f3a;  --amber-t: #f7efdd;
  --purple: #7d5ba6; --purple-t: #ece6f3;
  --red: #b9463f;    --red-t: #f6e4e2;
  --radius: 8px;
  --serif: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
  --sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 16px/1.6 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body.locked { overflow: hidden; }
a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }
button { font: inherit; color: inherit; }
h1, h2 { font-family: var(--serif); font-weight: 600; letter-spacing: -0.005em; }
.wrap { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.mono { font-family: var(--mono); }
.muted { color: var(--muted); }
.small { font-size: 13px; }

/* ------------------------------------------------------------ top bar */
.topbar {
  position: fixed; inset: 0 0 auto 0; z-index: 40; display: flex; align-items: center; gap: 22px;
  height: calc(56px + env(safe-area-inset-top, 0px)); padding: env(safe-area-inset-top, 0px) 24px 0; background: rgba(251, 250, 248, .86);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid transparent; transition: border-color .3s;
}
.topbar.scrolled { border-bottom-color: var(--line); }
.int-links { display: flex; gap: 2px; }
.int-links a { color: var(--muted); padding: 6px 10px; border-radius: 6px; font-size: 14px; }
.int-links a:hover { color: var(--ink); background: var(--soft); text-decoration: none; }

/* ------------------------------------------------------------ hero */
.hero { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 128px 24px 72px; }
.hero-copy { text-align: center; max-width: 860px; }
.hero h1 { margin: 0; font-size: clamp(44px, 6vw, 72px); line-height: 1; letter-spacing: .08em; font-weight: 600; }
.hero .title { font: 400 clamp(18px, 2vw, 23px)/1.35 var(--sans); margin: 12px 0 10px; color: var(--ink); }
.hero .tagline { color: var(--muted); max-width: 720px; margin: 0 auto; font-size: clamp(14px, 1.3vw, 15.5px); }
.pipeline-wrap { position: relative; width: 100%; max-width: 1280px; display: flex; align-items: center; margin: 8px auto 0; padding: 0 24px; }
#pipeline { width: 100%; height: auto; max-height: calc(100vh - 330px); min-height: 280px; display: block; overflow: visible; }
.pipe-legend { display: flex; flex-wrap: wrap; gap: 6px 20px; justify-content: center; color: var(--muted); font-size: 13px; margin-top: 8px; }
.pipe-legend span { display: inline-flex; align-items: center; gap: 6px; }
.pipe-legend i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.pipe-legend .kinds { gap: 3px; color: var(--faint); }
.pipe-legend .kinds svg { margin-left: 6px; }
.pipe-legend .hint { color: var(--faint); font-style: italic; }

/* pipeline svg */
.p-band { opacity: .75; }
.p-band-title { font: 600 16px var(--sans); }
.p-band-note { font: 400 11px var(--sans); fill: var(--muted); }
.p-track { fill: none; stroke: var(--line-2); stroke-width: 1.5; }
.p-flow { fill: none; stroke: var(--ink); stroke-opacity: .22; stroke-width: 1.5; stroke-dasharray: 2 11; stroke-linecap: round; animation: dash 1.8s linear infinite; }
@keyframes dash { to { stroke-dashoffset: -26; } }
.p-side { fill: none; stroke-width: 1.4; stroke-dasharray: 4 4; }
.p-node { cursor: pointer; outline: none; }
.p-node .halo { fill: none; stroke-width: 1.5; opacity: 0; transform-box: fill-box; transform-origin: center; }
.p-node .badge { transition: filter .2s; }
.p-node .lbl { font: 600 13px var(--sans); fill: var(--ink); text-anchor: middle; pointer-events: none; }
.p-node .sub { font: 400 11px var(--sans); fill: var(--muted); text-anchor: middle; pointer-events: none; }
.p-node:hover .badge, .p-node:focus .badge { filter: brightness(.96); }
.p-node:hover .lbl, .p-node:focus .lbl { fill: var(--blue); }
.p-node.hit .halo { animation: halo .7s ease-out; }
@keyframes halo { 0% { opacity: .8; transform: scale(1); } 100% { opacity: 0; transform: scale(1.7); } }
.pipe-tip { position: absolute; z-index: 5; width: 280px; pointer-events: none; background: var(--paper); border: 1px solid var(--line-2); border-radius: var(--radius); padding: 10px 12px; font-size: 13px; color: var(--muted); box-shadow: 0 8px 24px rgba(43, 45, 51, .12); }
.pipe-tip b { display: block; color: var(--ink); font: 600 14px var(--sans); margin: 2px 0 4px; }
.pipe-tip .ph { font: 500 11px var(--sans); letter-spacing: .06em; text-transform: uppercase; }
.pipe-tip .tip-more { margin-top: 6px; color: var(--blue); }

/* ------------------------------------------------------------ sections */
.band { padding: 88px 0; border-top: 1px solid var(--line); }
.section-head { max-width: 740px; margin-bottom: 28px; }
.section-head h2 { font-size: clamp(24px, 2.8vw, 32px); margin: 0 0 8px; }
.section-head p { color: var(--muted); margin: 0; }

/* results */
.tabs { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.tab { padding: 8px 14px; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--muted); cursor: pointer; font-size: 14px; margin-bottom: -1px; }
.tab:hover { color: var(--ink); }
.tab[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--ink); font-weight: 600; }
.tab .pv, .preview-label { font: 500 11px var(--sans); text-transform: uppercase; letter-spacing: .06em; margin-left: 6px; color: var(--faint); }
.results { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.heat-wrap { overflow-x: auto; }
.heat { width: 100%; border-collapse: separate; border-spacing: 2px; font-size: 13px; }
.heat th { color: var(--muted); font-weight: 500; font-size: 12px; padding: 6px 4px; white-space: nowrap; text-align: center; }
.heat th abbr { text-decoration: none; cursor: help; border-bottom: 1px dotted var(--faint); }
.heat td { text-align: center; font-family: var(--mono); font-size: 13px; padding: 6px 4px; color: var(--ink); border-radius: 3px; }
.heat td.m { text-align: left; font-family: var(--sans); font-size: 13px; white-space: nowrap; padding-right: 12px; background: none; }
.heat td.best { font-weight: 600; }
.footnote { color: var(--faint); font-size: 13px; margin-top: 12px; }

/* task bank */
.filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 20px; }
.seg { display: inline-flex; border: 1px solid var(--line-2); border-radius: 6px; overflow: hidden; background: var(--paper); }
.seg button { border: 0; background: transparent; color: var(--muted); padding: 6px 14px; cursor: pointer; font-size: 14px; }
.seg button + button { border-left: 1px solid var(--line); }
.seg button[aria-pressed="true"] { background: var(--ink); color: #fff; }
.filters select, .filters input { background: var(--paper); border: 1px solid var(--line-2); color: var(--ink); border-radius: 6px; padding: 7px 10px; font: inherit; font-size: 14px; min-width: 0; }
.filters input { flex: 1 1 220px; }
.filters .count { color: var(--faint); font-size: 13px; margin-left: auto; font-family: var(--mono); }
.task-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.task { display: flex; flex-direction: column; gap: 8px; color: inherit; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 16px 14px; transition: border-color .15s, box-shadow .15s; }
.task:hover, .task:focus-visible { text-decoration: none; border-color: var(--line-2); box-shadow: 0 4px 16px rgba(43, 45, 51, .07); outline: none; }
.task .top { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--muted); }
.task .tid { font: 400 12px var(--mono); color: var(--ink); }
.dom { font: 500 11px/1.7 var(--sans); letter-spacing: .08em; text-transform: uppercase; padding: 0 6px; border-radius: 4px; }
.dom.finance { color: var(--blue); background: var(--blue-t); }
.dom.law { color: var(--purple); background: var(--purple-t); }
.task h4 { margin: 0; font-size: 16px; line-height: 1.3; }
.task .q { color: var(--muted); font-size: 13px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; }
.strip { display: grid; grid-template-columns: repeat(var(--n, 12), 1fr); gap: 2px; margin-top: auto; }
.strip i { height: 4px; border-radius: 2px; background: #dcdfe3; }
.strip i.passed { background: var(--green); }
.strip i.returned { background: var(--red); }
.strip i.edited { background: var(--blue); }
.task .meta { font-size: 12px; color: var(--faint); }
.empty { color: var(--muted); text-align: center; padding: 40px 0; }

/* ------------------------------------------------------------ sub-pages */
.detail { position: fixed; inset: 0; z-index: 60; overflow-y: auto; overscroll-behavior: contain; background: var(--bg); animation: fadein .2s ease-out; }
@keyframes fadein { from { opacity: 0; } to { opacity: 1; } }
.d-bar { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 3; display: flex; align-items: center; gap: 14px; height: 52px; padding: 0 24px; background: rgba(251, 250, 248, .92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.back { background: none; border: 1px solid var(--line-2); border-radius: 6px; padding: 5px 12px; cursor: pointer; font-size: 13px; }
.back:hover { border-color: var(--ink); }
.d-bar .crumb { color: var(--faint); font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.d-bar .nav { margin-left: auto; display: flex; gap: 14px; font-size: 13px; white-space: nowrap; }
.d-bar .nav a { color: var(--muted); }
.d-bar .nav a:hover { color: var(--ink); }
.loading { padding: 120px 0; text-align: center; color: var(--muted); }

/* step page */
.page { max-width: 880px; margin: 0 auto; padding: 28px 24px 80px; }
.mini-pipe { display: flex; gap: 6px; margin-bottom: 36px; }
.mp-phase { min-width: 0; background: var(--pt); border-radius: 6px; padding: 6px 6px 8px; border-top: 2px solid var(--pc); }
.mp-label { font: 600 11px var(--sans); color: var(--pc); margin: 0 2px 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mp-steps { display: flex; gap: 4px; }
.mp-step { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 5px 2px; border-radius: 5px; color: var(--muted); }
.mp-step:hover { background: rgba(255, 255, 255, .7); text-decoration: none; color: var(--ink); }
.mp-step.current { background: var(--paper); color: var(--ink); box-shadow: 0 0 0 1.5px var(--pc); }
.mp-n { font: 400 11px var(--mono); }
.mp-name { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.sp-head { border-left: 3px solid var(--pc); padding-left: 18px; margin-bottom: 28px; }
.sp-phase { font: 400 14px var(--sans); color: var(--pc); }
.sp-head h1 { font-size: clamp(30px, 4vw, 40px); margin: 4px 0 10px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.iso { font: 500 11px/1.8 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--pc); border: 1px dashed var(--pc); border-radius: 4px; padding: 0 6px; }
.lead { font-size: 16px; line-height: 1.6; margin: 0 0 12px; color: var(--ink); }
.sp-chip { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 3px 10px 3px 6px; border: 1px solid var(--line-2); border-radius: 999px; font-size: 13px; background: var(--paper); }
.sp-dl { margin: 0 0 36px; border-top: 1px solid var(--line); }
.sp-dl .row { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.sp-dl dt { font: 600 14px var(--sans); color: var(--ink); }
.sp-dl dd { margin: 0; color: var(--muted); }
.sp-dl .row.exit dd { color: var(--ink); }
.sp-sec { margin-bottom: 36px; }
.sp-sec h2 { font-size: 20px; margin: 0 0 12px; }
.sp-nav { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line); padding-top: 18px; }
.sp-nav a { display: flex; flex-direction: column; font: 600 16px var(--sans); color: var(--ink); }
.sp-nav a small { font: 400 12px var(--sans); color: var(--faint); }
.sp-nav a.next { text-align: right; }

/* task page: left navigation + document */
.d-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 48px; max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.d-side { position: sticky; top: 52px; align-self: start; max-height: calc(100vh - 52px); overflow-y: auto; padding: 28px 0 24px; font-size: 14px; }
.side-id { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.side-id .mono { font-size: 13px; font-weight: 500; }
.side-nav { display: flex; flex-direction: column; border-left: 1px solid var(--line); }
.side-nav a { color: var(--muted); padding: 5px 12px; margin-left: -1px; border-left: 2px solid transparent; }
.side-nav a:hover { color: var(--ink); text-decoration: none; }
.side-nav a.active { color: var(--ink); border-left-color: var(--ink); font-weight: 600; }
.d-main { padding: 28px 0 96px; max-width: 820px; min-width: 0; }
.sec { padding: 8px 0 34px; border-bottom: 1px solid var(--line); margin-bottom: 30px; scroll-margin-top: 64px; }
.sec:last-child { border-bottom: 0; }
.sec h2 { font-size: 20px; margin: 0 0 14px; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.sec h2 small { font: 400 13px var(--sans); color: var(--faint); }
.sec .tags { display: flex; flex-wrap: wrap; gap: 6px; color: var(--muted); font-size: 13px; }
.sec .tags .sep { color: var(--line-2); }
.task-mobile-id { display: none; }
.quote blockquote.supplied-matter { white-space: pre-wrap; }
.quote { scroll-margin-top: 84px; }
@media (max-width: 760px) { .sec .tags .task-mobile-id { display: inline; flex-basis: 100%; } }
#sec-overview h1 { font-size: clamp(28px, 3.4vw, 38px); line-height: 1.18; margin: 8px 0 10px; }
.sec .meta { color: var(--muted); font-size: 14px; margin: 0 0 8px; }
.src-line { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 14px; margin: 0 0 22px; }
.lab { font: 500 11px var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--faint); margin-right: 4px; }
.src-line .lab { align-self: center; }
.stepper-wrap { border-top: 1px solid var(--line); padding-top: 14px; }
.stepper-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.stepper { display: grid; grid-template-columns: repeat(var(--n, 12), minmax(0, 1fr)); }
.step { position: relative; display: flex; flex-direction: column; align-items: center; cursor: pointer; padding: 0 1px; background: none; border: 0; }
.step::before, .step::after { content: ""; position: absolute; top: 14px; left: -50%; width: 100%; height: 1.5px; background: var(--line-2); }
.step::after { width: 0; background: var(--ink); opacity: .45; transition: width .22s linear; }
.step:first-child::before, .step:first-child::after { display: none; }
.step.on::after { width: 100%; }
.step .dot { position: relative; z-index: 1; width: 29px; height: 29px; border-radius: 50%; display: grid; place-items: center; font: 400 11px var(--mono); background: var(--bg); border: 1.5px solid var(--line-2); color: var(--faint); transition: border-color .25s, color .25s, background .25s; }
.step.on.passed .dot { border-color: var(--green); color: var(--green); background: var(--green-t); }
.step.on.returned .dot { border-color: var(--red); color: var(--red); background: var(--red-t); }
.step.on.edited .dot { border-color: var(--blue); color: var(--blue); background: var(--blue-t); }
.step.on.skipped .dot { border-style: dashed; }
.step .badge { position: absolute; top: -5px; left: calc(50% + 8px); z-index: 2; min-width: 15px; height: 15px; border-radius: 8px; padding: 0 4px; background: var(--red); color: #fff; font: 600 11px/15px var(--mono); opacity: 0; transition: opacity .3s .15s; }
.step.on.returned .badge { opacity: 1; }
.step .name { margin-top: 6px; font-size: 11px; line-height: 1.25; text-align: center; color: var(--faint); transition: color .25s; overflow-wrap: normal; word-break: normal; }
.step.on .name { color: var(--ink); }
.step:hover .name { color: var(--blue); }
.step-legend { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 14px 0 0; font-size: 12px; color: var(--muted); }
.step-legend span { display: inline-flex; align-items: center; gap: 6px; }
.step-legend i { width: 9px; height: 9px; border-radius: 50%; border: 1.5px solid; display: inline-block; }
.question { font: 400 16px/1.7 var(--sans); margin: 0 0 8px; white-space: pre-wrap; overflow-wrap: anywhere; }
.core { margin: 0 0 18px; padding: 2px 0 2px 16px; border-left: 3px solid var(--green); font: 400 16px/1.65 var(--sans); overflow-wrap: anywhere; }
.atoms, .reqs { margin: 0; padding: 0; list-style: none; counter-reset: n; }
.atoms li, .reqs li { position: relative; padding: 12px 0 12px 30px; border-top: 1px solid var(--line); counter-increment: n; overflow-wrap: anywhere; }
.atoms li::before, .reqs li::before { content: counter(n); position: absolute; left: 0; top: 13px; font: 400 11px var(--mono); color: var(--faint); }
.a-label { font-weight: 600; font-size: 14px; }
.req { font: 500 11px/1.6 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--red); margin-left: 8px; }
.a-exp { margin-top: 3px; font-size: 14px; }
.a-ev { margin-top: 4px; font-size: 13px; color: var(--faint); }
.frag-link { background: none; border: 0; padding: 0; color: var(--blue); cursor: pointer; font: 400 12px var(--mono); }
.frag-link:hover { text-decoration: underline; }
.reqs li { font-size: 14px; }
details { margin-top: 14px; font-size: 14px; }
details summary { cursor: pointer; color: var(--muted); }
details ul { margin: 8px 0 0; padding-left: 18px; color: var(--muted); }
details li { margin-bottom: 6px; overflow-wrap: anywhere; }
.source { padding: 18px 0 8px; border-top: 1px solid var(--line); }
.s-head { display: flex; align-items: baseline; gap: 10px; }
.s-title { font: 600 16px var(--sans); overflow-wrap: anywhere; }
.s-meta { color: var(--muted); font-size: 13px; margin-top: 2px; }
.s-links { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin-top: 6px; font-size: 14px; }
.s-links .url { font: 400 11px var(--mono); color: var(--faint); overflow-wrap: anywhere; flex: 1 1 100%; }
.s-prov { font: 400 11px var(--sans); color: var(--faint); margin-top: 4px; overflow-wrap: anywhere; }
.quotes { list-style: none; margin: 12px 0 0; padding: 0; }
.quote { padding: 10px 0 10px 14px; border-left: 2px solid var(--line-2); margin-bottom: 8px; transition: background .5s; }
.quote[hidden] { display: none; }
.quote.flash { background: var(--blue-t); }
.qh { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; font-size: 11px; color: var(--faint); margin-bottom: 4px; }
.qh .mono { color: var(--muted); }
.qh .jump { margin-left: auto; font-size: 12px; white-space: nowrap; }
.quote blockquote { margin: 0; font: 400 16px/1.6 var(--sans); color: var(--ink); overflow-wrap: anywhere; }
.qn { color: var(--muted); font-size: 13px; margin: 4px 0 0; }
.more { background: none; border: 0; color: var(--blue); cursor: pointer; font-size: 13px; padding: 4px 0; }

/* how it was built */
.sb-list { list-style: none; margin: 12px 0 0; padding: 0; }
.sb { position: relative; padding: 9px 0 9px 16px; border-left: 2px solid var(--line); scroll-margin-top: 64px; }
.sb + .sb { margin-top: 2px; }
.sb.returned { border-left-color: var(--red); }
.sb.edited { border-left-color: var(--blue); }
.sb.passed { border-left-color: var(--green-t); }
.sb-head { display: flex; align-items: baseline; gap: 12px; }
.sb-n { font: 400 11px var(--mono); color: var(--pc); }
.sb-name { color: var(--ink); font-weight: 600; font-size: 16px; }
.sb-name:hover { color: var(--blue); text-decoration: none; }
.sb-status { font-size: 13px; margin-left: auto; white-space: nowrap; }
.sb-note { margin: 5px 0 1px; font-size: 14px; line-height: 1.6; color: var(--ink); max-width: 68ch; }
.ed { margin: 2px 0 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.is { margin-top: 6px; padding: 6px 0 6px 12px; border-left: 2px solid var(--red); font-size: 13px; overflow-wrap: anywhere; }
.is.note { border-left-color: var(--line-2); color: var(--muted); }
.is.edit { border-left-color: var(--blue); }
.il { font: 500 11px var(--sans); letter-spacing: .05em; text-transform: uppercase; color: var(--red); margin-right: 6px; }
.is.note .il { color: var(--faint); }
.is.edit .il { color: var(--blue); }
.fix { margin: 4px 0 0; color: var(--muted); }
.fix span { color: var(--green); font-weight: 600; }

/* ------------------------------------------------------------ responsive */
@media (max-width: 1100px) {
}
@media (max-width: 900px) {
  .d-layout { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0 16px; }
  .d-side { position: sticky; top: 52px; z-index: 2; max-height: none; overflow: visible; padding: 8px 0; background: var(--bg); border-bottom: 1px solid var(--line); margin: 0 -16px; padding-left: 16px; }
  .side-id { display: none; }
  .side-nav { flex-direction: row; border-left: 0; overflow-x: auto; scrollbar-width: none; gap: 2px; }
  .side-nav::-webkit-scrollbar { display: none; }
  .side-nav a { border-left: 0; border-bottom: 2px solid transparent; padding: 6px 10px; white-space: nowrap; margin: 0; }
  .side-nav a.active { border-bottom-color: var(--ink); }
  .sec { scroll-margin-top: 100px; }
  .sb { scroll-margin-top: 100px; }
  .quote { scroll-margin-top: 116px; }
}
@media (max-width: 760px) {
  .wrap { padding: 0 16px; }
  .topbar { padding: 0 16px; gap: 12px; }
  .hero { padding: 96px 16px 48px; }
  .pipeline-wrap { padding: 0 8px; }
  .lb-card-head { flex-wrap: wrap; }

  #pipeline { max-height: none; min-height: 0; }
  .pipe-legend .kinds, .pipe-legend .hint { display: none; }
  .band { padding: 60px 0; }
  .task-grid { grid-template-columns: minmax(0, 1fr); }
  .d-bar { padding: 0 16px; }
  .d-bar .crumb { display: none; }
  .stepper { grid-template-columns: repeat(5, minmax(0, 1fr)); row-gap: 14px; }
  .step:nth-child(5n+1)::before, .step:nth-child(5n+1)::after { display: none; }
  .mini-pipe { flex-direction: column; }
  .sp-dl .row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .sb-when { margin-left: 0; }
  .page { padding: 20px 16px 64px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
}
.back { white-space: nowrap; flex: none; }
.d-bar .nav { min-width: 0; }
.d-bar .nav a { overflow: hidden; text-overflow: ellipsis; max-width: 34vw; }
@media (max-width: 760px) { .d-bar .nav { gap: 10px; font-size: 13px; } .d-bar .nav a { max-width: 30vw; } }

/* home: task bank entry; task bank sub-page */
.entry { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.entry h2 { font-size: clamp(24px, 2.8vw, 32px); margin: 0 0 8px; }
.entry p { color: var(--muted); margin: 0; max-width: 680px; }
.entry-btn { flex: none; display: inline-flex; align-items: center; padding: 11px 20px; border-radius: 6px; background: var(--ink); color: #fff; font-size: 14px; font-weight: 500; }
.entry-btn:hover { text-decoration: none; background: #000; }
.page.bank-page { max-width: 1160px; }
.bank-page .section-head h1 { font-size: clamp(30px, 3.6vw, 40px); margin: 6px 0 10px; }

/* pipeline: the paper's step badges, hidden inputs, funnel brackets */
.p-node .hid { font: 500 11px var(--sans); fill: var(--red); text-anchor: middle; pointer-events: none; }
.p-node .sub { font: 400 11px var(--sans); }
.p-bracket { fill: none; stroke: var(--faint); stroke-width: 1; }
.p-exit-pct { font: 400 11px var(--mono); fill: var(--muted); text-anchor: middle; }
.p-exit { font: 400 11px var(--sans); fill: var(--faint); text-anchor: middle; }
.p-handoff { font: 400 11px var(--sans); fill: var(--muted); }
.pipe-tip .tip-hid { margin-top: 5px; color: var(--red); }
.pipe-legend .eye { gap: 5px; }

/* paper-page buttons under the title */
.paper-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 2px 0 14px; }
.pbtn { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 6px; background: var(--ink); color: #fff; font-size: 13px; font-weight: 500; line-height: 1.4; }
a.pbtn:hover { background: #000; text-decoration: none; }
span.pbtn { cursor: default; }

/* step page: the step's own badge */
.sp-badge { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; background: var(--pt); margin-right: 4px; }
.sp-dl .row.hidden dt, .sp-dl .row.hidden dd { color: var(--red); }

/* results: green heat map as in the site palette */
.heat td.dark { color: #fff; }
.p-node .chip { fill: #fff; stroke-opacity: .45; }
.p-node.hit .chip { fill: #f6f5f1; }
.chiptext { font: 500 11px var(--sans); fill: var(--ink); text-anchor: middle; pointer-events: none; }
.p-node .chipline { font: 500 11px var(--sans); }

/* pipeline: sources stream, bypass, repair arcs */
.p-stream circle { opacity: .5; }
.p-bypass-line { fill: none; stroke: #b9b5ac; stroke-width: 1.3; stroke-dasharray: 4 4; }
.p-node .lbl.muted { fill: var(--muted); font-weight: 500; }
.p-repair { fill: none; stroke: var(--red); stroke-width: 1.3; stroke-dasharray: 5 4; opacity: .75; }
.p-repair-head { fill: none; stroke: var(--red); stroke-width: 1.3; opacity: .75; }
.p-repair-label { font: 400 11px var(--sans); fill: var(--red); text-anchor: middle; opacity: .85; }
.p-node .exit { font: 400 11px var(--sans); fill: var(--faint); }
.pipe-tip { width: 320px; max-width: 320px; }
.pipe-legend .dash { display: inline-block; width: 16px; border-top: 1.5px dashed; }

/* Finance task-set slider (v1 / v1.1) inside the tab */
.tab { display: inline-flex; align-items: center; gap: 8px; }
.vswitch { position: relative; display: inline-grid; grid-auto-flow: column; grid-auto-columns: 1fr; align-items: center;
  border: 1px solid var(--line-2); border-radius: 999px; background: var(--soft); padding: 2px; cursor: pointer; }
.vswitch span { position: relative; z-index: 1; font: 500 11px/1.6 var(--sans); padding: 0 7px; color: var(--faint); text-align: center; transition: color .2s; }
.vswitch span.on { color: #fff; }
.vswitch .knob { position: absolute; top: 2px; bottom: 2px; left: 2px; width: calc(50% - 2px); border-radius: 999px; background: var(--ink); transition: transform .22s ease; }
.vswitch[data-v="v1.1"] .knob { transform: translateX(100%); }
.tab:not([aria-selected="true"]) .vswitch { opacity: .6; }

/* v1.1 preview: a live status while the pipeline keeps adding tasks */
.pv-tag { margin-left: 8px; font: 500 11px/1.6 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--amber); border: 1px solid var(--amber); border-radius: 4px; padding: 0 5px; vertical-align: 2px; }
.live { margin: 0 0 16px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); }
.live-head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 13px; }
.live-head b { font-weight: 600; }
.live-count { margin-left: auto; font: 400 12px var(--mono); color: var(--muted); font-variant-numeric: tabular-nums; }
.live-dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: var(--green); flex: none; }
.live-dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--green); animation: livepulse 1.6s ease-out infinite; }
@keyframes livepulse { 0% { transform: scale(1); opacity: .6; } 100% { transform: scale(2.8); opacity: 0; } }
.live p { margin: 0; font-size: 13px; color: var(--muted); line-height: 1.5; }
.pv.vpv[hidden] { display: none; }

.req-of { font-weight: 600; }

/* ------------------------------------------------------------ leaderboard */
.lb-head h3 { margin: 0 0 6px; font-size: 20px; }
.lb-lead { margin: 0; color: var(--muted); }
.lb-lead b { color: var(--ink); font-weight: 600; }
.lb-head .live { margin: 14px 0 0; max-width: 620px; }
.lb-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.lb-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); font-size: 14px; }
.lb-card-head b { font-weight: 600; }
.lb-tools { display: inline-flex; align-items: center; gap: 8px; }
.seg { display: inline-flex; border: 1px solid var(--line-2); border-radius: 6px; overflow: hidden; }
.seg button { border: 0; background: var(--paper); padding: 3px 12px; font-size: 13px; color: var(--muted); cursor: pointer; }
.seg button + button { border-left: 1px solid var(--line-2); }
.seg button.on { background: var(--ink); color: #fff; }
.lb-legend { display: flex; flex-wrap: wrap; gap: 4px 16px; padding: 10px 16px 0; font: 500 11px var(--sans); letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.lb-legend span { display: inline-flex; align-items: center; gap: 6px; }
.lb-legend .mk-logo { width: 14px; height: 14px; }
.lb-legend i.line { display: inline-block; width: 16px; height: 0; border-top: 2px solid var(--green); }
.lb-legend .fr { margin-left: auto; }
.lb-chart { padding: 4px 8px 6px; }
.sc { position: relative; }
.sc-svg { width: 100%; height: auto; display: block; overflow: visible; }
.sc-grid { stroke: var(--line); stroke-width: 1; }
.sc-grid.v { stroke-dasharray: 2 4; }
.sc-tick { font: 400 11px var(--mono); fill: var(--faint); }
.sc-axis { font: 500 12px var(--sans); fill: var(--muted); }
.sc-front { fill: none; stroke: var(--green); stroke-width: 2; stroke-opacity: .8; }
.sc-pt { cursor: default; outline: none; }
.sc-pt .tile rect { fill: #fff; stroke: var(--line-2); stroke-width: 1; }
.sc-pt.front .tile rect { stroke: var(--green); stroke-width: 1.6; }
.sc-pt .tile { transition: transform .15s; }
.sc-pt:hover .tile rect, .sc-pt:focus .tile rect { stroke: var(--ink); stroke-width: 1.6; }
.sc-lab { font: 500 13px var(--sans); fill: var(--ink); paint-order: stroke; stroke: var(--paper); stroke-width: 4px; stroke-linejoin: round; pointer-events: none; }
.sc-tip { position: absolute; z-index: 2; transform: translate(-50%, calc(-100% - 14px)); display: grid; gap: 1px; min-width: 150px; padding: 8px 10px; background: var(--ink); color: #fff; border-radius: 6px; font-size: 12px; line-height: 1.45; pointer-events: none; box-shadow: 0 6px 18px rgba(0,0,0,.14); }
.sc-tip[hidden] { display: none; }
.sc-tip b { font-weight: 600; font-size: 13px; }
.sc-tip .mk { color: #c9ccd2; margin-bottom: 3px; }
.lb-table-wrap { overflow-x: auto; }
.lb-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.lb-table th { text-align: left; font-weight: 500; font-size: 13px; color: var(--muted); padding: 10px 14px; background: var(--soft); border-bottom: 1px solid var(--line); white-space: nowrap; vertical-align: bottom; }
.lb-table th small { display: block; font-size: 11px; color: var(--faint); font-weight: 400; }
.lb-table th.num, .lb-table td.num { text-align: right; }
.lb-table th.sortable { cursor: pointer; user-select: none; }
.lb-table th.sortable:hover, .lb-table th.sortable:focus-visible { color: var(--ink); }
.lb-table th.sortable::after { content: "↕"; margin-left: 5px; color: var(--line-2); font-size: 11px; }
.lb-table th.sorted { color: var(--ink); }
.lb-table th.sorted[aria-sort="descending"]::after { content: "↓"; color: var(--ink); }
.lb-table th.sorted[aria-sort="ascending"]::after { content: "↑"; color: var(--ink); }
.lb-table td { padding: 10px 14px; border-bottom: 1px solid var(--line); white-space: nowrap; font-variant-numeric: tabular-nums; }
.lb-table tbody tr:last-child td { border-bottom: 0; }
.lb-table tbody tr:hover td { background: #fafaf7; }
.lb-table td.num { font-family: var(--mono); font-size: 13px; }
.lb-table td.rk { width: 44px; color: var(--faint); font: 400 13px var(--mono); }
.lb-table td.md { font-weight: 500; }
.mk-logo { display: inline-block; vertical-align: middle; flex: none; }
.mk-logo.blank { width: 14px; height: 14px; border-radius: 3px; background: var(--line); }
.lb-table td.md .mk-logo { width: 18px; height: 18px; margin: -2px 10px 0 0; }
.lb-table td.md sup { color: var(--faint); margin-left: 3px; font-weight: 400; }
.lb-table .prw { display: inline-flex; align-items: center; gap: 10px; }
.lb-table td.pr.best span { font-weight: 600; }
.lb-table .pbar { display: inline-block; width: 84px; height: 6px; border-radius: 3px; background: var(--soft); overflow: hidden; }
.lb-table .pbar i { display: block; height: 100%; background: var(--green); border-radius: 3px; }
.lb-notes p { margin: 0 0 3px; color: var(--faint); font-size: 13px; }
.lb-cat { margin-top: 18px; }
.lb-cat h3 { margin: 0 0 2px; font-size: 16px; }
.lb-cat .muted.small { margin: 0 0 10px; }
@media (max-width: 760px) {
  .lb-table .pbar, .lb-table .pc { display: none; }
  .lb-table th, .lb-table td { padding: 9px 6px; }
  .lb-table { font-size: 13px; }
  .lb-table td.num { font-size: 12px; }
  .lb-table td.rk { width: 24px; }
  .lb-table td.md .mk-logo { margin-right: 6px; }

  .lb-legend .fr { margin-left: 0; }
}

/* The public Finance review: the same paper palette and typography. */
.review-page{max-width:1260px;margin:0 auto;padding:46px 42px 80px}.review-page h1,.analysis-hero h1{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(36px,4.4vw,60px);font-weight:500;line-height:1.1;margin:14px 0 20px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.12em;font:11px var(--sans);color:#72777e}.review-deck{max-width:830px;font-size:16px;line-height:1.65;color:#626872}.review-actions,.review-downloads{display:flex;flex-wrap:wrap;align-items:center;gap:15px 24px;margin:24px 0}.review-actions a,.review-downloads a{font-size:13px}.review-actions .entry-btn{font-size:13px;padding:12px 18px}.review-note{margin:28px 0;padding:24px 28px;border:1px solid #dfd4bb;border-left:3px solid #bf8f3a;background:#faf6ed;border-radius:5px;line-height:1.65}.review-note h3{font-family:var(--sans);font-size:20px;font-weight:500;margin:10px 0 12px}.review-note p{margin:12px 0}.review-note blockquote{margin:16px 0;padding:10px 16px;border-left:2px solid #bf8f3a;background:#fff9}.review-note small{display:block;color:#7d6950}.trajectory-controls{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin:28px 0}.trajectory-controls label{font-size:12px;color:#737780}.trajectory-controls select{display:block;width:100%;margin-top:8px}.review-page select,.review-page input,.analysis-main select{border:1px solid #d5d3cd;border-radius:5px;background:#fff;padding:10px 12px;color:#2b2d33;font:13px Inter,sans-serif;max-width:100%}.metric-strip{display:grid;grid-template-columns:repeat(5,1fr);margin:24px 0;border-top:1px solid #dedbd4;border-bottom:1px solid #dedbd4;padding:23px 0;gap:20px}.metric-strip>div{display:flex;flex-direction:column;gap:8px}.metric-strip span{font-size:11px;color:#737780}.metric-strip strong{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:500}.question-drawer{padding:18px 0;border-bottom:1px solid #dedbd4;line-height:1.7}.question-drawer summary{cursor:pointer;font-weight:600}.review-tabs{display:flex;flex-wrap:wrap;gap:24px;border-bottom:1px solid #dedbd4;margin:30px 0}.review-tabs a{padding:12px 0;color:#72777e;font-size:14px;border-bottom:2px solid transparent;text-decoration:none}.review-tabs a.active{border-color:#4f7cac;color:#2b2d33}.trajectory-body{min-height:250px}.outcome{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:22px 0;font-size:12px}.grade{font-size:11px;border-radius:4px;padding:5px 9px;display:inline-block;font-weight:600;background:#ecebe6;color:#626872}.grade.pass,.matrix-grade.pass{background:#e4f0e9;color:#357451}.grade.fail,.matrix-grade.fail{background:#f7e7e4;color:#a93e38}.grade.unresolved,.matrix-grade.unresolved{background:#f7efdd;color:#927024}.grade.missing,.matrix-grade.missing{background:#eeebf3;color:#755c8d}.answer-prose{line-height:1.85;font-size:16px;overflow-wrap:anywhere;max-width:100%}.answer-prose p{white-space:pre-wrap;margin:14px 0}.answer-prose h3,.answer-prose h4,.answer-prose h5{font-family:var(--sans);font-size:20px;font-weight:600;margin:28px 0 10px}.answer-prose li{margin:6px 0}.answer-prose blockquote{border-left:2px solid #c6c3bc;padding:8px 18px;margin-left:0;color:#626872}.answer-prose code{font-size:.85em;background:#eeece7;padding:2px 4px}.raw-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font:12px/1.65 'JetBrains Mono',monospace;max-height:620px;overflow:auto;background:#f4f3ef;padding:18px;border:1px solid #e5e2db;border-radius:4px;tab-size:2}.raw-disclosure{margin:28px 0}.raw-disclosure summary,.judge-panel summary{cursor:pointer;font-size:13px}.hash{font-size:11px;overflow-wrap:anywhere}.audit-table-wrap{overflow-x:auto;max-width:100%;margin:24px 0}.audit-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.5;text-align:left}.audit-table th{font-weight:500;font-size:11px;color:#69717c;background:#f0efeb;border-bottom:1px solid #ccc8bf;padding:12px 10px;vertical-align:bottom}.audit-table td{border-bottom:1px solid #e5e2db;padding:13px 10px;vertical-align:top}.audit-table tbody tr:hover{background:#f7f6f1}.audit-table th:first-child,.audit-table td:first-child{min-width:120px}.audit-table td a{text-decoration:none}.audit-table td a:hover{text-decoration:underline}.trace-filter{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:24px 0}.trace-filter input{flex:1;min-width:220px}.trace-filter span{font-size:12px}.trace-event{border:1px solid #dfdcd5;border-left:3px solid #a2a5ac;border-radius:5px;margin:10px 0;background:#fff9}.trace-event.assistant{border-left-color:#4f7cac}.trace-event.tool_call{border-left-color:#bf8f3a}.trace-event.tool_result{border-left-color:#4e8f6e}.trace-event summary{cursor:pointer;display:flex;gap:14px;align-items:center;padding:15px;font-size:12px;list-style:none}.trace-event summary::before{content:'+';color:#888}.trace-event[open] summary::before{content:'−'}.event-index{font:11px 'JetBrains Mono',monospace;color:#8a8f98;min-width:28px}.event-name{color:#7d5ba6;white-space:nowrap}.event-preview{color:#8a8f98;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.event-links{display:flex;flex-wrap:wrap;gap:20px;padding:0 20px;font-size:11px}.trace-event>.raw-text,.trace-event>.answer-prose{margin:15px 20px}.trace-event:target{outline:2px solid #4f7cac}.judge-panel{border:1px solid #ddd9d1;border-radius:5px;margin:16px 0;padding:20px}.judge-panel>summary{font-weight:600;font-size:16px}.judge-item{border-top:1px solid #dedbd4;padding-top:16px;margin-top:22px}.judge-record{font-size:13px}.judge-record dt{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#737780;margin:15px 0 5px}.judge-record dd{margin:0}.judge-record .answer-prose{font-size:13px}.answer-compare{display:grid;grid-template-columns:1fr 1fr;gap:36px}.answer-compare article{min-width:0}.answer-compare article+article{border-left:1px solid #dedbd4;padding-left:36px}.answer-compare h2{font-family:'Source Serif 4',Georgia,serif;font-weight:500}.compare-select{font-size:13px}.analysis-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:50px;max-width:1360px;padding:48px 40px 100px;margin:auto}.analysis-side{position:sticky;top:75px;height:fit-content;font-size:12px}.analysis-side nav{display:flex;flex-direction:column;gap:15px;margin:25px 0 30px}.analysis-side a{color:#68717c;text-decoration:none;line-height:1.45}.analysis-side a:hover{color:#4f7cac}.analysis-main{min-width:0;line-height:1.8;font-size:14px}.analysis-hero .metric-strip{grid-template-columns:repeat(4,1fr)}.audit-section{border-top:1px solid #dcd8cf;padding-top:38px;margin-top:45px;scroll-margin-top:30px}.audit-section>h2{font:500 28px/1.2 'Source Serif 4',Georgia,serif;margin:0 0 22px}.audit-section h3{font:500 20px/1.3 var(--sans)}.audit-section p{margin:16px 0}.pair-counts{display:flex;flex-wrap:wrap;gap:12px 22px;padding:18px 0;font-size:13px;color:#626872}.pair-counts b{color:#4e8f6e}.case-card{border:1px solid #ddd9d1;border-radius:5px;margin:12px 0;line-height:1.75;background:#fff6;padding:18px 20px}.case-card summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;font-size:13px}.case-card summary strong{font-weight:500;flex:1;min-width:200px}.case-card summary .mono{font-size:11px;color:#7a7f86}.case-card summary .muted{font-size:11px}.case-card .review-note{padding:16px;margin:18px 0}.case-card.expanded h3{margin:0 0 12px}.case-card.expanded p{font-size:13px}.example-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.example-card{padding:24px;background:#eaf0f5;border-radius:5px;border-top:2px solid #4f7cac}.example-card h3{font:500 20px/1.25 var(--sans)}.example-card p{font-size:13px}.example-card a{font-size:12px}.count-link{border:0;color:#4f7cac;background:none;font:inherit;cursor:pointer;text-decoration:underline;padding:0 5px}.failure-list{max-height:650px;overflow:auto;padding-right:10px;overscroll-behavior:contain}.matrix-grade{display:inline-block;padding:5px 8px;border-radius:4px;font:11px var(--sans);white-space:nowrap}.review-downloads{border-top:1px solid #dedbd4;padding-top:24px}.review-page>p:last-child{font-size:12px;color:#777}.review-page a:focus-visible,.analysis-layout a:focus-visible,.review-page button:focus-visible,.analysis-layout button:focus-visible{outline:2px solid #4f7cac;outline-offset:4px}
@media(max-width:1000px){.analysis-layout{grid-template-columns:155px minmax(0,1fr);gap:26px;padding:32px 24px}.metric-strip{gap:12px}.metric-strip strong{font-size:16px}.trajectory-controls{grid-template-columns:1fr 1fr}.review-page{padding:32px 24px 70px}}
@media(max-width:700px){.analysis-layout{display:block;padding:28px 18px 70px}.analysis-side{position:static;margin-bottom:30px}.analysis-side nav{display:flex;flex-direction:row;overflow-x:auto;gap:20px;padding-bottom:8px}.analysis-side nav a{white-space:nowrap}.review-page{padding:28px 18px 60px}.trajectory-controls{grid-template-columns:1fr;gap:14px}.metric-strip{grid-template-columns:repeat(2,1fr)}.analysis-hero .metric-strip{grid-template-columns:repeat(2,1fr)}.answer-compare,.example-row{grid-template-columns:1fr}.answer-compare article+article{border-left:0;border-top:1px solid #dedbd4;padding:22px 0 0}.review-tabs{gap:16px}.review-tabs a{font-size:12px}.review-note{padding:18px}.trace-event summary{flex-wrap:wrap;gap:8px}.event-preview{flex-basis:100%;margin-left:30px}.audit-section>h2{font-size:28px}.review-deck{font-size:16px}.review-actions{align-items:flex-start}.review-actions .entry-btn{white-space:normal}.case-card{padding:16px}}
.lineage-events{font-size:12px;line-height:1.7;margin:16px 0 8px 42px}.lineage-events summary{cursor:pointer;color:#4f7cac}.lineage-event{padding:12px 0;border-bottom:1px solid #e4e1da}.lineage-event b{font-weight:500}.lineage-event small{display:block;color:#8a8f98}.lineage-event p{margin:6px 0;color:#626872}
.review-scope-note{margin-top:48px;padding:24px 0 0;border-top:1px solid #dcd8cf;color:#69717c;font-size:12px;line-height:1.8}.review-scope-note strong{font-weight:600;color:#2b2d33}.review-scope-note p{margin:10px 0 0}

/* Styles for the example analysis only; homepage styles above are unchanged. */
.analysis-main .analysis-drawer{margin:20px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.analysis-main .analysis-drawer>summary{cursor:pointer;font-size:14px;font-weight:600;line-height:1.6}
.analysis-main .analysis-drawer[open]>summary{margin-bottom:20px}
.analysis-main .cause-chart{margin:20px 0}
.analysis-main .cause-row{display:grid;grid-template-columns:minmax(190px,2fr) 3fr 54px;align-items:center;gap:18px;width:100%;border:0;background:transparent;padding:10px 0;color:var(--ink);text-align:left;font:13px/1.5 var(--sans);cursor:pointer}
.analysis-main .cause-row:hover,.analysis-main .cause-row[aria-pressed=true]{color:var(--ink)}
.analysis-main .cause-track{height:9px;background:var(--soft);border-radius:3px;overflow:hidden}
.analysis-main .cause-track i{display:block;height:100%;background:var(--faint);min-width:3px}
.analysis-main .cause-row b{font:12px var(--mono);text-align:right}
.analysis-main h3{font-family:var(--sans);font-size:20px;font-weight:600;line-height:1.3;margin:30px 0 12px}
.analysis-main .example-card h4{font-family:var(--sans);font-size:20px;font-weight:600;line-height:1.35;margin:12px 0}
.analysis-main .example-card{margin:20px 0}
.analysis-main .example-row .example-card{margin:0}
.analysis-main .example-card>a{display:inline-block;font-size:13px;margin:5px 20px 0 0}
.analysis-main .failure-list{max-height:520px;margin-top:20px}
.analysis-main .review-scope-note h2{font-family:var(--serif);font-size:28px;font-weight:600;color:var(--ink)}
.grade.incomplete,.matrix-grade.incomplete{background:#efede7;color:#77766e}
@media(max-width:650px){.analysis-main .cause-row{grid-template-columns:1fr 80px 45px;gap:10px;font-size:12px}.analysis-main h3{font-size:20px}}

/* Cause-led analysis and the response map. */
.analysis-main .sort-button{display:flex;align-items:center;gap:6px;text-align:left;border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer;line-height:1.45;width:100%}
.analysis-main .sort-arrow{color:var(--faint);white-space:nowrap;margin-left:auto;font:12px var(--mono)}
.analysis-main .sortable-table th[aria-sort=ascending],.analysis-main .sortable-table th[aria-sort=descending]{color:var(--ink);background:var(--soft)}
.analysis-main .sortable-table .text-button{font-size:inherit;text-align:left}
.analysis-main .text-button{border:0;padding:0;background:none;font:inherit;line-height:inherit;color:var(--blue);cursor:pointer;text-align:left;text-decoration:none}
.analysis-main .text-button:hover{text-decoration:underline}
.analysis-main .analysis-control{font-size:12px;display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:24px}
.analysis-main .model-distribution{min-width:1020px;font-variant-numeric:tabular-nums}
.analysis-main .model-distribution td:first-child,.analysis-main .model-distribution th:first-child{position:sticky;left:0;min-width:155px;background:var(--paper);box-shadow:1px 0 var(--line);z-index:1}
.analysis-main .model-distribution th:first-child{background:var(--soft)}
.analysis-main .model-distribution th{min-width:86px}
.analysis-main .cause-discussion{padding:30px 0;border-bottom:1px solid var(--line);scroll-margin-top:75px}
.analysis-main .cause-heading{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.analysis-main .cause-heading h3{flex-basis:100%;margin:0 0 4px}
.analysis-main .cause-frequency{font:11px var(--mono);color:var(--muted)}
.analysis-main .cause-badge,.waffle-tooltip .cause-badge{display:inline;white-space:normal;border:0;border-radius:0;padding:0;font:12px/1.5 var(--sans);color:var(--muted);background:none}
.analysis-main .cause-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}
.analysis-main .cause-example{border:1px solid var(--line);background:var(--paper);border-radius:5px;padding:22px;min-width:0}
.analysis-main .example-heading{display:flex;gap:7px 12px;flex-wrap:wrap;align-items:center;font-size:12px}
.analysis-main .example-heading .mono{color:var(--muted);font-size:11px}
.analysis-main .example-heading strong{font-weight:500}
.analysis-main .cause-example h4{font:600 20px/1.3 var(--sans);margin:18px 0 10px}
.analysis-main .example-question{font-size:11px;line-height:1.5;display:block}
.analysis-main .cause-example p{font-size:13px;line-height:1.8}
.analysis-main .cause-example blockquote{font-size:12px;line-height:1.75;border-left:2px solid var(--line-2);margin:18px 0;padding:0 0 0 14px;color:var(--muted);overflow-wrap:anywhere}
.analysis-main .cause-example .review-actions{margin-bottom:0;gap:8px 15px}
.analysis-main .cause-example .review-actions a{font-size:12px}
.analysis-main .analysis-filters{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}
.analysis-main .analysis-filters label{display:flex;flex:1;min-width:180px;flex-direction:column;gap:8px;font-size:12px;color:var(--muted)}
.analysis-main .analysis-filters input{border:1px solid var(--line-2);border-radius:5px;background:var(--paper);padding:10px 12px;color:var(--ink);font:13px var(--sans);width:100%;min-width:0}
.analysis-main .analysis-filters select{width:100%}
.analysis-main .failure-model-name{font-size:11px;color:var(--muted);flex-basis:150px}
.analysis-main .failure-list .case-card summary{gap:8px 14px}
.analysis-main .failure-list .case-card summary .cause-badge{margin-left:auto;font-size:11px}
.analysis-main .cause-chart .cause-row{grid-template-columns:minmax(180px,2fr) 3fr 68px}
.analysis-main .cause-chart .cause-badge{border:0;padding:0;background:none}
.analysis-main .cause-chart .cause-row[aria-pressed=true]{background:var(--soft)}
.analysis-main .waffle-wrap{position:relative;overflow:auto;max-height:700px;border:1px solid var(--line);border-radius:5px;scrollbar-gutter:stable;overscroll-behavior:contain}
.analysis-main .waffle-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:910px;font:11px/1.3 var(--sans)}
.analysis-main .waffle-grid th{font-weight:500;text-align:left;background:var(--paper)}
.analysis-main .waffle-grid thead th{position:sticky;top:0;z-index:2;height:88px;border-bottom:1px solid var(--line);padding:8px 3px;vertical-align:bottom;text-align:center}
.analysis-main .waffle-grid thead th button{border:0;background:none;color:var(--muted);font:inherit;line-height:1.4;padding:0;cursor:pointer;width:100%;overflow-wrap:normal}
.analysis-main .waffle-grid th:first-child{width:230px;position:sticky;left:0;z-index:1;padding:5px 10px;box-shadow:1px 0 var(--line)}
.analysis-main .waffle-grid thead th:first-child{z-index:3;text-align:left}
.analysis-main .waffle-grid tbody th a{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;font-size:11px}
.analysis-main .waffle-grid td{height:25px;text-align:center;padding:3px}
.analysis-main .waffle-grid tbody tr:hover td,.analysis-main .waffle-grid tbody tr:focus-within td{background:var(--soft)}
.waffle-cell{display:block;margin:auto;width:17px;height:17px;border-radius:2px;background:var(--faint);box-sizing:border-box;border:1px solid var(--line-2);outline-offset:2px}
.waffle-cell:hover,.waffle-cell:focus-visible{outline:2px solid var(--ink);transform:scale(1.1)}
.waffle-cell.pass,.waffle-key.pass{background:var(--green)}.waffle-cell.fail,.waffle-key.fail{background:var(--red)}.waffle-cell.unresolved,.waffle-key.unresolved{background:var(--amber)}.waffle-cell.missing,.waffle-key.missing{background:var(--purple-t);border:1px solid var(--purple)}.waffle-cell.incomplete,.waffle-key.incomplete{background:repeating-linear-gradient(135deg,var(--line-2),var(--line-2) 3px,var(--bg) 3px,var(--bg) 6px);border:1px solid var(--line-2)}
.analysis-main .waffle-legend{display:flex;gap:12px 20px;flex-wrap:wrap;margin:18px 0;font-size:11px;color:var(--muted)}
.analysis-main .waffle-legend>span{display:flex;align-items:center;gap:7px}
.waffle-key{display:inline-block;width:12px;height:12px;flex:none;border-radius:1px}
.waffle-tooltip{position:fixed;z-index:1000;pointer-events:none;padding:16px 18px;border:1px solid var(--line-2);background:var(--paper);border-radius:5px;box-shadow:0 8px 30px #0002;font-size:12px;line-height:1.65;max-height:330px;overflow:hidden}
.waffle-tooltip[hidden]{display:none}.waffle-tooltip>strong,.waffle-tooltip>span{display:block}.waffle-tooltip>span{font-size:11px;color:var(--muted);margin-top:5px}.waffle-tooltip .outcome{margin:12px 0}.waffle-tooltip p{margin:0;font-size:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.analysis-main .cause-examples{grid-template-columns:1fr}.analysis-main .waffle-wrap{max-height:550px}.analysis-main .waffle-grid th:first-child{width:170px}.analysis-main .analysis-filters label{min-width:140px}.analysis-main .cause-heading{gap:8px}.analysis-main .cause-chart .cause-row{grid-template-columns:minmax(150px,2fr) 1fr 65px;gap:10px}}
@media(max-width:480px){.analysis-main .cause-example{padding:18px}.analysis-main .failure-list .case-card summary .cause-badge{margin-left:0}.analysis-main .waffle-grid th:first-child{width:140px}.analysis-main .analysis-filters label{flex-basis:100%}.analysis-main .cause-chart .cause-row{font-size:11px;grid-template-columns:1fr 55px 60px}}

.analysis-main .failure-pagination{display:flex;gap:20px;align-items:center;justify-content:center;margin:24px 0;font-size:12px}
.analysis-main .failure-pagination[hidden]{display:none}
.analysis-main .failure-pagination button{border:1px solid var(--line);border-radius:4px;padding:8px 12px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}
.analysis-main .failure-pagination button:disabled{opacity:.4;cursor:default}
.analysis-main .waffle-grid.single-model{min-width:320px;max-width:650px}
.analysis-main .waffle-grid.single-model th:first-child{width:75%}

/* Match the homepage's document and leaderboard typography within analysis. */
.analysis-layout { color: var(--ink); font-family: var(--sans); }
.analysis-side { font-size: 13px; }
.analysis-side a { color: var(--muted); }
.analysis-side a:hover { color: var(--ink); }
.analysis-main { font: 16px/1.6 var(--sans); }
.analysis-main h1, .analysis-main h2, .analysis-main h3, .analysis-main h4 { font-family: var(--serif); font-weight: 600; letter-spacing: -.005em; }
.analysis-main .analysis-hero h1 { font-size: clamp(30px, 3.6vw, 40px); line-height: 1.2; margin: 6px 0 14px; }
.analysis-main .eyebrow { color: var(--faint); font: 400 11px/1.6 var(--sans); letter-spacing: .06em; }
.analysis-main .review-deck { color: var(--muted); font-size: 16px; line-height: 1.6; }
.analysis-main .audit-section { border-color: var(--line); }
.analysis-main .audit-section > h2 { font: 600 clamp(24px, 2.8vw, 32px)/1.25 var(--serif); margin-bottom: 16px; }
.analysis-main h3 { font: 600 20px/1.3 var(--sans); }
.analysis-main .example-card h3, .analysis-main .example-card h4,
.analysis-main .cause-example h4 { font: 600 20px/1.35 var(--sans); }
.analysis-main .review-scope-note h2 { font: 600 20px/1.3 var(--serif); color: var(--ink); }
.analysis-main .review-scope-note { color: var(--muted); border-color: var(--line); font-size: 13px; line-height: 1.6; }
.analysis-main .metric-strip { border-color: var(--line); }
.analysis-main .metric-strip span { color: var(--muted); font-size: 12px; }
.analysis-main .metric-strip strong { font: 400 20px/1.35 var(--mono); }
.analysis-main .pair-counts { color: var(--muted); }
.analysis-main .pair-counts b { color: var(--ink); }
.analysis-main select, .analysis-main input { color: var(--ink); background: var(--paper); border: 1px solid var(--line-2); border-radius: 6px; padding: 7px 10px; font: 400 14px/1.6 var(--sans); }
.analysis-main .audit-table { font: 400 14px/1.6 var(--sans); font-variant-numeric: tabular-nums; }
.analysis-main .audit-table th { color: var(--muted); background: var(--soft); border-color: var(--line); padding: 10px 14px; font: 500 13px/1.5 var(--sans); }
.analysis-main .audit-table td { border-color: var(--line); padding: 10px 14px; }
.analysis-main .audit-table tbody tr:hover { background: var(--soft); }
.analysis-main .sortable-table td:not(:first-child) { font: 400 13px/1.6 var(--mono); }
.analysis-main .sortable-table th[aria-sort=ascending],
.analysis-main .sortable-table th[aria-sort=descending] { color: var(--ink); background: var(--soft); }
.analysis-main .model-distribution th:first-child { background: var(--soft); }
.analysis-main .sort-arrow { color: var(--faint); }
.analysis-main .case-card, .analysis-main .cause-example, .analysis-main .example-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); }
.analysis-main .case-card summary { font-size: 14px; line-height: 1.6; }
.analysis-main .case-card summary .mono { color: var(--muted); }
.analysis-main .case-card p, .analysis-main .cause-example p, .analysis-main .example-card p { font-size: 14px; line-height: 1.6; }
.analysis-main .cause-example blockquote { color: var(--muted); font: 400 14px/1.6 var(--sans); border-color: var(--line-2); }
.analysis-main .review-note { background: var(--soft); border: 1px solid var(--line); border-radius: 6px; }
.analysis-main .review-note h3 { font-weight: 600; }
.analysis-main .review-note small { color: var(--muted); }
.analysis-main .review-note blockquote { border-color: var(--line-2); background: var(--paper); }
.analysis-main .review-downloads { border-color: var(--line); }

/* Rubric dimensions are plain text, separated by neutral punctuation. */
.analysis-main .rubric-labels { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 0; color: var(--muted); font: 400 12px/1.6 var(--sans); }
.analysis-main .rubric-label { display: inline; color: inherit; background: none; border: 0; border-radius: 0; padding: 0; font: inherit; }
.analysis-main .rubric-label + .rubric-label::before { content: "·"; color: var(--faint); padding: 0 8px; }
.analysis-main .rubric-labels a:hover, .analysis-main button.rubric-label:hover { color: var(--ink); text-decoration: underline; }
.analysis-main .dimension-note { margin: 10px 0 20px; color: var(--muted); font: 400 13px/1.6 var(--sans); }
.analysis-main .check-list { margin: 18px 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.analysis-main .failed-check { padding: 12px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; }
.analysis-main .failed-check > summary { cursor: pointer; font: 500 13px/1.6 var(--sans); color: var(--ink); }
.analysis-main .failed-check p { margin: 10px 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.analysis-main .failed-check blockquote { margin: 12px 0; padding-left: 14px; border-left: 2px solid var(--line-2); color: var(--ink); font: 400 14px/1.6 var(--sans); }
.analysis-main .failed-check .mono, .analysis-main .failed-check code { font-size: 11px; overflow-wrap: anywhere; }

/* Only result status receives a color in the response map. */
.analysis-main .grade.pass, .analysis-main .matrix-grade.pass { color: var(--green); background: var(--green-t); }
.analysis-main .grade.fail, .analysis-main .matrix-grade.fail { color: var(--red); background: var(--red-t); }
.analysis-main .grade.unresolved, .analysis-main .matrix-grade.unresolved { color: var(--amber); background: var(--amber-t); }
.analysis-main .grade.missing, .analysis-main .matrix-grade.missing { color: var(--purple); background: var(--purple-t); }
.analysis-main .grade.incomplete, .analysis-main .matrix-grade.incomplete { color: var(--muted); background: var(--soft); }
.analysis-main .waffle-grid { font-size: 11px; }
.analysis-main .waffle-grid tbody th a { font-size: 11px; }
.analysis-main .waffle-legend { font-size: 12px; }
.waffle-tooltip { color: var(--ink); font-family: var(--sans); line-height: 1.6; }
.waffle-tooltip .rubric-labels, .waffle-tooltip .rubric-label { color: var(--muted); background: none; border: 0; padding: 0; font: 400 12px/1.6 var(--sans); }
.waffle-tooltip .rubric-label + .rubric-label::before { content: "·"; color: var(--faint); padding: 0 7px; }
@media (max-width: 700px) {
  .analysis-main .audit-table { font-size: 13px; }
  .analysis-main .audit-table th, .analysis-main .audit-table td { padding: 9px 8px; }
  .analysis-main .sortable-table td:not(:first-child) { font-size: 12px; }
  .analysis-main .metric-strip strong { font-size: 16px; }
}

/* The discussion uses the same body typography as the paper homepage. */
.analysis-main .dimension-note { padding: 28px 0; margin: 0; border-bottom: 1px solid var(--line); scroll-margin-top: 76px; color: var(--ink); font: inherit; }
.analysis-main .dimension-note > h3 { margin: 0 0 12px; }
.analysis-main .cause-example blockquote, .analysis-main .failed-check blockquote { font-family: var(--sans); }
.analysis-main .example-dimensions { margin-top: 14px; font-size: 12px; }
.analysis-main .failure-list .case-card > summary > .rubric-labels { flex-basis: 100%; }
.review-page .judge-item[id^="check-"] { scroll-margin-top: 80px; }
.review-page .judge-item.selected-check { border-left: 2px solid var(--blue); padding-left: 18px; background: var(--soft); }

/* Reading and navigation within the public response analysis. */
.analysis-main .model-references { list-style: none; padding: 0; margin: 16px 0 24px; font: 400 13px/1.6 var(--sans); }
.analysis-main .model-references li { margin: 7px 0; }
.analysis-main .error-definitions dt { font-weight: 600; margin: 16px 0 4px; }
.analysis-main .error-definitions dd { margin: 0; color: var(--muted); }
.analysis-main .response-excerpts .excerpt-label, .review-page .response-excerpts .excerpt-label { color: var(--muted); font: 400 12px/1.6 var(--sans); margin: 18px 0 6px; }
.analysis-main .response-excerpts blockquote, .review-page .response-excerpts blockquote { margin-top: 8px; }
.analysis-main .failure-list { max-height: none; overflow: visible; padding-right: 0; }
.analysis-main .audit-section, .analysis-main .analysis-drawer, .analysis-main .review-scope-note, .review-page .original-response, .review-page .cause-example[id], .review-page .additional-evaluations { scroll-margin-top: 76px; }
.analysis-main [tabindex="-1"]:focus, .review-page .original-response:focus { outline: none; }
.analysis-main .source-links summary, .review-page .source-links summary { cursor: pointer; color: var(--blue); }
.analysis-main .source-links a, .review-page .source-links a { display: block; margin-top: 8px; }
.analysis-main .cause-examples > article:only-child { grid-column: 1 / -1; }

/* Public preview navigation and motion. */
.preview-label { display: inline-block; vertical-align: middle; }
.math-display { display: block; max-width: 100%; overflow-x: auto; overflow-y: hidden; padding: 3px 0; }
.math-display .katex-display { margin: .8em 0; text-align: left; }
.math-display .katex-display > .katex { text-align: left; }
.math-inline .katex { font-size: 1.08em; }
.math-fallback { white-space: pre-wrap; overflow-wrap: anywhere; }
.evaluation-overview { margin: 24px 0 36px; font-size: 14px; line-height: 1.7; }
.evaluation-conclusion { padding: 22px 0; border-top: 1px solid var(--line); }
.evaluation-conclusion header { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.evaluation-conclusion h3 { margin: 0; font: 500 20px/1.3 var(--sans); }
.evaluation-conclusion .evaluation-role { color: var(--muted); font-size: 12px; margin: 8px 0; }
.evaluation-conclusion .answer-prose { font-size: 14px; }
.evaluation-conclusion > a { font-size: 13px; }
.judge-record { overflow-wrap: anywhere; }
.judge-panel, .completed-evaluation { scroll-margin-top: 76px; }
.pipeline-entry { display: flex; justify-content: center; margin-top: 24px; }
.analysis-entry { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.analysis-entry p { margin: 0; font-size: 14px; color: var(--muted); }
.analysis-entry .entry-btn { flex-shrink: 0; }
.has-slider { position: relative; }
.sliding-indicator { position: absolute; left: 0; top: 0; pointer-events: none; border-radius: 5px; border-bottom: 2px solid var(--ink); transition: transform .3s cubic-bezier(.22,.68,0,1), width .3s, height .3s; }
.has-slider .tab { position: relative; z-index: 1; }
.has-slider .tab[aria-selected="true"] { border-bottom-color: transparent; }
.mini-pipe.has-slider .sliding-indicator { border: 1.5px solid var(--slider-color); background: var(--paper); z-index: 1; }
.mini-pipe.has-slider .mp-step { position: relative; z-index: 2; }
.mini-pipe.has-slider .mp-step.current { background: transparent; box-shadow: none; }
.lb-table .pbar i { transform: scaleX(0); transform-origin: left; transition: transform .85s cubic-bezier(.22,.68,0,1); }
.lb-table .pbar i.grown { transform: scaleX(1); }
@media (max-width: 600px) { .analysis-entry { align-items: flex-start; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { .sliding-indicator, .lb-table .pbar i { transition: none; } }

/* ------------------------------------------------------------ site QA review 2026-10-11 */
/* hero: the paper title in tracked small capitals rather than italic capitals */
.hero { padding: 120px 24px 48px; }
.hero .title { font: 500 clamp(13px, 1.25vw, 15.5px)/1.6 var(--sans); font-style: normal; letter-spacing: .14em; color: var(--muted); margin: 16px auto 22px; max-width: 640px; }
.hero .paper-links { margin: 0; }
#pipeline-sec { padding-top: 64px; }
/* pipeline legend and entry line stay inside the content width */
.pipe-legend { max-width: 1160px; margin: 8px auto 0; padding: 0 24px; }
.pipeline-entry { align-items: center; flex-wrap: wrap; gap: 12px 20px; }
.pipeline-entry p { margin: 0; }
/* task page: the records of a step, listed */
.sb-steps { margin: 6px 0 2px; padding-left: 18px; font-size: 14px; line-height: 1.6; color: var(--muted); max-width: 72ch; }
.sb-steps li { margin: 1px 0; }
/* evaluation records: label column beside the value */
.judge-record { display: grid; grid-template-columns: minmax(110px, 170px) minmax(0, 1fr); column-gap: 18px; align-items: baseline; }
.judge-record dt { margin: 8px 0 0; }
.judge-record dd { margin: 8px 0 0; }
.judge-record dd > .judge-record, .judge-record dd > div > .judge-item > .judge-record { grid-template-columns: minmax(100px, 150px) minmax(0, 1fr); }
.judge-item { padding: 10px 0; border-top: 1px solid var(--line); }
.judge-item:first-child { border-top: 0; }
/* analysis: no empty double rules between sections and drawers */
.analysis-main .cause-discussion:last-child { border-bottom: 0; }
.analysis-main .analysis-drawer { margin: 0; border-bottom: 0; }
.analysis-main .analysis-drawer:last-of-type { border-bottom: 0; }
.analysis-main .cause-discussion:last-of-type { border-bottom: 0; }
/* individual findings: aligned columns */
.analysis-main .failure-list .case-card > summary { display: grid; grid-template-columns: 64px minmax(0, 1fr) 150px minmax(160px, 260px); gap: 6px 16px; align-items: baseline; }
.analysis-main .failure-list .case-card > summary > .muted { text-align: right; }
.analysis-main .failure-list .case-card > summary > .rubric-labels { grid-column: 1 / -1; }
/* model-response and analysis pages use the task-page heading scale */
.review-page h1 { font-size: clamp(30px, 3.6vw, 40px); font-weight: 600; line-height: 1.2; margin: 6px 0 14px; }
@media (max-width: 760px) {
  .judge-record { grid-template-columns: minmax(0, 1fr); }
  .judge-record dt { margin-top: 10px; }
  .judge-record dd { margin-top: 2px; }
  .analysis-main .failure-list .case-card > summary { grid-template-columns: minmax(0, 1fr); }
  .analysis-main .failure-list .case-card > summary > .muted { text-align: left; }
  .filters select { flex: 1 1 100%; }
  .pipe-legend { padding: 0 16px; }
}
.judge-record dd > p { margin: 0; }
.judge-item > .mono { display: block; margin-bottom: 2px; }
.analysis-main .audit-section > .dimension-note:last-child, .analysis-main .audit-section > .cause-discussion:last-child { border-bottom: 0; }
/* Failure analysis: key findings */
.analysis-hero .key-findings-title{font:500 20px/1.3 var(--sans);margin:34px 0 8px}
.analysis-hero .key-findings{max-width:860px;margin:0;padding-left:20px;font-size:16px;line-height:1.75;color:#3f434a}
.analysis-hero .key-findings li{margin:8px 0}
.analysis-main .dimension-note>.muted{font-size:12px}

/* Type system (2026-10-13): serif only for page and section titles; sans for everything else */
h3, h4, .analysis-main h3, .analysis-main h4 { font-family: var(--sans); font-weight: 600; }
b, strong { font-weight: 600; }
.hero .title { font-size: 14px; }
.answer-prose h3, .answer-prose h4, .answer-prose h5 { font-size: 16px; }
.evaluation-conclusion h3 { font-weight: 600; }
.eyebrow, .analysis-main .eyebrow { font-weight: 500; }
.lineage-event small { font-size: 11px; }
.original-response > h3 { font-size: 16px; }
.analysis-hero .key-findings-title { font-weight: 600; }
.metric-strip strong, .analysis-main .metric-strip strong { font-weight: 400; }
.sp-examples { margin: 32px 0 8px; padding-top: 24px; border-top: 1px solid var(--line); }
.sp-examples h2 { font-size: 20px; margin: 0 0 12px; }
.sp-examples ul { margin: 0 0 12px; padding-left: 18px; font-size: 14px; line-height: 1.8; }
.sp-examples .mono { font-size: 13px; }
.sp-examples p { font-size: 13px; margin: 0; }
.sb.flash { background: var(--blue-t); transition: background .6s; }
