
/* SLTE-002 print-native hybrid document
   Keeps the existing Augscape sidebar on screen while making the body print as exact A4 pages. */

@page {
  size: A4 portrait;
  margin: 0;
}

@page slte-landscape {
  size: A4 landscape;
  margin: 0;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
}

.slte-print-native-body {
  background: #e5e7eb;
  color: #101828;
}

.slte-site-main {
  min-height: 100vh;
  background: #e5e7eb;
  padding: 24px 16px 48px;
}

@media (min-width: 1024px) {
  .slte-site-main {
    padding-left: calc(18rem + 24px);
    padding-right: 24px;
  }
}

.slte-live-note {
  width: 210mm;
  max-width: 100%;
  margin: 0 auto 16px;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #667085;
}

.slte-live-note strong { color: #101828; }

.slte-page-stack {
  width: 100%;
  overflow-x: auto;
  padding-bottom: 24px;
}

.slte-page {
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto 32px;
  position: relative;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.22);
  break-after: page;
  page-break-after: always;
  font-family: "Plus Jakarta Sans", Arial, sans-serif;
}

.slte-page:last-child {
  margin-bottom: 0;
}

.slte-doc-page {
  color: #101828;
}

.slte-meta-header,
.slte-meta-footer {
  position: absolute;
  left: 14mm;
  right: 14mm;
  display: flex;
  justify-content: space-between;
  gap: 10mm;
  font-size: 7.2pt;
  line-height: 1;
  color: #667085;
  z-index: 20;
}

.slte-meta-header { top: 8mm; }
.slte-meta-footer { bottom: 10mm; }

.slte-page-number {
  font-weight: 400;
  color: #101828;
  white-space: nowrap;
}

.slte-page-main {
  position: absolute;
  top: 23mm;
  left: 14mm;
  right: 14mm;
  bottom: 20mm;
}

.slte-section-label {
  display: inline-block;
  margin: 0 0 5mm;
  padding: 1.1mm 2mm;
  background: #8175d9 !important;
  color: #ffffff !important;
  font-size: 6.7pt;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}

.slte-continuation {
  opacity: 0.72;
}

.slte-page-title {
  margin: 0 0 7mm;
  max-width: 172mm;
  font-size: 21pt;
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.045em;
  color: #101828;
}


/* Landscape page variant */
.slte-page-landscape {
  width: 297mm;
  min-height: 210mm;
}

.slte-page-landscape .slte-page-main {
  top: 18mm;
  left: 12mm;
  right: 12mm;
  bottom: 18mm;
}

.slte-page-landscape .slte-meta-header,
.slte-page-landscape .slte-meta-footer {
  left: 12mm;
  right: 12mm;
}

.slte-page-landscape .slte-page-title {
  max-width: 260mm;
}

.slte-page-landscape .slte-table-wrap {
  max-width: 273mm;
}


/* Cover */
.slte-cover-page {
  padding: 0;
  background:
    radial-gradient(circle at 84% 18%, rgba(129,117,217,0.22), transparent 28%),
    radial-gradient(circle at 12% 82%, rgba(99,29,204,0.12), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 47%, #eef2ff 100%);
  color: #101828;
}

.slte-cover-bg-mark {
  position: absolute;
  right: -12mm;
  top: 32mm;
  font-size: 54pt;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.07em;
  color: rgba(129, 117, 217, 0.075);
  transform: rotate(-90deg);
  transform-origin: center;
  white-space: nowrap;
}

.slte-cover-accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 7mm;
  background: #8175d9;
}

.slte-cover-mark {
  position: absolute;
  top: 14mm;
  left: 14mm;
  font-size: 10pt;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.055em;
  color: #101828;
}

.slte-cover-mark span {
  color: #8175d9;
}

