.bcq-root {
  --bcq-ink: #173e41;
  --bcq-paper: #fffdf7;
  --bcq-cream: #f4f1e8;
  --bcq-line: #c8cec3;
  --bcq-rust: #bf4b32;
  --bcq-muted: #546366;
  color: var(--bcq-ink);
  min-width: 0;
}
.bcq-root * { box-sizing: border-box; }
.bcq-root :is(button, input) { font: 600 .84rem/1.45 system-ui, sans-serif; color: var(--bcq-ink); }
.bcq-root button { cursor: pointer; }
.bcq-root :is(button, input, summary, [tabindex]):focus-visible { outline: 3px solid #b87518; outline-offset: 3px; }
.bcq-root button:hover:not([aria-pressed="true"]) { background-color: #e9ede4; }
.bcq-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .4rem; margin: 1rem 0; }
.bcq-tabs button { display: flex; align-items: center; gap: .65rem; min-height: 64px; padding: .7rem; border: 1px solid var(--bcq-line); border-radius: 3px; background: var(--bcq-paper); text-align: left; }
.bcq-tabs small { color: #9a422b; font: 750 .67rem/1.5 system-ui, sans-serif; letter-spacing: .06em; }
.bcq-tabs button[aria-pressed="true"] { background: var(--bcq-ink); border-color: var(--bcq-ink); color: white; }
.bcq-tabs button[aria-pressed="true"] small { color: #e5bc59; }
.bcq-sheet { background: var(--bcq-paper); border: 1px solid var(--bcq-line); border-top: 3px solid var(--bcq-rust); padding: clamp(.8rem, 2.5vw, 1.9rem); min-width: 0; }
.bcq-sheet :is(h3, h4, h5) { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; letter-spacing: -.025em; color: var(--bcq-ink); }
.bcq-sheet h4 { font-size: 1.4rem; line-height: 1.24; margin: .3rem 0 .65rem; }
.bcq-sheet h5 { font-size: 1.16rem; line-height: 1.3; margin: .2rem 0 .5rem; }
.bcq-sheet p { font-size: .89rem; line-height: 1.7; color: #354d50; margin: .6rem 0; }
.bcq-sheet figure { margin: 0; min-width: 0; }
.bcq-sheet figcaption { font: 400 .73rem/1.6 system-ui, sans-serif; color: var(--bcq-muted); }
.bcq-intro { max-width: 930px; scroll-margin-top: calc(var(--sj-header, 110px) + var(--sj-nav, 60px) + 24px); }
.bcq-kicker { display: block; font: 750 .65rem/1.55 system-ui, sans-serif; letter-spacing: .095em; text-transform: uppercase; color: #8b412f; }
.bcq-intro h3 { font-size: clamp(1.6rem, 2.7vw, 2.2rem); line-height: 1.18; margin: .45rem 0 .75rem; }
.bcq-intro p { max-width: 86ch; color: var(--bcq-muted); }
.bcq-sheet .bcq-source { color: #5f6966; font-size: .73rem; line-height: 1.65; margin-top: .85rem; }
.bcq-sheet .bcq-small { color: var(--bcq-muted); font-size: .79rem; line-height: 1.65; }
.bcq-sheet .bcq-question { border-top: 1px solid var(--bcq-line); padding-top: .85rem; margin-top: 1rem; color: #93402b; font: 500 1.2rem/1.4 Georgia, serif; }
.bcq-choices { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1.25rem 0; }
.bcq-choices button { min-height: 44px; padding: .55rem .8rem; border: 1px solid #b3beb4; border-radius: 3px; background: var(--bcq-paper); }
.bcq-choices button[aria-pressed="true"] { background: #dfe9df; border-color: #476f63; color: #133d34; }
.bcq-root .bcq-locate, .bcq-root .bcq-text-button { min-height: 44px; padding: .55rem .75rem; border: 1px solid #66877c; border-radius: 3px; background: transparent; color: #1d574c; font-size: .77rem; margin-top: .75rem; text-align: left; }
.bcq-note { padding: 1rem 1.1rem; margin: 1.2rem 0; background: #f1ead7; border-left: 3px solid #b98a2b; }
.bcq-note > b { font: 750 .68rem/1.5 system-ui, sans-serif; letter-spacing: .065em; text-transform: uppercase; color: #75531c; }
.bcq-note p { margin: .35rem 0 0; font-size: .84rem; }
.bcq-details { min-width: 0; border-top: 1px solid var(--bcq-line); margin-top: 1.25rem; padding-top: .65rem; }
.bcq-details summary { cursor: pointer; min-height: 40px; padding: .3rem 0; color: var(--bcq-ink); font: 650 .81rem/1.5 system-ui, sans-serif; }
.bcq-details > p { font-size: .83rem; }
.bcq-table-wrap { min-width: 0; max-width: 100%; overflow-x: auto; border: 1px solid var(--bcq-line); margin: .4rem 0 .8rem; }
.bcq-table-wrap table { width: 100%; min-width: 39rem; border-collapse: collapse; text-align: left; font: 400 .76rem/1.55 system-ui, sans-serif; }
.bcq-table-wrap caption { padding: .8rem; text-align: left; background: #e7ece2; color: var(--bcq-ink); font-weight: 700; }
.bcq-table-wrap :is(th, td) { padding: .6rem .7rem; border-right: 1px solid #d8ddcf; border-bottom: 1px solid #d8ddcf; vertical-align: top; }
.bcq-table-wrap th { font-weight: 650; }
.bcq-table-wrap thead th { background: #f0f2e9; }
.bcq-table-wrap tbody tr:nth-child(even) { background: #f7f6ef; }
.bcq-table-wrap :is(th, td):last-child { border-right: 0; }
.bcq-table-wrap tr:last-child :is(th, td) { border-bottom: 0; }
.bcq-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* The urban code and its instruments. */
.bcq-recoding { display: grid; grid-template-columns: 1fr auto 1fr; gap: 2rem; align-items: center; padding: 1.6rem 2rem; margin: 1.5rem 0 1rem; background: #e9ede4; border: 1px solid var(--bcq-line); }
.bcq-recoding > div { min-width: 0; }
.bcq-recoding strong { display: block; font: 500 clamp(4rem, 8vw, 7rem)/1.05 Georgia, serif; letter-spacing: -.07em; margin: .25rem 0; }
.bcq-recoding strong > span { color: var(--bcq-rust); }
.bcq-recoding p { max-width: 29ch; font-size: .78rem; margin: .3rem 0 0; }
.bcq-recoding-arrow { color: #b24d31; font: 400 2.4rem/1 Georgia, serif; }
.bcq-mechanisms { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; }
.bcq-mechanism { border: 1px solid var(--bcq-line); border-radius: 2px; background: var(--bcq-paper); padding: .85rem .95rem; display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; text-align: left; min-width: 0; }
.bcq-mechanism small { color: #9c4d35; font-size: .66rem; letter-spacing: .05em; }
.bcq-mechanism strong { font-size: .87rem; }
.bcq-mechanism > span { font: 500 1.55rem/1.3 Georgia, serif; color: #425c57; }
.bcq-mechanism[aria-pressed="true"] { background: var(--bcq-ink); border-color: var(--bcq-ink); color: white; }
.bcq-mechanism[aria-pressed="true"] small { color: #e4bd61; }
.bcq-mechanism[aria-pressed="true"] > span { color: white; }
.bcq-instrument-reading, .bcq-outcome-reading { display: grid; grid-template-columns: minmax(12rem, .7fr) minmax(0, 1.7fr); gap: 1.5rem; background: #f4f0e5; padding: 1.4rem; margin: 1.2rem 0; border: 1px solid var(--bcq-line); }
.bcq-instrument-reading > div, .bcq-outcome-reading > div { min-width: 0; }
.bcq-measure { border-left: 4px solid var(--bcq-accent, #bf4b32); padding: .3rem 0 .3rem 1rem; align-self: start; }
.bcq-measure strong { display: block; font: 500 clamp(2rem, 3.2vw, 3rem)/1.15 Georgia, serif; letter-spacing: -.04em; margin: .3rem 0 .5rem; }
.bcq-measure strong small { font-size: 1.1rem; color: #667573; }
.bcq-measure > span:last-child { display: block; font: 500 .76rem/1.55 system-ui, sans-serif; color: var(--bcq-muted); max-width: 24ch; }
.bcq-layers { margin-top: 1.5rem; }
.bcq-layers > p { font-size: .83rem; max-width: 76ch; }
.bcq-layers ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; list-style: none; padding: 0; margin: 1rem 0 .5rem; border-top: 1px solid var(--bcq-line); border-bottom: 1px solid var(--bcq-line); }
.bcq-layers li { padding: .9rem .8rem; border-right: 1px solid var(--bcq-line); min-width: 0; }
.bcq-layers li:first-child { padding-left: 0; }
.bcq-layers li:last-child { border-right: 0; }
.bcq-layers li > span { display: block; color: #9b4a32; font: 750 .62rem/1.5 system-ui, sans-serif; margin-bottom: .35rem; }
.bcq-layers li > b { font: 650 .78rem/1.4 system-ui, sans-serif; }
.bcq-layers li > p { font-size: .74rem; line-height: 1.55; margin: .4rem 0 0; }

/* Planned scale, district growth and the territorial balance. */
.bcq-result-content { border-top: 1px solid var(--bcq-line); padding-top: 1.2rem; }
.bcq-result-heading { max-width: 850px; margin-bottom: 1.1rem; }
.bcq-result-heading h4 { font-size: 1.55rem; margin-top: .35rem; }
.bcq-result-heading p { font-size: .85rem; }
.bcq-built-area { background: #eef0e6; padding: 1.2rem; border: 1px solid var(--bcq-line); }
.bcq-built-area > figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.bcq-built-area > figcaption > span { font: 650 .78rem/1.4 system-ui, sans-serif; }
.bcq-built-area > figcaption > strong { font: 500 1.8rem/1.2 Georgia, serif; letter-spacing: -.03em; color: var(--bcq-ink); }
.bcq-area-strip { display: flex; width: 100%; height: 88px; background: #ece7d9; border: 3px solid var(--bcq-paper); }
.bcq-area-strip > span { display: grid; place-items: center; background: color-mix(in srgb, var(--bcq-color) 35%, #fffdf7); color: var(--bcq-ink); border-right: 3px solid var(--bcq-paper); transition: background-color .15s ease; }
.bcq-area-strip > span:last-child { border-right: 0; }
.bcq-area-strip > span.bcq-emphasized { background: var(--bcq-color); color: white; }
.bcq-area-strip b { font: 600 1.4rem/1.2 system-ui, sans-serif; }
.bcq-area-options { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin: .8rem 0; }
.bcq-area-options button { display: grid; grid-template-columns: 12px minmax(0, 1fr); gap: .3rem .5rem; min-height: 64px; border: 1px solid var(--bcq-line); border-radius: 2px; background: #fffdf7; padding: .65rem .75rem; text-align: left; }
.bcq-area-options button > i { width: 11px; height: 11px; grid-column: 1; grid-row: 1; margin-top: .2rem; }
.bcq-area-options button > span { grid-column: 2; font-size: .8rem; }
.bcq-area-options button > b { grid-column: 2; font: 500 1.18rem/1.25 Georgia, serif; }
.bcq-area-options button[aria-pressed="true"] { border-color: #527564; background: #e1eadf; }
.bcq-built-area > p { font-size: .81rem; margin-bottom: 0; }
.bcq-plan-indicators { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin: 1rem 0; }
.bcq-plan-indicators > div { min-width: 0; border: 1px solid var(--bcq-line); border-top: 3px solid #91a795; padding: .95rem; background: #faf8ef; }
.bcq-plan-indicators > div:last-child { grid-column: span 2; }
.bcq-plan-indicators strong { display: block; font: 500 clamp(1.45rem, 2.9vw, 2.3rem)/1.15 Georgia, serif; letter-spacing: -.035em; margin: .1rem 0 .6rem; }
.bcq-plan-indicators strong small { display: block; font: 600 .68rem/1.5 system-ui, sans-serif; letter-spacing: 0; margin-top: .2rem; color: #5e715f; }
.bcq-plan-indicators > div > span { font: 500 .74rem/1.5 system-ui, sans-serif; color: #475e55; }
.bcq-enterprise-top { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .7fr); gap: 1.5rem; margin: 1.25rem 0; }
.bcq-stock { border: 1px solid var(--bcq-line); background: #f4f3e9; padding: 1rem; }
.bcq-stock figcaption { font: 650 .8rem/1.5 system-ui, sans-serif; color: var(--bcq-ink); margin-bottom: .8rem; }
.bcq-stock-row { display: grid; grid-template-columns: 8.1rem minmax(0, 1fr) 3.8rem; gap: .65rem; align-items: center; min-height: 55px; }
.bcq-stock-row > span { font: 600 .75rem/1.45 system-ui, sans-serif; }
.bcq-stock-row > div { height: 28px; background: #dde4d6; }
.bcq-stock-row i { display: block; height: 100%; background: var(--bcq-ink); }
.bcq-stock-row b { font: 700 .85rem/1.5 system-ui, sans-serif; text-align: right; }
.bcq-stock p { font-size: .72rem; color: var(--bcq-muted); margin-bottom: 0; }
.bcq-employment { padding: .25rem 0 .25rem 1rem; border-left: 3px solid #bf4b32; }
.bcq-employment > div + div { margin-top: 1rem; }
.bcq-employment strong { font: 500 2.3rem/1.1 Georgia, serif; letter-spacing: -.035em; display: block; }
.bcq-employment span { display: block; font: 500 .74rem/1.5 system-ui, sans-serif; color: var(--bcq-muted); margin-top: .3rem; }
.bcq-employment p { font-size: .7rem; color: var(--bcq-muted); margin-top: .85rem; }
.bcq-enterprise-composition { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); align-items: center; gap: 1.5rem; padding: 1.4rem; border: 1px solid var(--bcq-line); background: #f8f3e8; }
.bcq-enterprise-composition > figure { max-width: 260px; justify-self: center; }
.bcq-enterprise-composition svg { display: block; width: 100%; height: auto; }
.bcq-donut-value { text-anchor: middle; font: 500 32px Georgia, serif; fill: #173e41; }
.bcq-donut-label { text-anchor: middle; font: 500 10px system-ui, sans-serif; fill: #546366; }
.bcq-enterprise-composition figcaption { text-align: center; max-width: 28ch; margin: 0 auto; }
.bcq-composition-options { display: grid; gap: .4rem; margin: 1rem 0; }
.bcq-composition-options button { display: grid; grid-template-columns: 12px minmax(0, 1fr) 4.2rem; gap: .6rem; align-items: center; min-height: 47px; border: 1px solid var(--bcq-line); background: var(--bcq-paper); border-radius: 2px; padding: .65rem .7rem; text-align: left; }
.bcq-composition-options i { width: 12px; height: 12px; }
.bcq-composition-options b { text-align: right; }
.bcq-composition-options button[aria-pressed="true"] { border-color: #527564; background: #e1eadf; }
.bcq-ricart { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 1.8rem; align-items: center; margin: 1.3rem 0; }
.bcq-ricart > figure { width: 100%; max-width: 440px; justify-self: center; }
.bcq-factories { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 7px; }
.bcq-factory { display: block; aspect-ratio: 1; background: var(--bcq-color); opacity: .18; clip-path: polygon(0 27%, 25% 0, 25% 27%, 50% 0, 50% 27%, 75% 0, 75% 27%, 100% 27%, 100% 100%, 0 100%); transition: opacity .15s ease; }
.bcq-factory-active { opacity: 1; }
.bcq-ricart figcaption { margin-top: .85rem; }
.bcq-outcomes { display: grid; gap: .55rem; }
.bcq-outcomes button { display: grid; grid-template-columns: 12px minmax(0, 1fr) 2.5rem 3.8rem; gap: .65rem; align-items: center; text-align: left; min-height: 65px; padding: .7rem .8rem; border: 1px solid var(--bcq-line); border-radius: 3px; background: #faf8ef; }
.bcq-outcomes button > i { width: 12px; height: 12px; }
.bcq-outcomes button > span { font-size: .8rem; font-weight: 550; }
.bcq-outcomes button > b { font: 500 1.8rem/1.1 Georgia, serif; text-align: right; }
.bcq-outcomes button > small { font-size: .75rem; text-align: right; color: var(--bcq-muted); }
.bcq-outcomes button[aria-pressed="true"] { border-color: #92503a; background: #f1e6d6; }
.bcq-heritage-total { display: flex; align-items: center; gap: 1.3rem; margin: 1rem 0; }
.bcq-heritage-total > strong { font: 500 4.6rem/1 Georgia, serif; letter-spacing: -.06em; }
.bcq-heritage-total > span { font: 600 .82rem/1.55 system-ui, sans-serif; color: var(--bcq-muted); }
.bcq-heritage-strip { display: flex; width: 100%; height: 78px; border: 3px solid var(--bcq-paper); }
.bcq-heritage-strip > span { display: grid; place-items: center; background: color-mix(in srgb, var(--bcq-color) 35%, #fffdf7); color: var(--bcq-ink); font: 500 2.1rem/1 Georgia, serif; border-right: 3px solid var(--bcq-paper); }
.bcq-heritage-strip > span:last-child { color: #352a10; border-right: 0; }
.bcq-heritage-strip > span.bcq-emphasized { background: var(--bcq-color); color: white; }
.bcq-heritage-strip > span.bcq-emphasized:last-child { color: #352a10; }
.bcq-heritage-options { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin: .75rem 0; }
.bcq-heritage-options button { border: 1px solid var(--bcq-line); border-radius: 2px; background: var(--bcq-paper); padding: .7rem .85rem; min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: .75rem; text-align: left; }
.bcq-heritage-options button > span { display: flex; align-items: center; gap: .5rem; }
.bcq-heritage-options i { display: inline-block; width: 12px; height: 12px; flex-shrink: 0; }
.bcq-heritage-options button[aria-pressed="true"] { background: #eee7d2; border-color: #aa8337; }
.bcq-heritage-reading { max-width: 80ch; }
.bcq-heritage-cases { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin: 1.4rem 0; }
.bcq-heritage-cases > article { background: #f1f0e5; border-left: 3px solid #839c83; padding: 1rem; }
.bcq-heritage-cases p { font-size: .83rem; }

/* The network is qualitative. Its positions carry no numerical scale. */
.bcq-governance { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.5rem; margin: 1.5rem 0; align-items: start; }
.bcq-network-figure { background: #f0f2e8; border: 1px solid var(--bcq-line); padding: .5rem .5rem 1rem; }
.bcq-network { width: 100%; aspect-ratio: 10/7; position: relative; }
.bcq-network > svg { display: block; width: 100%; height: 100%; position: absolute; inset: 0; }
.bcq-actor-nodes { position: absolute; inset: 0; }
.bcq-actor { position: absolute; left: var(--bcq-x); top: var(--bcq-y); transform: translate(-50%, -50%); width: 26%; min-height: 74px; padding: .6rem .35rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .45rem; border: 1px solid #c3ccbd; border-radius: 3px; background: var(--bcq-paper); text-align: center; z-index: 1; }
.bcq-actor > i { display: block; width: 12px; height: 12px; border-radius: 50%; background: var(--bcq-color); flex-shrink: 0; }
.bcq-actor > span { font-size: .72rem; line-height: 1.3; font-weight: 650; }
.bcq-actor[aria-pressed="true"] { background: var(--bcq-ink); border-color: var(--bcq-ink); color: white; box-shadow: 0 0 0 3px #e8efe1; }
.bcq-actor[aria-pressed="true"] > i { background: #e0b65b; }
.bcq-network-figure figcaption { padding: .4rem .5rem 0; }
.bcq-network-figure figcaption p { font-size: .7rem; line-height: 1.5; color: var(--bcq-muted); margin-bottom: 0; }
.bcq-network-legend { display: flex; flex-wrap: wrap; gap: .4rem .8rem; }
.bcq-network-legend > span { display: flex; align-items: center; gap: .4rem; font-size: .65rem; }
.bcq-network-legend i { width: 22px; display: inline-block; border-top: 2px solid var(--bcq-color); }
.bcq-network-legend i.bcq-dashed { border-top-style: dashed; }
.bcq-actor-reading { min-width: 0; padding: .4rem 0; }
.bcq-actor-reading p { font-size: .84rem; }
.bcq-actor-reading dl { margin: 1rem 0; }
.bcq-actor-reading dl > div { border-top: 1px solid var(--bcq-line); padding: .8rem 0 .2rem; }
.bcq-actor-reading dt, .bcq-city-reading dt, .bcq-reading-detail dt { font: 750 .66rem/1.5 system-ui, sans-serif; color: #8b412f; letter-spacing: .06em; text-transform: uppercase; }
.bcq-actor-reading dd { font: 500 .8rem/1.6 system-ui, sans-serif; margin: .3rem 0 0; }
.bcq-relations { margin-top: 1.4rem; border-top: 1px solid var(--bcq-line); padding-top: 1rem; }
.bcq-relations ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; list-style: none; padding: 0; margin: .9rem 0; }
.bcq-relations li { min-width: 0; padding: .9rem; background: #f5f2e8; border: 1px solid var(--bcq-line); }
.bcq-relation-kind { display: block; font: 700 .61rem/1.4 system-ui, sans-serif; color: var(--bcq-color); text-transform: uppercase; letter-spacing: .04em; margin-bottom: .6rem; }
.bcq-relations h5 { font-size: 1.13rem; margin: .3rem 0 .55rem; }
.bcq-relations li > b { font: 650 .75rem/1.5 system-ui, sans-serif; }
.bcq-relations li > p { font-size: .78rem; line-height: 1.65; }
.bcq-relations li > .bcq-source { font-size: .68rem; }

/* Four comparative case files. */
.bcq-cities { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; margin: 1.4rem 0; }
.bcq-cities button { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 1rem .95rem; min-height: 184px; border: 1px solid var(--bcq-line); border-top: 3px solid #91a795; background: #f8f5eb; border-radius: 2px; text-align: left; }
.bcq-city-number { font: 750 .65rem/1.4 system-ui, sans-serif; color: #9a4c34; letter-spacing: .08em; }
.bcq-city-country { font: 650 .65rem/1.5 system-ui, sans-serif; color: #5c7064; margin: .8rem 0 .2rem; text-transform: uppercase; letter-spacing: .04em; }
.bcq-cities strong { font: 500 clamp(1.3rem, 2vw, 1.8rem)/1.2 Georgia, serif; letter-spacing: -.03em; }
.bcq-city-subtitle { font: 500 .74rem/1.5 system-ui, sans-serif; color: #52675e; border-top: 1px solid #cbd2c4; padding-top: .6rem; margin-top: .8rem; }
.bcq-cities button[aria-pressed="true"] { background: var(--bcq-ink); border-color: var(--bcq-ink); border-top-color: #cb992f; color: white; }
.bcq-cities button[aria-pressed="true"] :is(.bcq-city-number, .bcq-city-country) { color: #e4c27b; }
.bcq-cities button[aria-pressed="true"] .bcq-city-subtitle { color: #dce8df; border-color: #52776e; }
.bcq-city-reading { background: #f0f0e4; border: 1px solid var(--bcq-line); padding: 1.4rem; }
.bcq-city-reading > header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1rem; border-bottom: 1px solid var(--bcq-line); padding-bottom: .75rem; margin-bottom: 1rem; }
.bcq-city-reading h4 { font-size: 2.3rem; margin: .3rem 0; }
.bcq-city-reading > header .bcq-locate { margin: 0; }
.bcq-city-reading .bcq-city-lead { font-size: .9rem; max-width: 90ch; }
.bcq-city-reading dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.5rem; margin: 1.3rem 0; }
.bcq-city-reading dl > div { min-width: 0; padding-left: .8rem; border-left: 2px solid #91a795; }
.bcq-city-reading dd { font: 500 .81rem/1.6 system-ui, sans-serif; margin: .3rem 0 0; }

/* A reading selection drawn from the bibliographic appendix. */
.bcq-library-search { margin: 1.2rem 0; }
.bcq-library-search label { display: block; font: 700 .72rem/1.5 system-ui, sans-serif; margin-bottom: .4rem; }
.bcq-library-search input { display: block; width: 100%; max-width: 42rem; min-height: 46px; border: 1px solid #a9baab; border-radius: 3px; background: var(--bcq-paper); padding: .7rem .8rem; font-weight: 500; }
.bcq-library-search .bcq-reading-count { font: 500 .73rem/1.5 system-ui, sans-serif; color: var(--bcq-muted); margin: .6rem 0; }
.bcq-library { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr); gap: 1rem; align-items: start; }
.bcq-library-list { min-width: 0; max-height: 595px; overflow-y: auto; border: 1px solid var(--bcq-line); padding: .35rem; background: #f3f3e9; scrollbar-color: #9cae9a #e6ebdf; }
.bcq-library-list button { display: block; width: 100%; min-width: 0; text-align: left; border: 1px solid transparent; border-bottom-color: #d0d7c9; border-radius: 2px; padding: .8rem .75rem; background: transparent; overflow-wrap: anywhere; }
.bcq-library-list button:last-child { border-bottom-color: transparent; }
.bcq-library-list button > span { display: block; color: #7c482f; font: 700 .68rem/1.5 system-ui, sans-serif; margin-bottom: .35rem; }
.bcq-library-list button > strong { display: block; font: 600 .81rem/1.4 system-ui, sans-serif; }
.bcq-library-list button > small { display: block; color: var(--bcq-muted); font: 500 .7rem/1.5 system-ui, sans-serif; margin-top: .35rem; }
.bcq-library-list button[aria-pressed="true"] { background: var(--bcq-ink); border-color: var(--bcq-ink); color: white; }
.bcq-library-list button[aria-pressed="true"] > span { color: #e5bf6a; }
.bcq-library-list button[aria-pressed="true"] > small { color: #dce8df; }
.bcq-library-detail { min-width: 0; }
.bcq-reading-detail { padding: 1.3rem; background: #f2eddf; border-top: 4px solid #bf4b32; scroll-margin-top: calc(var(--sj-header, 110px) + var(--sj-nav, 60px) + 24px); }
.bcq-reading-detail h4 { font-size: 1.55rem; line-height: 1.28; margin: .75rem 0; overflow-wrap: anywhere; }
.bcq-reading-detail p { font-size: .84rem; }
.bcq-reading-detail .bcq-reading-author { font: 600 .81rem/1.6 system-ui, sans-serif; margin: .7rem 0 1rem; }
.bcq-reading-detail dl { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; padding: 1rem 0; border-top: 1px solid var(--bcq-line); border-bottom: 1px solid var(--bcq-line); margin: 1rem 0; }
.bcq-reading-detail dd { margin: .3rem 0 0; font: 600 .78rem/1.5 system-ui, sans-serif; }
.bcq-reading-detail h5 { margin-top: 1.1rem; }
.bcq-reading-question { padding: 1rem; margin: 1.2rem 0; background: #e6e8d8; border-left: 3px solid #8a9d71; }
.bcq-reading-question p { font: 500 1.2rem/1.4 Georgia, serif; color: #314b3b; margin: .4rem 0 0; }
.bcq-empty { padding: 1.3rem; }

@media (max-width: 1000px) {
  .bcq-tabs button { gap: .45rem; padding: .65rem .55rem; font-size: .77rem; }
  .bcq-governance { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1.15rem; }
  .bcq-actor { padding: .5rem .25rem; min-height: 72px; }
  .bcq-actor > span { font-size: .65rem; }
  .bcq-relations ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bcq-instrument-reading, .bcq-outcome-reading { gap: 1.1rem; padding: 1.1rem; }
  .bcq-outcomes button { gap: .45rem; grid-template-columns: 10px minmax(0, 1fr) 2rem 3.1rem; padding: .65rem; }
  .bcq-outcomes button > span { font-size: .76rem; }
  .bcq-cities button { padding: .85rem .75rem; }
  .bcq-cities strong { font-size: 1.5rem; }
  .bcq-layers li { padding-inline: .6rem; }
}
@media (max-width: 800px) {
  .bcq-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bcq-tabs button { min-height: 52px; padding: .65rem .75rem; font-size: .8rem; }
  .bcq-recoding { padding: 1.3rem; gap: 1.3rem; }
  .bcq-recoding strong { font-size: 5.3rem; }
  .bcq-layers ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bcq-layers li { border-bottom: 1px solid var(--bcq-line); padding: .8rem; }
  .bcq-layers li:first-child { padding-left: .8rem; }
  .bcq-layers li:nth-child(3) { border-right: 0; }
  .bcq-layers li:nth-child(n+4) { border-bottom: 0; }
  .bcq-plan-indicators { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bcq-plan-indicators strong { font-size: 2.15rem; }
  .bcq-enterprise-top { grid-template-columns: 1fr; gap: 1rem; }
  .bcq-employment { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem 1rem; border-left: 0; border-top: 3px solid #bf4b32; padding: 1rem 0 .4rem; }
  .bcq-employment > div + div { margin: 0; }
  .bcq-employment > p { grid-column: 1/-1; margin: .2rem 0; }
  .bcq-enterprise-composition { gap: 1rem; padding: 1rem; }
  .bcq-ricart { grid-template-columns: 1fr; gap: 1.1rem; }
  .bcq-ricart > figure { max-width: 400px; }
  .bcq-outcomes button { grid-template-columns: 12px minmax(0, 1fr) 2.5rem 3.7rem; min-height: 55px; }
  .bcq-outcomes button > span { font-size: .82rem; }
  .bcq-governance { grid-template-columns: 1fr; }
  .bcq-network-figure { max-width: 650px; width: 100%; margin-inline: auto !important; }
  .bcq-actor > span { font-size: .77rem; }
  .bcq-actor-reading { padding: .6rem; }
  .bcq-actor-reading dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .bcq-cities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bcq-cities button { min-height: 165px; padding: 1rem; }
  .bcq-cities strong { font-size: 1.8rem; }
  .bcq-library { grid-template-columns: minmax(0, .9fr) minmax(0, 1.15fr); gap: .75rem; }
  .bcq-reading-detail { padding: 1rem; }
  .bcq-reading-detail h4 { font-size: 1.3rem; }
  .bcq-reading-detail dl { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .bcq-library { grid-template-columns: 1fr; gap: 1rem; }
  .bcq-library-list { max-height: 320px; }
  .bcq-reading-detail h4 { font-size: 1.45rem; }
  .bcq-reading-detail dl { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 580px) {
  .bcq-sheet { padding: .85rem; }
  .bcq-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bcq-tabs button { padding: .65rem .6rem; gap: .4rem; font-size: .78rem; }
  .bcq-tabs button:last-child { grid-column: 1/-1; }
  .bcq-sheet p { font-size: .84rem; }
  .bcq-intro h3 { font-size: 1.55rem; }
  .bcq-kicker { font-size: .6rem; }
  .bcq-recoding { gap: .6rem; padding: 1rem .85rem; }
  .bcq-recoding strong { font-size: 3.8rem; }
  .bcq-recoding p { font-size: .7rem; }
  .bcq-recoding-arrow { font-size: 1.6rem; }
  .bcq-mechanisms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bcq-mechanism { padding: .8rem; }
  .bcq-mechanism > span { font-size: 1.4rem; }
  .bcq-instrument-reading, .bcq-outcome-reading { grid-template-columns: 1fr; gap: 1rem; padding: .95rem; }
  .bcq-measure { padding-left: .8rem; }
  .bcq-measure strong { font-size: 2.6rem; }
  .bcq-measure > span:last-child { max-width: none; }
  .bcq-layers ol { grid-template-columns: 1fr; }
  .bcq-layers li { display: grid; grid-template-columns: 1.6rem minmax(0, 1fr); gap: .2rem .5rem; border-right: 0; border-bottom: 1px solid var(--bcq-line); padding: .7rem .2rem; }
  .bcq-layers li:first-child { padding-left: .2rem; }
  .bcq-layers li:nth-child(n+4) { border-bottom: 1px solid var(--bcq-line); }
  .bcq-layers li:last-child { border-bottom: 0; }
  .bcq-layers li > span { grid-column: 1; grid-row: 1/3; margin-top: .12rem; }
  .bcq-layers li > b { grid-column: 2; }
  .bcq-layers li > p { grid-column: 2; margin: 0; }
  .bcq-choices { gap: .35rem; }
  .bcq-choices button { font-size: .75rem; padding: .5rem .6rem; }
  .bcq-result-heading h4 { font-size: 1.4rem; }
  .bcq-built-area { padding: .85rem; }
  .bcq-built-area > figcaption { gap: .35rem; }
  .bcq-built-area > figcaption > strong { font-size: 1.55rem; }
  .bcq-area-strip { height: 68px; }
  .bcq-area-strip b { font-size: 1.1rem; }
  .bcq-area-options { grid-template-columns: 1fr; }
  .bcq-area-options button { min-height: 57px; }
  .bcq-plan-indicators { gap: .5rem; }
  .bcq-plan-indicators > div { padding: .75rem .65rem; }
  .bcq-plan-indicators strong { font-size: 1.65rem; }
  .bcq-plan-indicators > div > span { font-size: .7rem; }
  .bcq-stock { padding: .85rem; }
  .bcq-stock-row { grid-template-columns: minmax(0, 1fr) 4rem; gap: .3rem .5rem; margin: .8rem 0; }
  .bcq-stock-row > span { grid-column: 1; grid-row: 1; }
  .bcq-stock-row > b { grid-column: 2; grid-row: 1; }
  .bcq-stock-row > div { grid-column: 1/-1; grid-row: 2; height: 25px; }
  .bcq-enterprise-composition { grid-template-columns: 1fr; padding: .9rem; gap: 1.1rem; }
  .bcq-enterprise-composition > figure { max-width: 235px; }
  .bcq-employment strong { font-size: 2rem; }
  .bcq-outcomes button { padding: .65rem .55rem; gap: .45rem; grid-template-columns: 10px minmax(0, 1fr) 2rem 3rem; }
  .bcq-outcomes button > span { font-size: .75rem; }
  .bcq-outcomes button > b { font-size: 1.55rem; }
  .bcq-outcomes button > small { font-size: .69rem; }
  .bcq-factories { gap: 5px; }
  .bcq-heritage-total { gap: 1rem; }
  .bcq-heritage-total > strong { font-size: 4rem; }
  .bcq-heritage-total > span { font-size: .75rem; }
  .bcq-heritage-options { grid-template-columns: 1fr; gap: .4rem; }
  .bcq-heritage-cases { grid-template-columns: 1fr; }
  .bcq-network { aspect-ratio: auto; }
  .bcq-network > svg { display: none; }
  .bcq-actor-nodes { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; position: static; padding: .4rem; }
  .bcq-actor { position: static; width: 100%; min-height: 86px; transform: none; padding: .65rem .5rem; }
  .bcq-actor > span { font-size: .75rem; }
  .bcq-network-legend { display: none; }
  .bcq-network-figure figcaption { display: none; }
  .bcq-network-figure { padding-bottom: .5rem; }
  .bcq-actor-reading { padding: .3rem 0; }
  .bcq-actor-reading dl { grid-template-columns: 1fr; gap: .3rem; }
  .bcq-relations ul { grid-template-columns: 1fr; }
  .bcq-relations li { padding: .9rem; }
  .bcq-relations li > p { font-size: .81rem; }
  .bcq-cities { gap: .5rem; }
  .bcq-cities button { padding: .85rem .75rem; min-height: 185px; }
  .bcq-cities strong { font-size: 1.55rem; }
  .bcq-city-country { font-size: .6rem; }
  .bcq-city-subtitle { font-size: .71rem; }
  .bcq-city-reading { padding: 1rem; }
  .bcq-city-reading h4 { font-size: 2rem; }
  .bcq-city-reading dl { grid-template-columns: 1fr; gap: 1rem; }
  .bcq-reading-detail { padding: 1rem; }
  .bcq-reading-detail h4 { font-size: 1.3rem; }
  .bcq-reading-detail dl { grid-template-columns: 1fr; gap: .85rem; }
  .bcq-library-search input { font-size: .77rem; }
  .bcq-reading-question { padding: .8rem; }
}
@media (max-width: 360px) {
  .bcq-sheet { padding: .7rem; }
  .bcq-tabs button { font-size: .73rem; padding: .6rem .5rem; }
  .bcq-recoding { padding: .9rem .6rem; gap: .35rem; }
  .bcq-recoding strong { font-size: 3.3rem; }
  .bcq-recoding .bcq-kicker { font-size: .54rem; }
  .bcq-recoding-arrow { font-size: 1.3rem; }
  .bcq-plan-indicators strong { font-size: 1.45rem; }
  .bcq-cities button { padding-inline: .6rem; }
  .bcq-cities strong { font-size: 1.35rem; }
  .bcq-choices button { font-size: .71rem; }
  .bcq-outcomes button { grid-template-columns: 8px minmax(0, 1fr) 1.7rem 2.8rem; gap: .35rem; }
}
@media (prefers-reduced-motion: reduce) {
  .bcq-root * { transition: none !important; scroll-behavior: auto !important; }
}
