/* 保留 Noto 宋体与原有正文细节；字号使用 rem，辅助文字同步提高对比度。 */
.article-page,.standalone-prose,.about-paper .prose,.image-viewer{
  /* 与首屏超时回退共享变量，慢网显示后不再因迟到的字形改变文章排版。 */
  --serif:var(--font-serif,"Yun Article Serif","Noto Serif SC","Songti SC",STSong,serif);
  --article-sans:var(--font-sans,"Yun Article Sans","Noto Sans SC",-apple-system,"PingFang SC",sans-serif);
  --elegant:var(--font-elegant,"Yun Glyph Fix","Yun Elegant","Yun Article Serif","Songti SC",serif);
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
  --ink-soft:#4f5b60;--ink-mute:#5d6661;--line:#d9d0bd;--jade:#3f6f73;--code-ink:#9a3322;
  --article-shadow:0 2px 6px rgb(31 42 48 / .04),0 18px 40px -14px rgb(31 42 48 / .16);
  font-family:var(--serif);
}
.article-page{padding:0 0 90px}
/* 山水统一由全局页头提供，保留标题与纸面的间距；不加 transform，避免影响搜索弹窗。 */
.article-hero{position:relative;isolation:isolate;padding:70px 0 120px;text-align:center;overflow:hidden}
.article-header{display:flex;flex-direction:column;align-items:center;max-width:820px}
.article-category{display:inline-flex;align-items:center;gap:9px;font:0.875rem/1.8 var(--elegant);letter-spacing:.05em;color:var(--ink-soft)}
.article-category .category-dot{width:6px;height:6px;background:#7a8b4f}
.article-header h1{font:900 clamp(30px,4.4vw,50px)/1.35 var(--serif);letter-spacing:.02em;margin:18px 0 20px;overflow-wrap:anywhere}
.article-description{max-width:680px;font:1.125rem/2 var(--elegant);letter-spacing:.06em;color:var(--ink-soft)}
.article-byline{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 16px;margin-top:26px;font:0.875rem/1.8 var(--elegant);letter-spacing:.05em;color:var(--ink-mute)}
.article-byline i{width:4px;height:4px;background:var(--gold);transform:rotate(45deg)}
.article-updated{flex-basis:100%;font-size:0.8125rem}
.article-columns{position:relative;display:grid;grid-template-columns:minmax(0,820px);justify-content:center;gap:48px;margin-top:-60px}
.article-columns.has-toc{grid-template-columns:minmax(0,820px) 220px}
.article-paper{position:relative;min-width:0;padding:76px 72px 64px;background:var(--surface);border:1px solid var(--line);border-radius:4px;box-shadow:var(--article-shadow)}
.article-paper::before{content:"";position:absolute;inset:5px;border:1px solid color-mix(in srgb,var(--gold-soft) 55%,transparent);border-radius:2px;pointer-events:none}
.article-fret{position:absolute;left:22px;right:22px;height:12px;opacity:.55;background:var(--gold);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12' fill='none' stroke='black' stroke-width='1.1'%3E%3Cpath d='M0 11.5H16M12.5 11.5V1.5H3.5V8.5H9V5'/%3E%3C/svg%3E") repeat-x left center / 16px 12px;pointer-events:none}
.article-fret.top{top:22px}.article-fret.bottom{bottom:22px}
.article-toc{position:sticky;top:110px;align-self:start;max-height:calc(100vh - 140px);overflow-y:auto;padding-top:80px;scrollbar-width:thin;scrollbar-color:var(--gold-soft) transparent}
.article-toc h2{font:26px/1.8 var(--brush);color:var(--ink);margin-bottom:14px}
.toc,.toc-child{list-style:none;margin:0;padding:0}
.toc{border-left:1px solid var(--line)}
.toc-link{position:relative;display:block;padding:6px 0 6px 16px;font:0.9375rem/1.6 var(--elegant);letter-spacing:.04em;color:var(--ink-mute)}
.toc-child .toc-link{padding-left:30px;font-size:0.875rem}
.toc-child .toc-child .toc-link{padding-left:42px;font-size:0.8125rem}
.toc-link::before{content:"";position:absolute;left:-3.5px;top:50%;width:6px;height:6px;background:var(--accent);transform:translateY(-50%) rotate(45deg) scale(0);transition:transform .25s}
.toc-link:hover{color:var(--ink)}
.toc-link.is-active{color:var(--accent)}
.toc-link.is-active::before{transform:translateY(-50%) rotate(45deg) scale(1)}
/* 严格区分 Markdown 元素：加粗是泥金底线，链接是真下划线，引用使用雅字体。 */
.prose{font:1.125rem/2 var(--serif);letter-spacing:.02em;color:var(--ink);overflow-wrap:anywhere}
.prose>*{margin:0}
.prose>*+*{margin-top:1.15em}
.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--serif);color:var(--ink);scroll-margin-top:110px;letter-spacing:.02em}
.prose h1{font-size:30px;margin-top:2em;line-height:1.5}
.prose h2{position:relative;font-size:25px;line-height:1.5;font-weight:700;margin-top:2.4em;padding-top:1.2em;margin-bottom:.2em}
.prose h2::before{content:"";position:absolute;top:0;left:0;width:56px;height:20px;background:var(--gold);mask:url("../images/chapter-cloud.svg") no-repeat left center / contain}
.prose h2:first-child{margin-top:0}
.prose h3{position:relative;font-size:20px;line-height:1.6;font-weight:700;margin-top:1.9em;padding-left:16px}
.prose h3::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;background:var(--accent);transform:rotate(45deg)}
.prose h4{font-size:18px;line-height:1.6;font-weight:700;margin-top:1.7em}
.prose h2+*,.prose h3+*{margin-top:.7em}
.prose p{text-align:justify;text-justify:inter-character}
.prose strong{font-weight:700;color:var(--ink);background:linear-gradient(transparent 62%,color-mix(in srgb,var(--gold-soft) 45%,transparent) 62%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.prose em{font-style:normal;color:var(--jade)}
.prose a{color:var(--accent);text-decoration-line:underline;text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:4px;text-decoration-thickness:1px;border:0;transition:text-decoration-color .25s}
.prose a:hover{ text-decoration-color:var(--accent) }
.prose .headerlink{position:absolute;inset:0 auto auto -24px;width:20px;font:16px/1.7 var(--elegant);text-decoration:none;opacity:0;color:var(--gold-ink)}
.prose h2 .headerlink{top:30px}
.prose h3 .headerlink{top:0}
.prose .headerlink::after{content:"#"}
.prose :is(h1,h2,h3,h4):hover .headerlink,.prose .headerlink:focus-visible{opacity:1}
.prose u,.prose ins{text-decoration-line:underline;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:4px}
.prose del,.prose s{color:var(--ink-mute);text-decoration-color:var(--ink-mute)}
.prose mark{background:color-mix(in srgb,var(--gold-soft) 45%,transparent);color:var(--ink);padding:0 .12em}
.prose ul,.prose ol{padding-left:1.6em}
.prose li{padding:0;margin:0}
.prose li+li{margin-top:.4em}
.prose li>ul,.prose li>ol{margin-top:.4em}
.prose li>p+p{margin-top:.8em}
.prose ul{list-style:none}
.prose ul>li{position:relative}
.prose ul>li::before{content:"";position:absolute;left:-1.1em;top:.95em;width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
.prose ol{list-style:none;counter-reset:prose-ol}
.prose ol>li{position:relative;counter-increment:prose-ol}
.prose ol>li::before{content:counter(prose-ol,cjk-decimal) "、";position:absolute;left:-1.6em;width:1.5em;text-align:right;font-family:var(--elegant);color:var(--accent)}
.prose .task-list-item::before{display:none}
.prose .task-list-item input{accent-color:var(--accent);margin-right:8px}
.prose blockquote{position:relative;margin-left:0;margin-right:0;padding:18px 26px 18px 30px;border-left:2px solid var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--gold-soft) 20%,transparent),transparent);font-family:var(--elegant);font-size:inherit;letter-spacing:.04em;color:var(--ink-soft)}
.prose blockquote>*{margin:0}
.prose blockquote>*+*{margin-top:.8em}
.prose blockquote p{text-align:inherit}
.prose hr{border:none;height:20px;margin:2.6em auto;background:linear-gradient(var(--gold-soft),var(--gold-soft)) left center / calc(50% - 22px) 1px no-repeat,linear-gradient(var(--gold-soft),var(--gold-soft)) right center / calc(50% - 22px) 1px no-repeat;position:relative}
.prose hr::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;background:var(--accent);transform:translate(-50%,-50%) rotate(45deg)}
.prose :not(pre)>code{font-family:var(--mono);font-size:.9375rem;line-height:inherit;padding:2px 6px;margin:0 2px;border-radius:3px;background:color-mix(in srgb,var(--gold-soft) 22%,transparent);color:var(--code-ink);letter-spacing:0;box-decoration-break:clone;-webkit-box-decoration-break:clone}
/* 首字下沉仅选正文第一个段落，引用中的示例提示不参与。 */
.article-paper .prose>p:first-of-type{display:flow-root}
.article-paper .prose>p:first-of-type::first-letter{float:left;font-family:var(--brush);font-size:3.3em;line-height:1;margin:.08em .14em 0 0;padding:.06em .12em;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:2px}
/* 表格保持原生 table 布局与 align 属性，只在外层容器滚动。 */
.prose-table{overflow-x:auto;max-width:100%;margin:1.6em 0;border-block:2px solid var(--ink);scrollbar-width:thin;scrollbar-color:var(--gold-soft) transparent}
.prose table{display:table;width:100%;border-collapse:collapse;font-family:var(--article-sans);font-size:0.9375rem;line-height:1.7;margin:0;border:0}
.prose th{font-family:var(--elegant);font-weight:400;letter-spacing:.12em;color:var(--ink);padding:12px 14px;border:0;border-bottom:1px solid var(--ink);white-space:nowrap}
.prose td{padding:11px 14px;border:0;border-bottom:1px solid var(--line);vertical-align:top}
.prose :is(th,td):not([align]){text-align:left}
.prose tr:last-child td{border-bottom:none}
.prose tbody tr:hover td{background:color-mix(in srgb,var(--gold-soft) 12%,transparent)}
.prose>table{border-block:2px solid var(--ink)}
.prose figure:not(.highlight){margin:2em 0;text-align:center}
.prose img{display:block;max-width:100%;height:auto;margin:2em auto;border-radius:3px;padding:8px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--article-shadow)}
.prose figure:not(.highlight) img{margin:0 auto}
/* 按钮承载图片而不改变原有画框；仅在脚本增强成功后出现放大入口。 */
.prose .image-trigger{display:block;width:fit-content;max-width:100%;margin:2em auto;padding:0;border:0;background:none;line-height:0;cursor:zoom-in}
.prose .image-trigger img{margin:0}
.prose figure:not(.highlight) .image-trigger{margin:0 auto}
.prose .image-trigger:hover img{border-color:var(--gold)}
/* 两种弹层复用文章变量；兼容弹层位于 body，脱离 main 的隔离层后仍保留主题。 */
html.image-viewer-open{overflow:hidden;scrollbar-gutter:stable;scroll-behavior:auto}
html.image-viewer-fallback-open body{position:fixed;top:var(--image-viewer-scroll-top);left:0;width:100%}
/* 显式四边与 vh 兼容旧 WebView；支持动态视口时再用 dvh 跟随浏览器工具栏。 */
.image-viewer{position:fixed;top:0;right:0;bottom:0;left:0;width:min(1200px,calc(100vw - 64px));height:min(900px,calc(100vh - 64px));height:min(900px,calc(100dvh - 64px));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid var(--gold-soft);border-radius:3px;background:var(--surface);color:var(--ink);box-shadow:var(--article-shadow);font-family:var(--elegant)}
.image-viewer:not([open]){display:none}
.image-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;animation:ink-appear .2s ease}
.image-viewer-fallback{z-index:101}
.image-viewer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:rgb(13 18 22 / .72);backdrop-filter:blur(5px)}
.image-viewer::backdrop{background:rgb(13 18 22 / .72);backdrop-filter:blur(5px)}
.image-viewer::before{content:"";position:absolute;inset:5px;border:1px solid color-mix(in srgb,var(--gold-soft) 45%,transparent);pointer-events:none;border-radius:1px}
.image-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px}
.image-viewer-head h2{font:400 1.75rem/1.5 var(--brush);letter-spacing:.08em}
.image-viewer-count{margin-left:12px;font:.875rem/1.5 var(--elegant);letter-spacing:.06em;color:var(--gold-ink)}
.image-viewer button{min-width:44px;min-height:44px;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--ink-soft)}
.image-viewer button:hover:enabled{border-color:var(--gold-soft);color:var(--accent);background:color-mix(in srgb,var(--gold-soft) 12%,transparent)}
.image-viewer button:disabled{opacity:.4}
.image-viewer-stage{position:relative;min-height:0;overflow:hidden;border-block:1px solid var(--line);background:var(--paper-2);touch-action:none;user-select:none}
.image-viewer-stage.is-zoomed{cursor:grab}
.image-viewer-stage.is-dragging{cursor:grabbing}
.image-viewer-image{position:absolute;left:50%;top:50%;max-width:none;transform-origin:center;pointer-events:none}
.image-viewer-status{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:20px;color:var(--ink-mute);font-size:.9375rem;text-align:center}
.image-viewer-status[hidden]{display:none}
.image-viewer-caption{max-height:3.6em;overflow:auto;margin:0;padding:10px 24px 0;font:.875rem/1.8 var(--elegant);color:var(--ink-mute);text-align:center;overflow-wrap:anywhere}
.image-viewer-caption:empty{padding-top:0}
.image-viewer-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px}
.image-viewer-tools [hidden]{display:none}
.image-viewer-zoom{display:flex;align-items:center;justify-content:center;gap:6px;margin-inline:auto}
.image-viewer-zoom .icon-button{font:1.5rem/1 var(--sans)}
.image-viewer-scale{min-width:50px;color:var(--ink-mute);font:.8125rem/1.5 var(--sans);text-align:center;font-variant-numeric:tabular-nums}
.image-viewer-fit{padding:6px 14px;font:.9375rem/1.5 var(--elegant);letter-spacing:.1em}
.image-viewer-prev .icon{rotate:180deg}
@media(max-width:600px){
  .image-viewer{top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));bottom:calc(8px + env(safe-area-inset-bottom));left:calc(8px + env(safe-area-inset-left));width:auto;height:auto;margin:0}
  .image-viewer-head{padding:8px 12px}.image-viewer-head h2{font-size:1.5rem}.image-viewer-count{margin-left:8px;font-size:.8125rem}
  .image-viewer-tools{gap:4px;padding:8px 12px}.image-viewer-zoom{gap:4px}.image-viewer-scale{display:none}.image-viewer-fit{padding-inline:10px}
  .image-viewer-caption{padding-inline:16px;font-size:.8125rem}
}
.prose figcaption{display:block;margin-top:10px;font:0.875rem/1.8 var(--elegant);letter-spacing:.1em;color:var(--ink-mute);text-align:center}
/* 高亮代码使用独立深色墨底，标题栏与复制按钮不遮挡代码。 */
/* 基础代码块不依赖脚本即可滚动；增强后由内部 code-scroll 承担滚动，标题栏保持固定。 */
.prose .highlight,.prose>pre{position:relative;max-width:100%;min-width:0;margin:1.6em 0;border-radius:6px;overflow-x:auto;background:#151d22;border:1px solid #26323b;box-shadow:var(--article-shadow);letter-spacing:0;color:#e3ddd0;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.prose .code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 16px;border-bottom:1px solid #26323b;background:#1a242a;margin:0;text-align:left}
.code-language{font:0.8125rem/1.8 var(--mono);letter-spacing:.1em;color:#cdb07a;text-transform:lowercase}
.code-language::before{content:"◆ ";color:#e0674f;font-size:9px;vertical-align:2px}
.copy-code{position:static;display:block;background:none;border:1px solid #33424c;border-radius:2px;padding:2px 10px;font:0.8125rem/1.8 var(--elegant);letter-spacing:.1em;color:#aeb4b1;opacity:1}
.copy-code:hover{color:#f4efe4;border-color:#cdb07a}
.prose pre{font:0.9375rem/1.75 var(--mono);color:#e3ddd0;padding:18px 20px;margin:0;overflow-x:auto;white-space:pre;overflow-wrap:normal;word-break:normal;letter-spacing:0;tab-size:2;text-align:left}
.prose pre code{font:inherit;color:inherit;letter-spacing:0;background:none;border:0;padding:0;margin:0}
.prose .code-scroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#7e6a45 transparent}
.prose .highlight table{display:table;width:100%;font:inherit;border:0;margin:0}
.prose .highlight tbody{border:0}
.prose .highlight :is(td,th){padding:0;border:0;background:none;vertical-align:top}
.prose .highlight tbody tr:hover td{background:none}
.prose .highlight pre{overflow:visible}
.prose .highlight .gutter{width:1px;user-select:none;color:#97a4a5;border-right:1px solid #26323b}
.prose .highlight .gutter pre{color:#97a4a5;padding-left:14px;padding-right:12px}
.prose .highlight .code{width:100%}
.prose .highlight .comment,.prose .highlight .quote{color:#82958e;font-style:italic}
.prose .highlight .keyword,.prose .highlight .selector-tag,.prose .highlight .literal,.prose .highlight .meta{color:#e58f7b}
.prose .highlight .string,.prose .highlight .attr{color:#a5c7ad}
.prose .highlight .number,.prose .highlight .title,.prose .highlight .built_in{color:#dec18d}
.prose .highlight .variable,.prose .highlight .params{color:#c2b4d5}
.article-end{margin:0;padding:0;text-align:initial;border:0}
.article-colophon{display:flex;justify-content:flex-end;align-items:flex-end;gap:18px;margin-top:56px;text-align:right;font-family:var(--elegant);font-size:1rem;letter-spacing:.16em;line-height:2;color:var(--ink-soft)}
.article-colophon .seal{width:34px;height:43px;font-size:18px;flex-shrink:0}
.article-tags{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:40px;padding-top:24px;border-top:1px dashed var(--line)}
.article-tags>span{font:0.875rem/1.8 var(--elegant);letter-spacing:.05em;color:var(--ink-mute);margin-right:5px}
.article-tags .tag-cloud a{font-size:0.875rem;padding:6px 11px}
.article-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px}
.article-actions .button{min-height:0;padding:12px 26px;font-size:1rem;line-height:1.2;letter-spacing:.18em;gap:10px;border-radius:2px}
.article-actions .share-article{background:transparent;border-color:var(--gold-soft);color:var(--ink)}
.article-actions .share-article::before{border-color:transparent}
.article-actions .share-article:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}
.share-status{font:0.875rem/1.8 var(--elegant);color:var(--ink-mute)}
.article-after{margin-top:64px}
.post-neighbors{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--gold-soft);margin:0;padding:0;gap:0}
.post-neighbors>a,.neighbor-empty{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:26px 24px;min-width:0;color:var(--ink)}
.post-neighbors>:last-child{text-align:right;border-left:1px solid var(--gold-soft)}
.post-neighbors small{font:0.875rem/1.8 var(--elegant);letter-spacing:.08em;color:var(--gold-ink)}
.post-neighbors strong{font:700 18px/1.5 var(--serif)}
.post-neighbors>a:hover{background:color-mix(in srgb,var(--gold-soft) 12%,transparent)}
.post-neighbors>a:hover strong{color:var(--accent)}
.neighbor-empty small{color:var(--ink-mute)}
.article-related{margin-top:72px}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.related-card{display:flex;flex-direction:column;gap:10px;position:relative;border:1px solid var(--line);border-radius:4px;padding:26px;background:var(--surface);transition:box-shadow .3s,transform .3s}
.related-card::before{content:"";position:absolute;inset:5px;border:1px solid color-mix(in srgb,var(--gold-soft) 55%,transparent);pointer-events:none;border-radius:2px}
.related-card h3{overflow-wrap:anywhere;font:700 1.25rem/1.5 var(--serif)}
.related-card>p{font-size:1rem;line-height:1.85;color:var(--ink-soft)}
.related-card .text-link{margin-top:auto;align-self:flex-start;font-size:1rem;padding-top:8px}
.related-card:hover{box-shadow:var(--article-shadow);transform:translateY(-3px)}
.related-card:hover h3{color:var(--accent)}
.standalone-prose{max-width:760px;margin-inline:auto}
/* 页头吸顶与背景统一由全站控制；文章保留阅读进度条和目录锚点偏移。 */
html:has(>body.is-post){scroll-padding-top:0;scrollbar-width:thin;scrollbar-color:var(--gold-soft) transparent}
.reading-progress{position:fixed;left:0;top:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;z-index:40;background:linear-gradient(90deg,var(--gold),var(--accent));pointer-events:none}
/* 内容页与全站使用同一实际主题，设备媒体查询仅作为无脚本回退。 */
:root[data-theme="dark"] .article-page,:root[data-theme="dark"] .standalone-prose,:root[data-theme="dark"] .about-paper .prose,:root[data-theme="dark"] .image-viewer{--ink:#e8e2d3;--ink-soft:#aeb4b1;--ink-mute:#97a4a5;--line:#26323b;--jade:#74a7a6;--code-ink:#f08b74;--article-shadow:0 2px 6px rgb(0 0 0 / .3),0 20px 44px -14px rgb(0 0 0 / .7)}:root[data-theme="dark"] .article-category .category-dot{background:#a7b874}:root[data-theme="dark"] .article-fret{opacity:.4}
@media(prefers-color-scheme:dark){:root:not([data-theme]) .article-page,:root:not([data-theme]) .standalone-prose,:root:not([data-theme]) .about-paper .prose,:root:not([data-theme]) .image-viewer{--ink:#e8e2d3;--ink-soft:#aeb4b1;--ink-mute:#97a4a5;--line:#26323b;--jade:#74a7a6;--code-ink:#f08b74;--article-shadow:0 2px 6px rgb(0 0 0 / .3),0 20px 44px -14px rgb(0 0 0 / .7)}:root:not([data-theme]) .article-category .category-dot{background:#a7b874}:root:not([data-theme]) .article-fret{opacity:.4}}
@media(max-width:1100px){.article-columns.has-toc{grid-template-columns:minmax(0,820px)}.article-toc{display:none}}
/* 手机正文保持 17px，代码独立调整为 13px；长行通过横向滚动保留缩进。 */
@media(max-width:700px){
  .article-page{padding-bottom:60px}.article-hero{padding:40px 0 90px}.article-header{width:calc(100% - 36px)}.article-description{font-size:1.0625rem}.article-category,.article-byline{font-size:.8125rem}.article-columns{width:calc(100% - 36px);margin-top:-40px}.article-paper{padding:50px 22px 48px}.article-fret{left:12px;right:12px}.article-fret.top{top:14px}.article-fret.bottom{bottom:14px}.post-neighbors,.related-grid{grid-template-columns:1fr}.post-neighbors>:last-child{border-left:0;border-top:1px solid var(--gold-soft)}.post-neighbors strong{font-size:1.125rem}.article-after{margin-top:40px}.article-related{margin-top:48px}.related-grid{gap:20px}.related-card h3{font-size:1.125rem}.related-card>p,.related-card .text-link{font-size:.9375rem}.article-colophon{font-size:.9375rem;letter-spacing:.08em}.share-status,.prose figcaption,.article-tags>span,.article-tags .tag-cloud a,.post-neighbors small{font-size:.8125rem}.article-actions .button{font-size:.9375rem}
}
@media(max-width:760px){.prose{font-size:1.0625rem;line-height:1.95}.prose table,.prose :not(pre)>code{font-size:.875rem}.prose pre{font-size:.8125rem}}
@media(max-width:600px){.prose h2{font-size:22px}.prose h3{font-size:18px}.prose p{text-align:left}.article-paper .prose .headerlink{left:-16px;width:14px;font-size:.8125rem}.article-paper .prose h2 .headerlink{top:26.4px}}
