:root{
  --bg1:#0b1020;
  --bg2:#0f1a2e;
  --card:#0d1628;
  --accent:#06b6d4;
  --muted:#94a3b8;
  --glass:rgba(255,255,255,0.03)
}

/* Header Styles */
.main-header {
  background: linear-gradient(to bottom, var(--bg2), rgba(15,26,46,0.95));
  padding: 0 1rem;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--accent);
}

.header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  height: 64px;
}

.logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: white;
  font-weight: bold;
  font-size: 1.25rem;
  padding: 0.5rem;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.logo:hover {
  background: rgba(255, 255, 255, 0.05);
  transform: translateY(-1px);
}

.logo-img {
  height: 32px;
  width: 32px;
  margin-right: 0.75rem;
  border-radius: 8px;
  background: white;
  padding: 4px;
  transition: transform 0.3s ease;
}

.logo:hover .logo-img {
  transform: scale(1.1);
}

.logo-text {
  background: linear-gradient(135deg, var(--accent), #0891b2);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
}

.main-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 0.5rem;
}

.main-nav a {
  text-decoration: none;
  color: var(--muted);
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 0.3s ease;
  position: relative;
}

.main-nav a:hover {
  color: white;
  background: rgba(255, 255, 255, 0.05);
}

.main-nav a.active {
  color: white;
  background: rgba(6, 182, 212, 0.1);
  border: 1px solid rgba(6, 182, 212, 0.2);
}

/* Responsive design */
@media (max-width: 768px) {
  .header-content {
    height: 56px;
  }

  .logo-text {
    display: none;
  }

  .logo-img {
    margin-right: 0;
  }

  .main-nav ul {
    gap: 0.25rem;
  }

  .main-nav a {
    padding: 0.4rem 0.6rem;
    font-size: 0.85rem;
  }
}

@media (max-width: 480px) {
  .main-header {
    padding: 0 0.5rem;
  }

  .main-nav a {
    padding: 0.35rem 0.5rem;
    font-size: 0.8rem;
  }
}

.taskbar-item.active{
  background:linear-gradient(135deg, var(--accent), rgba(6,182,212,0.8));
  color:#032029;
  font-weight:600;
  box-shadow:0 4px 15px rgba(6,182,212,0.3);
}

.taskbar-icon{
  font-size:16px;
}

.taskbar-text{
  font-size:13px;
  font-weight:500;
}

@media(max-width:768px){
  .taskbar-text{
    display:none;
  }
  
  .taskbar-item{
    padding:8px 12px;
  }
  
  .taskbar-content{
    gap:2px;
  }
}

*{
  box-sizing:border-box;
  font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial
}

html,body{
  height:100%
}

body{
  margin:0;
  background:radial-gradient(1200px 600px at 10% 10%, rgba(6,182,212,0.08), transparent),
    radial-gradient(1000px 500px at 90% 20%, rgba(99,102,241,0.08), transparent),
    linear-gradient(180deg,var(--bg1) 0%, var(--bg2) 100%);
  color:#e6eef6;
  line-height:1.5
}

.container{
  max-width:900px;
  margin:32px auto;
  padding:80px 20px 20px;
}

.header{
  text-align:center;
  margin-bottom:32px;
  padding:24px 0;
  border-bottom:1px solid rgba(255,255,255,0.1)
}

.logo-container{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-bottom:16px
}

.logo-img{
  height:60px;
  width:auto;
  border-radius:12px;
  background:#ffffff;
  padding:8px;
  box-shadow:0 4px 12px rgba(0,0,0,0.3);
  transition:transform 0.3s ease
}

.logo-img:hover{
  transform:scale(1.05)
}

.brand-text{
  color:var(--accent);
  font-size:18px;
  font-weight:700
}

h1{
  font-size:32px;
  margin:0 0 8px 0
}

p.subtitle{
  color:var(--muted);
  margin:0;
  font-size:16px
}

