/* Conceptual figures use the course palette; the original experiment DOM stays intact. */
.theory-core{--tc-ink:#dcebef;--tc-muted:#a8c2ce;--tc-line:#3e6573;--tc-accent:#a9e5dd;--tc-warm:#e0c79f;color:var(--tc-ink);margin:17px 0 20px;min-width:0;overflow-wrap:anywhere}
.tc-mode-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 13px;padding:0 1px}.tc-eyebrow{font-size:12px;letter-spacing:.08em;margin-right:7px;color:var(--tc-warm)}.tc-mode-hint{font-size:12px;color:var(--tc-muted);margin-left:auto}.theory-core .tc-button{min-height:40px;border:1px solid #547889;background:#122333;color:#bed4de;font-size:14px;padding:8px 16px;border-radius:6px;line-height:1.5;cursor:pointer}.theory-core .tc-button:hover{background:#1c3b49;border-color:#99c6cd}.theory-core .tc-button[aria-pressed=true]{color:#e7fcf9;background:#214b54;border-color:#a7d9d5}.theory-core .tc-button:focus-visible,.tc-content:focus-visible{outline:3px solid #e4c691;outline-offset:4px}.tc-content{border:1px solid var(--tc-line);background:linear-gradient(125deg,#122b39eb,#111b2de8);border-radius:14px;padding:24px 28px;position:relative;min-width:0;box-shadow:0 20px 60px #0002}.tc-content>h2{font-size:25px;line-height:1.5;letter-spacing:.02em;font-weight:500;margin:0 0 17px;color:#e4f5f6}.tc-definition{font-size:18px;line-height:1.8;margin:0 0 22px;max-width:1050px;color:#dcebef}.tc-term{color:#c7f1e9;display:inline-block;font-weight:600;padding-right:15px}.tc-note{font-size:13px;line-height:1.8;color:var(--tc-muted);margin:10px 0}.tc-node-text{font-size:16px;line-height:1.7;color:#d0e2e9;margin:7px 0}.tc-explain{font-size:16px;line-height:1.8;color:#dbd7bc;border-top:1px solid #466171;padding-top:14px;margin:17px 0 4px}.tc-flow{list-style:none;display:flex;gap:28px;align-items:stretch;margin:17px 0 21px;padding:0;counter-reset:none}.tc-flow-node{position:relative;border-top:2px solid #6c9ca8;flex:1;min-width:0;padding:13px 0 6px}.tc-flow-node:not(:last-child):after{content:'→';position:absolute;right:-23px;top:25px;color:#9bccc9;font-size:20px}.tc-flow-node strong{font-size:19px;color:#cbf1ed;display:block;font-weight:500;line-height:1.5}.tc-step{display:block;color:#6c9aa9;font-size:11px;letter-spacing:.1em;margin-bottom:8px}.tc-flow-node small{font-size:12px;line-height:1.75;color:var(--tc-muted);display:block}.tc-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin:18px 0 22px}.tc-column{border-left:1px solid #49727b;padding:1px 0 4px 17px;min-width:0}.tc-column h3{font-size:19px;line-height:1.5;font-weight:500;color:#c3e9e3;margin:0 0 8px}.tc-focus-controls{display:flex;gap:9px;flex-wrap:wrap;margin:17px 0 12px}.tc-focus-controls .tc-button{min-width:90px}.tc-spotlight{display:flex;gap:16px;align-items:center;flex-wrap:wrap;min-height:70px;background:#18394565;padding:13px 18px;border-radius:9px}.tc-spotlight>strong{font-size:25px;color:#b9e9df;font-weight:500}.tc-spotlight .tc-emphasis{font-size:18px;margin:0;color:#dcebef;line-height:1.6}.tc-spotlight .tc-note{flex-basis:100%;margin:0 0 0 66px}.tc-nested{border:1px solid #537c8c;border-radius:13px;background:#0c1b2c;padding:17px 24px;margin:17px 0}.tc-nested h3{font-size:20px;font-weight:500;line-height:1.6;margin:0;color:#cfeded}.tc-nested .tc-note{margin:4px 0 12px;font-size:14px}.tc-ml{margin:10px 0 0 8%;border-left:3px solid #86bbb3;background:#1742488c;border-radius:0 10px 10px 0;padding:12px 20px}.tc-dl{margin:10px 0 0 12%;border-left:3px solid #d2b98f;background:#5a534061;border-radius:0 8px 8px 0;padding:11px 18px}.tc-development{margin-top:20px;border-top:1px solid #395a70;padding-top:13px}.tc-development summary{font-size:14px;color:#beddd9;cursor:pointer;line-height:1.7;min-height:34px}.tc-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;margin-top:13px}.tc-era{position:relative;border-top:1px solid #a1c4b8;padding-top:13px;min-width:0}.tc-era:before{content:'';width:9px;height:9px;border-radius:50%;background:#b4dbd1;position:absolute;top:-5px;left:0}.tc-era-date{display:block;font-size:12px;line-height:1.7;color:#d4c8a6;margin-bottom:6px}.tc-era strong{display:block;font-size:16px;line-height:1.6;font-weight:500;color:#d2e9ec}.tc-era .tc-note{font-size:12px;margin:6px 0}.tc-part-example{display:flex;align-items:center;gap:22px;border-bottom:1px solid #41616b;padding:0 0 16px;margin-bottom:10px}.tc-part-shape{width:112px;height:78px;flex:0 0 112px;background:#9d73544a;position:relative;border:1px solid #bd9467;border-radius:8px}.tc-part-shape:before{content:'';position:absolute;left:19px;right:19px;top:15px;bottom:15px;background:linear-gradient(135deg,#cad8df,#8b9caa);border:2px solid #ebf2f5;border-radius:9px;box-shadow:5px 5px 0 #07131b88}.tc-part-example strong{font-size:17px;color:#e2e8dc}.tc-part-example .tc-node-text{margin:3px 0;font-size:15px}.tc-example-label{font-size:12px;color:#d0bb97;margin:8px 0 16px;line-height:1.8}.tc-section-title{font-size:20px;color:#d1e8ed;border-top:1px solid #41616b;padding-top:17px;margin:23px 0 8px;font-weight:500}.theory-core .tc-enter{display:block;margin:21px 0 0 auto;background:#b5dedc;color:#133344;border-color:#c8eeea;font-size:15px;font-weight:500;min-width:180px}.theory-core .tc-enter[aria-pressed=false]:hover{background:#c6eeeb;color:#163c4a}.fl-page[data-theory-view=concept] :is(#activity-disclosure,#lesson-reflection,#lesson-archive){display:none!important}.fl-page[data-theory-view=concept] #activity-stage{display:none!important}
.fl-large .tc-definition{font-size:21px}.fl-large .tc-content>h2{font-size:29px}.fl-large .tc-node-text{font-size:19px}.fl-large .tc-note{font-size:16px}.fl-large .tc-explain{font-size:19px}.fl-large .tc-flow-node strong,.fl-large .tc-column h3{font-size:22px}.fl-large .tc-flow-node small{font-size:15px}.fl-large .tc-step{font-size:13px}.fl-large .tc-nested h3{font-size:23px}.fl-large .tc-nested .tc-note{font-size:17px}.fl-large .tc-era-date{font-size:15px}.fl-large .tc-era strong{font-size:19px}.fl-large .tc-era .tc-note{font-size:15px}.fl-large .tc-development summary{font-size:17px}.fl-large .tc-example-label{font-size:15px}.fl-large .theory-core .tc-button{font-size:17px}.fl-large .tc-mode-hint,.fl-large .tc-eyebrow{font-size:15px}.fl-large .tc-part-example .tc-node-text{font-size:18px}.fl-large .tc-section-title{font-size:24px}
@media(min-width:1600px){.tc-content{padding:29px 34px}.tc-content>h2{font-size:29px}.tc-definition{font-size:21px}.tc-node-text{font-size:18px}.tc-note{font-size:15px}.tc-explain{font-size:18px}.tc-flow-node strong,.tc-column h3{font-size:22px}.tc-flow-node small{font-size:14px}.tc-era strong{font-size:18px}.tc-era-date,.tc-era .tc-note{font-size:14px}.tc-development summary{font-size:16px}.tc-example-label{font-size:14px}}
@media(max-width:1100px){.tc-content{padding:22px}.tc-columns{gap:17px}.tc-flow{gap:24px}.tc-flow-node:not(:last-child):after{right:-21px}.tc-timeline{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}.tc-network-flow{flex-wrap:wrap}.tc-network-flow .tc-flow-node{flex-basis:40%}.tc-network-flow .tc-flow-node:nth-child(2):after{display:none}}
@media(max-width:650px){.tc-content{padding:18px}.tc-content>h2{font-size:22px}.tc-definition{font-size:16px}.tc-columns{grid-template-columns:1fr;gap:18px}.tc-column{padding-left:13px}.tc-flow{flex-direction:column;gap:17px;margin-bottom:18px}.tc-flow-node{padding:11px 0 10px 15px;border-top:0;border-left:2px solid #6c9ca8}.tc-flow-node:not(:last-child):after{content:'↓';left:14px;top:auto;bottom:-20px;font-size:18px;right:auto}.tc-step{float:right;margin-left:13px}.tc-flow-node strong{font-size:18px}.tc-node-text{font-size:15px}.tc-mode-hint{flex-basis:100%;margin:2px 0 0;font-size:11px}.tc-mode-controls{gap:7px}.theory-core .tc-button{padding:8px 12px;font-size:13px}.tc-eyebrow{font-size:11px;margin-right:2px}.tc-nested{padding:13px}.tc-ml{margin-left:3%;padding:11px 12px}.tc-dl{margin-left:4%;padding:10px 11px}.tc-nested h3{font-size:18px}.tc-nested .tc-note{font-size:13px}.tc-timeline{grid-template-columns:1fr}.tc-spotlight{padding:12px 14px;gap:8px}.tc-spotlight>strong{font-size:22px}.tc-spotlight .tc-emphasis{font-size:16px}.tc-spotlight .tc-note{margin-left:0}.tc-explain{font-size:15px}.tc-part-example{gap:14px}.tc-part-shape{width:88px;flex-basis:88px;height:68px}.tc-part-shape:before{left:12px;right:12px}.tc-part-example .tc-node-text{font-size:13px}.tc-network-flow .tc-flow-node{flex-basis:auto}.tc-network-flow .tc-flow-node:nth-child(2):after{display:block}.fl-large .tc-content>h2{font-size:25px}.fl-large .tc-definition{font-size:18px}.fl-large .tc-node-text{font-size:17px}.fl-large .tc-explain{font-size:17px}.fl-large .tc-column h3,.fl-large .tc-flow-node strong{font-size:20px}.fl-large .tc-mode-hint{font-size:13px}}
@media print{.tc-mode-controls,.tc-enter{display:none!important}.tc-content{display:block!important;background:#fff;color:#111;border-color:#aaa;box-shadow:none}.tc-content :is(h2,h3,p,strong,small,span){color:#111!important}.tc-nested,.tc-ml,.tc-dl,.tc-spotlight{background:#fff}.fl-page[data-theory-view=concept] #activity-stage{display:none!important}}
.tc-references a{color:#acd3e6;text-underline-offset:3px;}.tc-references a:focus-visible{outline:2px solid #e4c691;outline-offset:3px;}
.tc-part-shape:before{width:70px;height:54px;left:20px;top:11px;right:auto;bottom:auto;}
@media(max-width:650px){.tc-part-shape:before{width:58px;height:45px;left:14px;top:10px;}}
.tc-supplement{margin:21px 0 0;border-top:1px solid #3b5262;padding-top:12px}
.tc-supplement>summary{color:var(--tc-muted);font-size:14px;line-height:1.7;cursor:pointer;min-height:34px;max-width:max-content}
.tc-supplement>summary:focus-visible{outline:2px solid #e4c691;outline-offset:4px}
.tc-supplement[open]>summary{color:var(--tc-accent);margin-bottom:12px}
.tc-supplement .tc-section-title{border:0;padding:0;margin-top:10px}
.tc-reference-title{font-size:13px;font-weight:500;color:var(--tc-muted);margin:18px 0 0}
.tc-references .tc-note{font-size:12px;margin:5px 0}
.fl-large .tc-supplement>summary{font-size:17px}
.fl-large .tc-reference-title,.fl-large .tc-references .tc-note{font-size:15px}
@media print{.tc-supplement{display:block}.tc-supplement>*{display:block}}
