body {
  font-family: 'Segoe UI', sans-serif;
  padding: 25px;
  background: linear-gradient(135deg, #07070786, #050505, #020649c7);
  min-height: 100vh;
  margin: 5;
  color: #fff;
}

.hero {
  position: relative;
  text-align: center;
  padding: 80px 20px;
  color: #00ff00;
  font-family: monospace;
  overflow: hidden;
  z-index: 1;
}

/* Canvas ocupa o fundo */
#matrixCanvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: rgba(0, 0, 0, 0.719);
}

/* Robo animado */
.hero img {
  width: 80px;
  vertical-align: middle;
  animation: float 3s ease-in-out infinite;
}

@keyframes float {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-15px);
  }

  100% {
    transform: translateY(0px);
  }
}

/* Título */
.hero h1 {
  font-size: 2.5rem;
  margin: 10px 0;
  text-shadow: 0 0 10px #0a0a0a, 0 0 20px #00ff00;
}

/* Subtítulo */
.hero p {
  font-size: 1.2rem;
  text-shadow: 0 0 5px #00ff00;
}

/* Cards com imagens */
.card {
  transition: transform 0.4s, box-shadow 0.4s, opacity 0.6s;
  opacity: 0;
  transform: translateY(50px);
  overflow: hidden;
  background: #00000085;
  color: #fff;
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(243, 240, 240, 0.3);
}

.card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  transition: transform 0.4s;
}

.card:hover img {
  transform: scale(1.05);
}

.hero h1 {
  font-size: 3rem;
  animation: glow 2s ease-in-out infinite alternate;
}

@keyframes glow {
  0% {
    text-shadow: 0 0 5px #fff;
  }

  50% {
    text-shadow: 0 0 20px #fff, 0 0 30px #00f, 0 0 40px #0ff;
  }

  100% {
    text-shadow: 0 0 5px #fff;
  }
}

@keyframes float {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-15px);
  }

  100% {
    transform: translateY(0px);
  }
}

