/* Print-friendly IEEE-style report layout (US Letter, 1" margins) */

@page {
  size: Letter;
  margin: 1in;
}

:root {
  --text: #111;
  --muted: #444;
  --rule: #c9c9c9;
  --bg: #fff;
  --link: #0645ad;
}

html, body {
  background: var(--bg);
  color: var(--text);
  margin: 0;
  padding: 0;
  font-family: "Times New Roman", Times, serif;
  line-height: 1.35;
  font-size: 11pt;
}

.container {
  /* Constrain printable elements inside the page margins:
     Letter width 8.5in - 2in margins = 6.5in content box */
  max-width: 6.5in;
  margin: 0 auto;
  padding: 0;
}

header.paper-header {
  margin-top: 0.25in;
  margin-bottom: 0.18in;
  border-bottom: 1px solid var(--rule);
  padding-bottom: 0.12in;
}

h1.title {
  font-size: 16pt;
  font-weight: 700;
  margin: 0 0 6pt 0;
}

.meta {
  color: var(--muted);
  font-size: 10pt;
  margin: 0;
}

.authorline {
  margin: 8pt 0 0 0;
  font-size: 11pt;
}

section {
  margin-top: 12pt;
}

h2 {
  font-size: 12.5pt;
  font-weight: 700;
  margin: 12pt 0 6pt 0;
  page-break-after: avoid;
}

h3 {
  font-size: 11.5pt;
  font-weight: 700;
  margin: 10pt 0 4pt 0;
  page-break-after: avoid;
}

p {
  margin: 0 0 8pt 0;
}

ul, ol {
  margin: 0 0 8pt 18pt;
  padding: 0;
}

li { margin: 0 0 4pt 0; }

hr.rule {
  border: 0;
  border-top: 1px solid var(--rule);
  margin: 12pt 0;
}

.cite {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10pt;
}

.fnref {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9pt;
  vertical-align: super;
  margin-left: 1pt;
}

a, a:visited {
  color: var(--link);
  text-decoration: underline;
}

table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; /* prevents overflow */
  margin: 8pt 0 10pt 0;
  font-size: 10.5pt;
}

th, td {
  border: 1px solid var(--rule);
  padding: 6pt 6pt;
  vertical-align: top;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

th {
  background: #f4f4f4;
  font-weight: 700;
}

.small {
  font-size: 10pt;
}

.kicker {
  font-weight: 700;
}

.callout {
  border: 1px solid var(--rule);
  padding: 8pt 10pt;
  margin: 8pt 0 10pt 0;
  background: #fafafa;
}

.references ol,
.footnotes ol {
  margin-left: 18pt;
}

.references li,
.footnotes li {
  margin-bottom: 6pt;
}

.footer {
  margin-top: 14pt;
  border-top: 1px solid var(--rule);
  padding-top: 8pt;
  color: var(--muted);
  font-size: 9.5pt;
}

@media print {
  a { color: #000; } /* printed links appear in black; URLs still visible in text */
  .no-print { display: none !important; }
  header.paper-header { margin-top: 0; }
  .container { max-width: 6.5in; }
  h2, h3 { break-after: avoid-page; }
  table, figure { break-inside: avoid-page; }
}