/* =========================================================
   STYLES.CSS ORGANIZADO
   ---------------------------------------------------------
   Arquivo reorganizado em seções e comentado para facilitar
   manutenção. Os valores originais foram preservados.
   ========================================================= */

/* =========================================================
   CONFIGURAÇÕES GLOBAIS
   ========================================================= */

/* Variáveis principais do tema. */
:root {
  --green:#8cf21f;
  --green2:#5bdd16;
  --green3:#caff45;
  --red:#ff3745;
  --dark:#020402;
  --panel:rgba(3,6,3,.70);
  --line:rgba(140,242,31,.34);
  --text:#f5f7f0;
  --muted:#c8cec0;
  --status-rgb:140,242,31;
}
/* Cor dinâmica quando o servidor estiver online. */
[data-status="online"]{
    --status:var(--green);
    --status-rgb:140,242,31;
}
/* Cor dinâmica durante a consulta inicial do servidor. */
[data-status="loading"]{
    --status:#ffd84d;
    --status-rgb:255,216,77;
}
/* Altera a cor dinâmica quando o servidor estiver offline. */
[data-status="offline"]{
    --status:var(--red);
    --status-rgb:255,55,69;
}

/* Normalização básica do box model. */
* {
  box-sizing:border-box;
}

/* Base da página em tela cheia. */
html,body {
  height:100%;
  margin:0;
  overflow:hidden;
  background:#020402;
  color:var(--text);
  font-family:Inter,system-ui,sans-serif;
}

body {
  min-width:1180px;
}

/* =========================================================
   CSS BOTÕES BARRA SUPERIOR
   ========================================================= */

/* CSS dos botões barra superior. */
.topbar {
  position:relative;
  height:72px;
  border-bottom:1px solid rgba(140,242,31,.18);
}

.top-actions {
  position:absolute;
  right:36px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  gap:12px;
}

.top-btn{
    display:flex;
    align-items:center;
    gap:8px;

    height:42px;
    padding:0 18px;

    border:1px solid rgba(140,242,31,.35);
    border-radius:8px;

    background:rgba(0,0,0,.25);
    backdrop-filter:blur(6px);

    color:var(--green);
    text-decoration:none;
    cursor:pointer;

    font:700 14px Inter,sans-serif;

    transition:.2s;
}

.top-btn:hover{
    transform:translateY(-2px);
    border-color:var(--green);
    box-shadow:0 0 18px rgba(140,242,31,.35);
}

.top-btn span{
    font-weight:700;
}

/* =========================================================
   FUNDO E CAMADAS VISUAIS
   ========================================================= */

/* Imagem e gradientes de fundo. */
.bg {
  position:fixed;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.02) 48%,rgba(0,0,0,.34)),linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,.01) 38%,rgba(0,0,0,.52)),url('assets/background.png') center/cover no-repeat;
  filter:saturate(1.15) contrast(1.12);
  transform:scale(1.01);
}

/* Vinheta e brilho radial do status. */
.bg:after {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 52% 46%,rgba(var(--status-rgb),.13),transparent 28%),radial-gradient(circle at 50% 50%,transparent 28%,rgba(0,0,0,.1) 48%,rgba(0,0,0,.68) 100%);
}

.grain {
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.09;
  background-image:radial-gradient(circle at 50% 50%,#fff 0 1px,transparent 1px);
  background-size:3px 3px;
  mix-blend-mode:overlay;
}

#embers {
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.85;
}

/* =========================================================
   ESTRUTURA PRINCIPAL
   ========================================================= */

/* Grid principal da landing page. */
.screen {
  position:relative;
  z-index:1;
  height:100vh;
  padding:0 44px 14px;
  display:grid;
  grid-template-rows:82px minmax(0,1fr) 118px 42px;
  gap:0;
  text-shadow:0 2px 5px #000;
}

/* Barra superior com marca, navegação e Discord. */
.topbar {
  display:grid;
  grid-template-columns:270px 1fr 285px;
  align-items:center;
  border-bottom:none;
  background:transparent;
}

/* =========================================================
   MARCA, NAVEGAÇÃO E DISCORD
   ========================================================= */

.brand {
  font:900 38px/1 Anton,sans-serif;
  color:#fff;
  text-decoration:none;
  letter-spacing:.5px;
}

.brand strong {
  color:var(--green);
  font-style:italic;
  margin-left:7px;
  text-shadow:0 0 20px rgba(140,242,31,.86);
}

