.kit-opening { padding-block: var(--space-16); background: var(--surface); border-bottom: 1px solid var(--line); }
.kit-hero { display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--space-16); align-items: start; }
.kit-hero h1 { max-width: 13ch; }
.kit-hero h1 span { color: var(--signal); }
.kit-hero .lede { max-width: 49ch; font-size: 1.25rem; line-height: 1.6; }
.byline, .editorial-note { color: var(--muted); font-size: .875rem; }
.readpath { margin-top: var(--space-10); border-top: 1px solid var(--line); padding-top: var(--space-5); }
.readpath a { display: inline-block; margin: .25rem 1rem .25rem 0; }
.signal-chain { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.signal-chain li { padding: 1.2rem 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 8rem 1fr; gap: 1rem; margin: 0; }
.signal-chain strong { font-family: var(--display); font-size: 1.6rem; }
.article-body { max-width: 80rem; margin-inline: auto; padding: 0 var(--space-8); }
.chapter { display: grid; grid-template-columns: 17rem minmax(0,1fr); gap: var(--space-10); padding: var(--space-16) 0; border-bottom: 1px solid var(--line); }
.chapter .section-heading { grid-column: 1; }
.chapter .section-heading h2 { font-size: clamp(2rem,3vw,2.75rem); margin-bottom: 1.1rem; }
.section-summary { font-size: .9375rem; color: var(--muted); }
.chapter .prose { grid-column: 2; min-width: 0; font-size: 1.0625rem; max-width: 70ch; }
.chapter .prose p { line-height: 1.75; }
.chapter h3 { margin: 2.4rem 0 1.1rem; font-size: 1.8rem; }
.chapter h3:first-child { margin-top: 0; }
.chapter h4 { margin: 1.7rem 0 .9rem; }
.takeaway { padding: 1.4rem; background: var(--surface); border: 1px solid var(--line); }
.workbench { grid-column: 2; min-width: 0; padding: 1.8rem; background: var(--surface); border: 1px solid var(--line); }
.workbench > h3 { margin-top: 0; }
.workbench p, .workbench li { font-size: .9375rem; }
.workbench pre { background: var(--field); max-height: 30rem; font-size: .8125rem; }
.workbench label { font-weight: 650; display: block; font-size: .875rem; }
.workbench label select, .workbench label textarea { margin-top: .5rem; font-weight: 400; }
.control-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit,minmax(12rem,1fr)); margin: 1.5rem 0; }
.button-row { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.25rem 0; }
.lesson-output { padding: 1rem; border: 1px solid var(--line); background: var(--field); margin-bottom: 1rem; font-size: .9375rem; }
.source-catalog { grid-column: 2; min-width: 0; }
.source-entry { padding: 0 0 1.5rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.source-entry h3 { font-family: var(--body); font-size: 1.0625rem; line-height: 1.5; margin: 0 0 .75rem; }
.source-entry p { margin: 0 0 .7rem; font-size: .9375rem; }
.source-entry small { color: var(--muted); }
.kit-footer { padding: 2rem 0 3rem; }
.kit-footer nav { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; }
.document { max-width: 76ch; margin: 3rem auto; padding: 0 1.5rem; }
.document h1 { max-width: 20ch; font-size: clamp(3rem,7vw,4.5rem); margin-bottom: 2rem; }
.document h2 { font-size: 2rem; margin: 2.5rem 0 1rem; }
.document h3 { font-size: 1.5rem; margin: 1.7rem 0 1rem; }
.document pre { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (min-width: 1100px) { .section-heading { position: sticky; top: 2rem; align-self: start; } }
@media (max-width: 900px) { .kit-hero { grid-template-columns: 1fr; gap: 2rem; } .kit-hero h1 { max-width: 17ch; font-size: clamp(3.5rem,10vw,5.5rem); } .chapter { grid-template-columns: 1fr; gap: 1.6rem; } .chapter .prose,.workbench,.source-catalog { grid-column: 1; } .section-summary { max-width: 60ch; } }
@media (max-width: 560px) { .wrap { width: calc(100% - 2rem); } .header-inner { display: block; padding: 1rem 0; } .site-header nav { margin-top: .5rem; gap: 0 1rem; } .article-body { padding-inline: 1rem; } .workbench { padding: 1rem; } .chapter { padding-block: 2.5rem; } .signal-chain li { grid-template-columns: 6rem 1fr; } .kit-opening { padding-block: 2.5rem; } .button-row button { flex: 1 1 12rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { transition: none !important; animation: none !important; } }

.article-body .prose, .source-entry, .document, .kit-hero { overflow-wrap: anywhere; }
.workbench pre { white-space: pre-wrap; overflow-wrap: anywhere; }
