:root {
  color-scheme: dark;
  --bg: #0b0d10;
  --panel: #121820;
  --text: #e7edf4;
  --muted: #91a0af;
  --accent: #66d9ef;
  --gold: #f4c95d;
  --line: #243140;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: radial-gradient(circle at top left, #172433 0, var(--bg) 45rem);
  color: var(--text);
  line-height: 1.6;
}
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.wrap { max-width: 880px; margin: 0 auto; padding: 2rem 1.25rem 4rem; }
header.site { margin-bottom: 2rem; border-bottom: 1px solid var(--line); padding-bottom: 1rem; }
.brand { display: flex; gap: .75rem; align-items: center; }
.logo { font-size: 2rem; }
h1, h2, h3 { line-height: 1.15; }
h1 { margin: .25rem 0; font-size: clamp(2rem, 6vw, 4rem); }
.subtitle, .meta { color: var(--muted); }
.card, article {
  background: color-mix(in srgb, var(--panel) 88%, transparent);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 1.25rem;
  margin: 1rem 0;
  box-shadow: 0 20px 60px rgba(0,0,0,.22);
}
.post-list { list-style: none; padding: 0; margin: 0; }
.post-list li { margin: 1rem 0; }
.tags { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .75rem; }
.tag { border: 1px solid var(--line); color: var(--gold); border-radius: 999px; padding: .1rem .55rem; font-size: .8rem; }
code, pre { background: #071018; border: 1px solid var(--line); border-radius: 8px; }
code { padding: .08rem .3rem; }
pre { padding: 1rem; overflow: auto; }
footer { margin-top: 3rem; color: var(--muted); font-size: .9rem; border-top: 1px solid var(--line); padding-top: 1rem; }
