body {
  color: #333333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1em;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5em; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1.25em;
  margin: 0;
  text-rendering: optimizeLegibility; }

h1 {
  font-size: 2.25em; }

h2 {
  font-size: 2em; }

h3 {
  font-size: 1.75em; }

h4 {
  font-size: 1.5em; }

h5 {
  font-size: 1.25em; }

h6 {
  font-size: 1em; }

p {
  margin: 0 0 0.75em; }

a {
  color: #477dca;
  text-decoration: none;
  -webkit-transition: color 0.1s linear;
  -moz-transition: color 0.1s linear;
  transition: color 0.1s linear; }
  a:hover {
    color: #2c5999; }
  a:active, a:focus {
    color: #2c5999;
    outline: none; }

hr {
  border-bottom: 1px solid #dddddd;
  border-left: none;
  border-right: none;
  border-top: none;
  margin: 1.5em 0; }

img {
  margin: 0;
  max-width: 100%; }

abbr, acronym {
  border-bottom: 1px dotted #dddddd;
  cursor: help; }

address {
  display: block;
  margin: 0 0 0.75em; }

hgroup {
  margin-bottom: 0.75em; }

del {
  color: #595959; }

blockquote {
  border-left: 2px solid #dddddd;
  color: #595959;
  margin: 1.5em 0;
  padding-left: 0.75em; }

cite {
  color: #737373;
  font-style: italic; }
  cite:before {
    content: '\2014 \00A0'; }

table {
  border-collapse: collapse;
  margin: 0.75em 0;
  table-layout: fixed;
  width: 100%; }

th {
  border-bottom: 1px solid #b7b7b7;
  font-weight: bold;
  padding: 0.75em 0;
  text-align: left; }

td {
  border-bottom: 1px solid #dddddd;
  padding: 0.75em 0; }

tr, td, th {
  vertical-align: middle; }

ul, ol {
  margin: 0;
  padding: 0;
  list-style-type: none; }
dl {
  line-height: 1.5em;
  margin-bottom: 0.75em; }
  dl dt {
    font-weight: bold;
    margin-top: 0.75em; }
  dl dd {
    margin: 0; }

h1 {
  font-family: "league-gothic", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-size: 6.25em;
  text-transform: uppercase; }
  .wf-active h1 {
    visibility: visible; }
  .wf-loading h1 {
    visibility: hidden; }

h2 {
  font-family: "league-gothic", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  font-size: 1.625em; }
  .wf-active h2 {
    visibility: visible; }
  .wf-loading h2 {
    visibility: hidden; }

h3 {
  font-family: "league-gothic", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  font-size: 1.25em; }
  .wf-active h3 {
    visibility: visible; }
  .wf-loading h3 {
    visibility: hidden; }

.cover {
  float: left;
  width: 40%;
  position: relative;
  text-align: center; }
  .cover .norm {
    width: 100%; }
  .cover .flip {
    position: absolute;
    top: 0px;
    left: 100%;
    width: 100%;
    -webkit-transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -ms-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1);
    z-index: -1; }

.info {
  margin-left: 45.9%;
  width: auto;
  height: 100%;
  color: #fff;
  background-color: #be0606;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #be0606), color-stop(100%, #850303));
  background-image: -webkit-linear-gradient(left, #be0606, #850303);
  background-image: linear-gradient(to right,#be0606, #850303);
  padding: 50px 30px 50px 20px;
  *zoom: 1;
  z-index: 2; }
  .info:before, .info:after {
    content: " ";
    display: table; }
  .info:after {
    clear: both; }
  .info .divider {
    position: absolute;
    top: 0px;
    left: 40%;
    width: 6%;
    height: 100%;
    z-index: -1; }
  .info hr {
    background: rgba(255, 255, 255, 0.15);
    border: 0;
    display: block;
    width: auto;
    height: 2px; }
  .info .subtitle {
    font-family: 'proxima-nova', sans-serif;
    text-transform: none;
    font-weight: 600; }
  .info .desc {
    font-size: 1em;
    line-height: 1.5em;
    margin: 30px auto 15px; }
  .info .creators li {
    float: left;
    width: 50%;
    margin: 10px auto;
    font-size: 0.875em; }
  .info .creators h3, .info .creators p {
    margin: 0 auto;
    padding: 0; }
  .info .creators .name {
    font-weight: 600; }
  .info .creators .role {
    text-transform: uppercase;
    font-size: 1em; }

.characters-section ul li {
  float: left;
  width: 33%;
  height: 200px;
  color: #fff;
  text-align: center; }
  .characters-section ul li a {
    color: #fff; }
  .characters-section ul li .image {
    width: 100%;
    height: 150px;
    overflow: hidden; }
  .characters-section ul li img {
    width: 94%;
    margin: 3%;
    margin-left: 0 auto; }

.datapoints {
  overflow: auto;
  text-align: left; }
  .datapoints li {
    float: left;
    width: 50%;
    margin: 10px 0; }
  .datapoints p {
    margin: 0;
    padding: 0; }

.stats, .bio {
  padding: 20px 20px 20px 40px;
  text-align: left; }

.other-comics {
  padding: 50px;
  text-align: center;
  background-color: #414141;
  box-shadow: inset 0 5px 15px rgba(0, 0, 0, 0.5); }
  .other-comics a {
    border-bottom: none; }
    .other-comics a:hover {
      border-bottom: none; }
  .other-comics ul.comic-list li {
    display: inline-block;
    width: 200px;
    height: 400px;
    color: #fff;
    text-align: center;
    vertical-align: top; }
    .other-comics ul.comic-list li a {
      color: #fff; }
    .other-comics ul.comic-list li img {
      width: 94%;
      margin: 3%;
      margin-left: 0 auto; }

.search-results {
  position: relative; }
  .search-results .characters li {
    position: relative;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3);
    width: 100%;
    height: 300px; }
    .search-results .characters li a {
      display: block;
      width: 100%;
      height: 300px;
      margin: 0;
      padding: 0;
      border: none;
      overflow: hidden;
      position: relative; }
    .search-results .characters li h1 {
      font-size: 5.625em;
      margin-top: 70px;
      white-space: nowrap; }
    .search-results .characters li h2 {
      margin-top: -10px; }
    .search-results .characters li img {
      width: 400px;
      height: auto;
      position: absolute;
      top: 0px;
      left: 0px; }
    .search-results .characters li .label {
      position: relative;
      background-color: #be0606;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #be0606), color-stop(100%, #850303));
      background-image: -webkit-linear-gradient(left, #be0606, #850303);
      background-image: linear-gradient(to right,#be0606, #850303);
      width: auto;
      height: 300px;
      margin-left: 400px;
      padding: 20px 0 0 10%;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box; }
      .search-results .characters li .label .divider {
        position: absolute;
        top: 0px;
        left: -29px;
        width: 30px;
        height: 100%;
        background-image: url(/img/divider.png);
        background-size: 100% 100%; }
    .search-results .characters li:nth-child(2n) img {
      position: absolute;
      top: 0px;
      right: 0px;
      left: auto; }
    .search-results .characters li:nth-child(2n) .label {
      margin-left: 0%;
      margin-right: 400px;
      background-color: #0690bd;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #0690bd), color-stop(100%, #003252));
      background-image: -webkit-linear-gradient(right, #0690bd, #003252);
      background-image: linear-gradient(to left,#0690bd, #003252);
      text-align: right;
      padding: 20px 10% 0 0; }
      .search-results .characters li:nth-child(2n) .label .divider {
        position: absolute;
        top: 0px;
        right: -29px;
        left: auto;
        background-image: url(/img/divider-flip.png); }

.search {
  padding: 1px;
  text-align: center; }
  .search h1 {
    margin-top: 100px;
    text-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); }
  .search form {
    max-width: 800px;
    margin: 0 auto; }
  .search .search-box {
    margin: 20px;
    *zoom: 1; }
    .search .search-box:before, .search .search-box:after {
      content: " ";
      display: table; }
    .search .search-box:after {
      clear: both; }
    .search .search-box input {
      width: 70%;
      float: left;
      margin: 0 auto;
      padding: 20px;
      font-size: 1.875em;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
      border: none;
      background-color: rgba(255, 255, 255, 0.9);
      outline: none; }
  .search .options {
    clear: both;
    margin: 20px;
    padding: 20px; }
  .search .search-type {
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    border: none;
    background-color: rgba(255, 255, 255, 0.9);
    color: #666;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    width: 25%;
    float: right;
    margin: 0 auto;
    padding: 25px;
    text-align: left; }
    .search .search-type .arrow-down {
      position: absolute;
      top: 45%;
      right: 20px;
      width: 0;
      height: 0;
      border-left: 8px solid transparent;
      border-right: 8px solid transparent;
      border-top: 8px solid #666; }
    .search .search-type p {
      margin: 0 auto;
      font-size: 1.25em; }
    .search .search-type select {
      position: absolute;
      top: 0px;
      right: 0px;
      bottom: 0px;
      left: 0px;
      width: 100%;
      height: 100%;
      border: none;
      background: none;
      outline: none;
      opacity: 0;
      padding: 30px;
      -webkit-appearance: none;
      -moz-appearance: none;
      -ms-appearance: none;
      -o-appearance: none;
      appearance: none;
      filter: alpha(opacity=0);
      z-index: 100; }
  .search .searchbtn {
    font-family: "league-gothic", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-transform: uppercase;
    font-size: 1.875em;
    font-weight: normal;
    width: 200px;
    margin: 20px auto;
    padding: 10px 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    border: none;
    background-color: rgba(255, 255, 255, 0.9);
    color: #666;
    outline: none; }
    .search .searchbtn:hover {
      background-color: white; }
    .search .searchbtn:active {
      background-color: white;
      -webkit-transform: scale(0.95);
      -moz-transform: scale(0.95);
      -ms-transform: scale(0.95);
      -o-transform: scale(0.95);
      transform: scale(0.95); }
    .wf-loading .search .searchbtn {
      visibility: hidden; }
  .search .cover-grid {
    position: absolute;
    top: 0px;
    right: 0px;
    left: 0px;
    z-index: -1; }
    .search .cover-grid li {
      width: 200px;
      height: 200px; }
  .search .overlay {
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    background-color: rgba(0, 0, 0, 0.6); }

.saved-searches {
  text-align: center;
  max-width: 900px;
  margin: 20px auto;
  padding: 20px;
  border-top: solid 2px rgba(255, 255, 255, 0.5); }
  .saved-searches li {
    display: inline-block;
    padding: 10px; }
    .saved-searches li a {
      background-color: rgba(255, 255, 255, 0.9);
      border-radius: 4px;
      padding: 5px 10px;
      color: #005b85; }
      .saved-searches li a:hover {
        background-color: white; }
      .saved-searches li a:active {
        background-color: white;
        -webkit-transform: scale(0.95);
        -moz-transform: scale(0.95);
        -ms-transform: scale(0.95);
        -o-transform: scale(0.95);
        transform: scale(0.95); }

.no-results {
  background-image: url("/img/gulp.png");
  background-position: center 20px;
  background-repeat: no-repeat;
  background-color: #555;
  width: 100%;
  height: 500px;
  color: #fff;
  text-align: center;
  font-size: 20px; }
  @media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 1.3 / 1), only screen and (min-resolution: 125dpi), only screen and (min-resolution: 1.3dppx) {
    .no-results {
      background-image: url("/img/gulp@2x.png");
      background-size: 300px 278px; } }
  .no-results p {
    padding-top: 300px; }

html, body {
  min-height: 100%; }

body {
  background-color: #110000;
  margin: 0;
  padding: 0;
  color: #fff;
  font-family: "proxima-nova", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px; }

a {
  color: #fff;
  border-bottom: dotted 1px rgba(255, 255, 255, 0.5); }
  a:hover {
    color: #fff;
    border-bottom: dotted 1px white; }

div.container {
  position: relative;
  min-height: 100%; }

.main-nav {
  position: relative;
  padding: 0 20px;
  background-color: #fff;
  box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.6);
  z-index: 100; }
  .main-nav a {
    position: relative;
    display: inline-block;
    color: #ccc;
    border: none;
    font-family: "league-gothic", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 2.5em;
    text-transform: uppercase;
    line-height: 40px;
    margin: 0 20px 0 0;
    padding: 10px; }
    .wf-loading .main-nav a {
      visibility: hidden; }
    .main-nav a:hover {
      color: #fff; }
      .main-nav a:hover span {
        z-index: -1;
        background-color: #be0606;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0px;
        right: 0px;
        bottom: 0px;
        left: 0px;
        -webkit-transform: skew(10deg);
        -moz-transform: skew(10deg);
        -ms-transform: skew(10deg);
        -o-transform: skew(10deg);
        transform: skew(10deg); }
  .main-nav .search {
    float: right;
    max-width: 200px;
    margin-right: 0;
    padding: 8px; }
    .main-nav .search .search-input {
      border: 2px solid #ccc;
      border-radius: 6px;
      color: #999;
      background: none !important;
      box-shadow: none;
      margin-bottom: 0 !important;
      font-size: 1.125em;
      margin: 0;
      padding: 10px;
      outline: none; }

.pagination-div {
  padding: 50px;
  text-align: center;
  background-color: #414141;
  box-shadow: inset 0 5px 15px rgba(0, 0, 0, 0.5);
  z-index: 100; }

ul.pagination {
  margin: 0 auto;
  text-align: center; }
  ul.pagination li {
    display: inline-block; }
    ul.pagination li.disabled a {
      display: none; }
    ul.pagination li.active a {
      background-color: #000; }
    ul.pagination li a {
      padding: 5px 10px;
      display: block;
      border: none;
      background-color: rgba(0, 0, 0, 0.3);
      border-radius: 2px; }

.readmore-js-toggle, .readmore-js-section {
  display: block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.readmore-js-section {
  overflow: hidden; }

.readmore-js-toggle {
  border-bottom: none;
  background-color: #444;
  border-radius: 4px;
  text-align: center;
  margin: 20px 20px 20px 40px; }
  .readmore-js-toggle:hover {
    border-bottom: none;
    background-color: #666; }

footer {
  text-align: center;
  color: #999;
  padding: 10px; }
  footer p {
    display: inline-block;
    margin: 10px auto;
    padding: 10px;
    line-height: 50px; }
    footer p img {
      vertical-align: middle; }
    footer p a {
      border-bottom: none; }

.error {
  background-image: url("/img/aargh.png");
  background-position: center;
  background-repeat: no-repeat;
  background-color: #9d0000;
  width: 100%;
  height: 700px;
  color: #fff;
  text-align: center;
  font-size: 20px; }
  @media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 1.3 / 1), only screen and (min-resolution: 125dpi), only screen and (min-resolution: 1.3dppx) {
    .error {
      background-image: url("/img/aargh@2x.png");
      background-size: 574px 479px; } }
  .error p {
    padding-top: 550px; }

/* ---------- VS BATTLE ---------- */
.battle {
  text-align: center;
  padding: 30px 0 40px; }
  .battle h1 {
    font-size: 44px;
    margin-bottom: 4px; }
  .battle-tag {
    color: #aaa;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 30px; }
  .fighters {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-justify-content: center;
    justify-content: center;
    gap: 30px;
    margin: 0 auto 30px;
    max-width: 1000px; }
  .fighter {
    -webkit-flex: 1;
    flex: 1;
    max-width: 420px;
    background: #141414;
    border: 1px solid #2a2a2a;
    padding: 10px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease; }
    .fighter img {
      width: 100%;
      height: 380px;
      -o-object-fit: cover;
      object-fit: cover;
      display: block; }
    .fighter .label {
      padding: 14px 10px; }
    .fighter h2 {
      font-size: 24px;
      margin: 0 0 2px; }
    .fighter .subtitle {
      color: #999;
      font-size: 13px;
      margin: 0 0 10px; }
    .fighter .powers {
      min-height: 22px; }
    .fighter .power {
      display: inline-block;
      background: #be0606;
      color: #fff;
      font-size: 11px;
      padding: 3px 8px;
      margin: 2px;
      border-radius: 2px; }
    .fighter .power.none {
      background: #414141;
      font-style: italic; }
    .fighter .score {
      margin-top: 10px;
      font-size: 14px;
      color: #ddd; }
    .fighter.winner {
      border-color: #be0606;
      box-shadow: 0 0 25px rgba(190, 6, 6, .5);
      -webkit-transform: scale(1.02);
      transform: scale(1.02); }
  .vs {
    -webkit-align-self: center;
    align-self: center;
    font-size: 56px;
    font-weight: 900;
    color: #be0606;
    text-shadow: 0 0 20px rgba(190, 6, 6, .6);
    font-style: italic; }
  .result h3 {
    font-size: 30px;
    margin: 0 0 20px;
    color: #fff; }
  .battle-btn {
    display: inline-block;
    font-size: 16px;
    padding: 12px 40px;
    text-decoration: none; }

/* ---------- VS BATTLE PICKER ---------- */
.battle-pick {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  -webkit-justify-content: center;
  justify-content: center;
  gap: 20px;
  margin: 0 auto 30px;
  max-width: 1000px;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }
  .battle-pick .pick {
    -webkit-flex: 1;
    flex: 1;
    max-width: 380px;
    text-align: left;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    gap: 6px; }
  .pick-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #999; }
  .battle-pick select {
    width: 100%;
    background: #141414;
    color: #ddd;
    border: 1px solid #2a2a2a;
    padding: 8px 10px;
    font-size: 14px;
    -webkit-appearance: menulist;
    appearance: menulist; }
  .battle-pick .pick-fighter {
    max-height: 210px;
    overflow-y: auto; }
  .vs-symbol {
    -webkit-align-self: center;
    align-self: center;
    font-size: 34px;
    font-weight: 900;
    font-style: italic;
    color: #be0606;
    text-shadow: 0 0 16px rgba(190, 6, 6, .6);
    padding-bottom: 14px; }
  .fight-btn {
    -webkit-align-self: center;
    align-self: center;
    font-size: 16px;
    padding: 11px 34px;
    cursor: pointer;
    border: none; }

/* power bars */
.powerbar {
  height: 8px;
  background: #2a2a2a;
  border-radius: 4px;
  margin-top: 12px;
  overflow: hidden; }
  .powerbar span {
    display: block;
    height: 100%;
    background: linear-gradient(to right, #be0606, #ff4b4b);
    border-radius: 4px;
    -webkit-transition: width .8s ease;
    transition: width .8s ease; }
  .fighter.winner .powerbar span {
    background: linear-gradient(to right, #ff6a00, #ffd700);
    box-shadow: 0 0 12px rgba(255, 215, 0, .6); }

/* fighter search autocomplete */
.fighter-search { position: relative; }
.battle-pick .pick-fighter-search {
  width: 100%;
  background: #141414;
  color: #ddd;
  border: 1px solid #2a2a2a;
  padding: 9px 10px;
  font-size: 14px; }
  .battle-pick .pick-fighter-search.selected {
    border-color: #be0606;
    box-shadow: 0 0 8px rgba(190, 6, 6, .4); }
.fighter-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 60;
  background: #141414;
  border: 1px solid #2a2a2a;
  max-height: 280px;
  overflow-y: auto;
  list-style: none;
  margin: 0;
  padding: 0;
  display: none; }
  .fighter-results li button {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 6px 10px;
    background: none;
    border: none;
    color: #ddd;
    cursor: pointer;
    text-align: left;
    font-size: 14px; }
    .fighter-results li button:hover { background: #2a2a2a; }
    .fighter-results li button img {
      width: 32px;
      height: 32px;
      -o-object-fit: cover;
      object-fit: cover;
      -webkit-flex: 0 0 auto;
      flex: 0 0 auto; }
    .fighter-results li button span { -webkit-flex: 1; flex: 1; }
    .fighter-results li button small { color: #888; font-size: 11px; }
  .fighter-results li.none { padding: 8px 10px; color: #888; font-size: 13px; }
.pick-status { font-size: 11px; color: #777; margin: 2px 0 0; }

/* tier badge */
.tier-badge {
  display: inline-block;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 3px 8px;
  margin-left: 6px;
  border: 1px solid;
  border-radius: 2px;
  vertical-align: middle; }
  .tier-cosmic  { color: #ff9d00; border-color: #ff9d00; text-shadow: 0 0 8px rgba(255,157,0,.6); }
  .tier-divine  { color: #c77dff; border-color: #c77dff; }
  .tier-meta    { color: #4dd0e1; border-color: #4dd0e1; }
  .tier-peak    { color: #9ccc65; border-color: #9ccc65; }
  .tier-human   { color: #999;    border-color: #555; }

/* TMDB films section */
.film-list { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; gap: 12px; }
.film-item { width: 120px; list-style: none; }
.film-item a { display: block; text-decoration: none; }
.film-item img { width: 120px; height: 180px; -o-object-fit: cover; object-fit: cover; display: block; }
.film-item .title { font-size: 12px; margin: 4px 0 0; line-height: 1.2; }

/* battle share actions */
.battle-actions { display: -webkit-flex; display: flex; gap: 12px; -webkit-justify-content: center; justify-content: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.share-btn { cursor: pointer; border: none; }

/* generated lore paragraph */
.lore-generated { font-style: italic; color: #ccc; }

/* image coverage dashboard */
.coverage { text-align: center; padding: 30px 0 40px; }
.coverage h1 { font-size: 40px; margin-bottom: 4px; }
.coverage-total { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; gap: 30px; margin: 30px auto; max-width: 700px; }
.coverage-number .big { font-size: 72px; font-weight: 900; color: #be0606; display: block; line-height: 1; }
.coverage-number .label { color: #999; text-transform: uppercase; letter-spacing: 3px; font-size: 12px; }
.coverage-bars { -webkit-flex: 1; flex: 1; text-align: left; }
.coverbar { height: 14px; background: #2a2a2a; border-radius: 7px; overflow: hidden; }
.coverbar span { display: block; height: 100%; background: linear-gradient(to right, #be0606, #ff4b4b); border-radius: 7px; }
.coverage-bars p { font-size: 13px; color: #999; margin: 8px 0 0; }
.coverage-compare { max-width: 700px; margin: 0 auto 30px; }
.cov-row { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; gap: 14px; margin: 10px 0; text-align: left; }
.cov-name { width: 180px; font-size: 14px; color: #ddd; text-align: right; }
.cov-bar { -webkit-flex: 1; flex: 1; height: 10px; background: #2a2a2a; border-radius: 5px; overflow: hidden; }
.cov-bar span { display: block; height: 100%; background: linear-gradient(to right, #4dd0e1, #9ccc65); border-radius: 5px; }
.cov-nums { width: 200px; font-size: 12px; color: #999; }
.coverage-missing { max-width: 700px; margin: 0 auto; text-align: left; }
.coverage-missing h2 { font-size: 20px; }
.coverage-missing ul { list-style: none; padding: 0; max-height: 320px; overflow-y: auto; }
.coverage-missing li { display: -webkit-flex; display: flex; gap: 12px; padding: 4px 0; border-bottom: 1px solid #222; font-size: 13px; }
.coverage-missing .cov-universe { color: #888; -webkit-flex: 1; flex: 1; }
.coverage-missing .cov-report { color: #4dd0e1; }
.coverage-missing .hint { color: #777; font-size: 12px; margin-top: 14px; }
.coverage-missing code { color: #ff9d00; }

/* report button on character pages */
.report-block { margin: 18px 0; }
.report-btn {
  background: none;
  border: 1px dashed #555;
  color: #999;
  padding: 7px 14px;
  font-size: 12px;
  cursor: pointer;
  border-radius: 3px; }
  .report-btn:hover { border-color: #be0606; color: #ff6b6b; }
.report-feedback { margin-left: 10px; font-size: 12px; color: #9ccc65; }

/* ---- arcade battle styles ---- */
.fighter { position: relative; }
.fighter.defeated {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
  opacity: .38;
  -webkit-transform: scale(.97) rotate(-1.6deg);
  transform: scale(.97) rotate(-1.6deg);
  -webkit-transition: all .6s ease;
  transition: all .6s ease; }
.fighter.winner { -webkit-transition: all .6s ease; transition: all .6s ease; }
.arcade-tag {
  position: absolute;
  top: 14px;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(-3deg);
  transform: translateX(-50%) rotate(-3deg);
  z-index: 5;
  font-weight: 900;
  font-style: italic;
  font-size: 26px;
  letter-spacing: 4px;
  padding: 6px 22px;
  border-radius: 4px;
  text-transform: uppercase; }
.winner-tag {
  color: #1a1d22;
  background: linear-gradient(to bottom, #ffd700, #ff9d00);
  box-shadow: 0 0 24px rgba(255, 215, 0, .8);
  border: 2px solid #fff3b0;
  text-shadow: 1px 1px 0 rgba(255,255,255,.6); }
.loser-tag {
  color: #fff;
  background: linear-gradient(to bottom, #555, #222);
  border: 2px solid #666;
  box-shadow: 0 0 18px rgba(0,0,0,.8);
  text-shadow: 0 0 6px #000; }
.draw-tag {
  color: #fff;
  background: linear-gradient(to bottom, #4dd0e1, #00838f);
  border: 2px solid #9be9f0;
  box-shadow: 0 0 18px rgba(77,208,225,.7); }

/* battle report (arcade console vibes) */
.battle-report {
  max-width: 720px;
  margin: 0 auto 26px;
  padding: 18px 24px;
  background: #101218;
  border: 3px solid #2a2a2a;
  border-radius: 8px;
  text-align: left;
  font-family: "Courier New", monospace;
  box-shadow: inset 0 0 30px rgba(0,0,0,.6); }
  .report-title {
    font-size: 13px;
    letter-spacing: 5px;
    color: #ffd700;
    margin: 0 0 10px;
    text-align: center; }
  .battle-report p { margin: 6px 0; font-size: 14px; color: #d6d6d6; line-height: 1.5; }
  .report-ono { text-align: center; margin-top: 12px; }
.onomat {
  display: inline-block;
  font-weight: 900;
  font-style: italic;
  font-size: 26px;
  margin: 0 8px;
  color: #ffd700;
  text-shadow: 2px 2px 0 #be0606, -1px -1px 0 #be0606;
  -webkit-transform: rotate(-4deg);
  transform: rotate(-4deg);
  -webkit-animation: onoPop .5s ease both;
  animation: onoPop .5s ease both; }
  .onomat:nth-child(2) { -webkit-animation-delay: .25s; animation-delay: .25s; }
  .onomat:nth-child(3) { -webkit-animation-delay: .5s; animation-delay: .5s; }
@-webkit-keyframes onoPop { 0% { -webkit-transform: scale(0) rotate(-20deg); opacity: 0; } 70% { -webkit-transform: scale(1.3) rotate(4deg); } 100% { -webkit-transform: scale(1) rotate(-4deg); opacity: 1; } }
@keyframes onoPop { 0% { transform: scale(0) rotate(-20deg); opacity: 0; } 70% { transform: scale(1.3) rotate(4deg); } 100% { transform: scale(1) rotate(-4deg); opacity: 1; } }
