:root{ 
  --bg:#000000; 
  --bg-gradient: linear-gradient(135deg, #000000 0%, #0a0e1a 100%);
  --fg:#e2e8f0; 
  --muted:#cbd5e1; 
  --card:#0a0e1a; 
  --line:#334155; 
  --link:#93c5fd; 
  --radius:16px; 
  --shadow:0 10px 24px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.12);
  --blue:#1E40AF; 
  --red:#DC143C;
  --purple:#a855f7;
  --glow-blue: 0 0 20px rgba(30, 64, 175, 0.5);
  --glow-red: 0 0 20px rgba(220, 20, 60, 0.5);
  --glow-purple: 0 0 20px rgba(168, 85, 247, 0.5);
}
*{box-sizing:border-box}
body{
  margin:0;
  background:var(--bg-gradient);
  color:var(--fg);
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
  min-height:100vh;
}
a{color:var(--link)}
.main,.titleContainer,.contentContainer{max-width:1100px;margin:24px auto;padding:0 16px}
.titleContainer h1{margin:0 0 8px;font-size:2rem;font-weight:800;color:#fff}
.contentContainer p,.contentContainer li{line-height:1.65;color:var(--fg)}
.note{color:var(--muted);font-style:italic}
.card{
  background:var(--card);
  border:2px solid var(--line);
  border-radius:var(--radius);
  box-shadow: 0 8px 32px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.1);
  padding:24px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.card:hover{
  border-color: var(--blue);
  box-shadow: var(--glow-blue), 0 12px 40px rgba(0,0,0,0.5);
  transform: translateY(-2px);
}
ul{padding-left:24px}
/* Respect fixed navbar + banner spacing set by the project */
/* Banner CSS will handle the padding-top, but we ensure minimum spacing */
body.has-fixed-nav{padding-top:64px}

/* Mobile Optimizations */
@media (max-width: 768px){
  .main,.titleContainer,.contentContainer{
    padding: 0 12px;
  }
  
  .titleContainer h1{
    font-size: 1.6rem;
  }
  
  .card{
    padding: 16px;
    border-radius: 12px;
  }
  
  .card:hover{
    transform: translateY(-1px);
  }
  
  .contentContainer p,.contentContainer li{
    font-size: 0.95rem;
    line-height: 1.6;
  }
  
  ul{
    padding-left: 18px;
  }
  
  .note{
    font-size: 0.85rem;
  }
  
  a{
    word-break: break-word;
  }
}
