/* ── Article Detail — Editorial Palette ── */

.drake-post-detail .drake-article {
  /* Light mode — warm editorial */
  --drake-text: #39342F;
  --drake-heading: #1E1814;
  --drake-strong: #1D1713;
  --drake-link: #1A5276;
  --drake-link-hover: #0E3B5A;
  --drake-inline-code: #3A7A3A;
  --drake-inline-code-bg: rgba(58, 122, 58, .08);
  --drake-code-bg: #2D2D2D;
  --drake-code-color: #C5B8A8;
  --drake-quote-border: #7CB97A;
  --drake-quote-bg: rgba(124, 185, 122, .1);
  --drake-quote-text: #4A7A48;
  --drake-table-border: #E2DAD0;
  --drake-table-head-bg: rgba(200, 187, 170, .14);
  --drake-table-row-alt: rgba(200, 187, 170, .06);
  --drake-hr: #C8BBAA;
  --drake-mark-text: #8B4513;
  --drake-mark-border: #C8A882;
  --drake-marker: #2E5B84;
  --drake-footnote-bg: rgba(200, 187, 170, .14);
  --drake-footnote-text: #8B6914;
  --drake-kbd-border: #B5A99A;
  --drake-kbd-shadow: rgba(0, 0, 0, .1);
  --drake-img-shadow: 0 2px 12px rgba(0, 0, 0, .06);
  --drake-img-radius: 6px;
}

html[data-theme="dark"] .drake-post-detail .drake-article {
  /* Dark mode — muted warm */
  --drake-text: #D8D1C7;
  --drake-heading: #F3EEE7;
  --drake-strong: #F7F2EB;
  --drake-link: #42B883;
  --drake-link-hover: #5CCFA0;
  --drake-inline-code: #B8A0D0;
  --drake-inline-code-bg: rgba(184, 160, 208, .1);
  --drake-code-bg: #1E1E1E;
  --drake-code-color: #A89E92;
  --drake-quote-border: #B8A0D0;
  --drake-quote-bg: rgba(184, 160, 208, .08);
  --drake-quote-text: #C8B8E0;
  --drake-table-border: rgba(255, 255, 255, .08);
  --drake-table-head-bg: rgba(255, 255, 255, .04);
  --drake-table-row-alt: rgba(255, 255, 255, .02);
  --drake-hr: rgba(201, 178, 139, .3);
  --drake-mark-text: #D4B896;
  --drake-mark-border: rgba(201, 178, 139, .4);
  --drake-marker: #C9B28B;
  --drake-footnote-bg: rgba(201, 178, 139, .1);
  --drake-footnote-text: #C9B28B;
  --drake-kbd-border: rgba(255, 255, 255, .16);
  --drake-kbd-shadow: rgba(0, 0, 0, .3);
  --drake-img-shadow: 0 2px 12px rgba(0, 0, 0, .2);
  --drake-img-radius: 6px;
}

/* ── Layout ── */

.drake-post-detail {
  padding-top: 20px;
}

html:not([data-theme="dark"]) body.is-post #body {
  background: #FBF7F0;
}

html[data-theme="dark"] body.is-post #body {
  background: #181715;
}

html:not([data-theme="dark"]) .drake-post-detail {
  padding: 72px 64px 80px;
  border-radius: 4px;
  background: #FFFDF9;
  box-shadow: 0 0 60px rgba(0, 0, 0, .05);
}

html[data-theme="dark"] .drake-post-detail {
  padding: 72px 64px 80px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 4px;
  background: #211F1C;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
}

.drake-post-detail .drake-article {
  margin-top: 1.35em;
  color: var(--drake-text);
  font-family: "Droid Serif", Georgia, "Times New Roman", "PingFang SC", "Hiragino Sans GB", "Source Han Sans CN", "WenQuanYi Micro Hei", "Microsoft Yahei", serif;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-feature-settings: "liga" on, "calt" on;
  background-image: linear-gradient(90deg, rgba(60, 10, 30, .04) 3%, transparent 0), linear-gradient(180deg, rgba(60, 10, 30, .04) 3%, transparent 0);
  background-position: center;
  background-size: 20px 20px;
}

html:not([data-theme="dark"]) body.is-post .drake-post-detail .drake-article {
  font-family: "Songti SC", "Source Han Serif SC", "Noto Serif SC", serif;
  font-size: 19px;
  line-height: 2;
  -webkit-font-smoothing: antialiased;
  background-image: none;
}

html[data-theme="dark"] body.is-post .drake-post-detail .drake-article {
  font-family: "Songti SC", "Source Han Serif SC", "Noto Serif SC", serif;
  font-size: 19px;
  line-height: 2;
  -webkit-font-smoothing: antialiased;
  background-image: none;
}