.slte-cover-kicker {
  position: absolute;
  top: 40mm;
  left: 14mm;
  display: inline-block;
  padding: 1.8mm 2.8mm;
  border-radius: 999px;
  background: #8175d9;
  color: #ffffff;
  font-size: 7pt;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.slte-cover-page h1 {
  position: absolute;
  top: 57mm;
  left: 14mm;
  right: 20mm;
  margin: 0;
  max-width: 168mm;
  font-size: 39pt;
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -0.065em;
  color: #101828;
}

.slte-cover-subtitle {
  position: absolute;
  top: 110mm;
  left: 14mm;
  right: 24mm;
  margin: 0;
  max-width: 150mm;
  font-size: 14.5pt;
  line-height: 1.34;
  font-weight: 450;
  letter-spacing: -0.035em;
  color: #475467;
}

.slte-cover-thesis {
  position: absolute;
  left: 14mm;
  right: 18mm;
  top: 158mm;
  padding: 6.2mm 6.5mm;
  border-radius: 5mm;
  background: #8175d9;
  box-shadow: 0 8mm 20mm rgba(99, 29, 204, 0.16);
}

.slte-cover-thesis p {
  margin: 0;
  max-width: 152mm;
  font-size: 13.8pt;
  line-height: 1.32;
  font-weight: 780;
  letter-spacing: -0.035em;
  color: #ffffff;
}

.slte-cover-meta {
  position: absolute;
  left: 14mm;
  right: 14mm;
  bottom: 14mm;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.8mm;
}

.slte-cover-meta-card {
  min-height: 22mm;
  padding: 3.2mm 3.4mm;
  border: 1px solid rgba(217, 222, 231, 0.95);
  border-radius: 3.2mm;
  background: rgba(255,255,255,0.86);
  box-shadow: 0 2mm 7mm rgba(15, 23, 42, 0.055);
}

.slte-cover-meta-card-wide {
  grid-column: span 2;
}

.slte-cover-meta-card p {
  margin: 0 0 2mm;
  color: #8175d9;
  font-size: 5.9pt;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.slte-cover-meta-card strong {
  display: block;
  font-size: 7.1pt;
  line-height: 1.36;
  font-weight: 650;
  color: #101828;
}

/* Document control */
.slte-control-grid {
  display: grid;
  grid-template-columns: 0.48fr 0.52fr;
  gap: 9mm;
  align-items: start;
}

.slte-control-table,
.slte-index-table,
.slte-table,
.slte-content table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  break-inside: avoid;
}

.slte-control-table th,
.slte-control-table td {
  border: 1px solid #e4e7ec;
  padding: 4mm 3.5mm;
  vertical-align: top;
  text-align: left;
  font-size: 7.6pt;
  line-height: 1.22 !important;
}

.slte-control-table th {
  width: 38%;
  background: #f3f4f7;
  color: #667085;
  font-weight: 500;
}

.slte-control-table td {
  background: #ffffff;
  color: #101828;
  font-weight: 500;
}
.slte-position-card {
  min-height: 50mm;
  padding: 8mm;
  border-radius: 5mm;
  border: 1px solid #8175d9;
  background: #8175d9;
  color: #ffffff;
  letter-spacing: 0.01em;
}

.slte-card-label {
  margin: 0 0 6mm;
  font-size: 7pt;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: rgba(255, 255, 255, 0.82);
}

.slte-position-card p:not(.slte-card-label) {
  margin: 0 0 5mm;
  font-size: 15pt;
  line-height: 1.32;
  font-weight: 750;
  letter-spacing: 0.015em;
  color: #ffffff;
}

.slte-position-card .slte-small-muted {
  font-size: 7.6pt !important;
  line-height: 1.65 !important;
  font-weight: 600 !important;
  letter-spacing: 0.025em !important;
  color: rgba(255, 255, 255, 0.78) !important;
}
/* Index */
.slte-index-table {
  font-size: 7.00pt;
  line-height: 1.2;
}

.slte-index-table th,
.slte-index-table td {
  border: 1px solid #e4e7ec;
  padding: 2.05mm 2.2mm;
  vertical-align: top;
  text-align: left;
  line-height: 1.22 !important;
}

.slte-index-table th {
  background: #f3f4f7;
  color: #667085;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 800;
}

.slte-index-table td { color: #101828; }
.slte-index-table th:nth-child(1), .slte-index-table td:nth-child(1) { width: 9%; font-weight: 800; }
.slte-index-table th:nth-child(2), .slte-index-table td:nth-child(2) { width: 30%; }
.slte-index-table th:nth-child(3), .slte-index-table td:nth-child(3) { width: 37%; }
.slte-index-table th:nth-child(4), .slte-index-table td:nth-child(4) { width: 16%; }
.slte-index-table th:nth-child(5), .slte-index-table td:nth-child(5) { width: 8%; text-align: right; color: #667085; }

/* Imported content */
.slte-content {
  font-size: 8.05pt;
  line-height: 1.62;
  color: #172033;
}

.slte-content p {
  margin: 0 0 3.2mm;
  font-size: 8.05pt;
  line-height: 1.62;
  color: #172033;
}

.slte-content h2,
.slte-content h3 {
  margin: 1.2em 0 3.8mm;
  font-weight: 800;
  letter-spacing: -0.035em;
  color: #101828;
}

.slte-content h2 {
  font-size: 12pt;
  line-height: 1.12;
}

.slte-content h3 {
  font-size: 11.5pt;
  line-height: 1.18;
}

.slte-content ul,
.slte-content ol {
  margin: 0 0 3.2mm 0;
  padding-left: 5mm;
}

.slte-content li {
  margin: 0 0 1.2mm;
  padding-left: 0.5mm;
}

.slte-callout {
  margin: 4mm 0 4mm;
  padding: 5mm 5mm;
  border-left: 1.4mm solid #8175d9;
  background: #f3f4f7;
  break-inside: avoid;
}

.slte-callout p {
  margin: 0;
  font-size: 8.2pt;
  line-height: 1.65;
  font-weight: 300;
  color: #101828;
}

.slte-link {
  color: #631dcc;
  text-decoration: underline;
  text-decoration-color: rgba(129, 117, 217, 0.35);
  text-underline-offset: 2px;
  word-break: break-word;
}

.slte-table-wrap {
  width: 100%;
  max-width: 180mm;
  margin: 3.5mm 0 4mm;
  overflow: hidden;
  break-inside: avoid;
}

.slte-content table {
  line-height: 1.22 !important;
}

.slte-table {
  font-size: 6.8pt;
  line-height: 1.22 !important;
  table-layout: fixed;
  break-inside: avoid;
}

.slte-table th,
.slte-table td {
  border: 1px solid #e4e7ec;
  padding: 1.8mm 2mm;
  vertical-align: top;
  text-align: left;
  line-height: 1.22 !important;
  word-break: normal;
  overflow-wrap: anywhere;
}

.slte-table th {
  background: #f3f4f7;
  color: #667085;
  font-weight: 800;
}

.slte-table td {
  background: #ffffff;
  color: #172033;
}

.slte-table td:first-child,
.slte-table th:first-child {
  font-weight: 600;
  color: #101828;
}

.slte-wide-table {
  font-size: 5.2pt;
  line-height: 1.1 !important;
}

.slte-wide-table th,
.slte-wide-table td {
  padding: 1.15mm 0.85mm;
  overflow-wrap: anywhere;
}

#footnotes,
.slte-content ol:has(li[id^="fn"]) {
  font-size: 6.9pt;
  line-height: 1.45;
}

.slte-content li[id^="fn"] p {
  font-size: 6.9pt;
  line-height: 1.45;
}


/* Table guardrails: keep imported/inline content inside the restricted table rules. */
.slte-content table[style],
.slte-table[style],
.slte-table td[style],
.slte-table th[style] {
  line-height: 1.22 !important;
}

.slte-wide-table[style],
.slte-wide-table td[style],
.slte-wide-table th[style] {
  line-height: 1.1 !important;
}

.slte-table-wrap table {
  max-width: 100% !important;
}

.slte-cover-divider-page .slte-page-number,
.slte-cover-page .slte-page-number {
  display: none !important;
}

/* Print mode: remove site chrome and output exact A4 pages. */
@media print {
  html,
  body,
  .slte-print-native-body {
    width: 210mm;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
  }

  body > aside,
  body > header,
  #mobileNav,
  .slte-live-note {
    display: none !important;
  }

  .slte-site-main {
    margin: 0 !important;
    padding: 0 !important;
    width: 210mm !important;
    background: #ffffff !important;
  }

  .slte-page-stack {
    overflow: visible !important;
    padding: 0 !important;
    width: 210mm !important;
  }

  .slte-page {
    width: 210mm !important;
    min-height: 297mm !important;
    height: 297mm !important;
    margin: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    break-after: page;
    page-break-after: always;
  }

  .slte-page:last-child {
    break-after: auto;
    page-break-after: auto;
  }

  a[href]::after {
    content: "" !important;
  }
}
.slte-cluster-card {
  margin: 0 0 6.5mm;
  padding: 1mm 0 5mm;
  border-bottom: 1px solid #d0d5dd;
  break-inside: avoid;
}

.slte-cluster-card h2 {
  margin: 0 0 4mm;
  padding: 0;
  border: 0;
  font-size: 11.4pt;
  line-height: 1.22;
  font-weight: 800;
  letter-spacing: -0.035em;
  color: #101828;
}

.slte-cluster-refs {
  margin: 0 0 4mm;
  padding: 0;
  background: transparent;
  border: 0;
  font-size: 7.2pt;
  line-height: 1.62;
  font-weight: 500;
  color: #475467;
}

.slte-cluster-refs strong {
  color: #101828;
  font-weight: 800;
}

.slte-cluster-statement {
  margin: 0 0 4mm;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 7.4pt;
  line-height: 1.62;
  font-weight: 500;
  color: #172033;
}

.slte-cluster-statement strong {
  color: #101828;
  font-weight: 800;
}

.slte-question-grid {
  counter-reset: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 7mm;
  row-gap: 2.6mm;
  margin: 0 0 4.6mm;
  padding: 0;
}

.slte-question-grid p {
  position: relative;
  margin: 0;
  padding: 0.6mm 0 0.6mm 3.8mm;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 7.7pt;
  line-height: 1.62;
  color: #172033;
}

.slte-question-grid p::before {
  content: "–";
  position: absolute;
  left: 0;
  top: 0.6mm;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: #667085;
  font-size: 7.7pt;
  line-height: 1.62;
  text-align: left;
  font-weight: 700;
}

.slte-cluster-implication {
  margin: 0;
  padding: 2.6mm 0 0;
  border: 0;
  border-top: 1px solid #e4e7ec;
  border-radius: 0;
  background: transparent;
  font-size: 7.2pt;
  line-height: 1.62;
  color: #475467;
}

.slte-cluster-implication strong {
  color: #101828;
  font-weight: 800;
}

.slte-table-large,
.slte-table-large th,
.slte-table-large td {
  font-size: 7.8pt !important;
  line-height: 1.62 !important;
}

.is-hidden {
  display: none !important;
}

.slte-toast-backdrop {
  display: none;
}

.slte-print-toast {
  position: fixed;
  right: 28px;
  bottom: 28px;
  z-index: 10000;
  width: 430px;
  padding: 22px 22px 20px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  border: 1px solid rgba(129, 117, 217, 0.32);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 10%, rgba(129, 117, 217, 0.18), transparent 34%),
    rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
  backdrop-filter: blur(16px);
}

.slte-print-toast-copy {
  min-width: 0;
  padding-right: 22px;
}

.slte-print-toast-copy strong {
  display: block;
  margin: 0 0 7px;
  font-size: 17px;
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: -0.035em;
  color: #101828;
}

.slte-print-toast-copy span {
  display: block;
  max-width: 360px;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 600;
  color: #667085;
}

.slte-print-toast-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.slte-print-toast-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  padding: 13px 16px;
  background: #8175d9;
  color: #ffffff;
  font-size: 12.5px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 10px 26px rgba(129, 117, 217, 0.34);
}

.slte-print-toast-button:hover {
  background: #6f63c8;
}

.slte-print-toast-button-secondary {
  background: #101828;
  color: #ffffff;
  box-shadow: 0 10px 26px rgba(16, 24, 40, 0.22);
}

.slte-print-toast-button-secondary:hover {
  background: #1d2939;
}

.slte-print-toast-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 26px;
  height: 26px;
  border: 1px solid #e4e7ec;
  border-radius: 999px;
  background: #ffffff;
  color: #667085;
  font-size: 17px;
  line-height: 20px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.14);
}

