/* ===== Rendered Markdown Styles ===== */

.markdown-body,
.entry-container {
  color: #e2e2e2;
  line-height: 1.75;
  font-size: 1rem;
  word-break: break-word;
}

/* Headings */
.markdown-body h1, .entry-container h1 { font-size: 2rem; border-bottom: 1px solid #2a2a2a; padding-bottom: 0.3em; margin: 1.5rem 0 1rem; }
.markdown-body h2, .entry-container h2 { font-size: 1.5rem; border-bottom: 1px solid #222; padding-bottom: 0.2em; margin: 1.5rem 0 0.75rem; }
.markdown-body h3, .entry-container h3 { font-size: 1.2rem; margin: 1.25rem 0 0.5rem; }
.markdown-body h4, .entry-container h4 { font-size: 1.05rem; margin: 1rem 0 0.4rem; }
.markdown-body h5, .markdown-body h6,
.entry-container h5, .entry-container h6 { font-size: 0.95rem; margin: 0.75rem 0 0.3rem; color: #aaa; }

/* Paragraphs */
.markdown-body p, .entry-container p { margin-bottom: 0.85rem; }

/* Links */
.markdown-body a, .entry-container a { color: #4ade80; }
.markdown-body a:hover, .entry-container a:hover { text-decoration: underline; }

/* Bold / Italic */
.markdown-body strong, .entry-container strong { color: #fff; }
.markdown-body em, .entry-container em { color: #d4d4d4; }

/* Mark */
.markdown-body mark, .entry-container mark {
  background: rgba(250,204,21,0.3);
  color: inherit;
  border-radius: 2px;
  padding: 0 2px;
}

/* Spoiler */
.r-spoiler {
  background: #333;
  color: transparent;
  border-radius: 3px;
  cursor: pointer;
  padding: 0 4px;
  transition: color 0.2s;
  user-select: none;
}
.r-spoiler.revealed { color: #e2e2e2; background: #2a2a2a; }

/* Alignment */
.r-center { text-align: center; }
.r-right  { text-align: right; }

/* Float clear */
.float-clear { clear: both; }

/* Inline code */
.markdown-body code, .entry-container code {
  background: #1e1e1e;
  border: 1px solid #2a2a2a;
  border-radius: 3px;
  padding: 0.1em 0.4em;
  font-size: 0.88em;
  font-family: "JetBrains Mono", "Fira Code", monospace;
}

/* Code blocks */
.highlight {
  background: #141414;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  padding: 1rem;
  overflow-x: auto;
  margin: 0.75rem 0;
}

.highlight pre {
  margin: 0;
  font-family: "JetBrains Mono", "Fira Code", monospace;
  font-size: 0.87rem;
  line-height: 1.55;
}

.highlight code {
  background: none;
  border: none;
  padding: 0;
}

/* Pygments dark theme overrides */
.highlight .hll { background: #2a2a2a; }
.highlight .c  { color: #6a9955; } /* Comment */
.highlight .k  { color: #c586c0; } /* Keyword */
.highlight .n  { color: #9cdcfe; } /* Name */
.highlight .o  { color: #d4d4d4; } /* Operator */
.highlight .s  { color: #ce9178; } /* String */
.highlight .nb { color: #4fc1ff; } /* Builtin */
.highlight .nf { color: #dcdcaa; } /* Function */
.highlight .nc { color: #4ec9b0; } /* Class */
.highlight .mi { color: #b5cea8; } /* Integer */
.highlight .mf { color: #b5cea8; } /* Float */
.highlight .kn { color: #c586c0; } /* Keyword.Namespace */
.highlight .bp { color: #9cdcfe; } /* self */

/* Blockquotes */
.markdown-body blockquote, .entry-container blockquote {
  border-left: 3px solid #4ade80;
  margin: 0.75rem 0;
  padding: 0.5rem 0 0.5rem 1rem;
  color: #aaa;
  background: #111;
  border-radius: 0 4px 4px 0;
}

/* Tables */
.markdown-body table, .entry-container table {
  border-collapse: collapse;
  width: 100%;
  margin: 0.75rem 0;
  font-size: 0.92rem;
}

.markdown-body th, .entry-container th {
  background: #1a1a1a;
  color: #ccc;
  padding: 0.5rem 0.9rem;
  border: 1px solid #2a2a2a;
  text-align: left;
}

.markdown-body td, .entry-container td {
  padding: 0.45rem 0.9rem;
  border: 1px solid #222;
}

.markdown-body tr:nth-child(even), .entry-container tr:nth-child(even) {
  background: #111;
}

/* Lists */
.markdown-body ul, .markdown-body ol,
.entry-container ul, .entry-container ol {
  padding-left: 1.75rem;
  margin-bottom: 0.75rem;
}

.markdown-body li, .entry-container li { margin-bottom: 0.2rem; }

/* Checkboxes */
.markdown-body input[type=checkbox], .entry-container input[type=checkbox] {
  margin-right: 0.4rem;
  accent-color: #4ade80;
}

/* HR */
.markdown-body hr, .entry-container hr {
  border: none;
  border-top: 1px solid #2a2a2a;
  margin: 1.5rem 0;
}

/* Images */
.markdown-body img, .entry-container img {
  max-width: 100%;
  border-radius: 4px;
}

/* TOC */
.toc {
  background: #111;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  padding: 0.75rem 1rem;
  margin: 1rem 0;
  display: inline-block;
  min-width: 200px;
}

.toc ul { list-style: none; padding-left: 1rem; margin: 0; }
.toc > ul { padding-left: 0; }
.toc li { padding: 0.15rem 0; }
.toc a { color: #4ade80; font-size: 0.88rem; }
.toc a:hover { text-decoration: underline; }

/* YouTube embed */
.yt-embed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 6px;
  margin: 0.75rem 0;
}

.yt-embed iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
}

/* ===== Admonitions ===== */
.admonition {
  border-radius: 6px;
  padding: 0.75rem 1rem;
  margin: 0.75rem 0;
  border-left: 4px solid;
}

.admonition p { margin: 0; }
.admonition p + p { margin-top: 0.5rem; }

.admonition-title {
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.4rem !important;
}

.admonition.note {
  background: rgba(56,189,248,0.08);
  border-color: #38bdf8;
}
.admonition.note .admonition-title { color: #38bdf8; }

.admonition.info {
  background: rgba(99,179,237,0.08);
  border-color: #63b3ed;
}
.admonition.info .admonition-title { color: #63b3ed; }

.admonition.warning {
  background: rgba(245,158,11,0.08);
  border-color: #f59e0b;
}
.admonition.warning .admonition-title { color: #f59e0b; }

.admonition.danger {
  background: rgba(239,68,68,0.08);
  border-color: #ef4444;
}
.admonition.danger .admonition-title { color: #ef4444; }

.admonition.greentext {
  background: rgba(74,222,128,0.06);
  border-color: #4ade80;
  color: #4ade80;
  font-family: monospace;
}
.admonition.greentext .admonition-title { color: #4ade80; }

/* ===== Easy read mode ===== */
.easy-read {
  max-width: 680px;
  font-size: 1.05rem;
  line-height: 1.85;
}
