:root {

  --bg: #0f172a;
  --card: rgba(255,255,255,0.05);
  --accent: #38bdf8;
  --accent2: #818cf8;
  
  --text: #e2e8f0;
  --muted: #94a3b8;
  
  --border: rgba(255,255,255,0.1);
  
  }
  
  *{
  margin:0;
  padding:0;
  box-sizing:border-box;
  }
  
  body{

    font-family: "Segoe UI", sans-serif;
    
    background:
    radial-gradient(circle at 20% 20%, #1e293b, transparent 40%),
    radial-gradient(circle at 80% 10%, #1e293b, transparent 35%),
    linear-gradient(180deg,#020617,#020617);
    
    color:var(--text);
    
    line-height:1.6;
    
    min-height:100vh;
    
    }

  /* Fond Matrix */
  #matrixCanvas{

    position:fixed;
    top:0;
    left:0;
    
    width:100%;
    height:100%;
    
    z-index:-1;
    
    opacity:0.25;
    
    pointer-events:none;
    
    }
  
  /* NAVBAR */
  
  header{

    position:sticky;
    
    top:0;
    
    background:rgba(2,6,23,0.7);
    
    backdrop-filter: blur(16px);
    
    border-bottom:1px solid rgba(56,189,248,0.2);
    
    z-index:100;
    
    }
  
  .nav{
  
  max-width:1200px;
  margin:auto;
  
  display:flex;
  justify-content:space-between;
  align-items:center;
  
  padding:1rem;
  
  }

  .nav a{

    text-decoration:none;
    
    color:var(--muted);
    
    transition:0.3s;
    
    position:relative;
    
    }
    
    .nav a::after{
    
    content:"";
    
    position:absolute;
    
    left:0;
    bottom:-5px;
    
    width:0%;
    height:2px;
    
    background:var(--accent);
    
    transition:0.3s;
    
    }
    
    .nav a:hover{
    
    color:var(--accent);
    
    }
    
    .nav a:hover::after{
    
    width:100%;
    
    }
  
  .logo{
  
  font-weight:700;
  letter-spacing:1px;
  color:var(--accent);
  
  }
  
  .nav-links{
  
  display:flex;
  gap:20px;
  
  }
  
  .nav a{
  
  text-decoration:none;
  color:var(--muted);
  transition:0.3s;
  
  }
  
  .nav a:hover{
  
  color:var(--accent);
  
  }
  
  /* SECTIONS */
  
  .section{
  
  max-width:1100px;
  margin:auto;
  padding:80px 20px;
  
  }
  
  .section-card{

    background:rgba(15,23,42,0.65);
    
    border:1px solid rgba(56,189,248,0.2);
    
    padding:40px;
    
    border-radius:16px;
    
    backdrop-filter: blur(14px);
    
    box-shadow:
    0 0 20px rgba(56,189,248,0.08);
    
    transition:0.35s;
    
    }
    
    .section-card:hover{
    
    border-color:var(--accent);
    
    box-shadow:
    0 0 25px rgba(56,189,248,0.25);
    
    }
  
  
  /* HERO */
  
  .hero{
  
  text-align:center;

  padding-top:120px;

  padding-bottom:120px;
  
  }
  
  .hero img{

    width:240px;
    height:240px;
    
    object-fit:cover;
    
    border-radius:50%;
    
    border:4px solid var(--accent);
    
    margin-bottom:25px;

    box-shadow:
    0 0 25px rgba(56,189,248,0.45);

    transition:0.4s;
    
    }
  
    .hero img:hover{

      transform:scale(1.05);
      
      box-shadow:
      0 0 35px rgba(56,189,248,0.7);
      
      }
  
  .hero h1{
  
  font-size:40px;
  
  }
  
  .accent{
  
  color:var(--accent);
  
  }
  
  /* BOUTONS */
  
  .btn{

    display:inline-block;
    
    margin-top:20px;
    margin-right:10px;
    
    padding:12px 22px;
    
    border-radius:10px;
    
    background:linear-gradient(90deg,var(--accent),var(--accent2));
    
    color:white;
    
    font-weight:500;
    
    text-decoration:none;
    
    transition:0.3s;
    
    box-shadow:0 0 10px rgba(56,189,248,0.2);
    
    }
    
    .btn:hover{
    
    transform:translateY(-3px);
    
    box-shadow:
    0 0 20px rgba(56,189,248,0.5);
    
    }
  
    /* TIMELINE */

.timeline{

  margin-top:20px;
  
  display:flex;
  flex-direction:column;
  gap:20px;
  
  }
  
  .timeline-item{
  
  padding:20px;
  
  border-left:3px solid var(--accent);
  
  background:rgba(255,255,255,0.02);
  
  border-radius:6px;
  
  }
  
  
  /* SKILLS */
  
  .skills-grid{
  
  display:grid;
  
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  
  gap:20px;
  
  margin-top:20px;
  
  }
  
  .skill{
  
  padding:20px;
  
  border:1px solid var(--border);
  
  border-radius:10px;
  
  background:rgba(255,255,255,0.02);
  
  transition:0.3s;
  
  }
  
  .skill:hover{
  
  border-color:var(--accent);
  
  box-shadow:0 0 15px rgba(56,189,248,0.25);
  
  }

  /* GRID PROJETS */
  
  .projects-grid{
  
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:25px;
  margin-top:30px;
  
  }
  
  .project-card{

    background:rgba(255,255,255,0.03);
    
    border:1px solid rgba(56,189,248,0.1);
    
    padding:25px;
    
    border-radius:12px;
    
    transition:all 0.35s;
    
    }
    
    .project-card:hover{
    
    transform:translateY(-8px);
    
    border-color:var(--accent);
    
    box-shadow:
    0 0 18px rgba(56,189,248,0.35);
    
    }
  
    /* Textes */
    h1,h2,h3{

      letter-spacing:0.5px;
      
      }
      
      h2{
      
      margin-bottom:20px;
      
      color:var(--accent);
      
      }
      p{

        margin-top:10px;
        
        color:var(--text);
        
        }
        
        ul{
        
        margin-top:15px;
        padding-left:20px;
        
        color:var(--muted);
        
        }

  /* TABLE */
  
  table{
  
  width:100%;
  margin-top:20px;
  border-collapse:collapse;
  
  }
  
  th,td{
  
  padding:12px;
  border-bottom:1px solid var(--border);
  
  }
  
  th{
  
  text-align:left;
  color:var(--accent);
  
  }
  
  /* FOOTER */
  
  footer{
  
  text-align:center;
  padding:40px;
  
  color:var(--muted);
  
  }

  /* PDF */
  .pdf-viewer{

    margin-top:30px;
    
    border:1px solid rgba(255,255,255,0.1);
    
    border-radius:10px;
    
    overflow:hidden;
    
    }
  
  /* animations */
  .fade{

    opacity:0;
    
    transform:translateY(30px);
    
    transition:0.7s;
    
    }
    
    .visible{
    
    opacity:1;
    
    transform:translateY(0);
    
    }
  
/* =========================
   ARTICLE VEILLE IA
========================= */

.section-card h2 {
    font-size: 28px;
    margin-bottom: 20px;
    color: #00ffcc; /* style Matrix */
}

.section-card h3 {
    margin-top: 25px;
    margin-bottom: 10px;
    color: #00cc99;
    font-size: 20px;
}

.section-card p {
    line-height: 1.7;
    margin-bottom: 15px;
    color: #e0e0e0;
}

.section-card ul {
    margin-left: 20px;
    margin-bottom: 15px;
}

.section-card ul li {
    margin-bottom: 8px;
    color: #b5f5ec;
}

/* Effet carte amélioré */
.section-card {
    background: rgba(0, 0, 0, 0.75);
    border: 1px solid #00ffcc;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 0 20px rgba(0, 255, 204, 0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Effet hover stylé */
.section-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 30px rgba(0, 255, 204, 0.5);
}

/* Style sources */
.section-card ul li::marker {
    color: #00ffcc;
}

/* Responsive */
@media screen and (max-width: 768px) {
    .section-card {
        padding: 20px;
    }

    .section-card h2 {
        font-size: 22px;
    }

    .section-card h3 {
        font-size: 18px;
    }
}