size: 3 KiB

* {
  box-sizing: border-box;
}

:root {
  --bg: white;
  --fg: black;

  --table-border-color: #ddd;
  --table-row-hover-bg: papayawhip;
  --table-border-color: black;
  --table-stripe-bg: #f5f5f5;
  --pre-bg: whitesmoke;
  --pre-border-color: gainsboro;

  --serif-fonts: Charter, "Bitstream Charter", "Sitka Text", Cambria, serif;
  --sans-serif-fonts: system-ui, sans-serif;
  --monospace-fonts:
    ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas,
    "DejaVu Sans Mono", monospace;

  background-color: var(--bg);
  color: var(--fg);
  font-family: var(--serif-fonts);
  font-size: 100%;
}

.monospace,
code,
pre {
  font-family: var(--monospace-fonts);
  font-size: 1rem;
}

#breadcrumbs {
  font-family: var(--monospace-fonts);
  font-size: 1.2rem;
  font-weight: bold;
}

header h1 {
  font-size: inherit;
  font-weight: inherit;
  display: inline-block;
  margin: 0;
}

table {
  text-align: left;
  border-collapse: collapse;
  max-width: 100%;
  overflow: scroll;

  white-space: nowrap;
  /*border-top: 2px solid var(--table-border-color);*/
}
/*
tbody tr:nth-child(odd) {
  background-color: var(--table-odd-row-bg);
}
tr {
  border-top: 1px solid var(--table-border-color);
}
*/
tbody tr:nth-child(odd) {
  background-color: var(--table-stripe-bg);
}
tbody tr:hover {
  background-color: var(--table-row-hover-bg);
}
td,
th {
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
}
td + td,
th + th {
  padding-left: 2rem;
}
td:first-child,
th:first-child {
  padding-left: 0.4rem;
}
td:last-child,
th:last-child {
  padding-right: 0.4rem;
}
table {
  font-variant-numeric: tabular-nums;
}

img,
video {
  max-width: 100%;
  max-height: 100%;
}

summary {
  cursor: pointer;
  user-select: none;
  width: fit-content;
}

pre {
  overflow-x: auto;
  max-width: 60rem;
}
.readme-content {
  margin: 0;
}
pre.readme-content {
}
div.readme-content {
  max-width: 50rem;
  background-color: transparent;

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 1;
    margin-top: 2rem;
  }

  p {
    line-height: 1.4;
    margin-top: 1.5rem;
  }

  ul p {
    margin-top: 0.5rem;
    margin-bottom: 0.2rem;
  }

  code {
    border: 1px solid var(--pre-border-color);
    border-radius: 4px;
    padding: 0 5px;
  }
  pre {
    background-color: var(--pre-bg);
    padding: 1rem;
    code {
      border: none;
      padding: 0;
    }
  }
}

.pre-wrap {
  white-space: pre-wrap;
}

.git-clone-command {
  padding: 0.5rem 0;
  overflow-x: auto;
  margin-top: 0.5rem;
  width: fit-content; /* avoid trailing whitespace when selecting text */
  max-width: 100%;

  &:before {
    content: "$ ";
  }
}

.repo-nav {
  ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
  }
  li {
    display: inline-block;
    padding: 0.5rem 0.5rem;
    border: 1px solid transparent;

    &.active {
      border: 1px solid var(--fg);
      border-bottom: 1px solid var(--bg);
      z-index: 1;

      a {
        color: inherit;
        text-decoration: none;
        cursor: default;
        pointer-events: none;
      }
    }
  }
}
.repo-content {
  border: 1px solid var(--fg);
  margin-top: -1px; /* so nav item's bottom border overlaps its border */
  width: fit-content;
  max-width: 100%;
  overflow-x: auto;
  padding: 1rem;

  *:first-child {
    margin-top: 0;
  }
  *:last-child {
    margin-bottom: 0;
  }
}

.blob-content {
  padding: 1rem;
  width: fit-content;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--table-border-color);
}

@media screen and (max-width: 600px) {
  .repo-content {
    padding: 0.5rem;
  }
  .blob-content {
    padding: 0.5rem;
  }
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #222;
    --fg: #ddd;

    --table-border-color: #444;
    --table-row-hover-bg: #444;
    --table-border-color: #ddd;
    --table-stripe-bg: #2a2a2a;
    --pre-bg: #444;
    --pre-border-color: #555;

    font-family: var(--sans-serif-fonts);
  }

  a {
    color: cornflowerblue;
  }
  a:visited {
    color: violet;
  }
}