/* Print and ?pdf=1. One layout for the saved PDF and the print dialog. */

@page {
  size: A4 portrait;
  margin: 0 0 14mm 0;

  @bottom-left {
    content: "SpaceTeens · spaceteens.net · " counter(page);
    font-family: Plex, sans-serif;
    font-size: 9pt;
    color: var(--muted);
    margin-inline-start: 14mm;
    vertical-align: middle;
  }
}

@page :first {
  margin: 0;

  @bottom-left {
    content: none;
  }

  @bottom-right {
    content: none;
  }
}

html[lang="ar"] {
  page: proposal-ar;
}

@page proposal-ar {
  size: A4 portrait;
  margin: 0 0 14mm 0;

  @bottom-left {
    content: none;
  }

  @bottom-right {
    content: counter(page, arabic-indic) " · spaceteens.net · SpaceTeens";
    font-family: Plex, sans-serif;
    font-size: 9pt;
    color: var(--muted);
    margin-inline-end: 14mm;
    direction: rtl;
    vertical-align: middle;
  }
}

@page proposal-ar:first {
  margin: 0;

  @bottom-left {
    content: none;
  }

  @bottom-right {
    content: none;
  }
}

@media print {
  html {
    scroll-behavior: auto;
  }

  body {
    background: var(--white);
    padding-block-end: 0 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .skip,
  header .actions,
  #language,
  #share,
  .progress,
  .ticker,
  .dock,
  .accessibility,
  .hero-buttons,
  #about .button,
  .zoom-mark,
  .toast,
  #sectionsSheet,
  #pdfHint,
  .pdf,
  .pdf-personal,
  #printCurrent,
  #textSize,
  #motion,
  dialog,
  .builder,
  #partnerTabs,
  .view-tabs,
  footer {
    display: none !important;
  }

  .reveal,
  html.reveal-io .reveal {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .hero-led,
  .hero-signal,
  .method-line path {
    animation: none !important;
    opacity: 1;
  }

  .hero-signal {
    stroke-dashoffset: -98.6;
  }

  .method-line {
    inline-size: 84%;
    aspect-ratio: auto;
    overflow: visible;
  }

  #method .method-line path,
  #method.is-drawn .method-line path {
    stroke-dasharray: none;
    stroke-dashoffset: 0;
    stroke-width: 4;
  }

  a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
  }

  header {
    position: static;
    padding-block: 8mm 4mm;
    padding-inline: 14mm;
    background: var(--white);
    break-after: avoid;
  }

  .brand picture:first-child img {
    inline-size: 16mm;
  }

  .brand picture.wordmark img {
    inline-size: 36mm;
  }

  .hero {
    background: var(--navy) !important;
    color: var(--white) !important;
    min-block-size: 0;
    break-after: avoid;
    break-inside: avoid;
  }

  .hero-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) !important;
    align-items: center;
    gap: 6mm;
    padding: 6mm 14mm 8mm;
  }

  .hero h1,
  html[lang="en"] .hero h1 {
    font-size: 26pt !important;
    line-height: 1.25 !important;
  }

  .hero .lead {
    font-size: 11pt;
    color: var(--mist-strong);
  }

  .pdf-meta {
    display: block;
    margin: 0;
    color: var(--mist-text);
    font-size: 10pt;
  }

  .hero-visual {
    min-block-size: 0;
    padding: 0;
  }

  .hero-visual picture,
  .hero-visual img {
    inline-size: min(100%, 68mm) !important;
    filter: none;
  }

  #stats {
    break-before: auto;
    break-inside: avoid;
    padding-block: 6mm;
    padding-inline: 14mm;
    background: var(--white);
    color: var(--ink);
  }

  #stats .instrument {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #stats .instrument article {
    break-inside: avoid;
    min-block-size: 0;
    padding: 3mm;
  }

  #about,
  #method,
  #lab,
  #programs,
  #competitions,
  #partners,
  #sequence,
  #close {
    break-before: page;
    padding-block: 12mm;
    padding-inline: 14mm;
  }

  .section-head,
  h2,
  h3 {
    break-after: avoid;
    break-inside: avoid;
  }

  #methodNodes {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #methodNodes li,
  .skill-chip,
  .lab-card,
  .award-card,
  .partner-card,
  .institution,
  .sequence li,
  .why-list article,
  .contact-card,
  .pdf-contacts li,
  figure,
  .tracks-table,
  .tracks-table tr {
    break-inside: avoid;
  }

  #lab .lab-cards {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3mm;
  }

  .lab-card {
    padding: 3mm;
  }

  .tracks-table {
    display: table;
    inline-size: 100%;
    border-collapse: collapse;
    margin-block-start: 4mm;
  }

  .tracks-table caption {
    caption-side: top;
    text-align: start;
    font-weight: 600;
    margin-block-end: 3mm;
  }

  .tracks-table th,
  .tracks-table td {
    border: 1px solid var(--line);
    padding: 2mm;
    text-align: start;
    vertical-align: top;
    font-size: 9.5pt;
  }

  .tracks-table thead th {
    background: var(--navy);
    color: var(--white);
    font-weight: 600;
  }

  .tracks-table tr.is-picked th {
    border-inline-start: 3px solid var(--orange);
  }

  .picked {
    display: inline;
    margin-inline-start: 0.4rem;
    color: var(--orange-ink);
    font-weight: 600;
  }

  .programs > .offer-note {
    display: none;
  }

  #awards {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 3mm;
  }

  .award-card {
    opacity: 1;
  }

  #partners .partner-card img,
  #partners .institution img {
    filter: none !important;
  }

  #partnerGrid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sequence {
    display: grid;
    gap: 3mm;
  }

  .pdf-standby {
    display: block;
    inline-size: 42mm;
    block-size: auto;
    margin-block: 0 4mm;
    margin-inline-start: auto;
  }

  .close-row,
  .contact-grid {
    display: none !important;
  }

  .pdf-contacts {
    display: grid;
    gap: 2mm;
    margin: 4mm 0 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
  }

  .next .pdf-contacts li {
    display: block;
    margin: 0;
    counter-increment: none;
  }

  .next .pdf-contacts li::before {
    content: none !important;
  }

  .pdf-contacts a {
    color: var(--navy);
    font-weight: 600;
  }

  .about-figure img,
  .photo-slot img {
    max-block-size: 110mm;
    object-fit: contain;
  }

  img {
    max-inline-size: 100%;
    block-size: auto;
  }
}

