/* test-lab tool styles: only extends the shared tokens from styles.css */
.tl-source { margin-top: clamp(40px, 5vw, 72px); padding: 22px 26px; border-radius: var(--r-md); background: var(--surface); max-width: 72ch; }
.tl-source h2 { font-size: 1.0625rem; font-weight: 800; color: var(--yellow); margin-bottom: 10px; }
.tl-source p { color: var(--ink-soft); font-size: 1rem; line-height: 1.55; margin-top: 8px; }
.tl-source a, .dw-copy a, .dw-note a { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; font-weight: 700; }
.tl-row { display: grid; gap: clamp(12px, 1.5vw, 20px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); margin-top: 32px; }
.tl-row .fact { min-height: 200px; }
.tl-row .fact:hover { transform: none; }
.tl-row .fact-num { font-size: clamp(3.25rem, 2.4rem + 3.4vw, 6rem); overflow-wrap: anywhere; }
.tl-sub { font-size: .9375rem; font-weight: 700; opacity: .8; }
.tl-btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.tl-btn { font: 800 1rem var(--body); padding: 12px 20px; border-radius: 999px; border: 2px solid var(--yellow); background: transparent; color: var(--yellow); cursor: pointer; min-height: 44px; }
.tl-btn:hover, .tl-btn:focus-visible { background: var(--yellow); color: var(--on-light); }
.tl-btn[aria-pressed="true"] { background: var(--yellow); color: var(--on-light); }

#fx caption { caption-side: top; }
