/* Scoped to Echoes so collection styles cannot alter Encyclopedia articles. */
.echoes{--echo-ink:#202b40;--echo-muted:#43516a;--echo-line:#d3dbea;--echo-accent:var(--md-primary-fg-color,#4051b5);--echo-tint:#edf0fc;--echo-paper:#f6f8fc;color:var(--echo-ink);font-size:16px;line-height:1.65;padding-bottom:24px}
.echoes *{box-sizing:border-box}.echoes [hidden]{display:none!important}
.echoes a{color:var(--echo-accent);text-decoration:underline;text-underline-offset:3px}.echoes a:hover{text-decoration-thickness:2px}
.echoes button,.echoes input,.echoes select{font:inherit}.echoes :focus-visible{outline:3px solid #185a9a;outline-offset:4px}
.echoes .echo-intro{font-size:18px;line-height:1.8;max-width:920px;margin:22px 0 26px}
.echoes .echo-eyebrow{display:flex;flex-wrap:wrap;gap:10px 25px;font-size:14px;color:var(--echo-muted);margin:0}
.echoes .echo-eyebrow>a{font-weight:650;letter-spacing:.035em}.echoes .echo-instruction{font-size:14px;color:var(--echo-muted);margin:22px 0 12px}
.echoes .echo-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.echoes button{border:1px solid #b3bfd7;border-radius:6px;background:white;color:var(--echo-ink);cursor:pointer;padding:10px 15px;min-height:44px;line-height:1.35;font-size:14px}
.echoes button:hover{border-color:var(--echo-accent);background:var(--echo-paper)}
.echoes button[aria-pressed=true]{background:var(--echo-accent);border-color:var(--echo-accent);color:#fff;box-shadow:0 2px 0 #283575}
.echoes button:disabled{opacity:.5;cursor:default}.echoes .echo-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;border-top:1px solid var(--echo-line);padding-top:24px}
.echoes .echo-panel{min-width:0}.echoes .echo-domain{font-size:14px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--echo-accent);margin:0 0 8px}
.echoes .echo-panel h2{font-size:23px;line-height:1.3;margin:0 0 12px;color:var(--echo-ink);font-weight:600;letter-spacing:-.02em}
.echoes .echo-entry{font-size:14px;line-height:1.5;margin:0 0 12px}.echoes .echo-entry span{display:block;color:var(--echo-muted);font-size:14px}
.echoes .echo-summary{font-size:16px;line-height:1.6;margin:0 0 8px;min-height:4.8em}
/* Keep paired diagrams aligned when titles or source names wrap differently. */
@supports(grid-template-rows:subgrid){@media(min-width:721px){
  .echoes .echo-pair{row-gap:0}
  .echoes .echo-panel{display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0}
  .echoes .echo-panel>.echo-domain{grid-row:1}
  .echoes .echo-panel>h2{grid-row:2}
  .echoes .echo-panel>.echo-entry{grid-row:3}
  .echoes .echo-panel>.echo-summary{grid-row:4}
  .echoes .echo-panel>.echo-diagram{grid-row:5}
  .echoes .echo-panel>.echo-node-links{grid-row:6}
  .echoes .echo-panel>.echo-boundary{grid-row:7}
}}
.echoes .echo-diagram{display:block;width:100%;overflow:visible;background:linear-gradient(180deg,#fafbfe,#f1f4fb);border-radius:8px}
.echoes .echo-node rect{fill:white;stroke:#92a2c1;stroke-width:1.2}.echoes .echo-node text{fill:#202b40;font-size:15px;font-family:inherit}
.echoes .echo-node[data-lit=true] rect{fill:#e5eafb;stroke:var(--echo-accent);stroke-width:2.8}.echoes .echo-node[data-lit=true] text{font-weight:650}
.echoes .echo-edge path{fill:none;stroke:#697b9b;stroke-width:1.5}.echoes .echo-edge[data-lit=true] path{stroke:var(--echo-accent);stroke-width:2.7}
.echoes .echo-edge-label text{font-family:inherit;font-size:14px;fill:#35445e}.echoes .echo-edge-label rect{fill:#f6f8fc;fill-opacity:.97}
.echoes .echo-edge-label[data-lit=true] text{fill:#283575;font-weight:650}
.echoes .echo-boundary{font-size:15px;color:var(--echo-muted);line-height:1.65;margin:15px 0}.echoes .echo-boundary[data-lit=true]{border-left:3px solid var(--echo-accent);padding-left:12px;color:var(--echo-ink)}
.echoes .echo-reading{padding:18px 22px;background:var(--echo-tint);border-left:4px solid var(--echo-accent);font-size:16px;line-height:1.7;margin:24px 0 30px;min-height:5.6em}
.echoes .echo-takeaway,.echoes .echo-limits{max-width:920px;margin:26px 0}.echoes .echo-takeaway h2,.echoes .echo-limits h2{font-size:21px;font-weight:600;margin:0 0 10px;color:var(--echo-ink)}
.echoes .echo-limits{border-top:1px solid var(--echo-line);padding-top:24px}.echoes .echo-limits li{margin-bottom:10px}
.echoes .echo-correspondence{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;padding:24px 0;border-top:1px solid var(--echo-line)}
.echoes .echo-correspondence h3{grid-column:1/-1;font-size:16px;font-weight:700;color:var(--echo-ink);margin:0 0 2px}.echoes .echo-correspondence-example{min-width:0;padding:16px;background:var(--echo-paper);border-radius:6px}.echoes .echo-correspondence h4{font-size:16px;line-height:1.6;font-weight:650;color:var(--echo-ink);margin:0 0 8px}.echoes .echo-correspondence p{margin:3px 0 8px}.echoes .echo-role-explanation{grid-column:1/-1;color:var(--echo-muted);font-size:16px}
.echoes .echo-source-shared{padding:18px 20px;margin:8px 0 24px;background:var(--echo-paper);border-radius:6px}
.echoes .echo-source-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;row-gap:20px;margin:0 0 24px}
.echoes .echo-source-panel{display:grid;grid-template-rows:subgrid;min-width:0;align-content:start}
.echoes .echo-sources h3{font-size:21px;font-weight:600;line-height:1.4;margin:0}.echoes .echo-source-label{font-size:14px;color:var(--echo-muted);margin:0 0 7px}
.echoes .echo-sources h4{font-size:15px;font-weight:650;margin:0 0 10px;color:var(--echo-ink)}
.echoes .echo-source-excerpt{min-width:0}.echoes .echo-source-shared .echo-source-excerpt{margin-top:16px}
.echoes .echo-sources blockquote{font-size:16px;line-height:1.8;color:var(--echo-ink);margin:0;border-left:2px solid var(--echo-line);padding-left:16px;overflow-wrap:anywhere}
@media(max-width:720px){.echoes .echo-source-pair{grid-template-columns:minmax(0,1fr);gap:28px}.echoes .echo-source-panel{display:block;grid-row:auto!important}.echoes .echo-source-panel+.echo-source-panel{border-top:1px solid var(--echo-line);padding-top:24px}.echoes .echo-source-panel .echo-source-excerpt{margin-top:20px}.echoes .echo-source-spacer{display:none}.echoes .echo-source-shared{padding:16px}}
.echoes .echo-next{border-top:1px solid var(--echo-line);padding-top:24px;margin-top:32px;display:flex;justify-content:space-between;gap:24px;font-size:14px}
.echoes .echo-filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:30px 0 18px}.echoes .echo-filters label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600;flex:1;min-width:210px}
.echoes input,.echoes select{background:white;border:1px solid #a5b3cf;border-radius:5px;color:var(--echo-ink);padding:12px;min-height:46px;width:100%;font-size:14px;font-weight:400}
.echoes .echo-results{font-size:14px;color:var(--echo-muted);margin:16px 0}.echoes .echo-cards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
.echoes .echo-card{--echo-card-padding:24px;border:1px solid var(--echo-line);border-radius:8px;background:white;min-width:0}
.echoes .echo-card-main{display:block;padding:var(--echo-card-padding) var(--echo-card-padding) 20px;border-radius:7px 7px 0 0;color:var(--echo-ink);text-decoration:none}
.echoes .echo-card-main:hover,.echoes .echo-card-main:focus-visible{background:var(--echo-paper);color:var(--echo-accent)}
.echoes .echo-card-main:hover h2,.echoes .echo-card-main:hover p,.echoes .echo-card-main:focus-visible h2,.echoes .echo-card-main:focus-visible p{color:var(--echo-accent)}
.echoes .echo-card-main:focus-visible{outline:3px solid #185a9a;outline-offset:-3px}
.echoes .echo-card-main:hover h2,.echoes .echo-card-main:focus-visible h2{text-decoration:underline;text-underline-offset:3px}
.echoes .echo-card-pattern{font-size:14px;color:var(--echo-muted);margin:0 0 14px}.echoes .echo-card-pattern a{font-weight:650}.echoes .echo-card h2{font-size:23px;line-height:1.35;margin:0 0 15px;font-weight:600;letter-spacing:-.02em}
.echoes .echo-card-domains{display:flex;flex-wrap:wrap;gap:9px;font-size:14px;color:var(--echo-muted)}.echoes .echo-card-main>p:not([class]){font-size:15px;line-height:1.7;margin-bottom:0}
.echoes .echo-card-sources{border-top:1px solid var(--echo-line);padding-top:16px;margin:0 var(--echo-card-padding) var(--echo-card-padding)}
.echoes .echo-card-examples-label{font-size:14px;color:var(--echo-muted);margin:0 0 10px}
.echoes .echo-card-entries{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 20px;margin:0;border-left:2px solid var(--echo-line);padding-left:14px}
.echoes .echo-card-entry{font-size:14px;line-height:1.5;min-width:0;overflow-wrap:anywhere}.echoes .echo-card-entry-type{display:block;font-size:14px;line-height:1.5;color:var(--echo-muted);margin-top:5px}
@media(max-width:420px){.echoes .echo-card-entries{grid-template-columns:minmax(0,1fr)}}
.echoes .echo-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:26px 0;font-size:14px}.echoes .echo-collection-note{font-size:14px;color:var(--echo-muted);border-top:1px solid var(--echo-line);margin-top:36px;padding-top:22px;max-width:900px}
@media(min-width:1200px){.md-content:has(.echoes){max-width:1120px;margin-left:auto;margin-right:auto}}
@media(max-width:720px){.echoes .echo-pair,.echoes .echo-cards{grid-template-columns:minmax(0,1fr)}.echoes .echo-panel+.echo-panel{border-top:1px solid var(--echo-line);padding-top:24px}.echoes .echo-summary{min-height:0}.echoes .echo-panel h2{font-size:22px}.echoes .echo-intro{font-size:16px}.echoes .echo-next{flex-direction:column}.echoes .echo-filters label{min-width:100%}.echoes .echo-card{--echo-card-padding:20px}.echoes .echo-correspondence{grid-template-columns:minmax(0,1fr)}.echoes .echo-controls button{font-size:14px;padding:9px 11px}.echoes .echo-reading{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){.echoes *{scroll-behavior:auto!important;transition:none!important}}
@media print{.echoes .echo-controls,.echoes .echo-filters,.echoes .echo-pagination{display:none!important}.echoes .echo-pair{grid-template-columns:1fr 1fr}.echoes .echo-card{break-inside:avoid}.echoes details>*{display:block!important}}

.echoes .echo-deep-dive{margin:38px 0 0;padding-top:28px;border-top:2px solid var(--echo-line)}
.echoes .echo-deep-dive>h2{font-size:23px;font-weight:600;line-height:1.35;color:var(--echo-ink);margin:0 0 10px}

.echoes .echo-view-tabs{display:flex;gap:8px;border-bottom:2px solid var(--echo-line);margin:28px 0 24px;padding-bottom:8px}
.echoes .echo-view-tabs [role=tab]{font-size:16px;font-weight:600;border:1px solid transparent;border-radius:6px;padding:12px 18px;color:var(--echo-muted);background:transparent}
.echoes .echo-view-tabs [role=tab][aria-selected=true]{color:var(--echo-accent);background:var(--echo-tint);border-color:var(--echo-accent);box-shadow:0 2px 0 var(--echo-accent)}
.echoes .echo-view-tabs [role=tab]:hover{background:var(--echo-paper);border-color:var(--echo-line)}
.echoes[data-initialized=true] .echo-written-title{display:none}
.echoes .echo-tab-panel{min-width:0}.echoes .echo-tab-panel:focus-visible{outline:2px solid var(--echo-accent);outline-offset:5px}
.echoes .echo-commentary p{max-width:920px}
.echoes .echo-limits h3{font-size:16px;font-weight:700;margin:24px 0 12px}
.echoes .echo-sources>.echo-source-shared{margin-top:22px}
@media(max-width:420px){.echoes .echo-view-tabs{gap:4px}.echoes .echo-view-tabs [role=tab]{padding:12px;font-size:16px}}
@media print{.echoes .echo-view-tabs{display:none!important}.echoes .echo-tab-panel[hidden]{display:block!important}.echoes[data-initialized=true] .echo-written-title{display:block}}

.echoes .echo-source-type{font-size:14px;line-height:1.5;color:var(--echo-muted);margin:5px 0 0}
