:root {
  --bg: #fff;
  --text: #222;
  --link: #0066cc;
  --visited: #551a8b;
  --border: #ccc;
  --muted: #888;
  --code-bg: #f4f4f4;
  --hover-bg: #f5f5f5;
}
:root.dark {
  --bg: #2b2b2b;
  --text: #e0e0e0;
  --link: #8cb4ff;
  --visited: #b8a0d8;
  --border: #555;
  --muted: #999;
  --code-bg: #1a1a1a;
  --hover-bg: #333;
}
body {
  padding: 1rem;
  background: var(--bg);
  color: var(--text);
}
a {
  color: var(--link);
}
a:visited {
  color: var(--visited);
}
.theme-toggle {
  position: fixed;
  top: 10px;
  right: 10px;
  background: var(--text);
  color: var(--bg);
  border: none;
  padding: 0.3rem 0.6rem;
  cursor: pointer;
  font-size: 12px;
  z-index: 200;
}
.theme-toggle::after {
  content: "dark";
}
:root.dark .theme-toggle::after {
  content: "light";
}
.back-link {
  margin-bottom: 1rem;
}

/* rendered markdown (posts and share) */
.prose pre { background: var(--code-bg); padding: 1rem; overflow-x: auto; }
.prose code { background: var(--code-bg); padding: 0.2rem 0.4rem; }
.prose pre code { padding: 0; }
.prose img { max-width: 100%; height: auto; }
.prose iframe { max-width: 100%; }
.prose blockquote { border-left: 3px solid var(--border); margin-left: 0; padding-left: 1rem; }
.prose table { border-collapse: collapse; width: 100%; }
.prose th, .prose td { border: 1px solid var(--border); padding: 0.4rem 0.8rem; text-align: left; }
