/* Scoped editorial sections extend the existing light palette. */
.content-addition{width:calc(100% - 96px);max-width:1050px;margin:108px auto 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.addition-copy,.addition-figure,.diagram{min-width:0}.addition-topic{color:#9f2452;font-size:14px;line-height:1.5;margin:0 0 17px}.content-addition h2{font-size:32px;line-height:1.23;text-wrap:balance}.addition-prose{margin-top:25px;display:flex;flex-direction:column;gap:18px}.addition-prose>p{font-size:18px;line-height:1.65;color:#625d67}.addition-prose .addition-source{font-size:14px;line-height:1.55}.addition-source a{text-decoration:underline;text-decoration-color:#ba8298;text-underline-offset:4px}.addition-source a:hover{color:#9f2452}.addition-figure{margin:0}.addition-figure figcaption{font-size:14px;line-height:1.55;color:#6c646e;margin-top:16px;max-width:70ch}.diagram{background:#f1eef1;border:1px solid #d9d2d8;border-radius:16px;padding:28px;color:#302630}.diagram h3{font-size:19px;line-height:1.35;font-weight:500}.diagram p,.diagram li,.diagram dt,.diagram dd{font-size:15px;line-height:1.55}.diagram ul,.diagram ol{padding:0;margin:0}.diagram dl,.diagram dd{margin:0}.diagram .diagram-label{font-size:14px;color:#9f2452;line-height:1.5;margin-bottom:10px}.diagram .diagram-note{font-size:14px;color:#625d67;margin-top:18px}.diagram blockquote{margin:0;font-size:23px;line-height:1.45;text-wrap:pretty}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.addition-reverse .addition-copy{order:2}.addition-reverse .addition-figure{order:1}.addition-band{grid-template-columns:1fr;gap:34px;padding-top:56px;border-top:1px solid #d9d4db}.addition-band .addition-copy{display:grid;grid-template-rows:min-content 1fr;align-items:start;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0 70px}.addition-band .addition-topic{grid-column:1}.addition-band h2{grid-column:1}.addition-band .addition-prose{grid-column:2;grid-row:1/3;margin:0}.addition-inset{display:block;background:#f1eef1;border:1px solid #e0d9df;border-radius:20px;padding:48px}.addition-inset .addition-copy{max-width:790px}.addition-inset .addition-prose{max-width:75ch}.addition-inset .addition-figure{margin-top:36px}.addition-inset .diagram{background:#faf9f7}
.brief-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 25px;margin-bottom:28px!important}.brief-tags dt{font-size:13px;color:#6c646e;margin-bottom:5px}.brief-tags dd{font-size:16px}.diagram-brief blockquote{border-left:3px solid #b92059;padding-left:20px}.diagram-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.comparison-panel{padding:4px 25px}.comparison-panel:first-child{padding-left:0;border-right:1px solid #d9d2d8}.comparison-panel:last-child{padding-right:0}.comparison-panel h3{margin-bottom:18px}.comparison-panel ul{list-style:none;display:grid;gap:12px}.comparison-panel li{padding-left:14px;position:relative;color:#625d67}.comparison-panel li:before{content:'';position:absolute;left:0;top:10px;width:4px;height:4px;border-radius:50%;background:#9f2452}
.diagram-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px;line-height:1.55;text-align:left}.diagram-table th,.diagram-table td{padding:16px 12px;border-bottom:1px solid #d9d2d8;vertical-align:top;overflow-wrap:anywhere}.diagram-table th:first-child,.diagram-table td:first-child{padding-left:0}.diagram-table th:last-child,.diagram-table td:last-child{padding-right:0}.diagram-table thead th{font-size:13px;color:#625d67;font-weight:500;padding-top:0}.diagram-table tbody th{font-weight:500;color:#9f2452}.diagram-table tr:last-child>*{border-bottom:0;padding-bottom:0}
.diagram-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;gap:24px}.diagram-timeline li{position:relative;min-width:0}.timeline-node{display:grid;place-items:center;width:30px;height:30px;border:1px solid #b47b93;color:#9f2452;border-radius:50%;font-size:13px;margin-bottom:22px;background:#faf9f7;position:relative;z-index:1}.diagram-timeline li:not(:last-child):before{content:'';position:absolute;left:30px;right:-24px;top:15px;height:1px;background:#c8b8c2}.diagram-timeline p{color:#625d67;margin-top:9px}
.pair-head,.pair-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:22px}.pair-head{font-size:13px;color:#6c646e;padding-bottom:9px}.pair-row{padding:19px 0;border-top:1px solid #d9d2d8;font-size:17px;line-height:1.55}.pair-row>span{color:#625d67}.pair-row strong{font-weight:500;color:#9f2452}.pair-row:last-child{padding-bottom:0}.diagram-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.scenario{border-top:2px solid #bc8aa0;padding-top:18px;min-width:0}.scenario h3{margin-bottom:14px}.scenario>p:last-child{color:#625d67}
.alignment-track+ .alignment-track{margin-top:25px}.alignment-track ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;gap:7px}.alignment-track li{padding:15px 12px;background:#e8d9e2;border-left:2px solid #ab6b86;display:flex;align-items:center;min-height:72px;overflow-wrap:anywhere}.alignment-track:nth-child(2) li{background:#e1e9e7;border-color:#6a9083}.diagram-glossary>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px;padding:18px 0;border-bottom:1px solid #d9d2d8}.diagram-glossary>div:first-child{padding-top:0}.diagram-glossary>div:last-child{padding-bottom:0;border:0}.diagram-glossary dt{color:#9f2452}.diagram-glossary strong{font-size:19px;font-weight:500;display:block}.diagram-glossary dd span{color:#625d67;display:block;margin-top:7px}
.diagram-turns{list-style:none;display:flex;flex-direction:column;gap:12px}.diagram-turns li{max-width:88%;background:#faf9f7;border:1px solid #ded5dc;border-radius:12px;padding:13px 18px;align-self:flex-start}.diagram-turns li:nth-child(2n){align-self:flex-end;background:#eadde4}.diagram-turns span{display:block;color:#625d67;font-size:13px;margin-bottom:4px}.diagram-turns strong{font-size:17px;font-weight:500}.signal-row+ .signal-row{margin-top:25px}.diagram-signal{width:100%;height:auto;display:block;overflow:visible}.signal-line{fill:none;stroke:#a92455;stroke-width:1.8;stroke-linejoin:round}.signal-baseline{stroke:#c8bcc5;stroke-width:1}.signal-row:nth-child(2) .signal-line{stroke:#447367}.channel-row{padding:18px 0;border-bottom:1px solid #d9d2d8}.channel-row:first-child{padding-top:0}.channel-row:last-child{padding-bottom:0;border:0}.channel-row>div{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.channel-row .diagram-label{margin:0}.channel-row span{font-size:13px;color:#625d67}.channel-row .diagram-signal{height:55px}.channel-row:nth-child(n+2) .signal-line{stroke:#447367}
.file-root{color:#9f2452;border-bottom:1px solid #d9d2d8;padding-bottom:18px;font-weight:500}.file-groups{display:grid;gap:22px;margin:24px 0 0 11px;border-left:1px solid #c8b8c2;padding-left:26px}.file-group{position:relative}.file-group:before{content:'';position:absolute;left:-26px;top:13px;width:17px;border-top:1px solid #c8b8c2}.file-group h3{font-size:17px;margin-bottom:9px}.file-group ul{list-style:none;display:grid;gap:6px;color:#625d67}.file-group li{overflow-wrap:anywhere}.diagram-flow{list-style:none;display:grid;gap:0}.diagram-flow li{display:flex;gap:20px;padding-bottom:26px;position:relative}.diagram-flow li:not(:last-child):before{content:'';position:absolute;left:14px;top:31px;bottom:4px;border-left:1px solid #c8b8c2}.diagram-flow li:last-child{padding-bottom:0}.diagram-flow li>span{font-size:13px;width:30px;height:30px;flex-shrink:0;border-radius:50%;border:1px solid #b47b93;display:grid;place-items:center;color:#9f2452}.diagram-flow p{color:#625d67;margin-top:6px}
.receipt-title{font-size:19px!important;padding-bottom:21px;border-bottom:1px solid #c8b8c2}.diagram-receipt dl>div{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:24px;padding:18px 0;border-bottom:1px solid #ded5dc}.diagram-receipt dl>div:last-child{border:0;padding-bottom:0}.diagram-receipt dt{color:#625d67}.axis{padding:20px 0;border-bottom:1px solid #d9d2d8}.axis:first-child{padding-top:0}.axis h3{margin-bottom:22px}.axis>div{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px}.axis i{height:2px;background:#b47b93;flex:1;position:relative}.axis i:after{content:'';width:1px;height:10px;background:#a92455;position:absolute;left:50%;top:-4px}.diagram-transcript blockquote{font-size:26px;padding:5px 0 27px;border-bottom:1px solid #c8b8c2}.diagram-transcript dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:26px}.diagram-transcript dt{font-weight:500;color:#9f2452;margin-bottom:8px}.diagram-transcript dd{color:#625d67}.edge-regions{display:grid;grid-template-columns:1fr 16px 1fr;gap:15px;align-items:stretch;margin-bottom:26px}.edge-regions p{padding:22px;background:#e8d9e2}.edge-regions p:last-child{background:#e1e9e7}.edit-point{position:relative;border-left:2px dashed #a92455;left:8px}.diagram-edges ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;color:#625d67}
/* Animate each diagram once; text remains readable before and without JS. */
@media(prefers-reduced-motion:no-preference){
  .addition-figure.motion-ready.is-entered[data-motion=mask] .diagram{animation:diagram-unmask .7s cubic-bezier(.22,.68,0,1) both}
  .addition-figure.motion-ready.is-entered[data-motion=stack] .visual-piece{animation:diagram-piece .5s ease-out both;animation-delay:calc(var(--step,0)*75ms)}
  .addition-figure.motion-ready.is-entered[data-motion=trace] .signal-line{animation:diagram-trace .85s ease-out both;stroke-dasharray:1}
  .addition-figure.motion-ready.is-entered[data-motion=trace] .visual-piece{animation:diagram-accent .65s ease-out both;animation-delay:calc(var(--step,0)*70ms)}
  .addition-figure.motion-ready.is-entered[data-motion=settle] .diagram{animation:diagram-settle .55s cubic-bezier(.2,.7,.2,1) both}
  @keyframes diagram-unmask{from{clip-path:inset(0 100% 0 0 round 16px)}to{clip-path:inset(0 0 0 0 round 16px)}}
  @keyframes diagram-piece{from{opacity:.25;transform:translateX(9px)}to{opacity:1;transform:translateX(0)}}
  @keyframes diagram-trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
  @keyframes diagram-accent{from{opacity:.45}to{opacity:1}}
  @keyframes diagram-settle{from{opacity:.65;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
}
@media(prefers-reduced-motion:reduce){.content-addition *{animation:none!important;transition:none!important;clip-path:none!important;transform:none!important}}
@media(max-width:1100px){.content-addition{gap:38px}.content-addition h2{font-size:29px}.addition-band{gap:30px}.addition-band .addition-copy{gap:0 45px}.diagram{padding:24px}.addition-inset{padding:38px}.diagram-timeline{gap:18px}.diagram-timeline li:not(:last-child):before{right:-18px}.diagram-transcript dl{gap:16px}}
@media(max-width:900px){.content-addition{width:calc(100% - 48px);grid-template-columns:1fr;gap:30px;margin-top:78px}.addition-reverse .addition-copy,.addition-reverse .addition-figure{order:initial}.content-addition h2{font-size:28px}.addition-prose>p{font-size:17px}.addition-prose{margin-top:22px}.addition-band{padding-top:37px}.addition-band .addition-copy{display:block}.addition-band .addition-prose{margin-top:22px}.addition-inset{padding:25px 22px;border-radius:14px}.addition-inset .addition-figure{margin-top:28px}.addition-topic{margin-bottom:14px}.diagram{padding:22px;border-radius:12px}.diagram blockquote{font-size:21px}.diagram h3{font-size:18px}.diagram-scenarios{grid-template-columns:1fr;gap:25px}.scenario{padding-top:15px}.scenario h3{margin-bottom:9px}.diagram-timeline{grid-template-columns:1fr;gap:0}.diagram-timeline li{padding:0 0 25px 48px}.diagram-timeline li:last-child{padding-bottom:0}.timeline-node{position:absolute;left:0;top:0;margin:0}.diagram-timeline li:not(:last-child):before{left:15px;top:30px;bottom:0;right:auto;height:auto;width:1px}.diagram-timeline p{margin-top:5px}.diagram-compare{grid-template-columns:1fr;gap:26px}.comparison-panel,.comparison-panel:first-child,.comparison-panel:last-child{padding:0;border:0}.comparison-panel+.comparison-panel{border-top:1px solid #d9d2d8;padding-top:25px}.comparison-panel h3{margin-bottom:14px}.diagram-transcript dl{grid-template-columns:1fr;gap:18px}.diagram-transcript dt{margin-bottom:4px}.diagram-transcript blockquote{font-size:23px}.diagram-edges ol{grid-template-columns:1fr;gap:10px}.edge-regions{gap:8px}.edge-regions p{padding:14px 10px;font-size:14px}.diagram-glossary>div{grid-template-columns:1fr;gap:7px}.diagram-glossary strong{font-size:17px}.diagram-receipt dl>div{grid-template-columns:1fr;gap:6px}.alignment-track li{padding:11px 7px;font-size:13px;min-height:78px}.diagram-table{font-size:14px}.diagram-table th,.diagram-table td{padding:14px 8px}.diagram-table thead th{font-size:14px}.brief-tags{gap:15px}.brief-tags dd{font-size:15px}.pair-head,.pair-row{gap:17px}.pair-row{font-size:16px}.channel-row>div{display:block}.channel-row span{display:block;margin-top:3px}.file-groups{margin-left:3px;padding-left:18px}.file-group:before{left:-18px;width:12px}}
@media(max-width:389px){.content-addition{width:calc(100% - 36px)}.content-addition h2{font-size:26px}.addition-inset{padding:22px 16px}.addition-inset .diagram{padding:18px 14px}.diagram{padding:20px 17px}.brief-tags{grid-template-columns:1fr}.pair-row{grid-template-columns:1fr;gap:7px}.pair-head{display:none}.pair-row>span{font-size:14px}.diagram-table th,.diagram-table td{font-size:14px}.diagram-table thead th{font-size:14px}.addition-figure figcaption{font-size:13px}.alignment-track ol{gap:4px}.alignment-track li{font-size:12px;padding:10px 5px}.edge-regions{grid-template-columns:1fr 10px 1fr;gap:6px}.edit-point{left:4px}.edge-regions p{padding:13px 8px}.axis>div{font-size:14px;gap:12px}}

@media(max-width:600px){.diagram-alignment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.alignment-track,.alignment-track ol{display:contents}.alignment-track .diagram-label{grid-column:var(--track);grid-row:1;margin:0 0 3px}.alignment-track li{grid-column:var(--track);grid-row:var(--part);font-size:14px;padding:12px 9px;min-height:0;align-self:stretch}}
