
/* Estilo básico dos círculos */
.circle {
    position: relative;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background-color: var(--circle-background);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    cursor: pointer;
    color: var(--circle-text-color);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s, box-shadow 0.3s;
}

/* Números sugeridos (numeros_in) */
.circle.suggested {
    background-color: #4CAF50; /* Cor verde para números sugeridos */
    color: white;
    border: 2px solid #4CAF50;
}

/* Números repetidos (numeros_repetidos) */
.circle.in {
    background-color: #e0b722;
    color: white;
    border: 2px solid #e0b722;
}

.circle.repeated {

    outline: 2px dashed red;
}



/* Estilo para hover */
.circle:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4); /* Efeito de hover */
}


.circle.selected {
    background-color: var(--primary-color);
    color: white;
    border: 2px solid var(--primary-color);
}




/* Botões */
button {
    padding: 10px 20px;
    background-color: var(--primary-color);
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
}

button:hover {
    background-color: var(--background-repeated-color); /* Um tom mais escuro */
}

/* Container de círculos dentro do modal */
.container_in, .container_out {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* Define o grid com 5 colunas */
    gap: 10px;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: var(--background-color-2); /* Aplicar tema escuro */
}

.game-container {
    background-color: var(--background-color-2);
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    width: 320px;
    text-align: center;
    color: var(--text-color); /* Adiciona o texto de acordo com o tema */
    margin: 20px auto; /* Adiciona uma margem automática para centralizar o jogo */

}

/* Container para os números de cada jogo */
.numbers-container {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* 5 colunas uniformemente distribuídas */
    gap: 10px; /* Espaçamento entre os números */
    margin-top: 10px;
}
.circle-modal {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: var(--background-color-2);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    margin: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.circle-modal.selected {
    background-color: var(--primary-color);
    color: #fff;
}

.circle-modal:hover {
    background-color: #b0c4de;
}
.tab {
    display: flex;
    justify-content: center; /* Centraliza os botões horizontalmente */
    gap: 15px; /* Espaçamento entre os botões */
    margin: 20px 0; /* Adiciona espaço em cima e embaixo da tab */
    padding: 10px; /* Adiciona padding dentro do container */

    /*border-radius: 8px; /* Arredonda os cantos da tab */
    /* box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Adiciona uma leve sombra para dar destaque */
}

/* Estilo para os botões dentro da tab */
.tab button {
    padding: 12px 20px;
    background-color: var(--primary-color); /* Usa a cor primária definida */
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    transition: background-color 0.3s, transform 0.2s; /* Efeito de transição suave para o hover */
}

/* Efeito ao passar o mouse sobre os botões */
.tab button:hover {
    background-color: var(--primary-color-lower); /* Um tom mais escuro da cor primária */
    transform: translateY(-2px); /* Efeito de "subida" no hover */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); /* Sombra mais intensa no hover */
}

/* Efeito ao clicar no botão */
.tab button:active {
    transform: translateY(0); /* Remove o efeito de "subida" ao clicar */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Reduz a sombra ao clicar */
}

/* Estilo de foco no botão (acessibilidade) */
.tab button:focus {
    outline: none; /* Remove o outline padrão do navegador */
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.5); /* Adiciona uma borda ao redor do botão focado */
}

.container {
    margin-top: 60px;
}


/* Tag para números primos */
.prime-tag {
    position: absolute;
    top: +7px;
    right: -6px;
    width: 17px;
    height: 17px;
    background-color: var(--circle-background); /* Usar a mesma cor do círculo */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    font-weight: bold;
    color: var(--circle-text-color); /* Usar a cor do texto do círculo */
    transition: background-color 0.3s, color 0.3s;
}

/* Tag para números Fibonacci */
.fibonacci-tag {
    position: absolute;
    top: -10px;
    right: -6px;
    width: 17px;
    height: 17px;
    background-color: var(--background-color-2); /* Usar a mesma cor do círculo */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    font-weight: bold;
    color: var(--circle-text-color); /* Usar a cor do texto do círculo */
    transition: background-color 0.3s, color 0.3s;
}

/* Quando o círculo é selecionado, mudar o fundo e a cor da tag também */
.circle.selected .prime-tag,
.circle.selected .fibonacci-tag {
    background-color: var(--primary-color);
    color: white;
}

