:root {
  --toc-width: 250px;        /* sidebar width */
  --content-min: 300px;      /* minimum content width */
  --gap: 1.5em;                /* column gap */
}

body {
  font-family: "Roboto";
  padding: 2em;
  line-height: 1.6;
  font-size: 16px;
  background: white;
}

article {
  container-type: inline-size;
}

.wiki-body {
  display: grid;
  grid-template-columns: var(--toc-width) minmax(var(--content-min), 1fr);
  grid-template-areas:
    "- header"
    "toc content";
  gap: var(--gap);
}

.wiki-body.print-view {
  display: block;
}

header {
  grid-area: header;
}

/* TOC sidebar */
.wiki-toc {
  border: 1px solid #ddd;
  background: #f9f9f9;
  padding: 1em;
  height: fit-content;
  grid-area: toc;

  position: sticky;
  top: 5em;
}

.wiki-toc ul {
  margin: 0 0 0 1.25em;
}

/* Content area */
.entry-content {
  grid-area: content;
  max-width: 80ch; /* ~70 characters per line */
}

/* Sticky only when container is wide enough */
/* ideally - calc(var(--toc-width) + var(--content-min) + var(--gap)) */
@container (width < 640px) {
  .wiki-toc {
    position: unset;
  }

  .wiki-body {
    grid-template-columns: 1fr;
    grid-template-areas:
      "header"
      "toc"
      "content";
  }
}

.qr-code img {
  width: 3.5cm;
  padding: 0.3cm;
}

.entry-content kbd {
    font-size: 1.2em;
    font-weight: 600;
}

@media print {
  /* Disable grid layout */
  .wiki-body {
    display: block !important;
  }

  /* Hide the TOC */
  .wiki-toc {
    display: none !important;
  }

  /* Ensure content spans full width */
  .entry-content {
    max-width: 100% !important;
  }
}
