html {
  box-sizing: border-box;
  height: 100vh;
  background: transparent;
  user-select: none;
}

html, body { margin: unset; }
*, *:before, *:after { box-sizing: inherit; }

body {
  margin: 10vh auto 0;

  width: 35vw;
  color: white;

  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
  font-size: 1em;
}

h1, h2 {
  margin: unset;
  line-height: 1;
}

h1 { font-size: 1.75em; }
h2 { font-size: 1.125em; }

.heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1em;
  padding: 1em 1em 0;
}

.factions {
  position: sticky;
  top: 0;
  z-index: 3;

  font-size: .9em;
  background-color: #0C0C0C;

  padding: 1em 0;
}

.wrapper {
  min-height: 60vh;
  max-height: 80vh;
  overflow-y: scroll;
  
  border-radius: .25em;
  background-color: rgba(black, .75);

  &::-webkit-scrollbar { display: none; }
}

table {
  border-collapse: collapse;
  width: 100%;
  border-radius: inherit;

  th {
    position: sticky;
    top: 3em;
    text-align: left;
    z-index: 2;

    background-color: #0C0C0C;
    border-top: 1px solid #0f0f0f;
  }

  th, td {
    padding: .6em .3em;

    &:first-child { padding-left: 1em; }
    &:last-child { padding-right: 1em; }
  }

  tr {
    td {
      position: relative;
      overflow: hidden;

      span.player__status {
        position: absolute;
        top: .45em;
        right: 1em;

        font-size: .9em;
        font-weight: normal;
        line-height: 1.15;
        padding: .4em .5em;

        background-color: rgba(white, .125);
        border-radius: 3px;
      }

      &:nth-child(1) { width: 7ch !important; }
      &:nth-child(2) {
        max-width: 36ch;
        font-weight: bold;
        overflow-x: auto;
        white-space: nowrap;
        
        &::-webkit-scrollbar { display: none; }
      }
      &:nth-child(3) { width: 15ch !important; }
      &:nth-child(4) { width: 13ch !important; }
    }

    &:nth-child(even) { background-color: rgba(0, 0, 0, .25); }
  }
}

.group {
  &::before {
    content: "";
    height: .65em;
    width: .65em;
    border-radius: 50%;
    display: inline-block;
    color: inherit;
    border: 2px solid rgba(255, 255, 255, 0.125);

    margin-right: .4em;
    margin-bottom: 1px;
  }

  &--0::before { background-color: rgb(255, 255, 255); }
  &--1::before { background-color: rgb(0, 95, 190); }
  &--2::before { background-color: rgb(200, 0, 0); }
  &--3::before { background-color: rgb(0, 0, 170); }
  &--4::before { background-color: rgb(255, 180, 0); }
  &--5::before { background-color: rgb(255, 180, 0); }
  &--6::before { background-color: rgb(255, 255, 255); }
  &--7::before { background-color: rgb(0, 64, 0); }
  &--8::before { background-color: rgb(171, 0, 150); }
  &--9::before { background-color: rgb(0, 166, 133); }
}

ol.inline {
  display: flex;

  list-style: unset;
  list-style-type: none;
  margin: 0;
  padding: unset;

  li:not(:last-child) { margin-right: 1em; }
}

ol.inline.stats {
  justify-content: center;

  abbr { text-decoration: none; }
}

.show { display: show; }
.hidden { display: none; }