/* Quando o círculo é repetido */
.circle.repeated .prime-tag,
.circle.repeated .fibonacci-tag {
   /* background-color: var(--circle-background); /* Cor de repetição */
    /*color: white;*/
}

/* Quando o círculo é parte de "in" */
.circle.in .prime-tag,
.circle.in .fibonacci-tag {
    background-color: #e0b722;
    color: white;
}


.small-circle {
    width: 20px;
    height: 20px;
    font-size: 10px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    transition: background-color 0.3s ease, border 0.3s ease;
}

.circle.red {
    background-color: red;
    color: white;
    border: 2px solid red;
}
.circle.sorted {
    outline: 2px dashed red;

}

/* Números não sorteados */
.circle.unsorted {



}




.resumo-container {
    font-size: 0.85em; /* Reduz o tamanho da fonte */
    line-height: 1.4em; /* Reduz o espaçamento entre as linhas */
}
.resumo-container p {
    margin: 2px 0; /* Reduz a margem vertical entre os parágrafos */
    padding: 1; /* Remove qualquer padding extra */
    line-height: 1.2; /* Ajusta a altura da linha para reduzir o espaçamento */
}


.circle-button {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: var(--primary-color); /* Cor do botão */
    color: white;
    font-size: 18px;
    font-weight: bold;
    border: none;
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.3s;
    padding: 0;
}

/* Efeito de hover no botão */
.circle-button:hover {
    background-color: #2980b9; /* Um tom mais escuro para o hover */
}
#dezenas {
    appearance: none;  /* Remove o estilo padrão do navegador */
    -webkit-appearance: none; /* Remove o estilo padrão em navegadores baseados no WebKit */
    -moz-appearance: none; /* Remove o estilo padrão no Firefox */
    width: 40px;
    padding: 5px;
    border-radius: 3px;
    border: 2px solid var(--primary-color);
    font-size: 1em;
    text-align: center;
    background-color: var(--background-color-2);
    color: var(--text-color);
    margin-right: 10px; /* Adiciona um espaço entre os inputs */
}
#n_jogos {
    appearance: none;  /* Remove o estilo padrão do navegador */
    -webkit-appearance: none; /* Remove o estilo padrão em navegadores baseados no WebKit */
    -moz-appearance: none; /* Remove o estilo padrão no Firefox */
    width: 40px;
    padding: 5px;
    border-radius: 3px;
    border: 2px solid var(--primary-color);
    font-size: 1em;
    text-align: center;
    background-color: var(--background-color-2);
    color: var(--text-color);
    margin-right: 10px; /* Adiciona um espaço entre os inputs */
}


.game-container {
    position: relative;

    padding: 10px;
    margin-bottom: 10px;
    border-radius: 5px;
    background-color: var(--background-color-2-transparent);
}

.button-container {
    position: absolute;
    top: 0px;
    right: 0px;
    flex-direction: column;
    /*background-color: var(--background-color-2);*/
    border-radius: 5px;
}

.icon-button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 12px;
    color: var(--primary-color);
    transition: color 0.3s;
    border-radius: 50%;
    padding:5px 10px;
    margin-top: 5px;
    margin-right: 5px;
}

.material-symbols-outlined {
    font-variation-settings:
    'FILL' 0,
    'wght' 400,
    'GRAD' 0,
    'opsz' 48;
}


.numbers-container:hover {

}

.hover-message {
    position: absolute;
    max-width: 300px;
    max-height: 100px; /* Limita a altura máxima */
    white-space: normal;
    word-wrap: break-word;
    padding: 5px;
    top: -1px;
    right: -1px;
    background-color: #333;
    color: #fff;
    padding: 8px 12px;
    border-radius: 5px;
    font-size: 14px;
    display: none;
    overflow: hidden; /* Esconde o texto que ultrapassar o limite */
    text-overflow: ellipsis; /* Adiciona "..." no final se o texto for muito longo */
     z-index: 1000;
}

.numbers-container:hover .hover-message {
    display: block;
}


.save-message {
    position: fixed;
    top: 20px;
    right: 20px;
    background-color: #28a745; /* Verde para sucesso */
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    font-size: 16px;
    z-index: 1100;
    opacity: 0;
    animation: fadeInOut 3s ease-in-out;
}

@keyframes fadeInOut {
    0% { opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { opacity: 0; }
}

