[hidden] { display: none !important; }
.skip { position: absolute; z-index: 1; inset: var(--space-3) auto auto var(--space-3); padding: var(--space-3); background: var(--sheet); }
.skip:not(:focus), .sr-only { position: absolute; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; }
.intro { display: flex; align-items: end; justify-content: space-between; gap: var(--space-8); padding-block: clamp(32px, 6vw, 76px) var(--space-8); }
.intro h1 { font: 800 clamp(2.45rem, 7vw, 5.2rem)/1 var(--font-display); letter-spacing: -0.055em; margin: 0 0 var(--space-4); }
.eyebrow { color: var(--muted); font-weight: 700; font-size: .88rem; margin: 0 0 var(--space-2); }
.intro .lede { color: var(--ink-soft); font-size: clamp(1rem, 2vw, 1.2rem); max-width: 48ch; margin: 0; }
.privacy { flex: 0 1 16rem; background: var(--sheet); border: 1px solid var(--rule); border-radius: var(--radius-lg); padding: var(--space-4); }
.privacy strong, .privacy span { display: block; }
.privacy span { color: var(--ink-soft); font-size: .87rem; margin-top: var(--space-1); }
.panel, .table-panel { background: var(--sheet); border: 1px solid var(--rule); border-radius: var(--radius-lg); padding: clamp(16px, 3vw, 28px); }
.panel-heading { display: flex; align-items: start; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3) var(--space-4); margin-bottom: var(--space-6); }
.panel-heading h2 { margin: 0; font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.2; letter-spacing: -.03em; }
.panel-heading p:not(.eyebrow) { margin: var(--space-1) 0 0; color: var(--ink-soft); }
.file-grid, .limits-grid, .summary-grid { display: grid; gap: var(--space-3); }
.file-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.file-card { display: grid; padding: var(--space-4); background: var(--paper); border: 1px solid var(--rule); border-radius: var(--radius-md); }
.file-card strong { font-size: 1.06rem; }
.file-card span, .field-note { color: var(--ink-soft); font-size: .88rem; }
.file-card input { width: 100%; margin-top: var(--space-3); }
input, button, select { font: inherit; }
.btn, .secondary, input::file-selector-button { min-height: 44px; border: 1px solid transparent; border-radius: var(--radius-md); padding: 8px 14px; cursor: pointer; font-weight: 700; }
.secondary, input::file-selector-button { color: var(--ink); border-color: var(--control-border); background: var(--sheet); }
.secondary:hover, input::file-selector-button:hover { background: var(--paper); }
.btn:disabled { opacity: .65; cursor: wait; }
.field-note { margin: var(--space-2) 0 0; }
.limits { margin-top: var(--space-4); padding-top: var(--space-2); border-top: 1px solid var(--rule); }
.limits summary { min-height: 44px; align-content: center; font-weight: 700; cursor: pointer; }
.limits-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.limits-grid label, .table-tools label { display: grid; gap: var(--space-1); font-size: .88rem; font-weight: 700; }
.panel input:not([type="file"]), .table-tools input, .table-tools select { min-height: 44px; min-width: 0; width: 100%; padding: 7px 10px; color: var(--ink); background: var(--sheet); border: 1px solid var(--control-border); border-radius: var(--radius-md); }
.form-actions { display: flex; gap: var(--space-2); margin-top: var(--space-6); }
.notice { margin: var(--space-3) 0 0; overflow-wrap: anywhere; }
.notice:empty { margin: 0; }
.notice.error { color: var(--flag); }
.results { padding-block: var(--space-10); }
.run-names { overflow-wrap: anywhere; }
.panel-heading > div { min-width: 0; }
.summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: var(--space-4); }
.summary-item { display: grid; align-content: start; gap: var(--space-1); background: var(--sheet); border: 1px solid var(--rule); border-radius: var(--radius-lg); padding: var(--space-4); }
.summary-item span, .summary-item small { color: var(--ink-soft); }
.summary-item strong { font-size: clamp(1.1rem, 2vw, 1.4rem); letter-spacing: -.025em; overflow-wrap: anywhere; }
.bad { color: var(--flag); }
.good { color: var(--match); }
.table-tools { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.table-tools label { flex: 0 1 13rem; }
.table-note { margin-block: var(--space-3); }
.table-scroll { overflow-x: auto; }
table { width: 100%; min-width: 780px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
th, td { padding: 12px 10px; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
thead { background: var(--paper); font-size: .88rem; }
tbody th { font-weight: 700; min-width: 9rem; max-width: 16rem; overflow-wrap: anywhere; }
td small { display: block; color: var(--ink-soft); }
td, .metric { white-space: nowrap; }
.method-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.method-grid code { overflow-wrap: anywhere; }

@media (max-width: 760px) {
  .intro { display: block; }
  .privacy { width: fit-content; margin-top: var(--space-4); }
  .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
  .file-grid, .limits-grid, .method-grid { grid-template-columns: 1fr; }
  .table-tools label { flex: 1 1 100%; }
}
