/* Estilos para o corpo */
body {
  margin: 0;
  font-family: Arial, sans-serif;
  background-color: #FFF;
  color: #3a4de5;
  justify-content: center;
  align-items: center;
}

/* Contêiner principal do aplicativo */
#app {
  background-color: #fff;
  color: #000;
  text-align: center;
  justify-content: space-between; /* Mantém espaçamento entre elementos */
    }

/* Botões */
button {
  display: block;
  width: 100%;
  padding: 10px 20px;
  box-sizing: border-box;
  margin-bottom: 10px;
  border-radius: 200px;
  border: 1px solid #3a4de5;
  font-size: 18px;
}

#options button {
    display: block;
    width: 100%;
    padding: 30px;
    box-sizing: border-box;
    margin-bottom: 20px;
    border-radius: 10px; /* Bordas arredondadas */
    border-width: 0;
    appearance: none;
    background-color: #fcfcfd;
    color: #36395a;
    font-size: 18px;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    user-select: none;
    transition: box-shadow 0.15s, transform 0.15s;
    box-shadow:
      rgba(45, 35, 66, 0.2) 0 2px 4px,
      rgba(45, 35, 66, 0.15) 0 7px 13px -3px,
      #d6d6e7 0 -3px 0 inset;
  }
  
  #options button:focus {
    box-shadow:
      #d6d6e7 0 0 0 1.5px inset,
      rgba(45, 35, 66, 0.4) 0 2px 4px,
      rgba(45, 35, 66, 0.3) 0 7px 13px -3px,
      #d6d6e7 0 -3px 0 inset;
  }
  
  #options button:hover {
    box-shadow:
      rgba(45, 35, 66, 0.3) 0 4px 8px,
      rgba(45, 35, 66, 0.2) 0 7px 13px -3px,
      #d6d6e7 0 -3px 0 inset;
    transform: translateY(-2px);
  }
  
  #options button:active {
    box-shadow: #d6d6e7 0 3px 7px inset;
    transform: translateY(2px);
  }
  

button:hover {
  background-color: #2b6bbf;
}

  

 
  
  /* Botão desativado */
  #options  button.disabled {
    opacity: 0.6;
    pointer-events: none; /* Impede interação */
    background-color: #e0e0e0; /* Cinza claro */
    color: #a0a0a0; /* Texto desativado */
  }


#options button.selected {
    background-color: #2b6bbf; /* Azul */
    color: white;
    box-shadow: 0 4px 8px rgba(43, 107, 191, 0.4);
    transform: translateY(-2px); /* Leve elevação */
    opacity: 1;
  }

  #options button.correct {
    background-color: #28a745; /* Verde */
    color: white;
    box-shadow: 0 4px 8px rgba(40, 167, 69, 0.4); /* Sombra leve */
    transform: translateY(-2px); /* Elevação sutil */
    opacity: 1;
  }

/* Estilos para o cabeçalho */
h1,
h2 {
  margin: 10px 0;
  margin-bottom: 30px;
}

p {
  margin: 5px 0 20px 0;
  font-size: 16px;
}

input[type="text"],
input[type="email"] {
  display: block;
  width: 100%;
  padding: 10px 20px;
  box-sizing: border-box;
  margin-bottom: 20px;
  border-radius: 200px;
  border: 1px solid #3a4de5;
  font-size: 18px;
  background-color: #F9F9FB;
}

#options {
  list-style-type: none;
  padding: 0;
}

/* Botões */
button.bt-primary {
  background-color: #3a4de5;
  border: 1px solid #3a4de5;
  color: #fff;
}

#registerForm label {
  display: block;
  margin-left: 20px;
  font-size: 14px;
  margin-bottom: 5px;
  color: #6d6d6d;
  text-align: left;
}

.bt-comenzar { 
    max-width: 180px;
    margin: 30px auto;
}

.timer {
  margin-top: -20px;
  font-size: 16px;
}

button.disabled {
  opacity: 0.6;
  pointer-events: none;
}

