/* Tema sazonal público: não afeta os painéis player/admin. */
body.layout-site {
  --drax-gold: #f4a95c;
  --drax-ice: #d9bba4;
  background: #0b0d14;
}
body.layout-site::before {
  background-image: radial-gradient(circle at 85% 0%, rgba(108, 45, 52, .2), transparent 38%) !important;
}
.layout-site .topo { background: rgba(9, 12, 18, .96); border-bottom-color: rgba(237, 153, 75, .34); }
.layout-site .rodape { background: #0b0d14; border-top-color: rgba(237, 153, 75, .3); }

/* Sinal do jogo: verde vivo só após o status real confirmar a porta. */
.layout-site .drax-status > div:first-child {
  position: relative;
  transition: background-color .3s ease, box-shadow .3s ease;
}
.layout-site .drax-status > div:first-child::before {
  content: "";
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-radius: 50%;
  background: #a16e62;
  box-shadow: 0 0 0 4px rgba(161, 110, 98, .14);
}
.layout-site .drax-status.estado-online > div:first-child {
  background: rgba(20, 84, 50, .43);
  box-shadow: inset 0 3px 0 #44e68b;
}
.layout-site .drax-status.estado-online > div:first-child::before {
  background: #58f39d;
  box-shadow: 0 0 0 5px rgba(88, 243, 157, .17), 0 0 18px #58f39d;
  animation: drax-online-pulse 2.2s ease-in-out infinite;
}
.layout-site .drax-status.estado-online > div:first-child strong { color: #80ffb7; }
.layout-site .drax-status.estado-offline > div:first-child strong { color: #f3aaa1; }
.layout-site .drax-status.estado-manutencao > div:first-child strong { color: #ffd081; }
@keyframes drax-online-pulse {
  50% { box-shadow: 0 0 0 9px rgba(88, 243, 157, .06), 0 0 25px #58f39d; }
}
@media (prefers-reduced-motion: reduce) {
  .layout-site .drax-status.estado-online > div:first-child::before { animation: none; }
}

/* O mesmo cenário da capa aparece nos cabeçalhos das páginas internas. */
.layout-site:not(.rota-home) .principal > .limite > .cabeca:first-child {
  background: linear-gradient(90deg, rgba(9, 11, 18, .87), rgba(9, 11, 18, .68) 54%, rgba(9, 11, 18, .76)),
              url('../img/halloween-cenario-limpo.png') center 44% / cover no-repeat;
  border-color: rgba(235, 150, 78, .44);
}
.layout-site:not(.rota-home) .principal > .limite > .cabeca:first-child h1 { color: #fff6e9; }

/* Ranking da home, antes claro, acompanha todo o tema Halloween. */
.layout-site .drax-home--halloween .drax-rank {
  background: radial-gradient(circle at 80% 0%, rgba(116, 47, 64, .27), transparent 42%), #10131d;
  color: #f8eee1;
}
.layout-site .drax-home--halloween .drax-rank::before { color: rgba(234, 167, 99, .075); }
.layout-site .drax-home--halloween .drax-rank .drax-kicker,
.layout-site .drax-home--halloween .drax-rank__card > a { color: #ffbc77; }
.layout-site .drax-home--halloween .drax-rank .drax-section__head > p { color: #c8b8b3; }
.layout-site .drax-home--halloween .drax-rank__card {
  background: linear-gradient(160deg, #1c202b, #11151d);
  border-color: #60443f;
  box-shadow: 0 12px 35px rgba(0, 0, 0, .27);
  color: #f7efe6;
}
.layout-site .drax-home--halloween .drax-rank__card header {
  background: #2a1c24;
  border-bottom: 1px solid #81503e;
  color: #fff0d8;
}
.layout-site .drax-home--halloween .drax-rank__row { border-color: #514049; color: #f6ece4; }
.layout-site .drax-home--halloween .drax-rank__row b { color: #f6a65c; }
.layout-site .drax-home--halloween .drax-rank__row span,
.layout-site .drax-home--halloween .drax-rank__empty { color: #c1b3ad; }
.layout-site .drax-home--halloween .drax-rank__more a {
  border-color: #805b4c;
  color: #f8c696;
  background: #1b1b25;
}
.layout-site .drax-home--halloween .drax-rank__more a:hover { background: #a85a36; color: #fff; }

/* Superfícies públicas restantes. */
.layout-site .cartao,
.layout-site .cartao-noticia,
.layout-site .lateral,
.layout-site .saldo,
.layout-site .tabela { border-color: #5c4947; }
.layout-site .abas a.ativo { background: #e9a65f; color: #181319; }
@media (max-width: 700px) {
  .layout-site:not(.rota-home) .principal > .limite > .cabeca:first-child {
    background-position: 57% center;
  }
  .layout-site .drax-home--halloween .drax-rank::before { font-size: 110px; }
}
