/* Print-only resource reading. Load last, only on marked xl/oa article pages. */
@page jetsynapse-resource {
  size: auto;
  margin: 16mm 15mm;
}

@media print {
  html:has(body[data-resource-print]) {
    color-scheme: light;
    background: #fff !important;
  }

  body.cp-page.oa-page[data-resource-print] {
    page: jetsynapse-resource;
    --paper: #111;
    --muted: #333;
    --gold: #111;
    --ink: #fff;
    --oa-paper: #111;
    --oa-copy: #111;
    --oa-muted: #333;
    --oa-gold: #111;
    --oa-panel: #fff;
    --oa-line: #777;
    color-scheme: light;
    background: #fff !important;
    color: #111 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10.5pt;
    line-height: 1.5;
  }

  body[data-resource-print]::before,
  body[data-resource-print]::after,
  body[data-resource-print] :is([data-site-header], [data-site-footer], .skip-link, .oa-skip,
    .cp-breadcrumb, .oa-breadcrumb, .xl-contents, .oa-sidebar, .xl-desktop-nav,
    .xl-search, .jpc-canvas, .jpc-controls, .jpc-toggle, .jpc-status,
    [data-arrival-essential], .oa-table-hint, .xl-table-hint, .xl-closing, .oa-related) {
    display: none !important;
  }

  body[data-resource-print] main,
  body[data-resource-print] main :is(article, .xl-reading, .oa-reading, .xl-prose, .oa-prose,
    .xl-hero, .oa-hero, .oa-hero-grid, .oa-deck) {
    display: block !important;
    position: static !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body[data-resource-print] main::before {
    content: "JetSynapse AI | " attr(data-print-source);
    display: block;
    margin: 0 0 12pt;
    padding-bottom: 6pt;
    border-bottom: 1px solid #777;
    font: 8pt/1.4 var(--sans, sans-serif);
    color: #333;
    overflow-wrap: anywhere;
  }

  body[data-resource-print] main *,
  body[data-resource-print] main *::before,
  body[data-resource-print] main *::after {
    color: #111 !important;
    background: transparent !important;
    text-shadow: none !important;
    box-shadow: none !important;
    border-color: #777 !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
  }

  body[data-resource-print] main .jl-ink { opacity: 1 !important; }
  body[data-resource-print] main canvas { display: none !important; }
  body[data-resource-print] main [hidden] { display: none !important; }

  body[data-resource-print] main :is(.xl-prose, .oa-prose),
  body[data-resource-print] main :is(.xl-prose, .oa-prose) :is(p, li) {
    font-size: 10.5pt;
    line-height: 1.5;
    max-width: none;
    orphans: 3;
    widows: 3;
    text-wrap: wrap;
  }
  body[data-resource-print] main :is(.xl-prose, .oa-prose) section {
    content-visibility: visible !important;
    contain-intrinsic-size: none !important;
    contain: none !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
    margin: 0 0 14pt !important;
    padding: 0 !important;
    border: 0;
    overflow: visible !important;
  }
  body[data-resource-print] main :is(h1, h2, h3, h4, caption) {
    break-after: avoid;
    page-break-after: avoid;
    break-inside: avoid;
    max-width: none !important;
    text-wrap: wrap;
    letter-spacing: normal;
  }
  body[data-resource-print] main h1 { font-size: 26pt !important; line-height: 1.13; margin: 0 0 12pt !important; }
  body[data-resource-print] main h2 { font-size: 17pt !important; line-height: 1.2; margin: 16pt 0 8pt !important; }
  body[data-resource-print] main h3 { font-size: 13.5pt !important; line-height: 1.25; margin: 12pt 0 6pt !important; }
  body[data-resource-print] main :is(p, ul, ol, dl) { margin-top: 0; margin-bottom: 9pt; }
  body[data-resource-print] main :is(.xl-prose, .oa-prose) li { padding: 0; margin-bottom: 4pt; }
  body[data-resource-print] main :is(.xl-lead, .oa-lead, .oa-deck > p) { font-size: 11pt !important; line-height: 1.5; margin: 0 0 12pt; }
  body[data-resource-print] main :is(.xl-byline, .oa-byline, .xl-eyebrow, .oa-kicker, .oa-small, .xl-note) { font-size: 8.5pt !important; margin: 0 0 8pt; padding: 0; }
  body[data-resource-print] main .oa-kicker { break-after: avoid; page-break-after: avoid; }
  body[data-resource-print] main .oa-index { display: none; }
  body[data-resource-print] main :is(blockquote, .oa-note, .oa-choice) { padding: 5pt 10pt; margin: 10pt 0; border-color: #777; }
  body[data-resource-print] main a { text-decoration: underline; overflow-wrap: anywhere; }
  body[data-resource-print] main a[download][href^="/"]::after {
    content: " (editable file: https://jetsynapse.ai" attr(href) ")";
    font-size: 8pt;
    font-weight: normal;
    overflow-wrap: anywhere;
  }
  body[data-resource-print] main .xl-related { margin-top: 16pt; padding-top: 8pt !important; border-top: 1px solid #777; }
  body[data-resource-print] main .xl-related > a { margin: 4pt 0; font-size: 9pt; }
  body[data-resource-print] main .oa-path { break-inside: avoid; page-break-inside: avoid; margin: 10pt 0; }
  body[data-resource-print] main .oa-path li { padding: 8pt !important; }
  body[data-resource-print] main .oa-path h3 { margin: 4pt 0 !important; }
  body[data-resource-print] main .oa-path p { font-size: 9pt; margin: 0; }
  body[data-resource-print] main .oa-action { min-height: 0; padding: 2pt 0; }
  body[data-resource-print] main .oa-call { margin-top: 8pt; padding-top: 8pt; }
  body[data-resource-print] main .oa-call a { min-height: 0; font-size: 10pt; }

  body[data-resource-print] main :is(.xl-table, .oa-table-wrap) {
    display: block;
    width: auto;
    max-width: 100%;
    margin: 10pt 0;
    padding: 0;
    overflow: visible !important;
    break-inside: auto;
  }
  body[data-resource-print] main :is(.xl-table, .oa-table-wrap) table {
    display: table;
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 9pt;
    line-height: 1.4;
    break-inside: auto;
  }
  body[data-resource-print] main :is(.xl-table, .oa-table-wrap) caption { font-size: 9pt; font-weight: 600; padding: 0 0 6pt; }
  body[data-resource-print] main :is(.xl-table, .oa-table-wrap) thead { display: table-header-group; break-after: avoid; page-break-after: avoid; }
  body[data-resource-print] main :is(.xl-table, .oa-table-wrap) tfoot { display: table-footer-group; }
  body[data-resource-print] main :is(.xl-table, .oa-table-wrap) tr { break-inside: avoid; page-break-inside: avoid; }
  body[data-resource-print] main :is(.xl-table, .oa-table-wrap) tbody > tr:first-child { break-before: avoid; page-break-before: avoid; }
  body[data-resource-print] main :is(.xl-table, .oa-table-wrap) :is(td, th) {
    width: auto;
    min-width: 0;
    max-width: none;
    padding: 6pt;
    border: 1px solid #777;
    font-size: 9pt;
    line-height: 1.4;
    vertical-align: top;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    letter-spacing: normal;
  }

  body[data-resource-print] main .xl-time-tool { display: block; margin: 10pt 0; padding: 8pt 0; border: 0; border-top: 1px solid #777; border-radius: 0; }
  body[data-resource-print] main .xl-time-tool :is(label, button) { display: none !important; }
  body[data-resource-print] main .xl-time-tool output { display: block; font-size: 10pt; line-height: 1.5; }
  body[data-resource-print] main [data-evidence-check] :is(.jec-fields, .jec-actions, .jec-error, .jec-status) { display: none !important; }
  body[data-resource-print] main [data-evidence-check] :is(.jec-controls, .jec-results, .jec-worked) { break-inside: auto !important; page-break-inside: auto !important; margin: 10pt 0; padding: 0; border-radius: 0; }
  body[data-resource-print] main [data-evidence-check] .jec-controls:has([data-ec-results][hidden])::after {
    content: "No current reviewed result. Calculate or review your entries on the page before treating them as a result. The worked example, if included below, is fictional.";
    display: block;
    padding: 6pt 0;
    font-size: 10pt;
    line-height: 1.5;
  }
  body[data-resource-print] main [data-evidence-check] .jec-breakdown { display: block; margin: 8pt 0; }
  body[data-resource-print] main [data-evidence-check] .jec-breakdown > div { display: flex; gap: 12pt; padding: 5pt 0; break-inside: avoid; border-color: #777; }
  body[data-resource-print] main [data-evidence-check] .jec-breakdown dt { flex: 1; font-size: 9pt; }
  body[data-resource-print] main [data-evidence-check] .jec-breakdown dd { margin: 0; font-size: 11pt; }
  body[data-resource-print] main [data-evidence-check] .jec-median { font-size: 16pt; }
  body[data-resource-print] main [data-evidence-check] :is(.jec-help, .jec-limit, .jec-sample-note, .jec-sorted, .jec-worked) { font-size: 9pt; line-height: 1.5; }
  body[data-resource-print] main [data-evidence-check] summary { padding: 5pt 0; font-weight: 600; font-size: 9pt; }
  body[data-resource-print] main [data-evidence-check] details:not([open]) > summary::after { content: " (collapsed in this copy; open on the page to include its contents)"; font-weight: normal; }
  body[data-resource-print] main [data-evidence-check] .jec-sorted li { font-size: 9pt; }
}
