/* Detail pages share the index type scale; long-form copy keeps a calm measure. */
:root body.site-detail main h1{font:600 var(--hf-title)/1.22 var(--hf-font);letter-spacing:-.035em;max-width:20ch;margin-bottom:24px}
:root[lang="zh-CN"] body.site-detail main h1{max-width:16em}
:root body.site-detail main h2{max-width:none}
:root body.site-detail :is(.article-deck,.case-lead,.detail-deck){font:400 var(--hf-body)/1.8 var(--hf-font);max-width:38em;letter-spacing:0}
:root body.site-detail :is(.article-content,.case-content,.why-rails,.state-heading,.contract-heading,.package-copy,.install-methods,.evidence-copy,.limits) :is(p,li,dd){font-size:var(--hf-body);line-height:1.85;letter-spacing:0}
:root body.site-detail :is(.article-category,.article-byline,.section-label,.detail-meta dt,.fact span,.contract-toolbar,.starter-frame-bar,figcaption){font-size:12px;line-height:1.6;letter-spacing:.04em}
:root body.site-detail :is(.article-toc,.case-toc) a{display:block;font-size:13px;line-height:1.6;padding-block:12px}
:root body.site-detail :is(.detail-actions,.starter-heading,.package-copy,.install-heading,.source-close-links) a,:root body.site-detail :is(.detail-back,.back-link){display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5;letter-spacing:0}
:root body.site-detail :is(pre,code){font-family:var(--hf-mono);font-size:13px;line-height:1.8}
:root body.site-detail :is(.detail-hero-copy,.article-hero-copy,.case-hero-copy,.article-content,.case-content){min-width:0;overflow-wrap:anywhere}
:root body.site-detail :is(a,button):focus-visible{outline:2px solid #ff8c7e;outline-offset:5px}
:root body.site-detail [id]{scroll-margin-top:100px}
@media(max-width:680px){:root body.site-detail :is(.article-content,.case-content) h2{font-size:28px}:root body.site-detail .state-flow li{white-space:normal}}
@media(prefers-reduced-motion:reduce){:root body.site-detail *{scroll-behavior:auto!important;animation:none!important;transition:none!important}:root body.site-detail .reveal{opacity:1;transform:none}}
