/* Project references and the documentation library share the editorial typography. */
.project-dossier { padding-top: 28px; }
.project-dossier > .back-link { margin-bottom: 32px; }
.dossier-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: end; padding-bottom: 32px; }
.dossier-heading .eyebrow { font-size: 14px; color: var(--muted); margin-bottom: 16px; }
.dossier-heading h1 { font: 300 46px/1.12 var(--display); text-wrap: pretty; }
.dossier-heading p { font-size: 17px; line-height: 1.6; max-width: 640px; }
.dossier-heading .underlined { display: inline-flex; align-items: center; gap: 14px; margin-top: 20px; font-size: 16px; }
.dossier-nav { display: flex; gap: 32px; border-block: 1px solid var(--line); }
.dossier-nav a { padding-block: 17px; font-size: 15px; min-height: 48px; }
.dossier-nav a:hover { color: var(--green-ink); }
.dossier-workspace { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 64px; align-items: start; padding-block: 36px 48px; }
.dossier-workspace > div { min-width: 0; }
.project-dossier :is(section, details, #project-details) { scroll-margin-top: 112px; }
.dossier-sample h2 { font: 300 26px/1.3 var(--display); margin-bottom: 24px; max-width: 620px; }
.dossier-sample .case-preview { background: transparent; padding: 0; }
.dossier-sample .case-preview :is(.editorial-preview, .tool-screen) { box-shadow: none; }
.dossier-sample .case-preview figcaption { margin-top: 14px; font-size: 13px; }
.dossier-sample :is(.screen-top, .screen-context) { font-size: 15px; }
.dossier-sample .compact :is(th, td) { font-size: 14px; }
.dossier-sample .compact :is(th:last-child, td:last-child) { display: table-cell; }
.dossier-sample .table-scroll { overflow-x: auto; }
.dossier-sample table { min-width: 460px; }
.dossier-details details { display: block; border: 0; border-top: 1px solid var(--line); padding: 0; }
.dossier-details summary, .library-build > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; cursor: pointer; font: 400 20px/1.4 var(--display); padding: 18px 0; min-height: 60px; }
.project-dossier .dossier-details summary { font-size: 20px; }
:is(.dossier-details, .library-build, .chapter-topic) summary::-webkit-details-marker { display: none; }
:is(.dossier-details, .library-build, .chapter-topic) summary .link-icon { width: 18px; height: 18px; }
:is(.dossier-details details, .library-build, .chapter-topic)[open] > summary .link-icon { transform: rotate(45deg); }
.dossier-details details > div { padding: 0 0 24px; max-width: none; }
.dossier-details p { font-size: 16px; line-height: 1.6; }
.dossier-details .project-control { display: block; border: 0; margin: 20px 0 0; padding: 0; }
.dossier-details .project-control h3 { font: 400 14px/1.4 var(--display); color: var(--muted); margin-bottom: 8px; }
.dossier-details .route-source { display: block; margin-top: 16px; }
.dossier-details .route-source > span { font-size: 14px; }
.dossier-details .route-source p { font-size: 16px; }
.dossier-details .project-method .method-note { font-size: 14px; }
.dossier-details .project-method .underlined { font-size: 16px; }
.dossier-system { display: inline-flex; align-items: center; gap: 12px; margin-top: 24px; font-size: 15px; }
.project-dossier .project-verification { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 64px; }
.project-dossier .project-verification h2 { font-size: 26px; }
.project-dossier .project-verification h3 { font-size: 16px; font-weight: 500; }

