/* Definições de Fontes */
@font-face {
    font-family: 'JetBrains Mono';
    src: url('../fontes/JetBrainsMono-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'JetBrains Mono SemiBold';
    src: url('../fontes/JetBrainsMono-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'JetBrains Mono Italic';
    src: url('../fontes/JetBrainsMono-Italic.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

/* Variáveis de Cores, Fontes, Tamanhos e Medidas Globais */
:root {
    /* Cores */
    --cor-fundo: #212121;
    --cor-fundo-gradiente: linear-gradient(to bottom, #17262f 0%, #18171c 40%, #141414 100%);
    --cor-texto: #f0f0f0;
    --cor-destaque: #00bfff;
    --cor-secundaria: #a9a9a9;
    --cor-borda: #3c3c3c;
    --cor-fundo-escuro: #2f2f2f;

    /* Cores de Sombra */
    --cor-sombra-leve: rgba(0, 0, 0, 0.13);
    --cor-sombra-media: rgba(0, 0, 0, 0.11);
    --cor-sombra-forte: rgba(0, 0, 0, 0.25);

    /* Fontes */
    --fonte-principal: 'JetBrains Mono', monospace;
    --fonte-titulo: 'JetBrains Mono SemiBold', monospace;
    --fonte-italica: 'JetBrains Mono Italic', monospace;

    /* Tamanhos de Fonte */
    --tamanho-fonte-titulo: 2rem;
    --tamanho-fonte-subtitulo: 1.625rem;
    --tamanho-fonte-corpo: 1rem;
    --tamanho-fonte-pequena: 0.875rem;

    /* Fatores de Ajuste para Mobile */
    --fator-reducao-450: 0.91;
    --fator-reducao-400: 0.79;
    --fator-reducao-350: 0.74;
    --fator-aumento: 2;
}

/* Estilo Global do Corpo */
body {
    background: var(--cor-fundo-gradiente);
    background-attachment: fixed;
    background-size: cover;
    color: var(--cor-texto);
    font-family: var(--fonte-principal);
    box-sizing: border-box;
    min-width: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100vh;
    margin: 0 auto;
    padding: 2.5rem 1.25rem;
}

/* Estilo dos Títulos */
h1,
h2,
h3 {
    font-family: var(--fonte-titulo);
}

/* Estilo das Imagens */
img {
    -webkit-user-drag: none;
    user-drag: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}