/* Canonical report styles. build.py mirrors this file to report-style.js for offline export. */
.tc-report {
  --report-text: var(--text, #0b0f12); --report-muted: var(--muted, #4a5359);
  --report-border: var(--border, #aeb7be); --report-soft: var(--soft, #eaeff2);
  --report-link: var(--link, #0e62aa); --report-danger: var(--danger, #8f2434);
  --report-danger-bg: var(--danger-bg, #fff0f2);
  color: var(--report-text); font-family: inherit; font-size: 16px; line-height: 1.55;
  max-width: 944px; margin-inline: auto; overflow-wrap: break-word;
}
.tc-report *, .tc-report *::before, .tc-report *::after { box-sizing: border-box; }
.tc-report p { margin: 0 0 16px; max-width: 70ch; text-align: justify; hyphens: auto; }
.tc-report a { color: var(--report-link); text-underline-offset: 4px; overflow-wrap: anywhere; }
.tc-report a:focus-visible, .tc-report summary:focus-visible, .tc-report [tabindex]:focus-visible { outline: 2px solid var(--focus, #8b5af9); outline-offset: 3px; }
.tc-report h1, .tc-report h2, .tc-report h3, .tc-report h4, .tc-report h5 { font-weight: 600; text-wrap: balance; }
.tc-report h1 { font-size: clamp(32px, 4.2vw, 52px); line-height: 1.12; letter-spacing: -.015em; margin: 0 0 24px; font-weight: 700; }
.tc-report h2 { font-size: clamp(25px, 3vw, 34px); line-height: 1.2; margin: 56px 0 24px; padding-top: 28px; border-top: 1px solid var(--report-border); scroll-margin-top: calc(var(--tool-header-height, 0px) + 24px); }
.tc-report h3 { font-size: 22px; line-height: 1.3; margin: 0 0 20px; }
.tc-report h4.finding-title { font-size: 23px; line-height: 1.3; margin: 0 0 16px; }
.tc-report h5 { font-size: 16px; line-height: 1.5; margin: 0 0 10px; }
.tc-report .eyebrow, .tc-report .mono { font-family: var(--mono, ui-monospace, Consolas, monospace); text-align: left; hyphens: none; }
.tc-report .eyebrow { font-size: 11px; letter-spacing: .14em; line-height: 1.5; color: var(--report-muted); margin-bottom: 24px; }
.tc-report .mono { font-size: 12px; line-height: 1.6; }
.tc-report .support { font-size: 14px; line-height: 1.5; color: var(--report-muted); }
.tc-report .report-heading { border-bottom: 3px solid #28c9fa; padding-bottom: 32px; margin-bottom: 16px; }
.tc-report .report-lead { font-size: 20px; line-height: 1.5; max-width: 57ch; margin-bottom: 24px; }
.tc-report .report-status { font-weight: 600; color: var(--report-link); }
.tc-report .report-overview { display: grid; grid-template-columns: 1fr 1fr 2fr; gap: 24px; padding-top: 24px; margin-top: 28px; border-top: 1px solid var(--report-border); }
.tc-report .report-overview p { margin: 0; font-size: 14px; color: var(--report-muted); }
.tc-report .report-overview strong { display: block; font: 500 32px/1.1 var(--mono, ui-monospace, Consolas, monospace); color: var(--report-text); margin-bottom: 8px; }
.tc-report .report-overview span { display: block; }
.tc-report .report-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; border-bottom: 1px solid var(--report-border); padding: 8px 0 16px; margin-bottom: 32px; }
.tc-report .report-nav a { display: flex; align-items: center; min-height: 44px; font-size: 14px; }
.tc-report .notice { max-width: none; border-left: 3px solid var(--accent-edge, #1b95cc); padding: 20px 24px; background: var(--report-soft); margin: 20px 0; }
.tc-report .notice.danger { color: var(--report-danger); background: var(--report-danger-bg); border-color: var(--report-danger); }
.tc-report .report-flags h2 { margin-top: 32px; }
.tc-report .priority-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--report-border); margin: 24px 0 32px; gap: 0 24px; }
.tc-report .priority-nav a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 12px 0; border-bottom: 1px solid var(--report-border); font-size: 15px; }
.tc-report .priority-count { color: var(--report-text); font-family: var(--mono, ui-monospace, Consolas, monospace); }
.tc-report .priority-group { margin-top: 40px; }
.tc-report .priority-group-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; border-bottom: 2px solid var(--report-text); padding-bottom: 16px; margin-bottom: 24px; }
.tc-report .priority-group-heading h3 { margin: 0; scroll-margin-top: calc(var(--tool-header-height, 0px) + 24px); }
.tc-report .priority-group-heading a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.tc-report .finding { border: 1px solid var(--report-border); margin: 0 0 24px; padding: 28px; break-inside: auto; }
.tc-report .finding-top { display: flex; gap: 12px 20px; flex-wrap: wrap; align-items: center; margin-bottom: 20px; }
.tc-report .priority { padding: 5px 9px; background: var(--report-soft); border: 1px solid var(--report-border); font-size: 12px; font-weight: 600; }
.tc-report .priority.address-now { color: var(--report-danger); border-color: var(--report-danger); background: var(--report-danger-bg); }
.tc-report .priority.prioritize, .tc-report .priority.verify-before-event { color: var(--report-link); border-color: var(--report-link); }
.tc-report .finding-rationale { font-size: 17px; }
.tc-report .finding-plan { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; border-top: 1px solid var(--report-border); padding-top: 24px; margin-top: 24px; }
.tc-report .finding-plan section { min-width: 0; }
.tc-report .finding-plan p { font-size: 15px; }
.tc-report .finding-responsibility { border-top: 1px solid var(--report-border); padding-top: 20px; margin-top: 8px; }
.tc-report .finding-responsibility p:last-child { margin-bottom: 0; }
.tc-report .reason { border-top: 1px solid var(--report-border); margin-top: 20px; }
.tc-report summary { min-height: 48px; padding-block: 12px; cursor: pointer; font-size: 15px; font-weight: 600; }
.tc-report details > p, .tc-report details > dl, .tc-report details > h3, .tc-report details > ul { margin-top: 16px; }
.tc-report .report-appendix { border-block: 1px solid var(--report-border); margin: 20px 0; padding: 4px 0; }
.tc-report .report-appendix[open] { padding-bottom: 16px; }
.tc-report .scope-card { border: 1px solid var(--report-border); padding: 24px; margin: 24px 0; }
.tc-report dl { margin: 0; }
.tc-report dt { font-size: 14px; font-weight: 600; margin-top: 16px; }
.tc-report dd { color: var(--report-muted); margin: 4px 0 16px; overflow-wrap: anywhere; }
.tc-report .scope-card dl { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(0, 2fr); gap: 12px 24px; }
.tc-report .scope-card dt, .tc-report .scope-card dd { margin: 0; }
.tc-report .flow { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; background: var(--report-soft); padding: 16px; margin-top: 24px; font-size: 13px; }
.tc-report .flow > span:nth-child(even) { color: var(--report-link); }
.tc-report .table-scroll { max-width: 100%; overflow: auto; margin: 20px 0; }
.tc-report table { width: 100%; border-collapse: collapse; min-width: 500px; font-size: 14px; }
.tc-report th, .tc-report td { padding: 12px; border-bottom: 1px solid var(--report-border); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.tc-report th { background: var(--report-soft); }
.tc-report li { margin-bottom: 12px; }
.tc-report .report-footer { border-top: 1px solid var(--report-border); padding-block: 32px; margin-top: 48px; }
.tc-report .report-footer p { color: var(--report-muted); font-size: 14px; margin-top: 16px; }
.tc-report .report-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 640px) {
  .tc-report .report-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .tc-report .report-reading-guide { grid-column: 1 / -1; }
  .tc-report .report-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
  .tc-report .priority-nav, .tc-report .finding-plan { grid-template-columns: minmax(0, 1fr); }
  .tc-report .finding-plan { gap: 8px; }
  .tc-report .finding, .tc-report .scope-card { padding: 20px; }
  .tc-report .notice { padding: 16px; }
  .tc-report .scope-card dl { display: block; }
  .tc-report .scope-card dt { margin-top: 16px; }
  .tc-report .scope-card dd { margin-top: 4px; }
}
@media print {
  .tc-report { --report-text: #0b0f12; --report-muted: #4a5359; --report-border: #aeb7be; --report-soft: #f4f6f8; --report-link: #0e62aa; --report-danger: #8f2434; --report-danger-bg: #fff0f2; font: 10pt/1.5 Arial, Helvetica, sans-serif; max-width: none; }
  .tc-report .report-nav, .tc-report .priority-nav, .tc-report .priority-group-heading a { display: none; }
  .tc-report h1 { font-size: 26pt; }
  .tc-report h2 { font-size: 18pt; margin-top: 28pt; }
  .tc-report h3, .tc-report h4.finding-title { font-size: 14pt; }
  .tc-report h5, .tc-report summary, .tc-report .finding-plan p { font-size: 10pt; }
  .tc-report .report-lead, .tc-report .finding-rationale { font-size: 12pt; }
  .tc-report .support, .tc-report .report-footer p { font-size: 9pt; }
  .tc-report .finding { padding: 14pt; }
  .tc-report .finding-plan { display: block; }
  .tc-report .notice { padding: 12pt; }
  .tc-report h1, .tc-report h2, .tc-report h3, .tc-report h4, .tc-report h5, .tc-report summary { break-after: avoid; }
  .tc-report tr, .tc-report .report-overview { break-inside: avoid; }
  .tc-report .table-scroll { overflow: visible; }
  .tc-report table { min-width: 0; font-size: 9pt; }
  .tc-report .flow { display: none; }
}

.tc-report .report-overview p,.tc-report .report-status,.tc-report .eyebrow,.tc-report .mono{text-align:left}

.tc-report .conditional-details{border-top:1px solid var(--report-border);margin-top:16px;padding-top:4px}
.tc-report .conditional-details>summary{min-height:44px;font-weight:600;padding-block:12px;cursor:pointer}
.tc-report .conditional-details[open]>summary{margin-bottom:16px}
.tc-report .finding-status{margin-bottom:8px}
.tc-report .report-gates h2{margin-top:32px}
@media print{.tc-report .report-footer{break-inside:avoid;page-break-inside:avoid}.tc-report .report-footer p{orphans:3;widows:3}.tc-report .conditional-details>summary{display:none}}