html[data-platform]:not([data-platform="mac"]) body.is-post .drake-post-detail .drake-article {
  font-family: "HY Tang Mei Ren Web", "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", "Noto Sans CJK SC", sans-serif;
  text-rendering: auto;
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
}

html[data-platform]:not([data-platform="mac"]) body.is-post .drake-post-detail .drake-article h1,
html[data-platform]:not([data-platform="mac"]) body.is-post .drake-post-detail .drake-article h2,
html[data-platform]:not([data-platform="mac"]) body.is-post .drake-post-detail .drake-article h3,
html[data-platform]:not([data-platform="mac"]) body.is-post .drake-post-detail .drake-article h4,
html[data-platform]:not([data-platform="mac"]) body.is-post .drake-post-detail .drake-article h5,
html[data-platform]:not([data-platform="mac"]) body.is-post .drake-post-detail .drake-article h6 {
  font-family: "HY Tang Mei Ren Web", "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", "Noto Sans CJK SC", sans-serif;
}

.drake-post-detail .drake-article > *:first-child {
  margin-top: 0;
}

.drake-post-detail .drake-article > *:last-child {
  margin-bottom: 0;
}

/* ── Block elements ── */

.drake-post-detail .drake-article p,
.drake-post-detail .drake-article blockquote,
.drake-post-detail .drake-article ul,
.drake-post-detail .drake-article ol,
.drake-post-detail .drake-article dl,
.drake-post-detail .drake-article table,
.drake-post-detail .drake-article pre,
.drake-post-detail .drake-article hr {
  margin: 0.8rem 0;
}

.drake-post-detail .drake-article p,
.drake-post-detail .drake-article li {
  text-align: justify;
}

/* ── Links ── */

.drake-post-detail .drake-article a {
  color: var(--drake-link);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in srgb, currentColor 35%, transparent);
  transition: color .2s, border-color .2s, border-bottom-style .2s;
}

.drake-post-detail .drake-article a:hover {
  color: var(--drake-link-hover);
  border-bottom: 1px solid currentColor;
}

/* ── Inline emphasis ── */

.drake-post-detail .drake-article strong {
  color: var(--drake-strong);
  font-weight: 700;
}

.drake-post-detail .drake-article em {
  padding: 0 5px 0 2px;
}

.drake-post-detail .drake-article mark {
  border: 1px solid var(--drake-mark-border);
  color: var(--drake-mark-text);
  background: transparent;
  border-radius: 999px;
  padding: 0.08rem 0.5rem;
  margin: 0 0.2rem;
}

.drake-post-detail .drake-article kbd {
  border: 1px solid var(--drake-kbd-border);
  background: transparent;
  color: var(--drake-text);
  margin: 0 0.35rem;
  font-family: inherit;
  font-size: 0.95rem;
  padding: 0.3em 0.4em;
  border-radius: 0.4em;
  box-shadow: 0.1em 0.1em 0.2em var(--drake-kbd-shadow);
}

/* ── Headings ── */

.drake-post-detail .drake-article h1,
.drake-post-detail .drake-article h2,
.drake-post-detail .drake-article h3,
.drake-post-detail .drake-article h4,
.drake-post-detail .drake-article h5,
.drake-post-detail .drake-article h6 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "WenQuanYi Micro Hei", "Microsoft Yahei", sans-serif;
  font-weight: 700;
  line-height: 1.4;
  color: var(--drake-heading);
  letter-spacing: 0;
}

.drake-post-detail .drake-article h1 {
  margin-top: 0;
  font-size: 2rem;
  text-align: center;
}

.drake-post-detail .drake-article h2 {
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
}

.drake-post-detail .drake-article h3 {
  font-size: 1.4rem;
}

.drake-post-detail .drake-article h4 {
  font-size: 1.2rem;
}

.drake-post-detail .drake-article h5,
.drake-post-detail .drake-article h6 {
  font-size: 1rem;
}

.drake-post-detail .drake-article h1 code,
.drake-post-detail .drake-article h2 code,
.drake-post-detail .drake-article h3 code,
.drake-post-detail .drake-article h4 code,
.drake-post-detail .drake-article h5 code,
.drake-post-detail .drake-article h6 code {
  font-size: inherit;
}

/* ── Lists ── */

.drake-post-detail .drake-article ul,
.drake-post-detail .drake-article ol {
  padding-inline-start: 2em;
}

.drake-post-detail .drake-article li {
  margin: 0.5em 0;
}

.drake-post-detail .drake-article li::marker {
  color: var(--drake-marker);
}

.drake-post-detail .drake-article li > ul,
.drake-post-detail .drake-article li > ol {
  margin: 0.35rem 0;
}

/* ── Blockquote ── */

