/* ===== v97 · Title & description tests (Content → Titles and descriptions) + AI-citation gap → brief (AI Search) — Builder CS-C, 2026-10-03 =====
   The section's card kit applies (22 px padding, rules at +15, icons at +23, titles at +56 — v92-website.css); every colour is a token, so dark
   mode follows. Grey buttons; blue only where something is approved (a test, a watch, a rollout). No bounce; reduced motion = no motion.
   tt-* the tests card, one test's record and its sheets · ag-* (aig-*) the AI gap card on a question, its tag on the question rows and its sheet. */

/* ---------- the tests card ---------- */
.tt-rules{display:flex;flex-direction:column;gap:8px;margin:2px 0 10px}
.tt-rule{display:flex;align-items:center;gap:12px;padding:11px 14px 11px 12px;border-radius:var(--r-12);background:color-mix(in srgb,var(--c-blue) 6%,var(--bg))}
.tt-rule-ic{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--st-blue-bg);color:var(--c-blue)}
.tt-rule .grow{min-width:0}
.tt-rule p{margin:0}
.tt-rule-t{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:var(--t-body);line-height:var(--lh-body)}
.tt-rule-t b{font-weight:var(--w-semibold)}
.tt-rule-s{margin-top:2px !important;font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-2);text-wrap:pretty}
.tt-rule .btn{flex:none}
.tt-sub{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 12px;min-width:0}
.tt-sub > span{min-width:0}
.tt-sub .m-clock.is-compact{display:inline-flex;align-items:center;gap:6px}
.tt-sub .m-clock.is-compact .m-ch{font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-2);font-variant-numeric:tabular-nums;white-space:nowrap}
.tt-vd{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.tt-vd .lbl.tint{height:20px;line-height:20px;font-size:var(--t-co)}
.tt-gate{color:var(--fg-2)}
.tt-gate.is-warn,.tt-gate.is-no,.tt-gate.is-few{color:var(--warn)}
.tt-foot,.tt-empty{display:flex;align-items:flex-start;gap:6px;margin:12px 0 0}
.tt-foot > svg{flex:none;margin-top:2px;color:var(--fg-3)}
.tt-card .mn-gl{margin-top:2px}

/* ---------- one test ---------- */
.tt-back{margin-top:0}
.tt-lead{margin:6px 0 0;font-size:var(--t-body);line-height:var(--lh-body);color:var(--fg-2);text-wrap:pretty}
.tt-head .tt-lead{margin-top:2px}
.tt-notes{display:flex;flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none}
.tt-notes li{display:flex;align-items:flex-start;gap:8px;font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-2);text-wrap:pretty}
.tt-notes li > svg{flex:none;margin-top:2px;color:var(--fg-3)}
.tt-status.is-wait{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--c-orange) 70%,transparent)}
.tt-gl,.tt-rec{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-2);text-wrap:pretty}
.tt-gl > svg,.tt-rec > svg{flex:none;margin-top:2px;color:var(--fg-3)}
.tt-gl b{color:var(--fg);font-weight:var(--w-semibold)}
.tt-gl.is-warn > svg,.tt-gl.is-no > svg,.tt-gl.is-few > svg{color:var(--warn)}
.tt-gl.is-ok > svg{color:var(--pos)}
.tt-rec b{color:var(--fg);font-weight:var(--w-medium)}
.tt-acts{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px}
.tt-note{font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-3)}
.tt-clock{margin-top:12px;max-width:560px}
.tt-vbig{margin-top:6px}
.tt-vl{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;margin:0;font-size:var(--t-t3);line-height:var(--lh-t3);letter-spacing:var(--ls-t3)}
.tt-vl b{font-weight:var(--w-semibold)}
.tt-vl span{font-size:var(--t-body);line-height:var(--lh-body);letter-spacing:0;color:var(--fg-2)}
.tt-status.is-worked .tt-vl b{color:var(--pos)}
.tt-status.is-didnt .tt-vl b,.tt-status.is-worse .tt-vl b{color:var(--neg)}
.tt-means{margin:8px 0 0;font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-3);text-wrap:pretty}
.tt-choice{margin-top:14px;padding:12px 14px;border-radius:var(--r-12);background:var(--bg-3)}
.tt-choice .tt-acts{margin-top:10px}
.tt-q{margin:0;font-size:var(--t-body);line-height:var(--lh-body);color:var(--fg-2);text-wrap:pretty}
.tt-q b{color:var(--fg);font-weight:var(--w-semibold)}
.sv > .tt-grid{margin-top:20px}
.tt-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start}
.tt-col{display:flex;flex-direction:column;gap:20px;min-width:0}
.cn .tt-grid > .sec.panel,.cn .tt-col > .sec.panel{padding-left:22px;padding-right:22px;margin:0}
.tt-flow{grid-template-columns:118px minmax(0,1fr);margin-top:4px}
.tt-flow dd{display:flex;flex-direction:column;gap:3px}
.tt-ex{font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-3);text-wrap:pretty}
.tt-fact{display:inline-flex;align-items:flex-start;gap:5px;font-size:var(--t-co);line-height:var(--lh-co);color:var(--pos);text-wrap:pretty}
.tt-fact > svg{flex:none;margin-top:2px}
.tt-ll{display:flex;flex-direction:column;gap:10px;margin:4px 0 0;padding:0;list-style:none}
.tt-ll li{display:flex;align-items:flex-start;gap:10px;font-size:var(--t-body);line-height:var(--lh-body);color:var(--fg-2);text-wrap:pretty}
.tt-ll li > svg{flex:none;margin-top:3px;color:var(--fg-3)}
.tt-ll li:first-child > svg{color:var(--pos)}
.tt-ll b{color:var(--fg);font-weight:var(--w-medium)}
.tt-honest{display:flex;align-items:flex-start;gap:6px;margin:12px 0 0}
.tt-honest > svg{flex:none;margin-top:2px;color:var(--fg-3)}
.tt-chart .chart{margin-top:6px}
.tt-band{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.tt-tbl{margin-top:4px}
.tt-dim{color:var(--fg-3)}
.tt-exl{display:flex;flex-direction:column;margin-top:2px}
.tt-ex-r{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:16px;padding:12px 0;border-top:1px solid var(--ln-2)}
.tt-ex-r:first-child{border-top:0}
.tt-ex-p{display:flex;flex-direction:column;gap:2px;min-width:0}
.tt-ex-p b{font-weight:var(--w-medium);font-size:var(--t-body);line-height:var(--lh-body)}
.tt-ex-p > span{font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-3);overflow-wrap:anywhere}
.tt-srch{display:inline-flex;align-items:center;gap:4px}
.tt-ex-t{display:flex;flex-direction:column;gap:6px;min-width:0}
.tt-now{color:var(--fg-3)}
.tt-new{color:var(--fg)}
.tt-k{flex:none;width:34px;font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-3)}
.tt-n{font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.tt-n.is-over{color:var(--neg);font-weight:var(--w-medium)}
.tt-ev{display:flex;flex-direction:column;margin:2px 0 0;padding:0;list-style:none}
.tt-ev li{display:grid;grid-template-columns:64px 128px minmax(0,1fr);gap:12px;padding:8px 0;border-top:1px solid var(--ln-2);font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-2)}
.tt-ev li:first-child{border-top:0}
.tt-ev time{color:var(--fg-3);font-variant-numeric:tabular-nums}
.tt-who{color:var(--fg);font-weight:var(--w-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tt-led{margin:10px 0 0}

/* ---------- the setup sheet ---------- */
.tt-radios .stg-rd-t > span{text-wrap:pretty}
.tt-sx{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.tt-sxr{display:block;font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-2);overflow-wrap:anywhere}
.tt-sxr s{color:var(--fg-3)}
.tt-hold{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:var(--t-body);line-height:var(--lh-body)}
.tt-hold > svg{flex:none;color:var(--fg-3)}
.tt-hold b{font-weight:var(--w-medium)}
#tt-ok.stg-red:not(.pri){color:var(--neg)}

/* ---------- AI gap: the tag on a question row, the card on a question, the tracker, the sheet ---------- */
.aig-tag{display:inline-flex;align-items:center;gap:4px;color:var(--fg-2)}
.aig-tag > svg{flex:none;color:var(--fg-3)}
.aig-tag.is-gap{color:var(--warn)}
.aig-tag.is-gap > svg{color:var(--warn)}
.fp > .aig-card{margin-top:20px}
.aig-lead{margin:4px 0 0;font-size:var(--t-body);line-height:var(--lh-body);color:var(--fg-2);text-wrap:pretty}
.aig-lead b{color:var(--fg);font-weight:var(--w-semibold)}
.aig-inst{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.aig-src{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 12px 6px 10px;border-radius:var(--r-12);background:var(--bg-3);font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-2)}
.aig-src b{color:var(--fg);font-weight:var(--w-medium);overflow-wrap:anywhere}
.aig-src .aig-n{font-variant-numeric:tabular-nums;color:var(--fg-2);white-space:nowrap}
.aig-src .aig-c{font-size:var(--t-co);color:var(--fg-2)}   /* v105 (a11y): on the chip's --bg-3, --fg-3 read 4.4:1 — --fg-2 passes */
.aig-sbs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:14px;border-radius:var(--r-12);box-shadow:inset 0 0 0 1px var(--ln-2);overflow:hidden}
.aig-sbs > .aig-hd{padding:9px 14px;background:var(--bg-3);font-size:var(--t-co);line-height:var(--lh-co);font-weight:var(--w-medium);color:var(--fg-2)}
.aig-sbs > .aig-c1,.aig-sbs > .aig-c2{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-top:1px solid var(--ln-2);font-size:var(--t-body);line-height:var(--lh-body);min-width:0}
.aig-sbs > .aig-c2{border-left:1px solid var(--ln-2);color:var(--fg-2)}
.aig-sbs > .aig-hd + .aig-hd{border-left:1px solid var(--ln-2)}
.aig-kind{font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-3)}
.aig-fact{display:inline-flex;align-items:flex-start;gap:5px;font-size:var(--t-co);line-height:var(--lh-co);color:var(--pos);text-wrap:pretty}
.aig-fact > svg{flex:none;margin-top:2px}
.aig-nofact{display:inline-flex;align-items:flex-start;gap:5px;font-size:var(--t-co);line-height:var(--lh-co);color:var(--warn);text-wrap:pretty}
.aig-nofact > svg{flex:none;margin-top:2px}
.aig-edge{display:inline-flex;align-items:flex-start;gap:5px;font-size:var(--t-co);line-height:var(--lh-co);color:var(--info-ink);text-wrap:pretty}   /* v105 (a11y): --c-blue as text read 3.5:1 on white — the info ink passes */
.aig-edge > svg{flex:none;margin-top:2px}
.aig-acts{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px}
.aig-cap{display:flex;align-items:flex-start;gap:6px;margin:12px 0 0}
.aig-cap > svg{flex:none;margin-top:2px;color:var(--fg-3)}
/* the tracker: the steps, the before/after with ranges, the clock */
.aig-steps{display:flex;align-items:center;flex-wrap:wrap;gap:4px 0;margin:12px 0 0;padding:0;list-style:none}
.aig-steps li{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-3)}
.aig-steps li + li::before{content:"";display:inline-block;width:18px;height:1px;margin:0 8px;background:var(--ln-2)}
.aig-steps li > i{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--fg-4)}
.aig-steps li.is-done{color:var(--fg-2)}
.aig-steps li.is-done > i{background:var(--fg-3);box-shadow:none;color:var(--bg)}
.aig-steps li.is-now{color:var(--fg);font-weight:var(--w-medium)}
.aig-steps li.is-now > i{box-shadow:inset 0 0 0 2px var(--c-blue)}
.aig-ba{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.aig-ba > div{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:var(--r-12);background:var(--bg-3);min-width:0}
.aig-ba .aig-k{font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-2)}   /* v105 (a11y): on --bg-3, --fg-3 read 4.4:1 */
.aig-ba b{font-size:var(--t-t3);line-height:var(--lh-t3);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums}
.aig-ba .aig-s{font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-2);text-wrap:pretty}
.aig-clock{margin-top:12px;max-width:520px}
.aig-mail{margin:10px 0 0;padding:12px 14px;border-radius:var(--r-12);background:var(--bg-3);font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-2);white-space:pre-wrap;overflow-wrap:anywhere}
.aig-mail b{display:block;margin-bottom:6px;color:var(--fg);font-weight:var(--w-medium);white-space:normal}
.aig-sheet-list{display:flex;flex-direction:column;gap:8px;margin:8px 0 0}

