/* Observable Ops article layer: homepage visual language with a calm reading measure. */
body.personal-article[data-series="observable-ops"] { --article-accent:#3b8f86; }
body.personal-article[data-series="observable-ops"] .post-header { background:#080c18; }
body.personal-article[data-series="observable-ops"] .post-header::after { content:""; position:absolute; inset:auto 0 0; height:1px; background:linear-gradient(90deg,transparent,#3b8f86,transparent); opacity:.75; }
body.personal-article[data-series="observable-ops"] .post-body h2 { border-bottom-color:#cfe1df; }
body.personal-article[data-series="observable-ops"] .post-body h3 { color:#286e69; }
body.personal-article[data-series="observable-ops"] .reading-toc-link[aria-current] { background:#e8f3f1; }
body.personal-article[data-series="observable-ops"] .article-pager { border-top-color:#cfe1df; }
body.personal-article[data-series="observable-ops"] .mermaid { background:#f3f8f7; border-color:#c7deda; }
body.personal-article[data-series="observable-ops"] .mermaid svg { width:auto; max-width:100%; min-width:0; height:auto; }
body.personal-article[data-series="observable-ops"] .mermaid-zoom-container { max-width:100%; overflow-x:auto; }
@media (max-width:760px) {
  body.personal-article[data-series="observable-ops"] .post-header { padding-top:120px; padding-bottom:52px; }
  body.personal-article[data-series="observable-ops"] .post-body { font-size:15px; line-height:1.85; }
}

/*专题入口页沿用首页的编辑式网格与留白。*/
body.personal-series[data-series="observable-ops"],
body.personal-series.ops-series { background:var(--paper); }
body.personal-series .ops-path { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:0; background:var(--line); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
body.personal-series .ops-path > a { min-height:150px; padding:28px 26px; background:var(--paper); transition:background .2s, transform .2s; }
body.personal-series .ops-path > a:hover { background:#eaf4f2; transform:translateY(-2px); }
body.personal-series .ops-path > a > span { font:10px var(--mono); letter-spacing:1.5px; color:#3b8f86; }
body.personal-series .ops-path p { margin:17px 0 14px; font-size:15px; color:var(--ink); }
body.personal-series .ops-path small { font-size:12px; color:var(--muted); }
body.personal-series .code-layout { padding-top:78px; }
body.personal-series .code-sidebar { top:112px; }
body.personal-series .code-entries { border-top-color:#cfe1df; }
body.personal-series .code-entries a:hover { background:#eaf4f2; color:#286e69; }
body.personal-series .code-chapter-head h2 { color:var(--ink); }
body.personal-series .code-chapter { scroll-margin-top:110px; }
@media (max-width:1000px) { body.personal-series .ops-path { grid-template-columns:1fr; } }
@media (max-width:760px) { body.personal-series .ops-path > a { min-height:unset; padding:22px 20px; } body.personal-series .code-layout { padding-top:40px; } }