.library-intro { display: grid; grid-template-columns: 1fr 1.6fr; gap: 64px; padding-block: 40px 32px; align-items: end; }
.library-intro h1 { font: 300 46px/1.12 var(--display); }
.library-intro .eyebrow { font-size: 14px; margin-bottom: 14px; }
.library-intro p { font-size: 18px; line-height: 1.6; }
.library-intro .inline-links { margin-top: 18px; font-size: 15px; }
.library { padding-top: 0; padding-bottom: 48px; }
.library-layout { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: 64px; border-top: 1px solid var(--line); padding-top: 28px; scroll-margin-top: 112px; }
.library-layout > aside { position: sticky; top: 112px; align-self: start; }
.library-topics { display: grid; }
.library-topic-picker { display: none; }
.library-topics a { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; min-height: 44px; font-size: 16px; color: var(--muted); }
.library-topics a[aria-current] { color: var(--ink); text-decoration: underline; text-underline-offset: 7px; }
.library-topics a span { font-size: 13px; color: var(--muted); }
.library-start { display: inline-block; margin-top: 30px; font-size: 14px; }
.library .doc-directory { margin: 0; padding: 0; border: 0; min-width: 0; }
.library .directory-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; margin: 0; }
.library .directory-heading h2 { font: 300 27px/1.25 var(--display); }
.library-search { position: relative; flex: 1; max-width: 440px; min-width: 220px; }
.library-search .doc-search { display: block; font-size: 13px; }
.library-search input { display: block; border: 0; border-bottom: 1px solid #8b9590; border-radius: 0; background: transparent; padding: 8px 36px 10px 0; width: 100%; min-height: 44px; font-size: 16px; }
.library-search input::-webkit-search-cancel-button { display: none; }
.library-clear { position: absolute; right: 0; bottom: 2px; background: none; border: 0; width: 40px; height: 40px; display: grid; place-items: center; }
.library-clear .link-icon { transform: rotate(45deg); }
.library-count { min-height: 21px; font-size: 13px; color: var(--muted); margin: 18px 0; }
.library .doc-group { display: block; padding: 0 0 28px; border: 0; scroll-margin-top: 112px; }
.library .doc-group h3 { font: 400 14px/1.4 var(--display); padding: 12px 0; color: var(--muted); border-bottom: 1px solid var(--line); }
.library .doc-links { display: grid; grid-template-columns: 1fr; gap: 0; }
.library .doc-links a { padding: 20px 0; border-bottom: 1px solid var(--line); align-items: center; }
.library .doc-links a:hover { text-decoration: none; color: var(--green-ink); }
.library .doc-note { display: grid; grid-template-columns: minmax(180px,.8fr) minmax(0,1.2fr); align-items: baseline; gap: 28px; }
.library .doc-note strong { font: 400 20px/1.3 var(--display); }
.library .doc-note > span { margin: 0; font-size: 16px; line-height: 1.5; }
.library .docs-guides { margin-top: 28px; grid-template-columns: 245px minmax(0,1fr); gap: 64px; }
.library .docs-guides h2 { font-size: 23px; }
.library-build { border-block: 1px solid var(--line); margin-top: 32px; scroll-margin-top: 112px; }
.library-build > div { padding: 18px 0 36px; }
.library-build h2 { font-size: 26px; margin-bottom: 20px; }
.library-build .build-path h3 { font-size: 23px; }
.library-build .build-path { margin-bottom: 32px; }
.doc-reference .doc-sidebar > .back-link { margin-bottom: 22px; }
.doc-reference .chapter-topic { margin: 0 0 24px; border-block: 1px solid var(--line); }
.chapter-topic summary { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding-block: 16px; font-size: 14px; cursor: pointer; list-style: none; }
.doc-reference .chapter-topic nav { display: grid; gap: 0; padding-bottom: 16px; }
.chapter-topic a { font-size: 14px; line-height: 1.5; padding: 8px 0; color: var(--muted); }
.chapter-topic a[aria-current] { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.chapter-related { display: flex; flex-wrap: wrap; gap: 24px 40px; padding-top: 28px; margin-top: 36px; border-top: 1px solid var(--line); }
.chapter-related > a { flex: 1 1 180px; margin: 0; padding: 0; border: 0; font-size: 16px; }
.chapter-related .chapter-project { flex: 0 1 200px; }
.doc-reference .chapter-source { display: block; }
@media(max-width:1100px) {
  .dossier-heading, .dossier-workspace, .project-dossier .project-verification { gap: 36px; }
  .library-layout { grid-template-columns: 200px minmax(0,1fr); gap: 36px; }
  .library .doc-note { grid-template-columns: 1fr; gap: 7px; }
  .library .docs-guides { grid-template-columns: 200px minmax(0,1fr); gap: 36px; }
}
@media(max-width:800px) {
  .project-dossier { padding-top: 24px; }
  .dossier-heading { grid-template-columns: 1fr; gap: 22px; }
  .dossier-heading h1, .library-intro h1 { font-size: 36px; }
  .dossier-workspace { grid-template-columns: minmax(0,1fr); gap: 32px; padding-block: 28px 36px; }
  .dossier-sample h2 { font-size: 24px; }
  .dossier-nav { gap: 22px; flex-wrap: wrap; }
  .dossier-nav a { font-size: 14px; }
  .project-dossier .project-verification { grid-template-columns: 1fr; gap: 24px; }
  .library-intro { grid-template-columns: 1fr; gap: 22px; padding-block: 32px 28px; }
  .library-intro p { font-size: 17px; }
  .library-layout { grid-template-columns: 1fr; gap: 24px; }
  .library-layout > aside { position: static; }
  .library-topics { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
  .library-topics a { padding-block: 10px; font-size: 15px; }
  .library-topics a span { display: none; }
  .library-ready .library-topics { display: none; }
  .library-ready .library-topic-picker { display: block; font-size: 13px; }
  .library-topic-picker select { display: block; width: 100%; min-height: 44px; background: white; border: 0; border-bottom: 1px solid #8b9590; border-radius: 0; padding-block: 10px; font-size: 16px; color: var(--ink); }
  .library-start { margin-top: 12px; }
  .library .directory-heading { gap: 16px; }
  .library .directory-heading h2 { font-size: 25px; }
  .library-search { min-width: 100%; max-width: none; }
  .library .docs-guides { grid-template-columns: 1fr; gap: 16px; }
  .library .doc-note { gap: 8px; }
  .library-build .build-path h3 { font-size: 21px; }
  .library-build .method-examples { grid-template-columns: 1fr; gap: 18px; }
}
@media(max-width:360px) {
  .dossier-heading h1 { font-size: 32px; }
  .dossier-nav { gap: 14px; }
  .dossier-nav a { font-size: 13px; }
}
.library [hidden] { display: none!important; }
