/* ===== blog-description.css ===== */
:root{
  --bg: #0b0b0c;
  --card: #0f0f10;
  --muted: #d9d9d9;
  --muted-2: #bfbfbf;
  --accent: #ff2b2b;
  --accent-dark: #b30000;
  --shadow: rgba(179,0,0,0.14);
  --max-width: 1100px;
  --gap: 28px;
}

/* Reset */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:var(--bg);
  color:var(--muted);
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding-bottom:60px;
  color: white;
}

/* Wrap helper */
.wrap{max-width:var(--max-width);margin:0 auto;padding:0 20px}

/* Skip link (visible on keyboard focus) */
.skip{
  
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
}
.skip:focus{
  left:12px;top:12px;
  width:auto;height:auto;
  background:#fff;color:#000;
  padding:8px 12px;border-radius:6px;
  box-shadow:0 6px 20px rgba(0,0,0,0.6);
  z-index:9999;
}

/* Header */
.site-header{
  background:linear-gradient(180deg,#121212,#0e0e0f);
  border-bottom:4px solid var(--accent-dark);
  color:var(--muted);
  padding:28px 0;
  box-shadow:0 6px 18px var(--shadow);
}
.site-header .wrap{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:center;
 
}
.site-title{
  font-size:1.9rem;
  color:#e40b0b; /* main heading white for readability */
  letter-spacing:0.2px;
  font-weight:600;
}
.site-tag{
  color:var(--muted-2);
  font-size:0.95rem;
}

/* TOC / nav */
.toc{
  margin-top:18px;
  border-bottom:1px solid rgba(255,255,255,0.03);
  background:transparent;
}
.toc .wrap{
  display:flex;
  gap:18px;
  align-items:center;
  padding:10px 0;
  flex-wrap:wrap;
}
.toc strong{
  color:var(--accent);
  margin-right:10px;
  font-weight:700;
}
.toc ul{
  list-style:none;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
}
.toc a{
  color:var(--muted-2);
  text-decoration:none;
  padding:6px 8px;
  border-radius:6px;
  font-size:0.95rem;
  transition:color .18s ease, background .18s ease, transform .12s ease;
}
.toc a:hover, .toc a:focus{
  color:#fff;
  background:rgba(179,0,0,0.08);
  outline:none;
}
.toc a.active{
  color:#fff;
  background:linear-gradient(90deg, rgba(179,0,0,0.14), rgba(255,43,43,0.06));
  box-shadow:0 6px 18px rgba(179,0,0,0.08);
  border:1px solid rgba(255,43,43,0.06);
}

/* Main container */
.main.wrap{
  padding-top:30px;
  display:block;
}

/* Post card */
.post.card.reveal{
  background:var(--card);
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.02);
  padding:22px;
  margin-bottom:var(--gap);
  box-shadow:0 10px 30px rgba(0,0,0,0.6);
  transform:translateY(20px);
  opacity:0;
  transition:transform .6s cubic-bezier(.16,.84,.24,1), opacity .6s ease, box-shadow .25s ease;
  overflow:hidden;
}
.post.card.reveal.visible{
  transform:translateY(0);
  opacity:1;
}
.post.card.reveal:hover{
  box-shadow:0 18px 40px rgba(179,0,0,0.12);
}

/* Post header */
.post-header h2{
  color:var(--accent);
  font-size:1.5rem;
  margin-bottom:6px;
}
.byline{
  color:var(--muted-2);
  font-size:0.95rem;
  margin-bottom:14px;
}

/* Post body */
.post-body p{ color:#e6e6e6; margin-bottom:14px; font-size:1rem }
.post-body h3{ color:#ff6b6b; margin:18px 0 10px; font-size:1.05rem }
.post-body ul{ margin:10px 0 18px 20px; color:#e0e0e0 }
.post-body li{ margin:8px 0 }

/* Images inside posts */
.post-body img{ max-width:100%; border-radius:8px; display:block; margin:16px 0 }

/* Footer */
.site-footer{
  margin-top:20px;
  background:linear-gradient(180deg,#0f0f10,#0b0b0b);
  color:var(--muted-2);
  border-top:3px solid var(--accent-dark);
  padding:18px 0;
  text-align:center;
  font-size:0.95rem;
  box-shadow:0 -6px 20px rgba(0,0,0,0.6);
}

/* Small helpers */
a{ color:var(--accent); }
a:hover{ text-decoration:underline; }

/* Responsive adjustments */
@media (min-width:900px){
  .site-header .wrap{ flex-direction:row; align-items:center; justify-content:space-between }
  .site-title{ font-size:2.1rem }
  .site-tag{ font-size:1rem }
  .toc .wrap{ justify-content:flex-start }
  .post.card.reveal{ padding:28px }
  .post-header h2{ font-size:1.7rem }
}

@media (max-width:680px){
  :root{ --gap:20px }
  .site-title{ font-size:1.6rem }
  .toc ul{ gap:10px }
  .post-header h2{ font-size:1.25rem }
  .post-body p{ font-size:0.98rem }
}



/* Back to Top Button */
#backToTop {
  display: none; /* Hidden by default */
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 5000;
  font-size: 20px;
  background: transparent;
  color: white;
  border: 2px solid white;
  border-radius: 60%;
  border-radius: 10px;
  padding: 10px 14px;
  cursor: pointer;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.6);
  transition: all 0.3s ease-in-out;

}

#backToTop:hover {
  background: white;
  color: black;
}