.main-content{
  display:flex;
  flex-direction:column;
  gap:24px
}

.card{
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-radius:14px;
  padding:24px;
  box-shadow:0 6px 18px rgba(2,6,23,0.6);
  border:1px solid rgba(255,255,255,0.05);
  transition:all 0.3s ease
}

.card:hover{
  transform:translateY(-5px);
  box-shadow:0 15px 35px rgba(6, 182, 212, 0.15)
}

h2{
  margin:0 0 12px 0;
  font-size:20px
}

p{
  margin:0 0 12px 0
}

ul{
  margin:0 0 0 20px
}

li{
  margin-bottom:6px
}

.actions{
  display:flex;
  gap:12px;
  margin-top:20px;
  flex-wrap:wrap
}

.btn{
  background:var(--accent);
  color:#032029;
  padding:12px 18px;
  border-radius:10px;
  text-decoration:none;
  font-weight:700;
  transition:all 0.2s;
  border:none;
  cursor:pointer
}

.btn:hover{
  background:#0891b2;
  transform:translateY(-2px);
  box-shadow:0 5px 15px rgba(6, 182, 212, 0.4)
}

.btn-secondary{
  background:transparent;
  border:1px solid rgba(255,255,255,0.2);
  color:#e6eef6;
  padding:12px 18px;
  border-radius:10px;
  text-decoration:none;
  font-weight:700;
  transition:all 0.2s;
  cursor:pointer
}

.btn-secondary:hover{
  background:rgba(255,255,255,0.05);
  border-color:var(--accent);
  transform:translateY(-2px)
}

/* Styles pour les pages a-propos */
header{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:flex-start
}

.logo{
  display:flex;
  align-items:center;
  gap:12px
}

.badge{
  background:var(--glass);
  padding:8px 12px;
  border-radius:12px;
  font-weight:600;
  color:var(--accent)
}

h1{
  font-size:28px;
  margin:0
}

p.lead{
  color:var(--muted);
  margin:0
}

main{
  margin-top:20px;
  display:flex;
  flex-direction:column;
  gap:18px
}

.cols{
  display:flex;
  flex-direction:column;
  gap:12px
}

.stack{
  display:flex;
  flex-wrap:wrap;
  gap:8px
}

.pill{
  background:rgba(255,255,255,0.03);
  padding:6px 10px;
  border-radius:999px;
  font-size:13px;
  color:var(--muted)
}

.ghost{
  background:transparent;
  border:1px solid rgba(255,255,255,0.06);
  color:var(--muted);
  padding:10px 14px;
  border-radius:10px;
  text-decoration:none
}

pre{
  background:#071424;
  padding:12px;
  border-radius:8px;
  overflow:auto;
  color:#bfeefc
}

.topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:8px;
  color:var(--muted);
  font-size:13px
}

.brand-logo{
  height:28px;
  width:auto;
  border-radius:6px;
  background:#ffffff;
  padding:4px;
  transition:transform 0.3s ease
}

.brand-logo:hover{
  transform:scale(1.1)
}

.brand-text{
  color:#e6eef6;
  font-weight:600
}

.wrap{
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  flex-direction: column;
}

.panels-container{
  display:flex;
  flex-direction:column;
  gap:24px;
  width:100%;
  max-width:1000px;
}

@media(min-width:768px){
  .panels-container{
    flex-direction:row;
    gap:32px;
  }
}

.panel{
  background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02));
  border:1px solid rgba(255,255,255,0.06);
  border-radius:16px;
  flex:1;
  padding:28px;
  box-shadow:0 10px 30px rgba(2,6,23,0.6)
}

.avatar{
  width:80px;
  height:80px;
  border-radius:50%;
  margin:0 auto 16px;
  background:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  font-weight:700;
  color:#061014;
  overflow:hidden;
  border:3px solid var(--accent);
  box-shadow:0 4px 15px rgba(6, 182, 212, 0.3)
}