.box {
    background: radial-gradient(circle, #6f86ff, #3a4de5);
    padding: 30px 70px 30px 70px;
    border-radius: 0 0 30px 30px;
  }
  
.box img {
  max-width: 100%;
}

.logo-cisa {
  margin-bottom: 30px;
}

.content { 
    padding: 30px;

}


.logo-footer {
    margin-top: 30px;
    margin-bottom: 100px;
}


.main {
    margin-top: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .loaders,
  .loadersB {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .loader {
    position: absolute;
    width: 1.15em;
    height: 13em;
    border-radius: 50px;
    background: #e0e0e0;
  }
  .loader:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 1.15em;
    height: 5em;
    background: #e0e0e0;
    border-radius: 50px;
    border: 1px solid #e2e2e2;
    box-shadow:
      inset 5px 5px 15px #d3d2d2ab,
      inset -5px -5px 15px #e9e9e9ab;
    mask-image: linear-gradient(
      to bottom,
      black calc(100% - 48px),
      transparent 100%
    );
  }
  .loader::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 1.15em;
    height: 4.5em;
    background: #e0e0e0;
    border-radius: 50px;
    border: 1px solid #e2e2e2;
    box-shadow:
      inset 5px 5px 15px #d3d2d2ab,
      inset -5px -5px 15px #e9e9e9ab;
    mask-image: linear-gradient(
      to top,
      black calc(100% - 48px),
      transparent 100%
    );
  }
  .loaderA {
    position: absolute;
    width: 1.15em;
    height: 13em;
    border-radius: 50px;
    background: transparent;
  }
  .ball0,
  .ball1,
  .ball2,
  .ball3,
  .ball4,
  .ball5,
  .ball6,
  .ball7,
  .ball8,
  .ball9 {
    width: 1.15em;
    height: 1.15em;
    box-shadow:
      rgba(0, 0, 0, 0.17) 0px -10px 10px 0px inset,
      rgba(0, 0, 0, 0.15) 0px -15px 15px 0px inset,
      rgba(0, 0, 0, 0.1) 0px -40px 20px 0px inset,
      rgba(0, 0, 0, 0.06) 0px 2px 1px,
      rgba(0, 0, 0, 0.09) 0px 4px 2px,
      rgba(0, 0, 0, 0.09) 0px 8px 4px,
      rgba(0, 0, 0, 0.09) 0px 16px 8px,
      rgba(0, 0, 0, 0.09) 0px 32px 16px,
      0px -1px 15px -8px rgba(0, 0, 0, 0.09);
    border-radius: 50%;
    transition: transform 800ms cubic-bezier(1, -0.4, 0, 1.4);
    background-color: rgb(232, 232, 232, 1);
    animation: 3.63s move ease-in-out infinite;
  }
  .loader:nth-child(2) {
    transform: rotate(20deg);
  }
  .loader:nth-child(3) {
    transform: rotate(40deg);
  }
  .loader:nth-child(4) {
    transform: rotate(60deg);
  }
  .loader:nth-child(5) {
    transform: rotate(80deg);
  }
  .loader:nth-child(6) {
    transform: rotate(100deg);
  }
  .loader:nth-child(7) {
    transform: rotate(120deg);
  }
  .loader:nth-child(8) {
    transform: rotate(140deg);
  }
  .loader:nth-child(9) {
    transform: rotate(160deg);
  }
  
  .loaderA:nth-child(2) {
    transform: rotate(20deg);
  }
  .loaderA:nth-child(3) {
    transform: rotate(40deg);
  }
  .loaderA:nth-child(4) {
    transform: rotate(60deg);
  }
  .loaderA:nth-child(5) {
    transform: rotate(80deg);
  }
  .loaderA:nth-child(6) {
    transform: rotate(100deg);
  }
  .loaderA:nth-child(7) {
    transform: rotate(120deg);
  }
  .loaderA:nth-child(8) {
    transform: rotate(140deg);
  }
  .loaderA:nth-child(9) {
    transform: rotate(160deg);
  }
  
  .ball1 {
    animation-delay: 0.2s;
  }
  .ball2 {
    animation-delay: 0.4s;
  }
  .ball3 {
    animation-delay: 0.6s;
  }
  .ball4 {
    animation-delay: 0.8s;
  }
  .ball5 {
    animation-delay: 1s;
  }
  .ball6 {
    animation-delay: 1.2s;
  }
  .ball7 {
    animation-delay: 1.4s;
  }
  .ball8 {
    animation-delay: 1.6s;
  }
  .ball9 {
    animation-delay: 1.8s;
  }
  
  @keyframes move {
    0% {
      transform: translateY(0em);
    }
    50% {
      transform: translateY(12em);
    }
    100% {
      transform: translateY(0em);
    }
  }
  


  /* Contêiner do ranking */
.ranking-container {
    padding: 20px;
    border-radius: 10px;
    text-align: left;
  }
  
  /* Título do ranking */
  .ranking-title {
    font-size: 24px;
    color: #3a4de5;
    margin-bottom: 20px;
    text-align: center;
  }
  
  /* Lista de itens do ranking */
  .ranking-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
  }
  
  /* Cada item no ranking */
  .ranking-item {
    padding: 15px;
    margin-bottom: 10px;
    border-radius: 8px;
    background-color: #fcfcfd;
    box-shadow: rgba(45, 35, 66, 0.2) 0 2px 4px, rgba(45, 35, 66, 0.15) 0 7px 13px -3px, #d6d6e7 0 -3px 0 inset;
    transition: transform 0.15s, box-shadow 0.15s;
  }

  .ranking-item .flex {
    display: flex;
  }
  
  .ranking-item:hover {
    box-shadow: rgba(45, 35, 66, 0.3) 0 4px 8px, rgba(45, 35, 66, 0.2) 0 7px 13px -3px, #d6d6e7 0 -3px 0 inset;
    transform: translateY(-2px);
  }
  
  /* Destaca o jogador atual */
  .ranking-item.current-user {
    background-color: #3a4de5;
    color: white;
    box-shadow: 0 4px 8px rgba(58, 77, 229, 0.4);
    transform: translateY(-2px);
  }
  
  /* Posição no ranking */
  .ranking-position {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    width: 20px;
    height: 20px;
    padding: 10px;
    background: #2d3dbc;
    text-align: center;
    line-height: 20px;
    border-radius: 100px;
    margin-right: 10px;
  }
  
  /* Nome do jogador */
  .ranking-name {
    font-size: 16px;
    font-weight: bold;
    color: #3a4de5;
    line-height: 38px;
  }
  
  /* Pontuação */
  .ranking-score {
    font-size: 16px;
    color: #36395a;
    font-weight: bold;
    margin-left: 10px;
    line-height: 38px;
  }
  
  /* Detalhes do jogador */
  .ranking-details {
    font-size: 14px;
    color: #6d6d6d;
    display: block;
    margin-top: 10px;
  }
  
  /* Estilo para o jogador atual */
  .ranking-item.current-user .ranking-position,
  .ranking-item.current-user .ranking-name,
  .ranking-item.current-user .ranking-score,
  .ranking-item.current-user .ranking-details {
    color: white;
  }