.nav {
  display:flex;
  justify-content:center;
  gap:46px;
  height:100%;
  align-items:center;
}

.nav a {
  height:100%;
  display:flex;
  align-items:center;
  position:relative;
  color:#fff;
  text-decoration:none;
  font:800 16px/1 Barlow Condensed,sans-serif;
  letter-spacing:.5px;
}

.nav a.active,.nav a:hover {
  color:var(--green);
}

.nav a.active:after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:var(--green);
  box-shadow:0 0 18px var(--green);
}

.discord-top {
  height:54px;
  border:1px solid var(--green2);
  border-radius:6px;
  color:var(--green);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-decoration:none;
  font:900 18px Barlow Condensed,sans-serif;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.4),0 0 20px rgba(140,242,31,.08);
  background:rgba(0,0,0,.35);
}

.discord-top:hover {
  box-shadow:0 0 28px rgba(140,242,31,.35);
}

/* =========================================================
   ÍCONES BASE
   ========================================================= */

.icon,.i,.big,.copy-icon {
  display:inline-block;
  position:relative;
  flex:none;
}

.discord-icon:before {
  content:"☁";
  font-size:21px;
  color:#fff;
}

/* =========================================================
   HERO / CHAMADA PRINCIPAL
   ========================================================= */

/* Área central com copy, logo e status. */
.hero{
  display:grid;
  grid-template-columns:390px 1fr 390px;
  column-gap:70px;
  align-items:center;
  padding:0 48px;
}

.left-copy{
    width:340px;
    justify-self:start;

    margin-left:-40px;

    /* sobe o bloco */
    transform:translateY(-190px);

    text-align:left;
}

.eyebrow{
    font:900 42px/1 Anton,sans-serif;
    color:var(--green);
    margin:0 0 12px;
    letter-spacing:.5px;
    text-shadow:0 0 18px rgba(140,242,31,.35);
}

.left-copy h2{
    font:900 26px/1.1 Barlow Condensed,sans-serif;
    color:var(--green);
    margin:0 0 22px;
}

.lead{
    font-size:17px;
    line-height:1.6;
    color:#e8e8e4;
    margin:0;
    max-width:320px;
}

/* =========================================================
   BOTÕES DE AÇÃO
   ========================================================= */

/* Botão principal de chamada para ação. */
.cta {
  width:376px;
  height:80px;
  border:1px solid var(--green2);
  border-radius:8px;
  background:linear-gradient(90deg,rgba(15,54,4,.52),rgba(0,0,0,.68));
  color:var(--green);
  display:flex;
  align-items:center;
  gap:22px;
  padding:0 28px;
  text-decoration:none;
  margin:0 0 14px;
  cursor:pointer;
  box-shadow:inset 0 0 26px rgba(140,242,31,.08),0 0 19px rgba(140,242,31,.16);
  transition:.22s;
}

.cta:hover {
  transform:translateY(-3px);
  box-shadow:0 0 38px rgba(140,242,31,.35);
}

.cta strong {
  display:block;
  font:900 29px/1 Barlow Condensed,sans-serif;
  letter-spacing:.7px;
}

.cta small {
  display:block;
  color:#fff;
  font-size:16px;
  margin-top:6px;
}

.download-mark {
  font:900 60px/1 Arial;
}

.play-mark {
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--green);
  color:#101500;
  display:grid;
  place-items:center;
  font-size:24px;
  padding-left:4px;
}

.secondary {
  background:rgba(0,0,0,.58);
}

/* =========================================================
   EMBLEMA CENTRAL E EFEITOS DE HALO
   ========================================================= */

/* Container do emblema central. */
.center-emblem {
  position:relative;
  align-self:center;
  justify-self:center;
  width:min(560px,36vw);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  z-index:3;
  margin-top:0;
  isolation:isolate;
}

