/* Scoped spacing correction: leave the other pages' introductions unchanged. */
.source-shelf main{padding-top:54px}
.source-shelf .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.source-shelf .reference-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin:10px 0}
.source-shelf .reference-actions a{display:inline-flex;align-items:center;min-height:44px}
.copy-reference{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;font:600 14px/1.4 Manrope,Arial,sans-serif;border:0;border-radius:10px;background:#243d30;color:#fff;cursor:pointer}
.copy-reference:hover{background:#365641}
.copy-reference:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.source-shelf .copy-feedback{min-height:24px;font-size:14px;color:#294b36}
.source-shelf .copy-fallback{width:100%;min-height:180px;padding:16px;font:14px/1.6 monospace;background:#f0f3ec;color:#18281d}
.source-shelf .saved-company-examples{margin:24px 0 32px}
.source-shelf .source-picture{padding:0;background:#eef0eb}
.source-shelf .source-picture img{height:auto;aspect-ratio:16/9;object-fit:contain}
.source-shelf .other-bases{margin:26px 0}
.source-shelf .other-bases>summary{min-height:44px;padding:12px 0;cursor:pointer}
.source-shelf .platform-note{padding:18px 20px;border-radius:12px;background:#edf3ee;line-height:1.65}
@media(max-width:767px){.source-shelf main{padding-top:48px}.source-shelf .reference-actions{gap:8px 16px}.source-shelf .copy-reference{width:100%}}

/* Central design source map: extend the existing shelf instead of creating another catalogue. */
.source-shelf .eyebrow{margin:0 0 10px;font:700 12px/1.2 Manrope,Arial,sans-serif;letter-spacing:.14em;color:#4c6b56}
.source-shelf .section-heading{max-width:780px;margin-bottom:24px}
.source-shelf .section-heading h2{margin-bottom:10px}
.source-map-section,.component-index-section{scroll-margin-top:20px}
.source-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.source-route{padding:24px;border:1px solid #cad5cc;border-radius:18px;background:#f7f8f4}
.source-route h3{margin:0 0 6px;font-size:22px}
.route-status{margin:0 0 12px;font:700 12px/1.4 Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#4c6b56}
.route-links,.component-group-sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.route-links a,.component-group-sources a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #b9c8bc;border-radius:999px;background:#fff;color:#193725;font:650 13px/1.3 Manrope,Arial,sans-serif;text-decoration:none}
.route-links a:hover,.component-group-sources a:hover{border-color:#335b41;background:#edf3ee}
.route-links a:focus-visible,.component-group-sources a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.route-links a[data-kind=local]{background:#234332;color:#fff;border-color:#234332}
.route-links a[data-kind=platform]{border-style:dashed}
.component-index-section label{display:block;margin:0 0 8px;font:700 14px/1.4 Manrope,Arial,sans-serif}
.component-source-search{width:min(680px,100%);min-height:52px;padding:12px 16px;border:1px solid #9bad9f;border-radius:12px;background:#fff;color:#162a1d;font:16px/1.4 Manrope,Arial,sans-serif}
.component-source-search:focus{outline:3px solid var(--focus);outline-offset:3px}
.component-source-feedback,.component-source-empty{min-height:24px;margin:10px 0 20px;color:#34513e}
.component-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.component-group{padding:24px;border:1px solid #d2dad3;border-radius:18px;background:#fff}
.component-group h3{margin:0 0 8px;font-size:21px}
.component-chips{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}
.component-chip{display:inline-flex;padding:7px 10px;border-radius:8px;background:#edf1eb;color:#1c3525;font:600 13px/1.3 Manrope,Arial,sans-serif}
.component-chip[hidden],.component-group[hidden]{display:none}
.component-chip{min-height:44px;align-items:center;text-decoration:none;box-sizing:border-box}
.component-chip:hover{background:#dae5da;text-decoration:underline}
.component-chip:focus-visible,.component-copy-link:focus-visible{outline:3px solid #355841;outline-offset:3px}
.component-browse-panel{border:1px solid #a9bba9;border-radius:12px;background:#f1f5ed;padding:24px;margin:20px 0}
.component-browse-panel[hidden]{display:none}
.component-browse-panel h3{margin:0 0 10px;font-size:24px}
.component-source-preview{margin:18px 0;max-width:720px}
.component-source-preview img{display:block;width:100%;height:auto;border-radius:8px}
.component-source-preview figcaption{font-size:14px;line-height:1.5;margin-top:8px}
.component-source-preview a:focus-visible{display:block;outline:3px solid var(--focus);outline-offset:3px}
.resource-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}
#browse-original-libraries{scroll-margin-top:100px}
#browse-original-libraries details{margin:24px 0;padding:18px;border:1px solid #b9c8bc;border-radius:8px}
#browse-original-libraries summary{min-height:44px;cursor:pointer;font-weight:700}
#browse-original-libraries label{display:block;margin-top:16px}
#browse-original-libraries input{display:block;width:100%;box-sizing:border-box;padding:12px;min-height:44px;font:inherit;margin-top:8px}
.component-group-sources a[hidden]{display:none}
@media(max-width:700px){.resource-template-grid{grid-template-columns:1fr}}
.component-copy-link{min-height:44px;border:1px solid #71846e;border-radius:6px;padding:10px 16px;background:white;color:#193725;font:inherit;cursor:pointer}
.component-source-label{margin:0;font:700 12px/1.3 Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#607565}
@media(max-width:840px){.source-route-grid,.component-group-grid{grid-template-columns:1fr}}
@media(max-width:520px){.source-route,.component-group{padding:18px}.route-links a,.component-group-sources a{width:100%;justify-content:space-between;border-radius:10px}}
