body {
  margin: 0;
  min-height: 100vh;
  background-color: #fffefc;
}

:root {
  --stroke-color: #000000;
  --svg-max-height: 80vh; /* Default for centered layout with 10% top/bottom padding */
}

svg {
  max-width: 100%;
  height: auto;
}

.scrollable {
  padding: 20px;
  overflow-y: auto;
}

.scrollable svg {
  width: 100vw;
  max-height: none;
}

.centered {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.centered svg {
  max-height: var(--svg-max-height);
}

path {
  fill: #fffefc;
  stroke: var(--stroke-color, #000000);
  stroke-width: 0.264583;
  stroke-linecap: square;
  stroke-dasharray: none;
  stroke-opacity: 1;
  paint-order: fill markers stroke;
}

a:hover path {
  fill: #cddc39;
  stroke: #cddc39;
}

/* visited link */
a:visited path{
  fill: #cddc39;
  stroke: #000000;
}
