:root{
  --bg:#0a1830;
  --bg-deep:#061020;
  --surface:#0f2545;
  --surface-2:#132c52;
  --border:#1e3a63;
  --text:#e7ecf6;
  --text-dim:#8fa3c4;
  --accent:#d1a44e;
  --accent-dim:#9c7a34;
  --danger:#c2564f;
  --ok:#4f9c78;
  --radius:10px;
  font-family:'Inter',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:radial-gradient(120% 140% at 50% -10%, #10254a 0%, var(--bg) 45%, var(--bg-deep) 100%);
  color:var(--text);
  min-height:100vh;
  line-height:1.6;
}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3{font-family:Georgia,'Fraunces',serif;font-weight:600;line-height:1.15;margin:0;}

header.site{
  border-bottom:1px solid var(--border);
  padding:22px 24px;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
header.site .brand{display:flex;align-items:baseline;gap:10px;}
header.site .brand h1{font-size:1.5rem;letter-spacing:.2px;}
header.site .brand span{color:var(--text-dim);font-size:.85rem;}
header.site nav{display:flex;gap:18px;font-size:.9rem;}
header.site nav a{color:var(--text-dim);}
header.site nav a.current{color:var(--text);}

main{max-width:760px;margin:0 auto;padding:48px 24px 80px;}

.hero{margin-bottom:52px;}
.hero h1{font-size:clamp(2rem,5vw,2.9rem);max-width:14ch;}
.hero p{color:var(--text-dim);max-width:46ch;margin-top:14px;font-size:1.02rem;}

.post-list{display:flex;flex-direction:column;gap:0;}
.post-card{
  display:block;
  padding:28px 0;
  border-top:1px solid var(--border);
}
.post-card:hover h2{color:var(--accent);}
.post-card .meta{color:var(--text-dim);font-size:.82rem;margin-bottom:8px;}
.post-card h2{font-size:1.4rem;transition:color .15s ease;}
.post-card p.excerpt{color:var(--text-dim);margin-top:10px;font-size:.97rem;max-width:64ch;}
.empty{color:var(--text-dim);padding:40px 0;text-align:center;border-top:1px solid var(--border);}

.back-link{display:inline-block;margin-bottom:28px;color:var(--text-dim);font-size:.9rem;}
article.post h1{font-size:clamp(1.8rem,4.5vw,2.4rem);max-width:20ch;}
article.post .meta{color:var(--text-dim);font-size:.85rem;margin:14px 0 34px;}
article.post .body{font-size:1.05rem;max-width:66ch;}
article.post .body p{margin:0 0 1.1em;}

footer.site{
  border-top:1px solid var(--border);
  padding:22px 24px 40px;
  text-align:center;
  color:var(--text-dim);
  font-size:.8rem;
}
footer.site a{color:var(--text-dim);}
