* {
  box-sizing: border-box;
}
body,
html {
  margin: 0 0;
  padding: 0 0;
  width: 100%;
  height: 100%;
}

article:not(article article) {
  max-width: var(--article-w);
  margin-right: 150px;
  margin: 0 auto;
  padding-right: var(--footnote-w);
}

article header {
  padding-right: 0;
  margin-right: calc(var(--footnote-w) * -1);
}

article header {
  min-height: 32mm;
}

aside + section p:first-child {
  margin-top: 0;
}

.media--pcb {
  width: 70mm;
}
dialog {
  max-width: var(--main-w);
  height: 100%;
  max-height: 100%;
  border: none;
  overflow: hidden;
  outline: none;
  background-color: transparent;
  margin: 0 auto;
  padding: 0 0;
}

dialog img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  max-height: calc(100svh - 2rem);
}

dialog::backdrop {
  background-color: transparent;
  transition: 0.2s linear;
}

dialog[open]::backdrop {
  background-color: black;
  opacity: 0.5;
}

sup li:before,
li[count]:before {
  display: inline;
  float: left;
  margin-right: 1ch;
  font-weight: bold;
  content: attr("count");
  content: " [" attr(count) "]";
  color: var(--accent);
}

li[count],
aside:not(.footnotes):not(aside aside) {
  float: right;
  clear: right;
  width: var(--footnote-w);
  margin-right: calc((var(--footnote-w) * -1));
  padding-left: var(--gap);
  margin-bottom: 1em;
}

li[count] {
  margin-top: -1em;
}

.list--frontpage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 1rem;
  list-style-type: none;
  padding: 0 0;
}

article table {
  width: calc(100% +var(--footnote-w)) !important;
  margin-right: calc((var(--footnote-w) * -1));
  border-collapse: collapse;
  table-layout: fixed;
  margin-top: 2rem;
  -fs-table-paginate: paginate;
  page-break-inside: auto;
}


article table tr {
  break-inside: avoid;
}

tr img {
  max-height: 30px;
}

thead {
  display: table-header-group;
  position: sticky;
}
tfoot {
  display: table-footer-group;
}

tr {
  border-bottom: 1px solid black;
}

th:nth-child(3) {
  width: 30%;
}
td {
  padding: 0.25em;
  font-size: 7px;
  height: 30px;
}

th {
  padding: 0.25em;
  height: 40px;
}

td:empty {
  display: none;
}

.grid p {
  display: grid;
  margin-right: -100px;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  break-before: page;
}