.source-header,.source-footer,.source-main{max-width:1100px;margin:auto;padding:2rem clamp(1.2rem,4vw,3rem)}
.source-header{display:flex;justify-content:space-between;gap:2rem;align-items:center;border-bottom:1px solid #29352b}
.source-header nav{display:flex;flex-wrap:wrap;gap:1.2rem;font-size:.85rem}
.source-header nav>a{display:block}
.source-main h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.1;max-width:20ch;margin:1rem 0 2rem}
.source-intro,.source-footer{color:#adb8b0;line-height:1.7;max-width:85ch}
.source-provenance{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:.65rem 1rem;margin:2rem 0;padding:1.2rem;background:#101913;border:1px solid #29352b;font-size:.85rem}
.source-provenance dt{color:#adb8b0}.source-provenance dd{margin:0;overflow-wrap:anywhere}
.source-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;line-height:1.65;background:#0b120e;border:1px solid #29352b;padding:clamp(1rem,3vw,2rem);margin-top:2rem;tab-size:4}
.source-list{list-style:none;padding:0}.source-list li{padding:1.2rem 0;border-bottom:1px solid #29352b}.source-list a{display:block;font-size:1.1rem}.source-list span{display:block;color:#adb8b0;font-size:.8rem;margin-top:.4rem;overflow-wrap:anywhere}
.source-download,.source-main a{color:#cdfc83;text-underline-offset:.2em}.source-footer{font-size:.8rem}
:focus-visible{outline:2px solid #cdfc83;outline-offset:4px}
@media(max-width:600px){.source-header{align-items:flex-start;flex-direction:column}.source-provenance{grid-template-columns:1fr}.source-provenance dd{margin-bottom:.75rem}}