.center-emblem img {
  width:82%;
  filter:drop-shadow(0 18px 36px #000) drop-shadow(0 0 8px rgba(var(--status-rgb),.42)) drop-shadow(0 0 18px rgba(var(--status-rgb),.22));
  animation:none!important;
  transform:none!important;
  z-index:5;
}

/* Névoa/brilho animado atrás do emblema. */
.halo {
  position:absolute;
  inset:9%;
  border-radius:45% 55% 52% 48%/48% 43% 57% 52%;
  border:0;
  background:radial-gradient(ellipse at 50% 48%,rgba(var(--status-rgb),.34) 0%,rgba(var(--status-rgb),.20) 22%,rgba(var(--status-rgb),.08) 44%,transparent 68%),radial-gradient(ellipse at 36% 38%,rgba(var(--status-rgb),.24) 0%,transparent 38%),radial-gradient(ellipse at 66% 64%,rgba(var(--status-rgb),.20) 0%,transparent 42%);
  filter:blur(22px);
  mix-blend-mode:screen;
  animation:radioactiveFog 4.8s ease-in-out infinite;
  z-index:1;
  opacity:.78;
}

.halo:before {
  content:"";
  position:absolute;
  inset:-18%;
  border-radius:58% 42% 46% 54%/45% 56% 44% 55%;
  background:radial-gradient(ellipse at 42% 52%,rgba(var(--status-rgb),.28),transparent 45%),radial-gradient(ellipse at 60% 41%,rgba(var(--status-rgb),.18),transparent 39%),radial-gradient(ellipse at 55% 70%,rgba(var(--status-rgb),.12),transparent 44%);
  filter:blur(34px);
  opacity:.70;
  z-index:-2;
  animation:radioactiveFogSlow 7.2s ease-in-out infinite reverse;
  mix-blend-mode:screen;
}

.halo:after {
  content:"";
  position:absolute;
  inset:4%;
  border-radius:50%;
  background:radial-gradient(ellipse at 50% 50%,transparent 39%,rgba(var(--status-rgb),.18) 52%,transparent 70%);
  filter:blur(28px);
  opacity:.33;
  animation:fogPulse 3.8s ease-in-out infinite;
  z-index:-1;
  mix-blend-mode:screen;
}

.center-emblem:before {
  content:"";
  position:absolute;
  inset:17%;
  border-radius:55% 45% 60% 40%/45% 60% 40% 55%;
  background:radial-gradient(ellipse at 52% 48%,rgba(var(--status-rgb),.22),transparent 54%);
  filter:blur(50px);
  mix-blend-mode:screen;
  z-index:0;
  animation:radioactiveFogSlow 9s ease-in-out infinite;
  opacity:.58;
}

.center-emblem:after {
  content:"";
  position:absolute;
  inset:22%;
  border-radius:50%;
  box-shadow:0 0 22px rgba(var(--status-rgb),.42),0 0 58px rgba(var(--status-rgb),.25),0 0 118px rgba(var(--status-rgb),.16);
  filter:blur(8px);
  opacity:.48;
  z-index:2;
  animation:fogPulse 3.4s ease-in-out infinite;
}

/* =========================================================
   CARD DE STATUS DO SERVIDOR
   ========================================================= */

/* Painel com status e estatísticas do servidor. */
.status-card {
  width:390px;
  justify-self:start;
  align-self:center;
  margin:0;

  /* Alinha a borda esquerda com o primeiro card inferior. */
  transform:translateX(-48px);

  border:1px solid rgba(140,242,31,.38);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(2,4,2,.82),rgba(5,7,5,.64));
  backdrop-filter:blur(7px);
  box-shadow:0 0 44px rgba(0,0,0,.72), inset 0 0 34px rgba(140,242,31,.035);
  overflow:hidden;
  z-index:4;
}

.status-card h3 {
  margin: 0;
  padding: 18px 20px 14px;

  display: flex;
  justify-content: center;
  align-items: center;

  text-align: center;
  color: var(--green);
  font: 800 20px Barlow Condensed, sans-serif;
  letter-spacing: .6px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.status-main {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  padding:18px 16px 20px;
}

.status-dot{
    width:28px;
    height:28px;
    margin-right:24px;
    border-radius:50%;
    position:relative;
    background:var(--status);
    box-shadow:
        0 0 12px rgba(var(--status-rgb),.75),
        0 0 24px rgba(var(--status-rgb),.45);
    animation:pulse 2s ease-in-out infinite;
}

.status-dot::before{
    content:"";
    position:absolute;
    inset:-12px;
    border-radius:50%;
    border:2px solid rgba(var(--status-rgb),.45);
    animation:ring 2s ease-out infinite;
}

@keyframes pulse{
    0%,100%{
        transform:scale(1);
        box-shadow:
            0 0 12px rgba(var(--status-rgb),.70),
            0 0 22px rgba(var(--status-rgb),.35);
    }

    50%{
        transform:scale(1.12);
        box-shadow:
            0 0 20px rgba(var(--status-rgb),1),
            0 0 42px rgba(var(--status-rgb),.65);
    }
}

@keyframes ring{
    0%{
        transform:scale(.85);
        opacity:.75;
    }

    70%{
        transform:scale(1.65);
        opacity:0;
    }

    100%{
        opacity:0;
    }
}

.status-main strong {
  display:block;
  font:900 50px/.9 Barlow Condensed,sans-serif;
  color:var(--status);
  letter-spacing:1px;
}

.status-main small {
  display:block;
  text-align:center;
  color:#fff;
  font-size:15px;
  margin-top:12px;
}

.stats {
  padding:0 16px;
}

.row {
  position:relative;
  min-height:52px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.13);
  border-radius:0;
  margin:0;
  background:transparent;
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  padding:0 4px;
  gap:8px;
  color:#fff;
  width:100%;
  font:inherit;
  text-align:left;
}

