@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;500;600;700;800&display=swap');

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body {
    height: 100%;
    overflow: hidden;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    color: var(--texto-principal);
    background-color: var(--cinza-fundo);
    background-image:
        radial-gradient(ellipse 80% 40% at 10% 0%, rgba(147, 197, 253, 0.18) 0%, transparent 60%),
        radial-gradient(ellipse 60% 40% at 90% 100%, rgba(196, 221, 255, 0.15) 0%, transparent 55%);
    background-attachment: fixed;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}

[data-theme="dark"] body {
    background-image:
        radial-gradient(ellipse 80% 40% at 10% 0%, rgba(30, 64, 175, 0.25) 0%, transparent 60%),
        radial-gradient(ellipse 60% 40% at 90% 100%, rgba(15, 40, 100, 0.2) 0%, transparent 55%);
}

a { color: var(--azul-primario); text-decoration: none; transition: color var(--transicao); }
a:hover { color: var(--azul-hover); }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
    background: var(--cinza-borda);
    border-radius: 8px;
}
::-webkit-scrollbar-thumb:hover { background: var(--cinza-texto); }

@keyframes slideUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes slideIn {
    from { opacity: 0; transform: translateX(-12px); }
    to { opacity: 1; transform: translateX(0); }
}
