@layer components {
    .Perfil .BTNsair {
        background-color: red;
        color: white;
        border: none;
        position: absolute;
        top: 10px;
        right: 10px;
        width: 70px;
        height: 25px;
        font-size: 15px;
        border-radius: 5px;
    }

    .Perfil .Tema {
        margin-top: 30px;
        border-top: 2px solid var(--border-color);
        padding-top: 15px;
    }

    .Perfil .Tema h2 {
        position: static;
        margin: 0 0 10px;
    }

    .Perfil .Tema button {
        width: calc(50% - 5px);
        height: 50px;
        border: 2px solid var(--border-color);
        background-color: var(--secondary-background-);
        color: var(--text-color);
        font-size: 20px;
        border-radius: 8px;
        cursor: pointer;
    }

    .Perfil .Tema button:hover {
        border-color: var(--main-color);
    }

    .Perfil .Tema button.selected {
        background-color: var(--main-color);
        border-color: var(--main-color);
        color: white;
    }

    .Conteudos,
    .Sobre,
    .Perfil,
    .Placar {
        margin: 20px auto 10px;
        width: min(550px, 98vw);
        border: 2px solid var(--border-color);
        min-height: 90%;
    }

    .Sobre {
        color: var(--text-color);
        overflow: scroll;
        scrollbar-width: none;
        background-color: var(--main-background-);
        position: relative;
    }

    .Sobre h1 {
        text-align: center;
        font-size: min(40px, 5vw);
    }

    .Sobre details {
        margin: 0 10px 20px 0;
        border: 1px solid var(--border-color);
        color: var(--main-color);
    }

    .Sobre details p,
    .Sobre details h2 {
        color: var(--text-color);
        text-decoration: none;
    }

    .Sobre h2 {
        font-size: min(30px, 5vw);
        margin-left: 5px;
    }

    .Sobre p {
        text-align: justify;
        padding: 0 10px;
    }

    .Conteudo {
        width: 96%;
        margin: 0 2%;
        padding: 0;
        min-height: 200px;
        display: grid;
        grid-template-areas:
            "Header"
            "Main"
            "Footer";
        grid-template-rows: 60px auto 35px;
        border: 1px solid var(--border-color);
    }
    

    .Conteudo.Hidden .ConteudoPrincipal {
        filter: blur(2px);
    }

    .ConteudoPrincipal {
        color: var(--text-color);
        text-align: justify;
        padding: 5px 10px;
    }

    .ConteudoFooter {
        grid-area: Footer;
        display: flex;
        margin: 0;
        padding: 0;
        list-style: none;
        border-top: 1px solid var(--border-color);
    }

    .ConteudoFooter li {
        flex: 1;
        justify-content: center;
        align-content: center;
        position: relative;
    }

    .ConteudoFooter li img {
        background-color: var(--border-color);
        width: 100%;
        height: 100%;
    }

    .ConteudoFooter li span {
        color: var(--text-color);
        position: absolute;
        height: 100%;
        right: 0;
        align-content: center;
    }

    .ConteudoFooter li button {
        border: 0;
        margin: 0;
        padding: 0;
        background-color: transparent;
        width: 100%;
        height: 100%;
        transition: 500ms;
    }

    .ConteudoFooter li button img {
        width: 100%;
        height: 100%;
        animation: report 2s infinite alternate ease-in-out;
        transition: 600ms;
    }

    .ConteudoFooter li button:hover {
        transform: scale(1.25);

    }


    .ConteudoHeader {
        grid-area: Header;
        border-bottom: 1px solid var(--border-color);
        display: flex;
    }

    .ConteudoHeader img {
        height: 60px;
        width: 60px;
        border-radius: 5px;
    }

    .ConteudoHeader h3 {
        color: var(--text-color);
        margin-left: 10px;
    }
    .Conteudo.Especial .ConteudoHeader{
      position: relative;
    }
    .Conteudo.Especial .ConteudoHeader span{
        color: var(--main-color);
        border: 2px solid var(--main-color);
        height: 50%;
        font-size: 15px;
        padding: 5px;
        border-radius: 15px;
        position: absolute;
        right: 5px;
        top: 25%;
    }

    .Conteudo.Hidden .ConteudoHeader h3 {
        filter: blur(2px);
        z-index: 2;
    }

    .DivDePergunta {
        box-shadow: 0px 1px 2px var(--main-color);
        z-index: 3;
    }

    .Placar {
        background-color: var(--main-background-);
        color: var(--text-color);
        padding: 15px;
        overflow-y: auto;
        scrollbar-width: none;
    }

    .Placar h1 {
        color: var(--main-color);
        font-family: var(--title-font);
        font-size: clamp(28px, 6vw, 40px);
        text-align: center;
        margin: 5px 0 20px;
    }

    .Ranking {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .Ranking li {
        display: grid;
        grid-template-columns: 45px 1fr auto;
        align-items: center;
        min-height: 48px;
        margin-bottom: 6px;
        padding: 6px 12px;
        border: 1px solid var(--border-color);
        background-color: var(--secondary-background-);
        border-radius: 6px;
        transition: transform .15s ease, border-color .15s ease;
    }

    .Ranking li:hover {
        transform: translateX(3px);
        border-color: var(--main-color);
    }

    .Ranking .posicao {
        color: var(--border-color);
        font-family: var(--title-font);
        font-size: 17px;
        font-weight: bold;
        text-align: center;
    }

    .Ranking .nome {
        min-width: 0;
        padding: 0 10px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 17px;
    }

    .Ranking .pontos {
        color: var(--main-color);
        font-family: var(--title-font);
        font-weight: bold;
        text-align: right;
        white-space: nowrap;
    }

    .Ranking .top10 {
        min-height: 56px;
        border-color: #6d5578;
    }

    .Ranking .primeiro {
        min-height: 75px;
        border: 2px solid var(--main-color);
    }

    .Ranking .primeiro .posicao {
        color: var(--main-color);
        font-size: 28px;
    }

    .Ranking .primeiro .nome {
        font-size: 21px;
        font-weight: bold;
    }

    .Ranking .primeiro .pontos {
        font-size: 21px;
    }

    .Ranking .segundo,
    .Ranking .terceiro {
        min-height: 64px;
        border-color: #6d5578;
    }

    .Ranking .segundo .posicao,
    .Ranking .terceiro .posicao {
        color: var(--main-color);
        font-size: 23px;
    }

    .Ranking .segundo .nome,
    .Ranking .terceiro .nome {
        font-size: 19px;
    }

    .Ranking .segundo .pontos,
    .Ranking .terceiro .pontos {
        font-size: 19px;
    }

    .Ranking .jogador {
        border: 2px solid var(--main-color);
        background-color: var(--focus-color);
        color: var(--text-color);
    }

    .Ranking .jogador .posicao {
        color: var(--main-color);
    }

    .Perfil {
        background-color: var(--main-background-);
        color: var(--text-color);
        position: relative;
    }

    .Perfil h1 {
        text-align: center;
    }

    .Perfil h2 {
        text-align: left;
        position: absolute;
        bottom: 5px;
        left: 15px;
    }

    .Perfil img {
        background-color: var(--main-color);
        height: 100px;
        width: 100%;
    }

    .Perfil span {
        color: var(--main-color);
    }

    .NovaPostagem {
        position: absolute;
        bottom: 12.5vh;
        right: 2.5vw;
        width: 70px;
        height: 70px;
        border-radius: 25px;
        background-color: var(--main-background-);
        z-index: 5;
        border: 2px solid var(--border-color);
    }

    .NovaPostagem img {
        background-color: var(--text-color);
        border: none;
        outline: none;
        width: 100%;
        height: 65%;
        transition: 400ms;
    }

    .NovaPostagem img:hover {
        background-color: var(--main-color);
        transform: scale(1.1);
    }
    .creditos{
        width: 100%;
        text-align: center;
        position: absolute;
        bottom: 0;
    }
    .creditos a{
        
        color: var(--main-color);
    }
}