/* Scoped formal content styles, derived from the current reading plan renderer. */
.portfolio-content *{box-sizing:border-box}
.portfolio-content a{color:inherit;text-underline-offset:4px}
.portfolio-content button{font:inherit;cursor:pointer}
.portfolio-content button:focus-visible,.portfolio-content a:focus-visible,.portfolio-content summary:focus-visible{outline:3px solid #367d8c;outline-offset:4px}
.portfolio-content .theme-head{max-width:850px;border-bottom:1px solid #b8c4c3;padding-bottom:32px;margin-bottom:42px}
.portfolio-content .eyebrow{font-size:13px;letter-spacing:.13em;color:#65767a}
.portfolio-content .theme-head h1{font-size:34px;line-height:1.35;margin:7px 0 18px}
.portfolio-content .claim{font-size:20px;line-height:1.65;color:#354d55}
.portfolio-content .context{font-size:14px;color:#66767c}
.portfolio-content .chapter{margin:0 0 70px;scroll-margin-top:118px}
.portfolio-content .chapter>header{padding:0 0 23px;border-bottom:1px solid #cbd3cf;margin-bottom:26px}
.portfolio-content .chapter h2{font-size:26px;line-height:1.5;margin:0 0 14px}
.portfolio-content .lead{color:#536970;max-width:830px;margin:0}
.portfolio-content .block{margin:0 0 40px;padding-bottom:25px;border-bottom:1px solid #e0e4de;scroll-margin-top:120px}
.portfolio-content .block:last-child{border:0}
.portfolio-content .block h3{font-size:20px;line-height:1.55;margin:0 0 16px}
.portfolio-content .prose{max-width:850px}
.portfolio-content .prose p{margin:0 0 16px}
.portfolio-content .key{max-width:850px;margin:22px 0 28px;padding:4px 0 4px 17px;border-left:3px solid #527c80;color:#234e57;font-size:18px;font-weight:600}
.portfolio-content .media-group{margin:27px 0}
.portfolio-content .media-group h4{font-size:16px;font-weight:650;margin:0 0 8px}
.portfolio-content .media-group>p{font-size:14px;color:#627278;margin:0 0 14px}
.portfolio-content .gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.portfolio-content .gallery.single{grid-template-columns:minmax(0,1fr)}
.portfolio-content figure{margin:0;min-width:0}
.portfolio-content figure.media{background:#fff;border:1px solid #d6dfdc;padding:8px}
.portfolio-content .media-button{display:block;width:100%;border:0;padding:0;background:#e8ece8;text-align:left;cursor:zoom-in}
.portfolio-content .image-area{position:relative;overflow:hidden;width:100%;background:#e5e9e5}
.portfolio-content .image-area img{display:block;width:100%;height:auto}
.portfolio-content .image-area.cropped img{position:absolute;max-width:none}
.portfolio-content .media video{width:100%;max-height:600px;display:block;background:#111;object-fit:contain}
.portfolio-content .media figcaption{font-size:14px;line-height:1.7;color:#40545c;padding:9px 4px 3px}
.portfolio-content .phase{font-size:12px;color:#758187;margin-top:5px}
.portfolio-content .media details{font-size:12px;margin:7px 4px;color:#728086}
.portfolio-content .media details p{margin:7px 0}
.portfolio-content .source-details,.portfolio-content .extra{max-width:850px;margin:18px 0;font-size:14px;color:#596c72}
.portfolio-content .source-details summary,.portfolio-content .extra summary{cursor:pointer;width:max-content;border-bottom:1px solid #c2cfca}
.portfolio-content .source-details ul{padding-left:20px;line-height:1.8}
.portfolio-content .extra p{margin:14px 0}
.portfolio-content .concept{background:#edf1ed;border:1px solid #d1dad5;padding:20px;margin:24px 0;overflow:auto}
.portfolio-content .concept h4{font-size:16px;margin:0 0 17px}
.portfolio-content .flow{display:flex;gap:12px;list-style:none;padding:0;margin:0;align-items:stretch;min-width:max-content}
.portfolio-content .flow li{position:relative;max-width:205px;min-width:120px;white-space:normal;padding:10px 16px;border:1px solid #bdcdc4;border-radius:4px;background:#f9fbf7;font-size:14px}
.portfolio-content .flow li+li{margin-left:9px}
.portfolio-content .flow li+li:before{content:"→";position:absolute;left:-23px;color:#557b77;font-size:19px}
.portfolio-content .branch-note{font-size:13px;color:#526a6a;margin:12px 0 0}
.portfolio-content .concept table{border-collapse:collapse;width:100%;font-size:14px;min-width:500px}
.portfolio-content .concept th,.portfolio-content .concept td{padding:10px 13px;vertical-align:top;border-bottom:1px solid #c5d3ca;text-align:left}
.portfolio-content .concept th{color:#244b53;background:#e2eae3}
.portfolio-content .relation{position:relative;display:grid;gap:24px 36px;align-items:center;min-width:max-content}
.portfolio-content .node-column{display:flex;flex-direction:column;gap:24px;justify-content:center;width:160px;z-index:1}
.portfolio-content .relation-node{background:#f9fbf8;border:1px solid #b7cbc3;border-radius:4px;padding:12px;font-size:13px;line-height:1.7;white-space:normal;max-width:160px}
.portfolio-content .relation-node strong{display:block;color:#224e55}
.portfolio-content .relation-node p{margin:5px 0 0;color:#5d6e70}
.portfolio-content .relation svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.portfolio-content .muted{color:#758289}
.portfolio-content.pc-lightbox{border:0;border-radius:6px;width:min(1500px,96vw);max-height:95vh;padding:18px;background:#f6f7f3;color:#263a42}
.portfolio-content.pc-lightbox::backdrop{background:#102329d9}
.portfolio-content.pc-lightbox header{display:flex;align-items:center;gap:25px;justify-content:space-between;margin-bottom:14px}
.portfolio-content.pc-lightbox header button{border:1px solid #b5c4bd;background:white;border-radius:3px;padding:5px 20px}
.portfolio-content .pc-media-body{overflow:auto;max-height:76vh}
.portfolio-content .pc-media-body img{max-width:100%;height:auto;display:block;margin:auto}
.portfolio-content .pc-media-body video{display:block;max-width:100%;max-height:75vh;margin:auto;background:#111}
.portfolio-content .pc-media-body .image-area{max-width:100%;margin:auto}
.portfolio-content .pc-media-caption{margin:10px 0 0;font-size:14px}
@media(min-width:1500px){}
@media(max-width:1000px){.portfolio-content .gallery{grid-template-columns:1fr}
.portfolio-content .theme-head h1{font-size:30px}
.portfolio-content .chapter h2{font-size:23px}}
@media(max-width:700px){.portfolio-content .theme-head h1{font-size:28px}
.portfolio-content .claim{font-size:18px}
.portfolio-content .chapter h2{font-size:22px}
.portfolio-content .block h3{font-size:18px}
.portfolio-content .gallery{gap:14px}
.portfolio-content .concept{padding:15px}}
.portfolio-content .chapter,.portfolio-content .block{scroll-margin-top:130px}
.portfolio-content .media video{height:auto;max-height:none}
.portfolio-content .image-area img{height:auto}
.portfolio-content .relation{column-gap:110px;row-gap:28px;padding:8px 0;min-height:100px}
.portfolio-content .node-column{width:165px;gap:28px}
.portfolio-content .relation-node{max-width:165px;white-space:pre-line}
.portfolio-content .relation.has-return{padding-bottom:80px}
.portfolio-content .relation .edge-label{font:12px system-ui,"Microsoft YaHei",sans-serif;fill:#365c5f;stroke:#edf1ed;stroke-width:5px;paint-order:stroke;stroke-linejoin:round}
.portfolio-content .concept h5{font-size:14px;line-height:1.6;margin:0 0 12px;color:#375f65}
.portfolio-content .concept figcaption,.portfolio-content .concept details{font-size:13px;color:#5d7276;margin:16px 0 0}
.portfolio-content .flow-lane+.flow-lane{margin-top:25px;padding-top:20px;border-top:1px solid #c5d3ca}
.portfolio-content .lane-content{display:flex;align-items:center;gap:15px;min-width:max-content}
.portfolio-content .parallel-ends{display:grid;gap:10px;position:relative;padding-left:20px}
.portfolio-content .parallel-ends:before{content:"";position:absolute;left:0;top:25%;bottom:25%;width:20px;border-left:1px solid #64867e;border-top:1px solid #64867e;border-bottom:1px solid #64867e}
.portfolio-content .parallel-ends>div{padding:10px 16px;background:#f9fbf7;border:1px solid #bdcdc4;border-radius:4px;font-size:14px;min-width:140px}
.portfolio-content .fork-arrow{color:#557b77;font-size:19px}
.portfolio-content .stage-map{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:27px;min-width:650px}
.portfolio-content .stage-map section{padding:16px;background:#f9fbf7;border:1px solid #bdcdc4;position:relative}
.portfolio-content .stage-map section+section:before{content:"→";position:absolute;left:-24px;top:42%;color:#557b77}
.portfolio-content .stage-map ul{margin:0;padding-left:18px;font-size:14px;line-height:1.9}
.portfolio-content .persistent-role{margin:15px 0 0;padding:12px;border-top:1px solid #a7beb3;text-align:center;font-size:14px;color:#375f65}
.portfolio-content .closing{max-width:850px;border-top:1px solid #c5d0c7;margin-top:30px;padding-top:15px}
.portfolio-content .concept-error{color:#8a3a29}
.portfolio-content .flow li{white-space:pre-line}
.portfolio-content .pc-media-body .image-area.cropped img{max-width:none;margin:0}
.portfolio-content .pc-media-body.native-size .image-area{width:var(--native-width);max-width:none}
.portfolio-content .pc-media-body.native-size img{max-width:none}
.portfolio-content.pc-lightbox header>div{display:flex;gap:8px;flex-shrink:0}
.portfolio-content.pc-lightbox header button{padding:5px 12px}
@media(max-width:700px){.portfolio-content .chapter,.portfolio-content .block{scroll-margin-top:125px}
.portfolio-content.pc-lightbox header{flex-wrap:wrap;gap:10px}
.portfolio-content .relation{column-gap:95px}
.portfolio-content .stage-map{grid-template-columns:repeat(3,210px)}}
.portfolio-content .case-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:25px 0}
.portfolio-content .case-scope>a,.portfolio-content .case-scope>section{padding:17px 19px;text-decoration:none;border-top:2px solid #65847d;background:#edf0e9}
.portfolio-content .case-scope strong{display:block;font-size:18px;color:#294f58}
.portfolio-content .case-scope span{display:block;font-size:13px;line-height:1.8;margin-top:7px;color:#637575}
.portfolio-content .reading-segment{margin:23px 0}
.portfolio-content .reading-segment:first-of-type{margin-top:0}
.portfolio-content .segment-prose{max-width:850px}
.portfolio-content .segment-prose p{margin:0 0 15px}
.portfolio-content .local-emphasis{font-weight:650;color:#224f58}
.portfolio-content .reading-segment.paired.has-text.has-evidence{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.35fr);gap:22px 30px;align-items:start}
.portfolio-content .reading-segment.paired.has-text.has-evidence>.key,.portfolio-content .reading-segment.paired.has-text.has-evidence>.concept,.portfolio-content .reading-segment.paired.has-text.has-evidence>.segment-title{grid-column:1/-1}
.portfolio-content .reading-segment.paired .segment-prose{font-size:15px;line-height:1.95}
.portfolio-content .reading-segment.paired .gallery{grid-template-columns:1fr}
.portfolio-content .reading-segment .media-group{margin:0 0 18px}
.portfolio-content .reading-segment.comparison>.segment-evidence:has(>.media-group+.media-group){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.portfolio-content .reading-segment.comparison>.segment-evidence>.media-group .gallery{grid-template-columns:1fr}
.portfolio-content .reading-segment.result{max-width:850px;border-top:1px solid #b8c9bc;padding-top:20px;color:#49626a}
.portfolio-content .reading-segment.result .segment-prose{font-size:15px}
.portfolio-content .key.goal{font-size:26px;font-weight:650;line-height:1.65;border-left:0;border-top:2px solid #6c948b;padding:24px 0 14px;margin:30px 0;max-width:870px}
.portfolio-content .argument-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:20px 0}
.portfolio-content .argument-groups section{border-top:1px solid #8aa59c;padding:15px 0}
.portfolio-content .argument-groups h4{font-size:14px;color:#617d7b;margin:0 0 10px;font-weight:600}
.portfolio-content .argument-groups p{margin:0}
.portfolio-content .support{margin:23px 0;border-top:1px solid #c6d1c9;padding:13px 0 0}
.portfolio-content .support>summary{cursor:pointer;font-size:14px;color:#3c646e}
.portfolio-content .support[open]>summary{margin-bottom:20px}
.portfolio-content .segment-title{font-size:16px;margin:0 0 12px;color:#355d65}
.portfolio-content .joined-lanes{display:grid;gap:20px}
.portfolio-content .joined-lanes .flow{flex-wrap:wrap;min-width:0}
.portfolio-content .joined-lanes .flow li{flex:1;min-width:130px}
.portfolio-content .lane-merge{display:flex;justify-content:center;position:relative;padding:25px 0}
.portfolio-content .lane-merge:before{content:"↓";position:absolute;top:-4px;color:#64867e}
.portfolio-content .lane-merge:after{content:"↓";position:absolute;bottom:0;color:#64867e}
.portfolio-content .lane-merge span{background:#dee9df;border:1px solid #9fb7a9;padding:8px 25px;font-size:14px}
.portfolio-content .staged-flow{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:30px}
.portfolio-content .staged-flow>section{position:relative}
.portfolio-content .staged-flow>section+section:before{content:"→";position:absolute;left:-25px;top:45%;color:#64867e}
.portfolio-content .staged-flow .flow{flex-direction:column;min-width:0;gap:18px}
.portfolio-content .staged-flow .flow li{width:100%;max-width:none}
.portfolio-content .staged-flow .flow li+li{margin-left:0}
.portfolio-content .staged-flow .flow li+li:before{content:"↓";left:50%;top:-27px;font-size:18px}
.portfolio-content .cycle-returns{border-top:1px solid #bed0c3;margin-top:22px;padding-top:14px;display:flex;flex-wrap:wrap;gap:10px 25px}
.portfolio-content .cycle-returns>div{display:flex;gap:12px;align-items:center;font-size:13px}
.portfolio-content .cycle-returns strong{font-weight:500;background:#f8fbf7;border:1px solid #bed0c3;padding:4px 10px}
.portfolio-content .cycle-returns span{color:#577c75}
.portfolio-content .contribution{padding:22px 25px;background:#edf0e8;border-top:2px solid #90a98c}
.portfolio-content .contribution .key{font-size:17px}
.portfolio-content .closing{font-size:16px}
@media(max-width:1050px){.portfolio-content .reading-segment.paired.has-text.has-evidence{grid-template-columns:1fr}
.portfolio-content .reading-segment.paired .segment-prose{font-size:16px}
.portfolio-content .reading-segment.comparison>.segment-evidence:has(>.media-group+.media-group){grid-template-columns:1fr}
.portfolio-content .key.goal{font-size:23px}
.portfolio-content .argument-groups{gap:18px}}
@media(max-width:700px){.portfolio-content .case-scope{grid-template-columns:1fr}
.portfolio-content .argument-groups{grid-template-columns:1fr;gap:5px}
.portfolio-content .key.goal{font-size:21px;padding-top:20px}
.portfolio-content .staged-flow{grid-template-columns:repeat(3,175px);min-width:585px}
.portfolio-content .cycle-returns{min-width:580px}
.portfolio-content .reading-segment{margin:20px 0}
.portfolio-content .contribution{padding:17px}}
.portfolio-content .clip-controls{display:flex;flex-wrap:wrap;gap:7px;padding:7px 3px 0}
.portfolio-content .clip-controls button{border:1px solid #c2d0c7;color:#37606a;background:#f3f6ef;border-radius:3px;padding:4px 9px;font-size:12px}
.portfolio-content .compound-concepts>.concept{background:transparent;border:0;border-top:1px solid #c1d0c4;padding:15px 0;margin:15px 0}
.portfolio-content .key{border-left:0;padding:0;line-height:1.8}
.portfolio-content .key.integrated-summary{font-size:17px;margin:18px 0;font-weight:600}
.portfolio-content .key.result-caption{font-size:17px;margin:16px 0 0;padding-top:13px;border-top:1px solid #c5d3c9}
.portfolio-content .key.bridge-to-evidence{font-size:19px}
.portfolio-content .key.goal{line-height:1.65}
.portfolio-content .comparison-groups{display:grid;grid-template-columns:repeat(var(--comparison-count),minmax(0,1fr));gap:24px}
.portfolio-content .comparison-groups>section{position:relative;min-width:0}
.portfolio-content .comparison-groups>section>h4{font-size:15px;margin:0 0 10px;color:#395b63}
.portfolio-content .comparison-groups .gallery{grid-template-columns:1fr}
.portfolio-content .comparison-groups.combine{gap:42px}
.portfolio-content .comparison-groups.combine>section+section:before{content:"+";position:absolute;left:-30px;top:45%;font-size:25px;color:#547f76}
.portfolio-content .combine-outcome{font-size:14px;color:#476e69;text-align:center;padding:14px;border-bottom:1px solid #b5c9bd;margin-bottom:0}
.portfolio-content .combine-outcome span{display:block;font-size:24px;line-height:1.4}
.portfolio-content .concept-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;grid-column:1/-1}
.portfolio-content .concept-comparison>.concept{margin:0;min-width:0}
.portfolio-content .concept-comparison .relation{transform:none}
.portfolio-content .diagram-evidence{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px}
.portfolio-content .diagram-evidence>.concept{margin:0}
.portfolio-content .diagram-evidence .gallery{grid-template-columns:1fr}
@media(max-width:1050px){.portfolio-content .diagram-evidence{grid-template-columns:1fr}
.portfolio-content .concept-comparison{grid-template-columns:1fr}
.portfolio-content .comparison-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.portfolio-content .comparison-groups,.portfolio-content .comparison-groups.combine{grid-template-columns:1fr;gap:25px}
.portfolio-content .comparison-groups.combine>section+section:before{top:-30px;left:48%;font-size:23px}
.portfolio-content .comparison-groups.combine>section+section{margin-top:10px}
.portfolio-content .reading-segment.paired.has-text.has-evidence{gap:12px}}
.portfolio-content .architecture-map{min-width:430px;font-size:12px}
.portfolio-content .architecture-root{width:max-content;margin:0 auto 26px;padding:8px 20px;border:1px solid #9eb9aa;background:#f8fbf5;position:relative;font-weight:600;color:#315860}
.portfolio-content .architecture-root:after{content:"";position:absolute;height:25px;border-left:1px solid #86a995;left:50%;top:100%}
.portfolio-content .architecture-modules{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;border-top:1px solid #86a995;padding-top:20px}
.portfolio-content .architecture-module{position:relative;border:1px solid #b2c7ba;background:#f9fbf6;padding:10px 7px;line-height:1.6;min-width:0}
.portfolio-content .architecture-module:before{content:"";position:absolute;height:20px;bottom:100%;left:50%;border-left:1px solid #86a995}
.portfolio-content .architecture-module>strong{font-weight:600;display:block;text-align:center}
.portfolio-content .architecture-module ul{list-style:none;margin:12px 0 0;padding:8px 0 0;border-top:1px solid #b9cbbf}
.portfolio-content .architecture-module li{font-size:11px;text-align:center;margin:6px 0;padding:4px 0;background:#e8f0e6}
.portfolio-content .architecture-summary{position:relative;width:60%;margin-top:27px;padding:10px;border:1px dashed #91b3a0;text-align:center;background:#e3eddf}
.portfolio-content .architecture-module.joins-summary:after{content:"";position:absolute;top:100%;left:50%;height:26px;border-left:1px dashed #91b3a0}
.portfolio-content .architecture-summary:before{content:"";position:absolute;top:-1px;left:15%;right:15%;border-top:1px dashed #91b3a0}
.portfolio-content .architecture-summary strong,.portfolio-content .architecture-summary span,.portfolio-content .architecture-summary small{display:block}
.portfolio-content .architecture-summary strong{font-size:14px}
.portfolio-content .architecture-summary span{color:#57736d}
.portfolio-content .architecture-summary small{font-size:11px;color:#57736d}
.portfolio-content .stage-evidence-row{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.4fr);gap:25px;align-items:start;margin:26px 0;padding-bottom:26px;border-bottom:1px solid #d2dcd2}
.portfolio-content .stage-evidence-row:last-of-type{border-bottom:0}
.portfolio-content .stage-evidence-row>.concept{margin:0}
.portfolio-content .stage-evidence-images .gallery{grid-template-columns:1fr}
.portfolio-content .stage-concept .flow{display:flex;flex-direction:column;gap:18px;min-width:0}
.portfolio-content .stage-concept .flow li{width:100%;min-width:0;max-width:none;margin-left:0;font-size:13px}
.portfolio-content .stage-concept .flow li+li:before{content:"↓";top:-27px;left:48%;font-size:18px}
.portfolio-content .entry-lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.portfolio-content .entry-lanes section{position:relative;padding-bottom:20px}
.portfolio-content .entry-lanes section:after{content:"";height:20px;border-left:1px solid #6d9582;position:absolute;top:calc(100% - 20px);left:50%}
.portfolio-content .entry-join{margin:0 22%;border-top:1px solid #6d9582;text-align:center;position:relative;padding-top:23px}
.portfolio-content .entry-join:before{content:"↓";position:absolute;top:-2px;left:47%;color:#6d9582;line-height:1.4}
.portfolio-content .entry-join strong{display:inline-block;background:#e2ecdf;border:1px solid #a4bfae;padding:7px 18px;font-size:14px}
.portfolio-content .stage-evidence-images figcaption{font-size:13px}
.portfolio-content .stage-evidence-row .concept{overflow:visible}
@media(max-width:1000px){.portfolio-content .stage-evidence-row{grid-template-columns:1fr}
.portfolio-content .entry-lanes .flow li{max-width:none}
.portfolio-content .stage-concept .flow{min-width:0}
.portfolio-content .stage-evidence-images .gallery{grid-template-columns:1fr}
.portfolio-content .stage-evidence-row .concept{overflow:auto}}
.portfolio-content .entry-lanes{align-items:stretch}
.portfolio-content .entry-lanes>section{display:flex;flex-direction:column}
.portfolio-content .entry-lanes>section>.flow{flex:1;justify-content:space-between}
.portfolio-content .text-evidence-pair+.text-evidence-pair{margin-top:30px}
.portfolio-content figure.media{max-width:min(100%,var(--media-display-max,1920px));width:100%;justify-self:center}
.portfolio-content figure.media.portrait{margin-left:auto;margin-right:auto}
.portfolio-content .gallery.single>figure.media{justify-self:start}
.portfolio-content .gallery.single>figure.media.portrait{justify-self:center}
.portfolio-content .visible-source-note{font-size:12px;line-height:1.75;color:#6c6452;margin:8px 0 2px;padding-top:7px;border-top:1px solid #e3e0d8}
.portfolio-content .c2-identity-map .relation{grid-template-columns:minmax(165px,.8fr) minmax(240px,1.2fr)!important;min-width:620px}
.portfolio-content .c2-identity-map .node-column{width:100%}
.portfolio-content .c2-identity-map .relation-node{max-width:none;width:100%}
.portfolio-content .stage-map.parallel-map{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));min-width:0}
.portfolio-content .stage-map.parallel-map section+section:before{content:none}
.portfolio-content .vertical-flow{min-width:0;width:100%;font-size:inherit;line-height:1.75;overflow-wrap:anywhere}
.portfolio-content .vertical-flow .vf-path{display:flex;flex-direction:column;gap:30px;list-style:none;padding:0;margin:0;min-width:0}
.portfolio-content .vertical-flow .vf-main{max-width:32rem;margin-inline:auto}
.portfolio-content .vertical-flow .vf-path>li{position:relative;min-width:0;width:100%;padding:12px 16px;border:1px solid #b7cbc3;border-radius:4px;background:#f9fbf8;white-space:pre-line;font-size:inherit}
.portfolio-content .vertical-flow .vf-node-label{display:block;color:#264f55}
.portfolio-content .vertical-flow .vf-node-detail{margin:6px 0 0;color:#53676b;font-size:inherit}
.portfolio-content .vertical-flow .vf-step-arrow{position:absolute;left:calc(50% - .5em);top:-30px;width:1em;line-height:28px;color:#557b77;font-size:20px;text-align:center}
.portfolio-content .vertical-flow .vf-fork{position:relative;margin-top:38px}
.portfolio-content .vertical-flow .vf-fork-arrow{position:absolute;top:-36px;left:calc(50% - .5em);line-height:30px;color:#557b77;font-size:22px}
.portfolio-content .vertical-flow .vf-branches,.portfolio-content .vertical-flow .vf-routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:26px;min-width:0;align-items:start}
.portfolio-content .vertical-flow .vf-branches>.vf-branch,.portfolio-content .vertical-flow .vf-routes>.vf-route{min-width:0;padding:16px;border:1px solid #bdd0c2;border-radius:4px;background:#e6eee6}
.portfolio-content .vertical-flow .vf-branch-label{font:inherit;font-weight:600;line-height:1.75;color:#2a545b;margin:0 0 10px;white-space:pre-line}
.portfolio-content .vertical-flow .vf-condition{font:inherit;font-weight:600;line-height:1.75;color:#2a545b;margin:0 0 14px;white-space:pre-line}
.portfolio-content .vertical-flow .vf-routes{margin-top:30px;padding-top:22px;border-top:1px solid #b8cec0}
.portfolio-content .concept:has(> .rvt-tree){min-width:0;max-width:100%;overflow:visible}
.portfolio-content .rvt-tree{--rvt-line:#9fb8ad;--rvt-ink:#244f57;--rvt-card:#f9fbf8;width:100%;max-width:100%;min-width:0;font-size:1rem;line-height:1.75;overflow-wrap:anywhere;word-break:normal}
.portfolio-content .rvt-tree,.portfolio-content .rvt-tree *{box-sizing:border-box;min-width:0}
.portfolio-content .rvt-tree ul{padding:0;margin:0;list-style:none}
.portfolio-content .rvt-tree .rvt-forest{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
.portfolio-content .rvt-tree .rvt-root+.rvt-root{border-top:1px solid var(--rvt-line);padding-top:1.5rem}
.portfolio-content .rvt-tree .rvt-children{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));align-items:start;gap:1.25rem;margin-top:1.1rem}
.portfolio-content .rvt-tree .rvt-branch{width:100%;max-width:100%}
.portfolio-content .rvt-tree .rvt-node{padding:.85rem 1rem;border:1px solid var(--rvt-line);border-radius:4px;background:var(--rvt-card);white-space:normal}
.portfolio-content .rvt-tree .rvt-root>.rvt-node{border-top:3px solid #64867e}
.portfolio-content .rvt-tree .rvt-node-title{display:block;color:var(--rvt-ink);font-size:1em;font-weight:650;line-height:1.65;white-space:pre-line}
.portfolio-content .rvt-tree .rvt-node p{margin:.4rem 0 0;font-size:1em;line-height:inherit;white-space:pre-line;color:#52696c}
.portfolio-content .rvt-tree .rvt-edge{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;padding:0 .6rem .5rem;border-left:2px solid var(--rvt-line);font-size:1em;color:#365c5f}
.portfolio-content .rvt-tree .rvt-edge-dashed{border-left-style:dashed}
.portfolio-content .rvt-tree .rvt-edge-origin{white-space:pre-line;font-weight:500}
.portfolio-content .rvt-tree .rvt-arrow{line-height:1.2;font-size:1em;color:#64867e}
.portfolio-content .rvt-tree .rvt-edge-fields{display:grid;gap:.2rem}
.portfolio-content .rvt-tree .rvt-edge-field{display:block;white-space:pre-line;overflow-wrap:anywhere}
.portfolio-content .rvt-tree .rvt-edge-field b{font-weight:500}
.portfolio-content .rvt-tree .rvt-identity{display:inline-block;margin:.35rem 0 0;border-bottom:1px dashed #93afa4;color:#375f65;font-size:1em}
.portfolio-content .rvt-tree .rvt-reference>.rvt-node{border-style:dashed}
.portfolio-content .rvt-tree .rvt-node .rvt-reference-note{margin-top:.7rem;padding-top:.5rem;border-top:1px solid #cbd8d0}
.portfolio-content .rvt-tree .rvt-unresolved{border-top:1px solid #b98e69;margin-top:1.5rem;padding-top:1rem}
.portfolio-content .rvt-tree .rvt-unresolved li{margin-top:.75rem}
.portfolio-content .rvt-tree .rvt-unresolved p{margin:0}
.portfolio-content .diagram-evidence[data-concept-mode="vertical-flow"] .vertical-flow{container-type:inline-size;container-name:paired-flow}
@container paired-flow (min-width:300px){.portfolio-content .vf-branches:has(>.vf-branch:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.portfolio-content .vf-branches:has(>.vf-branch:nth-child(2):last-child)>.vf-branch{padding:10px}
.portfolio-content .vf-branches:has(>.vf-branch:nth-child(2):last-child)>.vf-branch>.vf-path>li{padding:12px 10px}}
@media(min-width:1051px){.portfolio-content .diagram-evidence[data-concept-mode="vertical-flow"]>.diagram-evidence-visuals{position:sticky;top:130px;align-self:start;min-width:0}}

.portfolio-content{--pc-ink:#342e26;--pc-muted:#766b5b;--pc-accent:#80513c;--pc-paper:#f1e9d5;--pc-line:#c9bda3;color:var(--pc-ink);font:16px/1.9 "Microsoft YaHei","Segoe UI",sans-serif;text-align:left;letter-spacing:.012em;min-width:0}
.portfolio-content button,.portfolio-content a,.portfolio-content summary{-webkit-tap-highlight-color:transparent}
.portfolio-content .chapter{margin-bottom:0;scroll-margin-top:20px}
.portfolio-content .chapter>header{padding:0 0 27px;margin:0 0 38px;border-bottom:2px solid var(--pc-ink)}
.portfolio-content .chapter h2{font-size:clamp(25px,2.3vw,34px);font-weight:750;line-height:1.45;letter-spacing:.025em;max-width:970px;color:var(--pc-ink)}
.portfolio-content .lead{font-size:17px;color:var(--pc-muted);line-height:1.95;max-width:850px}
.portfolio-content .block{padding:0 0 38px;margin:0 0 42px;border-color:var(--pc-line)}
.portfolio-content .block h3{font-size:22px;line-height:1.55;color:var(--pc-ink);margin-bottom:20px}
.portfolio-content .key{color:var(--pc-accent);max-width:880px}
.portfolio-content .key.goal{font-size:clamp(23px,2.1vw,29px);color:var(--pc-ink);border-color:var(--pc-accent);padding:22px 0 17px;margin:28px 0;line-height:1.65}
.portfolio-content .local-emphasis{color:var(--pc-accent);font-weight:700}
.portfolio-content .segment-prose{max-width:860px}
.portfolio-content .reading-segment{margin:26px 0}
.portfolio-content .gallery{gap:22px}
.portfolio-content figure.media{border:0;padding:0;background:transparent}
.portfolio-content .media-button{border:1px solid #ada089;background:#ddd3ba;box-shadow:2px 3px 0 #8b7b5c24}
.portfolio-content .media figcaption{color:var(--pc-ink);font-size:14px;padding:12px 0 1px;line-height:1.8}
.portfolio-content .phase,.portfolio-content .media details,.portfolio-content .source-details,.portfolio-content .extra,.portfolio-content .visible-source-note{color:var(--pc-muted)}
.portfolio-content .phase{margin-top:6px}
.portfolio-content .concept{background:#e9dfc5;border:0;border-left:3px solid var(--pc-accent);padding:22px 25px;margin:26px 0;color:var(--pc-ink)}
.portfolio-content .concept h4,.portfolio-content .concept h5,.portfolio-content .segment-title,.portfolio-content .media-group h4,.portfolio-content .comparison-groups>section>h4{color:var(--pc-accent)}
.portfolio-content .flow li,.portfolio-content .relation-node,.portfolio-content .stage-map section,.portfolio-content .vertical-flow .vf-path>li,.portfolio-content .rvt-tree .rvt-node{border-radius:0;background:#f6efdc;border-color:#b5a98f;box-shadow:2px 2px 0 #8b7b5c15}
.portfolio-content .relation-node strong,.portfolio-content .vertical-flow .vf-node-label{color:var(--pc-ink)}
.portfolio-content .relation-node p,.portfolio-content .vertical-flow .vf-node-detail{color:var(--pc-muted)}
.portfolio-content .concept table{font-size:14px}.portfolio-content .concept th{color:var(--pc-ink);background:#d8c9a8}.portfolio-content .concept th,.portfolio-content .concept td{border-color:#bdad8e}
.portfolio-content .support{border-color:var(--pc-line)}.portfolio-content .support>summary{color:var(--pc-accent);font-weight:600}
.portfolio-content .argument-groups section{border-color:var(--pc-line)}.portfolio-content .argument-groups h4{color:var(--pc-accent)}
.portfolio-content .clip-controls button{color:var(--pc-ink);background:#e7dcc2;border-color:#b7a787;border-radius:0;font-size:13px;padding:7px 11px}
.portfolio-content .clip-controls button:hover{background:#d9c8a4}.portfolio-content .pc-media-error{color:#8a3828;font-size:14px}
.portfolio-content .rvt-tree{--rvt-line:#b7a787;--rvt-ink:var(--pc-ink);--rvt-card:#f6efdc}
.portfolio-content .rvt-tree .rvt-root>.rvt-node{border-top-color:var(--pc-accent)}
.portfolio-content .diagram-evidence{grid-template-columns:minmax(260px,.8fr) minmax(0,1.25fr);gap:25px}
.portfolio-content .diagram-evidence[data-concept-mode="vertical-flow"]>.diagram-evidence-visuals{top:20px}
.portfolio-content .text-evidence-pair{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.3fr);gap:24px;align-items:start}
.portfolio-content .text-evidence-pair>.gallery{grid-template-columns:1fr}
.portfolio-content.pc-lightbox{position:fixed;width:min(1540px,96vw);height:auto;max-height:95vh;padding:20px;background:#f1e9d5;border:1px solid #5f503d;border-radius:2px;color:#342e26;z-index:20000;box-shadow:0 25px 100px #000b}
.portfolio-content.pc-lightbox::backdrop{background:#100e0be8}
.portfolio-content.pc-lightbox .pc-media-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:15px}
.portfolio-content.pc-lightbox .pc-media-toolbar>strong{font-size:15px;line-height:1.5}
.portfolio-content.pc-lightbox .pc-media-toolbar>div{display:flex;gap:8px;flex-shrink:0}
.portfolio-content.pc-lightbox button{border:1px solid #a99b82;background:#e8ddc4;padding:6px 15px;border-radius:0;color:#342e26}
.portfolio-content .pc-media-body{max-height:72vh;overflow:auto;overscroll-behavior:contain;background:#ded4bc}
.portfolio-content .pc-media-body .image-area{margin:0 auto;max-width:100%}
.portfolio-content .pc-media-body .image-area.cropped img{max-width:none;margin:0}
.portfolio-content .pc-media-body.native-size .image-area{width:var(--native-width);max-width:none}
.portfolio-content .pc-media-body.native-size img{max-width:none}
.portfolio-content .pc-media-caption{font-size:14px;margin:13px 0 0;color:#5e5343}
.portfolio-content .pc-compare-open{display:block;margin:0 0 12px auto;border:1px solid #b9a786;padding:5px 11px;background:#e9ddc0;color:var(--pc-accent);font-size:12px}
.portfolio-content .pc-comparison{padding:18px;--compare-opacity:.5}
.portfolio-content .pc-comparison-tools{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:18px}
.portfolio-content .pc-comparison-slider{display:flex;align-items:center;gap:12px;color:#756344;font-size:13px}.portfolio-content .pc-comparison-slider[hidden]{display:none}
.portfolio-content .pc-comparison-sheets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.portfolio-content .pc-comparison-sheets>figure{position:relative;border:1px solid #a59472;box-shadow:2px 4px 0 #806c4344}
.portfolio-content .pc-sheet-label{display:block;background:#554733;color:#ebdec3;padding:4px 10px;font:12px/1.3 monospace}
.portfolio-content .pc-comparison.is-overlay .pc-comparison-sheets{grid-template-columns:minmax(0,1fr);max-width:1100px;margin:auto}
.portfolio-content .pc-comparison.is-overlay .pc-comparison-sheets>figure{grid-area:1/1}
.portfolio-content .pc-comparison.is-overlay .pc-comparison-sheets>figure:nth-child(2){opacity:var(--compare-opacity)}
.portfolio-content .pc-comparison-captions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;font-size:14px;line-height:1.7}
.portfolio-content .pc-comparison-captions b{display:inline-block;margin-right:8px;color:#8b5233;font:700 14px/1.5 monospace}
@media(max-width:1100px){.portfolio-content .diagram-evidence,.portfolio-content .text-evidence-pair{grid-template-columns:1fr}.portfolio-content .diagram-evidence[data-concept-mode="vertical-flow"]>.diagram-evidence-visuals{position:static}}
@media(max-width:760px){.portfolio-content{font-size:15px}.portfolio-content .block h3{font-size:20px}.portfolio-content .gallery{grid-template-columns:1fr}.portfolio-content .concept{padding:17px 16px}.portfolio-content .chapter>header{margin-bottom:28px}.portfolio-content.pc-lightbox .pc-media-toolbar{align-items:flex-start;flex-wrap:wrap;gap:10px}.portfolio-content .block{margin-bottom:34px;padding-bottom:29px}}
.portfolio-content .portfolio-theme-intro {
 max-width:1120px;margin:0 auto clamp(30px,5vw,64px);padding:0 0 clamp(23px,3vw,36px);
 border-bottom:1px solid var(--pc-line);overflow-wrap:anywhere;
}
.portfolio-content .portfolio-theme-context,.portfolio-content .portfolio-theme-scopes {
 margin:0 0 12px;color:var(--pc-muted);font-size:.9em;line-height:1.7;
}
.portfolio-content .portfolio-theme-scopes dt {font-weight:700}
.portfolio-content .portfolio-theme-scopes dd {margin:0 0 6px}
.portfolio-content .portfolio-theme-claim {
 margin:0 0 14px;max-width:38ch;color:var(--pc-ink);font-size:clamp(23px,2.4vw,34px);
 line-height:1.45;text-wrap:balance;letter-spacing:.01em;
}
.portfolio-content .portfolio-theme-copy {max-width:55em;margin:0 0 8px;line-height:1.85}