html[data-pdf] .skip,
html[data-pdf] header .actions,
html[data-pdf] #language,
html[data-pdf] #share,
html[data-pdf] .progress,
html[data-pdf] .ticker,
html[data-pdf] .dock,
html[data-pdf] .accessibility,
html[data-pdf] .hero-buttons,
html[data-pdf] #about .button,
html[data-pdf] .zoom-mark,
html[data-pdf] .toast,
html[data-pdf] #sectionsSheet,
html[data-pdf] #pdfHint,
html[data-pdf] .pdf,
html[data-pdf] .pdf-personal,
html[data-pdf] #printCurrent,
html[data-pdf] #textSize,
html[data-pdf] #motion,
html[data-pdf] dialog,
html[data-pdf] .builder,
html[data-pdf] #partnerTabs,
html[data-pdf] .view-tabs,
html[data-pdf] footer {
  display: none !important;
}

html[data-pdf] .reveal,
html[data-pdf].reveal-io .reveal {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

html[data-pdf] .hero-signal {
  stroke-dashoffset: -98.6;
}

html[data-pdf] .method-line {
  inline-size: 84%;
  aspect-ratio: auto;
  overflow: visible;
}

html[data-pdf] #method .method-line path {
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  stroke-width: 4;
}

html[data-pdf] .tracks-table {
  display: table;
  inline-size: 100%;
  border-collapse: collapse;
}

html[data-pdf] #partners .partner-card img,
html[data-pdf] .institution img {
  filter: none !important;
}

html[data-pdf] .pdf-meta,
html[data-pdf] .pdf-standby,
html[data-pdf] .pdf-contacts {
  display: block;
}

html[data-pdf] .close-row,
html[data-pdf] .contact-grid,
html[data-pdf] .programs > .offer-note {
  display: none !important;
}

.pdf-meta,
.pdf-standby,
.pdf-contacts,
.pdf-personal {
  display: none;
}

#pdfHint {
  margin: 0.5rem 1.25rem;
  color: var(--ink);
  font-weight: 600;
}
