/* statedrift.io — dark industrial editorial */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --bg:#08090c;
  --bg-card:#12141a;
  --border:#1f2230;
  --border-hover:#2d3145;
  --text:#e4e6ed;
  --text-mid:#a0a4b8;
  --text-dim:#636780;
  --accent:#22d98e;
  --accent-soft:#22d98e22;
  --blue:#5b8cff;
  --mono:'JetBrains Mono',monospace;
  --body:'Outfit',sans-serif;
  --display:'Newsreader',serif;
}

html{scroll-behavior:smooth;font-size:17px}
body{background:var(--bg);color:var(--text);font-family:var(--body);line-height:1.72;font-weight:300}
a{color:var(--accent);text-decoration:none;transition:opacity .2s}
a:hover{opacity:.75}
.accent{color:var(--accent)}

/* ─── Nav ─── */
header{border-bottom:1px solid var(--border)}
nav{
  max-width:720px;margin:0 auto;padding:1rem 1.5rem;
  display:flex;align-items:center;justify-content:space-between;
}
.nav-mark{
  font-family:var(--mono);font-weight:700;font-size:.9rem;color:var(--text);
  display:flex;align-items:center;gap:.4rem;
}
.nav-mark:hover{opacity:1}
.pulse{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}
.nav-links{display:flex;gap:1.5rem;font-family:var(--mono);font-size:.72rem}
.nav-links a{color:var(--text-dim);transition:color .2s}
.nav-links a:hover{color:var(--accent);opacity:1}

/* ─── Hero home ─── */
.hero-home{
  max-width:720px;margin:0 auto;padding:5rem 1.5rem 2rem;
}
.hero-home h1{
  font-family:var(--display);font-weight:400;
  font-size:clamp(2rem,4vw,2.8rem);line-height:1.15;
  letter-spacing:-.025em;
}
.hero-home em{font-style:italic;color:var(--accent)}
.hero-sub{color:var(--text-mid);margin-top:.8rem;max-width:540px;line-height:1.7}

/* ─── Post list ─── */
.posts-list,.list-page{max-width:720px;margin:0 auto;padding:2rem 1.5rem 4rem}
.list-page h1{font-family:var(--display);font-size:1.8rem;font-weight:400;margin-bottom:2rem}

.post-card{
  padding:1.5rem 0;border-bottom:1px solid var(--border);
}
.post-card:last-child{border-bottom:none}
.post-meta{
  display:flex;align-items:center;gap:.6rem;
  font-family:var(--mono);font-size:.68rem;color:var(--text-dim);
  margin-bottom:.4rem;
}
.tag{
  background:var(--accent-soft);color:var(--accent);
  padding:.15rem .5rem;border-radius:2px;font-size:.6rem;
  font-family:var(--mono);
}
.post-card h2{font-family:var(--display);font-size:1.35rem;font-weight:400;line-height:1.25}
.post-card h2 a{color:var(--text)}
.post-card h2 a:hover{color:var(--accent);opacity:1}
.post-excerpt{color:var(--text-mid);margin-top:.3rem;font-size:.92rem}
.post-reading{font-family:var(--mono);font-size:.65rem;color:var(--text-dim);margin-top:.4rem}

/* ─── Single post ─── */
.post-single{max-width:720px;margin:0 auto;padding:3rem 1.5rem 4rem}
.post-header{margin-bottom:2.5rem}
.post-header .post-meta{margin-bottom:.8rem}
.post-header h1{
  font-family:var(--display);font-size:clamp(1.8rem,3.5vw,2.6rem);
  font-weight:400;line-height:1.15;letter-spacing:-.02em;
}
.post-lead{color:var(--text-mid);margin-top:.8rem;font-size:1.05rem;line-height:1.7}
.post-tags{display:flex;gap:.4rem;margin-top:1rem;flex-wrap:wrap}
.sep{color:var(--text-dim)}

/* ─── Post content ─── */
.post-content{font-size:1rem;line-height:1.78}
.post-content h2{
  font-family:var(--display);font-size:1.5rem;font-weight:400;
  margin-top:2.5rem;margin-bottom:.8rem;
  padding-top:1.5rem;border-top:1px solid var(--border);
}
.post-content h3{
  font-family:var(--body);font-size:1.1rem;font-weight:500;
  margin-top:1.8rem;margin-bottom:.5rem;
}
.post-content p{margin-bottom:1rem;color:var(--text)}
.post-content strong{font-weight:500;color:var(--text)}
.post-content em{color:var(--text-mid)}
.post-content a{border-bottom:1px solid var(--accent)44}
.post-content ul,.post-content ol{margin:1rem 0 1rem 1.5rem;color:var(--text)}
.post-content li{margin-bottom:.4rem}
.post-content blockquote{
  border-left:2px solid var(--accent);margin:1.5rem 0;
  padding:.8rem 1.2rem;color:var(--text-mid);
  background:var(--bg-card);border-radius:0 3px 3px 0;
}
.post-content code{
  font-family:var(--mono);font-size:.85rem;
  background:var(--bg-card);padding:.15rem .4rem;border-radius:2px;
  color:var(--accent);
}
.post-content pre{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:3px;padding:1.2rem;margin:1.2rem 0;
  overflow-x:auto;font-size:.82rem;line-height:1.6;
}
.post-content pre code{background:transparent;padding:0;color:var(--text)}

/* ─── Post footer ─── */
.post-footer{
  margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border);
}
.author-box{display:flex;flex-direction:column;gap:.2rem}
.author-box strong{font-family:var(--mono);font-size:.85rem}
.author-box span{font-size:.8rem;color:var(--text-dim)}

/* ─── Footer ─── */
footer{border-top:1px solid var(--border);margin-top:4rem}
.footer-inner{
  max-width:720px;margin:0 auto;padding:2rem 1.5rem;
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--mono);font-size:.7rem;color:var(--text-dim);
  flex-wrap:wrap;gap:.8rem;
}
.footer-links{display:flex;gap:1rem}
.footer-links a{color:var(--text-dim)}

/* ─── Responsive ─── */
@media(max-width:640px){
  .nav-links{gap:.8rem;font-size:.65rem}
  .hero-home{padding-top:3rem}
}