.avatar img{
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  transition:transform 0.3s ease
}

.avatar:hover img{
  transform:scale(1.1)
}

h1{
  font-size:24px;
  margin:0 0 8px 0;
  text-align:center
}

p.subtitle{
  color:var(--muted);
  margin:0 0 24px 0;
  text-align:center;
  font-size:14px
}

.links{
  display:flex;
  flex-direction:column;
  gap:12px
}

.link{
  display:flex;
  align-items:center;
  gap:12px;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.06);
  padding:16px;
  border-radius:12px;
  text-decoration:none;
  color:#e6eef6;
  transition:all 0.2s;
  position:relative
}

.link:hover{
  background:rgba(255,255,255,0.04);
  border-color:var(--accent);
  transform:translateY(-1px)
}

.link-icon{
  width:20px;
  height:20px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--accent);
  border-radius:6px;
  color:#061014;
  font-size:12px;
  font-weight:700
}

.link-text{
  flex:1
}

.link-title{
  font-weight:600;
  margin:0 0 2px 0
}

.link-desc{
  font-size:12px;
  color:var(--muted);
  margin:0
}

.link-arrow{
  color:var(--muted);
  font-size:14px;
  opacity:0.7
}

.brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,0.06)
}

.brand-logo{
  height:20px;
  width:auto;
  border-radius:4px;
  background:#ffffff;
  padding:2px
}

.brand-text{
  color:var(--muted);
  font-size:12px;
  font-weight:500
}

footer{
  margin-top:16px;
  text-align:center;
  color:var(--muted);
  font-size:11px
}

/* Timeline Styles */
.timeline{
  position:relative;
  padding-left:30px;
}

.timeline::before{
  content:'';
  position:absolute;
  left:15px;
  top:0;
  bottom:0;
  width:2px;
  background:linear-gradient(180deg, var(--accent), rgba(6,182,212,0.3));
}

.timeline-item{
  position:relative;
  margin-bottom:30px;
  opacity:0;
  transform:translateX(-50px);
  transition:all 0.8s ease;
}

.timeline-item.animate{
  opacity:1;
  transform:translateX(0);
}

.timeline-marker{
  position:absolute;
  left:-22px;
  top:8px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--accent);
  border:3px solid var(--bg1);
  box-shadow:0 0 0 3px rgba(6,182,212,0.3);
  animation:pulse 2s infinite;
}

.timeline-content{
  background:linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  border:1px solid rgba(255,255,255,0.1);
  border-radius:8px;
  padding:15px;
  margin-left:15px;
  position:relative;
  transition:all 0.3s ease;
}

.timeline-content:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 25px rgba(6,182,212,0.2);
  border-color:var(--accent);
}

.timeline-content::before{
  content:'';
  position:absolute;
  left:-6px;
  top:15px;
  width:0;
  height:0;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-right:6px solid rgba(255,255,255,0.05);
}

.timeline-content h3{
  color:var(--accent);
  font-size:16px;
  margin:0 0 6px 0;
}

.timeline-content p{
  color:var(--muted);
  margin:0 0 8px 0;
  line-height:1.4;
  font-size:14px;
}

.timeline-date{
  color:var(--accent);
  font-size:11px;
  font-weight:600;
  background:rgba(6,182,212,0.1);
  padding:3px 6px;
  border-radius:4px;
  display:inline-block;
}

@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(6,182,212,0.7);}
  70%{box-shadow:0 0 0 8px rgba(6,182,212,0);}
  100%{box-shadow:0 0 0 0 rgba(6,182,212,0);}
}

@media(min-width:600px){
  .panel{
    padding:34px
  }
  
  .timeline{
    padding-left:40px;
  }
  
  .timeline::before{
    left:20px;
  }
  
  .timeline-marker{
    left:-28px;
    width:16px;
    height:16px;
  }
  
  .timeline-content{
    margin-left:20px;
    padding:18px;
    }
}