/* THE WORST LAYOUT IN CSS HISTORY */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  scrollbar-color: var(--border) var(--darkgray);
}
table, hr, p, blockquote, pre, h1, h2, h3, .tab {
  margin: 1em 0;
}

/* COLOR VARIABLES */
:root {
  --white: #DDD;
  --black: #000;
  --lightgray: #1A1A1A;
  --darkgray: #111;
  --bold: #EEE;
  --blue: #4F8CFF;
  --mark: #FACC15;
  --red: #EB1F48;
  --border: #555;
  --s: #F472B6;
  --a: #22D3EE;
  --b: #4ADE80;
  --c: #A3E635;
  --d: #FACC15;
  --e: #FB923C;
  --f: #E93B3B;
  --unrated: #9CA3AF;
}

/* BODY */
body {
  background: var(--black);
  color: var(--white);
  font-family: monospace;
  font-size: 100%;
  line-height: 1.5;
  overflow-wrap: break-word;
  padding: 1em;
  width: 100%;
  max-width: 60em;
  margin: 0 auto;
}
@media (min-width: 768px) {
  body {
    font-size: 120%;
  }
}

#header {
  background-position: center;
  background-size: cover;
  min-height: 15em;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1em;
  padding: 1em;
}

#header img {
  display: block;
  max-width: 100%;
  max-height: 10em;
  width: auto;
  height: auto;
  border: 2px solid var(--darkgray);
}

#header div {
  flex: 1 1 300px;
  min-width: 0;
  padding: 0.5rem;
  border: 2px solid var(--darkgray);
  background: rgba(0, 0, 0, 0.75);
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}

@media (min-width: 480px) {
  #header div {
    font-size: 2em;
  }
}

@media (min-width: 768px) {
  #header div {
    font-size: 3em;
  }
}

@media (max-width: 480px) {
  #header {
    min-height: 10em;
    padding: 0.5em;
  }
  #header div {
    padding: 0.3rem;
  }
}

/* NAV & FOOTER */
nav, footer {
  background: var(--lightgray);
  color: var(--white);
  font-weight: bold;
  padding: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5em;
  font-size: 90%;
}
nav img, footer img {
  height: 3em;
}

/* MAIN */
main {
  background: var(--darkgray);
  padding: 2em 1em;
}
main > *:first-child { margin-top: 0; }
main > *:last-child { margin-bottom: 0; }

/* TABLES */
table {
  width: 100%;
  background: var(--lightgray);
  border-collapse: collapse;
  border: 1px solid var(--border);
  text-align: center;
  font-size: 0.95em;
}
th, td {
  border: 1px solid var(--border);
  padding: 0.4em;
  font-size: 0.95em;
}
thead {
  color: var(--bold);
  font-weight: bold;
  font-size: 0.95em;
}

td.tier, th.tier {
  width: 6em;
}

table.skins { table-layout: fixed; }
table.skins th,
table.skins td {
  width: 20%;
}

table.skins img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  image-rendering: pixelated;
}

/* LISTS */
ul {
  padding-left: 1.2em;
  list-style-type: square;
}

ol {
  padding-left: 2em;
}

/* TABS & TAB IMAGES */
.tab {
  width: 100%;
  border: 1px solid var(--border);
  background: var(--lightgray);
  font-size: 0.9em;
  padding: 0.5em 1em;
  overflow: hidden;
}
.tab img, .tab video {
  display: block;
  max-width: 100%;
  max-height: 32em;
  width: auto;
  height: auto;
  margin: 1em auto;
}

/* TEXT */
p.source, p.description {
  font-weight: bold;
  font-size: 0.85em;
}
p.source { text-align: right; }
p.description { text-align: center; }
p.arabic {
  font-size: 1.5em;
  text-align: right;
}

/* HEADINGS */
h1, h2, h3 {
  color: var(--bold);
  font-weight: bold;
}
h1 {
  text-align: center;
  background: var(--lightgray);
  padding: 0.5em;
}
h2, h3 {
  border-left: 0.2em solid var(--lightgray);
  padding-left: 0.5em;
}
:target {
  background: var(--lightgray);
  border-left: 0.2em solid var(--blue);
  padding-left: 0.5em;
}

/* BOLD */
b, strong {
  color: var(--bold);
  font-weight: bold;
}

/* SELECTION */
::selection {
  color: var(--darkgray);
  background: var(--blue);
}

/* LINKS */
a {
  text-decoration: none;
  color: var(--blue);
}
a:hover, a:active {
  color: var(--black);
  background: var(--blue);
}
a code {
  color: inherit;
}
a:hover code,
a:active code {
  background: inherit;
  border-color: var(--black);
}
a::selection,
a code::selection {
  color: var(--white);
}

/* MARK */
mark {
  background: var(--mark);
  opacity: 0.7;
  color: var(--black);
}
mark::selection {
  color: var(--mark);
}

/* IMPORTANT */
.important {
  color: var(--red);
}
.important::selection {
  background: var(--red);
}

/* HORIZONTAL LINE */
hr {
  border: none;
  height: 1px;
  background: var(--white);
}

/* CODE & PRE */
code, pre {
  background: var(--lightgray);
  color: var(--bold);
  border: 1px solid var(--border);
}
code {
  padding: 0.12em 0.3em;
  font-size: 0.9em;
}
pre {
  width: 100%;
  font-size: 0.8em;
  padding: 1em;
  white-space: pre-wrap;
  overflow-x: auto;
}

/* BLOCKQUOTE */
blockquote {
  border-left: 0.2em solid var(--lightgray);
  padding-left: 0.5em;
  opacity: 0.7;
}

/* CENTER */
.center {
  text-align: center;
}
.center a {
  margin: 0 0.7em;
  font-weight: bold;
  font-size: 90%;
}

/* PIXEL */
.pixel {
  image-rendering: pixelated;
}

/* TIERS */
.s,.a,.b,.c,.d,.e,.f,.unrated {
  color: #111;
}
.s { background-color: var(--s); }
.a { background-color: var(--a); }
.b { background-color: var(--b); }
.c { background-color: var(--c); }
.d { background-color: var(--d); }
.e { background-color: var(--e); }
.f { background-color: var(--f); }
.unrated { background-color: var(--unrated); }
.s::selection { color: var(--s); }
.a::selection { color: var(--a); }
.b::selection { color: var(--b); }
.c::selection { color: var(--c); }
.d::selection { color: var(--d); }
.e::selection { color: var(--e); }
.f::selection { color: var(--f); }
.unrated::selection { color: var(--unrated); }

/* stop looking at my css, you pervert! */