.row span:nth-child(2) {
  font:700 16px Barlow Condensed,sans-serif;
  color:#eee;
}

.row b {
  font:900 20px Barlow Condensed,sans-serif;
  color:var(--status);
}

.players-row {
  padding-bottom:10px;
}

.bar {
  position:absolute;
  left:55px;
  right:7px;
  bottom:8px;
  height:5px;
  background:rgba(255,255,255,.18);
  border-radius:99px;
  overflow:hidden;
}

.bar i {
  display:block;
  height:100%;
  width:0;
  background:var(--status);
  box-shadow:0 0 16px var(--status);
  transition:.4s;
}

.updated {
  text-align:center;
  color:#cfd0c9;
  font-size:13px;
  margin:10px 0 13px;
}

.updated span:first-child {
  color:var(--green);
}

/* =========================================================
   LINHA DE CÓPIA
   ========================================================= */

.copy-row {
  cursor:pointer;
}

.copy-row span:nth-child(2) {
  display:block;
}

.copy-row small {
  display:block;
  color:#dfe2db;
  font:700 13px Barlow Condensed,sans-serif;
}

.copy-row strong {
  display:block;
  color:var(--status);
  font:900 18px Barlow Condensed,sans-serif;
  margin-top:3px;
}

.copy-mini {
  width:17px;
  height:19px;
  border:2px solid #dfe2db;
  border-radius:2px;
  opacity:.8;
}

.copy-mini:after {
  content:"";
  position:absolute;
  width:12px;
  height:14px;
  border:2px solid #dfe2db;
  border-radius:2px;
  right:-5px;
  top:7px;
}

.copy-row:hover .copy-mini {
  border-color:var(--status);
  box-shadow:0 0 14px var(--status);
}

/* =========================================================
   ÍCONES ESPECÍFICOS
   ========================================================= */

.i {
  width:28px;
  height:28px;
  color:#cfd0c9;
  font-size:23px;
  text-align:center;
}

.globe:before {
  content:"◎";
}

.users:before {
  content:"♟";
}

.wifi:before {
  content:"⌁";
}

.tag:before {
  content:"◆";
}

.map:before {
  content:"▱";
}

.clock:before {
  content:"◷";
}

.calendar:before {
  content:"▣";
}

.shield:before {
  content:"◈";
}

.skull:before {
  content:"☠";
}

.monitor:before {
  content:"▭";
}

/* =========================================================
   CARDS DE RECURSOS
   ========================================================= */

/* Linha inferior com cards de recursos. */
.feature-row {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
  padding:8px 0 0;
}

.feature-row article {
  min-height:112px;
  height:100%;
  height:108px;
  min-width:0;
  border:1px solid rgba(140,242,31,.32);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(4,10,3,.72),rgba(2,5,2,.62));
  display:grid;
  grid-template-columns:70px 1fr;
  gap:16px;
  align-items:center;
  padding:16px 20px;
  box-shadow:inset 0 0 28px rgba(140,242,31,.04);
  transition:.2s;
  backdrop-filter:blur(4px);
  overflow:hidden;
}

.feature-row article:hover {
  transform:translateY(-4px);
  border-color:var(--green);
  box-shadow:0 0 28px rgba(140,242,31,.24);
}

.feature-row .big {
  font-size:52px;
  color:var(--green);
  text-align:center;
  filter:drop-shadow(0 0 18px rgba(140,242,31,.8));
}

.feature-row h4 {
  margin:0 0 6px;
  color:var(--green);
  font:900 18px Barlow Condensed,sans-serif;
  white-space:nowrap;
}

.feature-row p {
  margin:0;
  color:#e1e1dc;
  font-size:13.5px;
  line-height:1.35;
}

.crate:before {
  content:"▧";
}

.swords:before {
  content:"⚔";
}