@media (max-width:1100px){
  .tt-grid{grid-template-columns:minmax(0,1fr)}
  .aig-ba{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .tt-ex-r{grid-template-columns:minmax(0,1fr);gap:6px}
  .tt-ev li{grid-template-columns:56px minmax(0,1fr)}.tt-ev li .tt-who{display:none}
  .tt-flow{grid-template-columns:minmax(0,1fr)}
  .aig-sbs{grid-template-columns:minmax(0,1fr)}.aig-sbs > .aig-c2{border-left:0;border-top:0;padding-top:0}.aig-sbs > .aig-hd + .aig-hd{display:none}
  .aig-ba{grid-template-columns:minmax(0,1fr)}
  .tt-rule{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){ .tt-card *,.aig-card *{transition:none !important;animation:none !important} }
.tt-ex-t p{margin:0;align-items:baseline;flex-wrap:wrap;font-size:var(--t-body);line-height:var(--lh-body);overflow-wrap:anywhere;display:grid !important;grid-template-columns:34px minmax(0,1fr);gap:8px !important}
.tt-ex-t .tt-tx{min-width:0;overflow-wrap:anywhere}
.tt-chart .chart-legend{margin-bottom:4px}
.aig-from{font-size:var(--t-co);line-height:var(--lh-co);color:var(--fg-3);overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:4px}
.aig-from > svg{flex:none}
.aig-track > .aig-lead{margin-top:10px}
.aig-track{margin-top:4px}
.tt-dv{display:flex;flex-direction:column;gap:3px;min-width:0}
