.article { font-size: 1.06em; line-height: 1.78; color: #e8e6e1; }
.article h1, .article h2, .article h3 {
  font-weight: 500; line-height: 1.25; letter-spacing: -0.01em;
  margin: 1.7em 0 0.55em; color: #f2f0eb;
}
.article h1 { font-size: 1.5em; }
.article h2 { font-size: 1.28em; }
.article h3 { font-size: 1.1em; }
.article h1:first-child, .article h2:first-child, .article h3:first-child { margin-top: 0; }
.article p { margin: 1.15em 0; }
.article strong { color: #f4f2ed; font-weight: 600; }
.article em { color: #ece7d8; }

.article a {
  color: #e8a94e; text-decoration: underline; text-decoration-color: rgba(217,164,65,0.4);
  text-underline-offset: 3px; transition: text-decoration-color 0.15s;
}
.article a:hover { text-decoration-color: #e8a94e; }

.article pre {
  background: #0c0c0d; border: 1px solid #1d1d1b; border-radius: 6px;
  padding: 15px 17px; overflow-x: auto;
  font-family: ui-monospace, "Cascadia Mono", Consolas, "Courier New", monospace;
  font-size: 0.82em; line-height: 1.6; margin: 1.4em 0;
}
.article code { font-family: ui-monospace, "Cascadia Mono", Consolas, "Courier New", monospace; }
.article :not(pre) > code {
  background: rgba(217,164,65,0.1); color: #e8b863;
  padding: 1px 6px; border-radius: 4px; font-size: 0.86em;
}
.article blockquote {
  border-left: 2px solid #d9a441; padding: 2px 0 2px 20px;
  color: #b8b6b0; margin: 1.5em 0; font-style: italic;
}
.article ul, .article ol { margin: 1.1em 0 1.1em 1.5em; }
.article li { margin: 0.4em 0; }
.article li::marker { color: #d9a441; }
.article img { max-width: 100%; height: auto; border-radius: 4px; }
.article hr { border: 0; border-top: 1px solid #1d1d1b; margin: 2.6em 0; }
.article table { border-collapse: collapse; margin: 1.4em 0; font-size: 0.92em; width: 100%; }
.article th, .article td { border: 1px solid #1d1d1b; padding: 7px 12px; text-align: left; }
.article th { background: rgba(255,255,255,0.02); color: #f2f0eb; font-weight: 600; }