.slte-toast-launcher {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 9999;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 999px;
  background: #8175d9;
  color: #ffffff;
  font-size: 24px;
  line-height: 1;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.28);
}

.slte-toast-launcher:hover {
  background: #6f63c8;
}

@media screen and (max-width: 640px) {
  .slte-toast-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: rgba(15, 23, 42, 0.62);
    backdrop-filter: blur(2px);
  }

  .slte-print-toast {
    left: 14px;
    right: 14px;
    bottom: 14px;
    width: auto;
    padding: 18px;
    border-radius: 20px;
  }

  .slte-print-toast-actions {
    grid-template-columns: 1fr;
  }

  .slte-toast-launcher {
    right: 14px;
    bottom: 14px;
    width: 48px;
    height: 48px;
  }
}

@media print {
  .slte-toast-backdrop,
  .slte-print-toast,
  .slte-toast-launcher {
    display: none !important;
  }
}

/* Mobile document preview: scale full A4 page to viewport without affecting desktop or print */
@media screen and (max-width: 1023px) {
  .slte-site-main {
    padding: 12px 0 32px;
    overflow-x: hidden;
  }

  .slte-live-note {
    width: calc(100vw - 24px);
    margin: 0 auto 12px;
  }

  .slte-page-stack {
    width: 100%;
    overflow-x: hidden;
    padding: 0 0 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .slte-page {
    margin: 0 auto 18px;
    transform-origin: top center;
  }

  .slte-print-toast {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    max-width: none;
  }
}

/* Common mobile widths */
@media screen and (max-width: 430px) {
  .slte-page {
    zoom: 0.49;
  }

  .slte-page-landscape {
    zoom: 0.35;
  }
}

@media screen and (max-width: 390px) {
  .slte-page {
    zoom: 0.46;
  }

  .slte-page-landscape {
    zoom: 0.325;
  }
}

@media screen and (max-width: 360px) {
  .slte-page {
    zoom: 0.42;
  }

  .slte-page-landscape {
    zoom: 0.30;
  }
}

/* Tablets / larger mobile */
@media screen and (min-width: 431px) and (max-width: 767px) {
  .slte-page {
    zoom: 0.62;
  }

  .slte-page-landscape {
    zoom: 0.44;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .slte-page {
    zoom: 0.94;
  }

  .slte-page-landscape {
    zoom: 0.66;
  }
}

.slte-section-divider-page {
  padding: 0;
  background:
    radial-gradient(circle at 86% 18%, rgba(16, 24, 40, 0.055), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 54%, #f3f4f7 100%);
  color: #101828;
}

.slte-divider-mark {
  position: absolute;
  right: 14mm;
  bottom: 14mm;
  font-size: 54pt;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.07em;
  color: rgba(16, 24, 40, 0.055);
  transform: none;
  transform-origin: initial;
  white-space: nowrap;
}

.slte-divider-kicker {
  position: absolute;
  top: 42mm;
  left: 14mm;
  display: inline-block;
  padding: 1.5mm 2.4mm;
  border: 1px solid #d0d5dd;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #667085;
  font-size: 6.8pt;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.slte-section-divider-page h1 {
  position: absolute;
  left: 14mm;
  right: 20mm;
  top: 42mm;
  margin: 0;
  max-width: 180mm;
  font-size: 36pt;
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -0.065em;
  color: #101828;
}

.slte-divider-subtitle {
  position: absolute;
  left: 14mm;
  right: 24mm;
  top: 68mm;
  margin: 0;
  max-width: 132mm;
  font-size: 13.5pt;
  line-height: 1.36;
  font-weight: 650;
  letter-spacing: -0.035em;
  color: #667085;
}

.slte-divider-subtitle-list {
  position: absolute;
  left: 8mm;
  right: 24mm;
  top: 72mm;
  margin: 0;
  padding-left: 5.5mm;
  max-width: 138mm;
  font-size: 13pt;
  line-height: 1.65;
  font-weight: 650;
  letter-spacing: -0.025em;
  color: #667085;
}

.slte-divider-subtitle-list li {
  margin: 0 0 2mm;
  padding-left: 1.5mm;
}

.slte-divider-subtitle-list li::marker {
  color: #98a2b3;
}

.slte-section-divider-page .slte-meta-footer,
.slte-section-divider-page .slte-page-number {
  display: none !important;
}
