html {
  box-sizing: border-box;
}

*, *::before, *::after {
  box-sizing: inherit;
}

body {
  margin: 0;
  padding: 10px;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.35;
  font-size: 16px;
}

h1 {
  margin: 0 0 12px 0;
  font-size: 1.6rem;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

#indexlist {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}

#indexlist th,
#indexlist td {
  padding: 6px 4px;
  vertical-align: top;
}

th.indexcolname,
td.indexcolname {
  text-align: left;
}

th.indexcollastmod,
td.indexcollastmod {
  white-space: nowrap;
  font-size: 0.92rem;
}

th.indexcolsize,
td.indexcolsize {
  white-space: nowrap;
  text-align: right;
  width: 4.5em;
}

td.indexcolname a {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 700px) {
  body {
    padding: 8px;
    font-size: 15px;
  }

  h1 {
    font-size: 1.35rem;
  }

  th.indexcolicon,
  td.indexcolicon,
  th.indexcoldesc,
  td.indexcoldesc {
    display: none;
  }

  th.indexcollastmod,
  td.indexcollastmod {
    width: 7.5em;
    font-size: 0.85rem;
  }

  th.indexcolsize,
  td.indexcolsize {
    width: 3.8em;
    font-size: 0.85rem;
  }
}