/* Menu fixo e responsivo */
/* Fundo gradiente animado no menu */
.navbar-custom {
  background: linear-gradient(90deg, #0a0a0ad2, #070707, #2a0bdb73);
  background-size: 300% 300%;
  animation: gradientMove 10s ease infinite;
}

/* Animação suave */
@keyframes gradientMove {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

/* Links do menu */
.navbar-custom .nav-link {
  color: #ffffff !important;
  font-weight: 500;
  transition: color 0.3s, transform 0.3s;
}

/* Efeito hover */
.navbar-custom .nav-link:hover {
  color: #000 !important;
  transform: scale(1.1);
  text-shadow: 0 0 5px #fff;
}

/* Marca (logo + texto) */
.navbar-custom .navbar-brand {
  font-weight: bold;
  color: #ffffff !important;
  text-shadow: 0 0 10px #00ffcc;
}

.navbar img {
  animation: float 3s ease-in-out infinite;

}

.title {
  color: #5C6AC4;
}

.footer-custom {
  background-color: #11111191;
}

pre code {
  display: block;
  background-color: #0a0a0a;
  /* fundo escuro */
  color: #f7f8f7;
  /* texto verde neon */
  padding: 15px;
  border-radius: 8px;
  overflow-x: auto;
  /* barra de rolagem se necessário */
  white-space: pre-wrap;
  /* mantém formatação e quebra linhas automaticamente */
  word-wrap: break-word;
  /* quebra palavras longas */
  overflow-wrap: break-word;
  /* compatibilidade extra */
  box-shadow: 0 0 15px rgba(5, 5, 5, 0.5);
  font-family: monospace;
  line-height: 1.5;
}

/* Seleção de texto */
pre code::selection {
  background: rgba(99, 97, 97, 0.705);
  color: #fcfcfc;
}

/* ESTILOS DO BOTÃO */
#btnTopo {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  font-size: 20px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease-in-out;
  transform: translateY(20px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}

#btnTopo.mostrar {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

#btnTopo:hover {
  background: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

/* CONTEÚDO DE EXEMPLO */
.conteudo {
  height: 2000px;
  padding: 50px;
  background: linear-gradient(180deg, #f0f0f0, #e0e0e0);
  font-family: Arial, sans-serif;
}

/* RESPONSIVIDADE */
@media (max-width: 768px) {
  #btnTopo {
    width: 45px;
    height: 45px;
    bottom: 20px;
    right: 20px;
    font-size: 18px;
  }
}

       :root {
            --primary-gradient: linear-gradient(135deg, #1111168e 0%, #280d53a2 100%);
            --secondary-gradient: linear-gradient(135deg, #0c0c0c6e 0%, #18134770 100%);
            --success-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
            --dark-bg: #0d1117;
            --card-bg: rgba(255, 255, 255, 0.05);
            --text-light: #e6e6e6;
        }
        
        body {
            background: var(--dark-bg);
            color: var(--text-light);
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }
        
        .hero-section {
            background: var(--primary-gradient);
            padding: 100px 0;
            text-align: center;
            position: relative;
            overflow: hidden;
            height: auto;
        }
        
        .hero-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.3);
        }
        
        .hero-content {
            position: relative;
            z-index: 2;
        }
        
        .hero-logo {
            width: 120px;
            height: 120px;
            margin-bottom: 20px;
            filter: drop-shadow(0 0 20px rgba(0, 255, 136, 0.5));
            animation: float 3s ease-in-out infinite;
        }
        
        @keyframes float {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-10px); }
        }
        
        .hero-title {
            font-size: 3.5rem;
            font-weight: 800;
            margin-bottom: 20px;
            background: linear-gradient(45deg, #00ff88, #00ccff);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            text-shadow: 0 0 30px rgba(0, 255, 136, 0.3);
        }
        
        .hero-subtitle {
            font-size: 1.3rem;
            margin-bottom: 30px;
            opacity: 0.9;
        }
        
        .stats-section {
            background: rgba(255, 255, 255, 0.02);
            padding: 40px 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }
        
        .stat-card {
            text-align: center;
            padding: 20px;
        }
        
        .stat-number {
            font-size: 2.5rem;
            font-weight: 700;
            background: #f5f1f1ff;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            margin-bottom: 5px;
        }
        
        .stat-label {
            color: #8b949e;
            font-size: 0.9rem;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
        
        .section-card {
            background: var(--card-bg);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 15px;
            padding: 30px;
            height: 100%;
            transition: all 0.3s ease;
            backdrop-filter: blur(10px);
        }
        
        .section-card:hover {
            transform: translateY(-5px);
            border-color: rgba(0, 255, 136, 0.3);
            box-shadow: 0 10px 30px rgba(0, 255, 136, 0.1);
        }
        
        .section-icon {
            font-size: 2.5rem;
            margin-bottom: 15px;
        }
        
        .section-title {
            font-size: 1.3rem;
            font-weight: 600;
            margin-bottom: 10px;
        }
        
        .section-description {
            color: #8b949e;
            font-size: 0.9rem;
            line-height: 1.5;
        }
        
        .publication-card {
            background: var(--card-bg);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: #f5f2f2ff;;
            border-radius: 12px;
            overflow: hidden;
            transition: all 0.3s ease;
            height: 100%;
        }
        
        .publication-card:hover {
            transform: translateY(-3px);
            border-color: rgba(0, 123, 255, 0.3);
            box-shadow: 0 5px 20px rgba(0, 123, 255, 0.2);
        }
        
        .publication-image {
            width: 100%;
            height: 200px;
            object-fit: cover;
            background: linear-gradient(45deg, #667eea, #764ba2);
        }
        
        .publication-badge {
            position: absolute;
            top: 10px;
            right: 10px;
            background: rgba(0, 123, 255, 0.9);
            color: white;
            padding: 4px 8px;
            border-radius: 6px;
            font-size: 0.7rem;
            font-weight: 600;
        }
        
        .publication-content {
            padding: 20px;
        }
        
        .publication-title {
            font-size: 1.1rem;
            font-weight: 600;
            margin-bottom: 10px;
            line-height: 1.4;
        }
        
        .publication-excerpt {
            color: #8b949e;
            font-size: 0.85rem;
            line-height: 1.5;
            margin-bottom: 15px;
        }
        
        .publication-meta {
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 0.8rem;
            color: #6c757d;
        }
        .publication-centro{
             background-color: rgba(233, 235, 240, 0);
             padding: 20px;
             margin: 200px auto;
        }
        .btn-custom {
            background: var(--primary-gradient);
            border: none;
            color: white;
            padding: 8px 20px;
            border-radius: 8px;
            font-weight: 600;
            transition: all 0.3s ease;
        }
        
        .btn-custom:hover {
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
            color: white;
        }
        
        .section-header {
            text-align: center;
            margin: 60px 0 40px 0;
        }
        
        .section-title-main {
            font-size: 2.5rem;
            font-weight: 700;
            margin-bottom: 15px;
            background: linear-gradient(45deg, #f8f5f5, #03070805);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        
        .section-subtitle {
            color: #8b949e;
            font-size: 1.1rem;
            max-width: 600px;
            margin: 0 auto;
        }
        
        @media (max-width: 768px) {
            .hero-title {
                font-size: 2.5rem;
            }
            
            .hero-subtitle {
                font-size: 1.1rem;
            }
            
            .section-title-main {
                font-size: 2rem;
            }
        }
        
        .feature-content {
            max-width: 800px;
            margin: 0 auto;
        }

        /* Loading spinner */
        .loading-spinner {
            display: none;
            text-align: center;
            padding: 20px;
        }

        .spinner-border {
            width: 3rem;
            height: 3rem;
        }

        #carregarMaisContainer {
            text-align: center;
            margin-top: 30px;
        }

        .publication-item {
            animation: fadeIn 0.5s ease-in;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }
    .hero-section {
        background: var(--primary-gradient);
        padding: 80px 0;
        text-align: center;
        position: relative;
        overflow: hidden;
    }
    
    .hero-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.3);
    }
    
    .hero-content {
        position: relative;
        z-index: 2;
    }
    
    .hero-logo {
        width: 80px;
        height: 80px;
        margin-bottom: 15px;
        filter: drop-shadow(0 0 15px rgba(0, 255, 136, 0.5));
    }
    
    .hero-title {
        font-size: 2.5rem;
        font-weight: 700;
        margin-bottom: 10px;
        background: linear-gradient(45deg, #00ff88, #00ccff);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    
    .hero-subtitle {
        font-size: 1.1rem;
        opacity: 0.9;
        max-width: 600px;
        margin: 0 auto;
    }
    
    .article-container {
        max-width: 900px;
        margin: 0 auto;
        padding: 40px 20px;
    }
    
    .article-header {
        text-align: center;
        margin-bottom: 40px;
        padding-bottom: 30px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .article-title {
        font-size: 2.5rem;
        font-weight: 700;
        margin-bottom: 15px;
        color: #ffffff;
        line-height: 1.3;
    }
    
    .article-meta {
        color: #8b949e;
        font-size: 1rem;
        margin-bottom: 25px;
    }
    
    .article-meta i {
        margin-right: 5px;
    }
    
    .article-image {
        width: 100%;
        max-height: 400px;
        object-fit: cover;
        border-radius: 12px;
        margin: 25px 0;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    }
    
    .article-content {
        background: var(--card-bg);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 15px;
        padding: 40px;
        margin-bottom: 40px;
        backdrop-filter: blur(10px);
    }
    
    .article-text {
        font-size: 1.1rem;
        line-height: 1.8;
        color: #e6e6e6;
    }
    
    .article-text h2 {
        color: #f2f3f3;
        margin: 35px 0 20px 0;
        font-size: 1.8rem;
        font-weight: 600;
    }
    
    .article-text h3 {
        color: #00ff88;
        margin: 30px 0 15px 0;
        font-size: 1.4rem;
        font-weight: 600;
    }
    
    .article-text p {
        margin-bottom: 20px;
    }
    
    .article-text code {
        background: rgba(0, 123, 255, 0.1);
        color: #00ccff;
        padding: 2px 6px;
        border-radius: 4px;
        font-size: 0.9em;
    }
    
    .article-text pre {
        background: #1a1a1a;
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 8px;
        padding: 20px;
        overflow-x: auto;
        margin: 25px 0;
    }
    
    .article-text blockquote {
        border-left: 4px solid #00ff88;
        background: rgba(0, 255, 136, 0.05);
        padding: 15px 20px;
        margin: 25px 0;
        font-style: italic;
    }
    
    .section-title {
        font-size: 2rem;
        font-weight: 700;
        margin: 50px 0 30px 0;
        text-align: center;
        background: linear-gradient(45deg, #00ff88, #00ccff);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    
    .related-articles {
        margin: 60px 0;
    }
    
    .related-card {
        background: var(--card-bg);
        border: 1px solid rgba(255, 255, 255, 0.1);
        color: #fcf5f5ff;
        border-radius: 12px;
        overflow: hidden;
        transition: all 0.3s ease;
        height: 100%;
    }
    
    .related-card:hover {
        transform: translateY(-5px);
        border-color: rgba(0, 123, 255, 0.3);
        box-shadow: 0 10px 30px rgba(0, 123, 255, 0.2);
    }
    
    .related-image {
        width: 100%;
        height: 180px;
        object-fit: cover;
    }
    
    .related-content {
        padding: 20px;
    }
    
    .related-title {
        font-size: 1.1rem;
        font-weight: 600;
        margin-bottom: 10px;
        line-height: 1.4;
    }
    
    .related-meta {
        color: #8b949e;
        font-size: 0.85rem;
    }
    
    .btn-custom {
        background: var(--primary-gradient);
        border: none;
        color: white;
        padding: 10px 25px;
        border-radius: 8px;
        font-weight: 600;
        transition: all 0.3s ease;
        text-decoration: none;
        display: inline-block;
    }
    
    .btn-custom:hover {
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
        color: white;
    }
    
    .navigation-buttons {
        display: flex;
        justify-content: space-between;
        margin: 40px 0;
        padding: 20px 0;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    @media (max-width: 768px) {
        .hero-title {
            font-size: 2rem;
        }
        
        .article-title {
            font-size: 2rem;
        }
        
        .article-content {
            padding: 25px;
        }
        
        .article-text {
            font-size: 1rem;
        }
        
        .navigation-buttons {
            flex-direction: column;
            gap: 15px;
        }
        
        .navigation-buttons .btn {
            width: 100%;
            text-align: center;
        }
    }
    
    .badge-category {
        background: var(--primary-gradient);
        color: white;
        padding: 6px 12px;
        border-radius: 20px;
        font-size: 0.8rem;
        font-weight: 600;
    }