.drake-post-detail .drake-article blockquote {
  position: relative;
  margin-left: 0;
  padding: 12px 18px;
  border: none;
  border-radius: 4px;
  background: var(--drake-quote-bg);
  color: var(--drake-quote-text);
}

.drake-post-detail .drake-article blockquote::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  border-radius: 4px 0 0 4px;
  background: var(--drake-quote-border);
}

.drake-post-detail .drake-article blockquote strong {
  color: inherit;
}

/* ── Images ── */

.drake-post-detail .drake-article img {
  display: block;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  border-radius: var(--drake-img-radius);
  box-shadow: var(--drake-img-shadow);
}

/* ── Horizontal rule ── */

.drake-post-detail .drake-article hr {
  height: 2px;
  border: 0;
  background: var(--drake-hr);
}

/* ── Tables ── */

.drake-post-detail .drake-article table {
  width: 100%;
  border-collapse: collapse;
}

.drake-post-detail .drake-article table tr {
  border-top: 1px solid var(--drake-table-border);
}

.drake-post-detail .drake-article table th,
.drake-post-detail .drake-article table td {
  padding: 6px 13px;
  border: 1px solid var(--drake-table-border);
}

.drake-post-detail .drake-article table thead {
  background: var(--drake-table-head-bg);
}

.drake-post-detail .drake-article table tr:nth-child(2n) {
  background: var(--drake-table-row-alt);
}

/* ── Code ── */

.drake-post-detail .drake-article :not(pre) > code,
.drake-post-detail .drake-article tt {
  margin: 0 2px;
  padding: 0.08em 0.4em;
  border-radius: 4px;
  background: var(--drake-inline-code-bg);
  color: var(--drake-inline-code);
  font-family: Menlo, Monaco, Consolas, "Lucida Console", "Courier New", monospace;
  font-size: 0.95em;
}

.drake-post-detail .drake-article pre,
.drake-post-detail .drake-article pre[class*="language-"] {
  max-height: none;
  padding: 0.75rem 0.95rem;
  border: none;
  border-radius: 8px;
  background: var(--drake-code-bg);
  color: var(--drake-code-color);
  box-shadow: none;
}

.drake-post-detail .drake-article pre code,
.drake-post-detail .drake-article pre[class*="language-"] code[class*="language-"] {
  display: block;
  padding: 0;
  background: transparent;
  color: inherit;
  font-family: Menlo, Monaco, Consolas, "Lucida Console", "Courier New", monospace;
  font-size: 0.98em;
  line-height: 1.6;
}

.drake-post-detail .drake-article div.code-toolbar > .toolbar {
  top: 0.55em;
  right: 0.55em;
}

.drake-post-detail .drake-article div.code-toolbar > .toolbar .toolbar-item > button,
.drake-post-detail .drake-article div.code-toolbar > .toolbar .toolbar-item > a,
.drake-post-detail .drake-article div.code-toolbar > .toolbar .toolbar-item > span {
  border-radius: 999px;
  box-shadow: none;
}

/* ── Footnotes ── */

.drake-post-detail .drake-article sup .footnote-ref {
  display: inline-block;
  min-width: 1.2rem;
  padding: 0 0.3rem;
  border: none;
  border-radius: 999px;
  background: var(--drake-footnote-bg);
  color: var(--drake-footnote-text);
  font-size: 0.8rem;
  line-height: 1.5;
  text-align: center;
}

.drake-post-detail .drake-article .footnotes {
  margin-top: 1.5rem;
  color: var(--drake-text);
  font-size: 0.95rem;
}

.drake-post-detail .drake-article .footnotes hr {
  margin-bottom: 1rem;
}

.drake-post-detail .drake-article .footnotes ol {
  padding-left: 1.4rem;
}

.drake-post-detail .drake-article .footnotes li {
  text-align: left;
}

.drake-post-detail .drake-article .footnote-backref {
  border-bottom: none;
  margin-left: 0.35rem;
}

@media (max-width: 980px) {
  html:not([data-theme="dark"]) .drake-post-detail {
    padding: 56px 40px 64px;
    border-radius: 0;
  }

  html[data-theme="dark"] .drake-post-detail {
    padding: 56px 40px 64px;
    border-radius: 0;
  }
}

@media (max-width: 640px) {
  html:not([data-theme="dark"]) .drake-post-detail {
    padding: 40px 22px;
  }

  html:not([data-theme="dark"]) body.is-post .drake-post-detail .drake-article {
    font-size: 18px;
  }

  html[data-theme="dark"] .drake-post-detail {
    padding: 40px 22px;
  }

  html[data-theme="dark"] body.is-post .drake-post-detail .drake-article {
    font-size: 18px;
  }
}