.big{
    width:52px;
    height:52px;
    color:var(--green);
    filter:drop-shadow(0 0 18px rgba(140,242,31,.8));
}

.crown:before {
  content:"♛";
}

/* =========================================================
   REDES SOCIAIS LATERAIS
   ========================================================= */

.social-vertical {
  position:absolute;
  right:40px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  z-index:20;
}

.social-vertical::before {
  content:"";
  position:absolute;
  top:-35px;
  bottom:-35px;
  width:1px;
  background:rgba(140,242,31,.22);
}

.social-vertical a {
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(140,242,31,.28);
  border-radius:12px;
  background:rgba(0,0,0,.30);
  backdrop-filter:blur(10px);
  color:var(--green);
  font-size:28px;
  text-decoration:none;
  opacity:.82;
  transition:.28s ease;
}

.social-vertical a:hover {
  opacity:1;
  transform:translateX(-4px) scale(1.08);
  border-color:var(--green);
  box-shadow:0 0 22px rgba(140,242,31,.22), inset 0 0 18px rgba(140,242,31,.08);
  filter:drop-shadow(0 0 14px rgba(140,242,31,.6));
}

/* =========================================================
   RODAPÉ
   ========================================================= */

.footer {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:10px;
  font-size:13px;
  color:#bbb;
}

.footer::before,
.footer::after {
  content:"";
  width:180px;
  height:1px;
  background:rgba(140,242,31,.18);
}

.footer p {
  margin:0;
}

.footer strong {
  color:var(--green);
}

.credit {
  margin: 28px 0 0;
  text-align: center;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.72);
}

.credit a {
  color: #7c3aed;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.credit a:hover {
  opacity: 0.82;
}

.credit-heart {
  display: inline-block;
  margin: 0 2px;
}

/* =========================================================
   MODAL
   ========================================================= */

/* Janela modal nativa. */
.modal {
  border:1px solid var(--green);
  border-radius:12px;
  background:rgba(2,5,2,.96);
  color:#fff;
  box-shadow:0 0 80px #000;
  max-width:520px;
}

.modal::backdrop {
  background:rgba(0,0,0,.7);
}

.modal h3 {
  color:var(--green);
  font:900 26px Barlow Condensed,sans-serif;
}

.modal li {
  margin:10px 0;
}

.modal a {
  color:var(--green);
  font-weight:800;
}

.close {
  float:right;
  background:transparent;
  color:#fff;
  border:1px solid var(--green);
  border-radius:6px;
  font-size:22px;
  cursor:pointer;
}

/* =========================================================
   ANIMAÇÕES
   ========================================================= */

@keyframes softPulse {
  0%,100% {
    transform:scale(.992);
    filter:brightness(.96);
    opacity:.68;
  }
  50% {
    transform:scale(1.018);
    filter:brightness(1.22);
    opacity:.95;
  }
}

@keyframes logoBreath {
  0%,100% {
    transform:none;
  }
  50% {
    transform:none;
  }
}

@keyframes spin {
  to {
    transform:rotate(360deg);
  }
}

@keyframes fogDrift {
  0%,100% {
    opacity:.56;
    transform:translate3d(-8px,6px,0) scale(.98);
  }
  50% {
    opacity:.95;
    transform:translate3d(10px,-7px,0) scale(1.05);
  }
}

@keyframes neonMist {
  0%,100% {
    transform:translate3d(-8px,5px,0) scale(.98);
    opacity:.62;
  }
  50% {
    transform:translate3d(10px,-8px,0) scale(1.05);
    opacity:.95;
  }
}

@keyframes radioactiveFog {
  0%,100% {
    transform:translate3d(-3px,2px,0) scale(.98) rotate(-1.5deg);
    opacity:.54;
  }
  45% {
    transform:translate3d(4px,-3px,0) scale(1.055) rotate(1deg);
    opacity:.92;
  }
  70% {
    transform:translate3d(1px,3px,0) scale(1.02) rotate(-.6deg);
    opacity:.74;
  }
}

@keyframes radioactiveFogSlow {
  0%,100% {
    transform:translate3d(6px,-4px,0) scale(.97) rotate(2deg);
    opacity:.36;
  }
  50% {
    transform:translate3d(-7px,5px,0) scale(1.08) rotate(-2deg);
    opacity:.70;
  }
}

@keyframes fogPulse {
  0%,100% {
    transform:scale(.96);
    opacity:.28;
  }
  50% {
    transform:scale(1.08);
    opacity:.62;
  }
}


