.ced-topic-page{max-width:1050px;margin:0 auto;padding:28px clamp(16px,4vw,42px) 70px;color:var(--text-primary)}
.ced-topic-page h1,.ced-topic-page h2,.ced-topic-page h3{line-height:1.2}
.ced-topic-page h1{font-family:'Oswald',sans-serif;font-size:clamp(1.8rem,4vw,2.8rem);margin:9px 0 12px;color:var(--gold)}
.ced-topic-page h2{font-family:'Oswald',sans-serif;font-size:1.4rem;margin:0 0 14px;color:var(--text-primary)}
.ced-topic-page h3{font-size:1.05rem;margin:0 0 10px;color:var(--gold)}
.ced-topic-page p,.ced-topic-page li{line-height:1.7}.ced-topic-page p{margin:0 0 14px}
.ced-topic-kicker{font-size:.85rem;letter-spacing:.07em;text-transform:uppercase;color:var(--gold)}
.ced-topic-meta{color:var(--text-secondary);margin-bottom:24px}
.ced-topic-switch{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0;border-bottom:1px solid var(--gold-dark);padding-bottom:12px}
.ced-topic-switch button,.ced-topic-page button,.ced-topic-page select{font:inherit}
.ced-topic-switch button,.ced-topic-button{border:1px solid var(--gold-dark);background:var(--bg-card);color:var(--text-primary);border-radius:8px;padding:10px 16px;cursor:pointer}
.ced-topic-switch button[aria-selected=true],.ced-topic-button:hover{background:var(--gold);color:#171717}
.ced-topic-page [role=tabpanel][hidden]{display:none!important}
.ced-topic-card{background:var(--bg-card);border:1px solid rgba(205,163,73,.25);border-radius:12px;padding:20px;margin:0 0 18px}
.ced-topic-card ul{padding-left:22px;margin:0 0 12px}
.ced-topic-card li+li{margin-top:7px}
.ced-topic-equation{font-size:1.2rem;font-weight:700;color:var(--gold-light);margin:14px 0;overflow-wrap:anywhere}
.ced-explore-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:14px 0}
.ced-explore-controls label{display:flex;flex-direction:column;gap:6px;font-weight:600;min-width:180px}
.ced-explore-controls input,.ced-explore-controls select{background:var(--bg-dark);color:var(--text-primary);border:1px solid var(--gold-dark);border-radius:7px;padding:10px;max-width:100%}
.ced-explore-controls input[type=range]{padding:0}
.ced-feedback{min-height:3em;border-left:3px solid var(--gold);background:rgba(205,163,73,.1);padding:12px 15px;margin-top:12px;line-height:1.6}
.ced-quiz-choice{display:block;width:100%;text-align:left;margin:7px 0;border:1px solid var(--gold-dark);border-radius:8px;background:var(--bg-card);color:var(--text-primary);padding:12px;cursor:pointer}
.ced-quiz-choice:hover,.ced-quiz-choice:focus-visible{border-color:var(--gold);outline:2px solid transparent}
.ced-quiz-choice[disabled]{cursor:default;opacity:.85}.ced-quiz-choice.correct{border-color:var(--success);background:rgba(76,175,80,.13)}.ced-quiz-choice.incorrect{border-color:var(--error);background:rgba(231,76,60,.13)}
.ced-related-link{display:inline-flex;margin-top:12px;color:var(--gold-light);text-decoration:underline;text-underline-offset:3px}
.ced-mounted-lab{margin-top:20px}
.ced-mounted-lab>.ced-embedded-lab{display:block!important;max-width:none;margin:0;padding:0;background:transparent;border:0}
.ced-mounted-lab .student-topic-heading,.ced-mounted-lab .student-topic-tabs{display:none!important}
.ced-mounted-lab .student-topic-section[hidden]{display:none!important}
.ced-mounted-lab .student-topic-section{display:block;max-width:none;padding:0}
.ced-mounted-lab .tool-header{display:none}
.ced-topic-nav{display:flex;justify-content:space-between;gap:10px;margin-top:30px}.ced-topic-nav a{color:var(--gold-light);text-decoration:underline}
.ced-progress-list{display:flex;flex-wrap:wrap;gap:8px}.ced-progress-list button{text-align:left}
@media(max-width:600px){.ced-topic-page{padding:18px 15px 80px}.ced-explore-controls label{width:100%}.ced-topic-nav{flex-direction:column}}

/* Topic 1.3 composition lab */
.ced13-app{--ced13-edge:rgba(205,163,73,.35);--ced13-surface:var(--bg-card);--ced13-muted:var(--text-secondary);color:var(--text-primary)}
.ced13-app [hidden]{display:none!important}
.ced13-app button,.ced13-app input,.ced13-app select{font:inherit}
.ced13-top,.ced13-challenge-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.ced13-top h2{color:var(--gold);font-size:1.7rem;margin:0 0 4px}.ced13-top p,.ced13-challenge-head p{margin:0;color:var(--ced13-muted)}
.ced13-mode,.ced13-source{display:flex;gap:6px;flex-wrap:wrap}
.ced13-mode button,.ced13-source button,.ced13-app #ced13-toggle-third,.ced13-challenge-actions button{border:1px solid var(--gold-dark);border-radius:7px;background:var(--bg-card);color:var(--text-primary);padding:9px 13px;cursor:pointer}
.ced13-mode button[aria-pressed=true],.ced13-source button[aria-pressed=true],.ced13-challenge-actions #ced13-check{background:var(--gold);color:#191510;font-weight:700}
.ced13-grid{display:grid;grid-template-columns:minmax(250px,1fr) minmax(280px,1.15fr);gap:15px}
.ced13-panel{background:var(--ced13-surface);border:1px solid var(--ced13-edge);border-radius:12px;padding:18px;min-width:0}
.ced13-panel h3{font-family:'Oswald',sans-serif;color:var(--gold);font-size:1.16rem;margin:0 0 13px}
.ced13-panel label{display:flex;flex-direction:column;gap:5px;font-weight:650;margin:12px 0}
.ced13-panel select,.ced13-panel input:not([type=range]){width:100%;max-width:100%;border:1px solid var(--gold-dark);border-radius:6px;background:var(--bg-dark);color:var(--text-primary);padding:9px}
.ced13-panel input[type=range]{width:100%;accent-color:var(--gold)}
.ced13-caption{font-size:.84rem;color:var(--ced13-muted);line-height:1.5!important;margin:9px 0!important}
.ced13-custom-row{display:grid;grid-template-columns:80px minmax(70px,1fr) 15px;align-items:center;gap:7px;margin:8px 0}
.ced13-custom-row input,.ced13-custom-row select{margin:0}
.ced13-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.ced13-stats>div{background:rgba(205,163,73,.09);border:1px solid var(--ced13-edge);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:4px}
.ced13-stats span,.ced13-packet-wrap>span{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ced13-muted)}
.ced13-stats strong{font-family:'Oswald',sans-serif;font-size:1.35rem;color:var(--gold)}
.ced13-particles{min-height:135px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;padding:14px;border:1px dashed var(--ced13-edge);border-radius:9px;background:rgba(205,163,73,.05)}
.ced13-atom-group{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:.8rem;font-weight:700}
.ced13-atom-circles{max-width:120px;display:flex;flex-wrap:wrap;justify-content:center;gap:3px}
.ced13-atom{width:17px;height:17px;border-radius:50%;border:1px solid rgba(0,0,0,.2);box-shadow:inset -2px -2px 3px rgba(0,0,0,.17)}
.ced13-particle-caption{font-size:.86rem;line-height:1.5;margin-top:10px}
.ced13-packet-wrap{margin-top:16px}.ced13-packets{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.ced13-packets span{border:1px solid var(--ced13-edge);border-radius:5px;padding:4px 8px;font-weight:700;color:var(--gold)}
.ced13-bars{display:grid;gap:10px;margin:14px 0 20px}.ced13-bar-label{font-size:.84rem;font-weight:700;margin-bottom:3px}
.ced13-bar-track{height:17px;border:1px solid var(--ced13-edge);border-radius:6px;background:rgba(205,163,73,.09);overflow:hidden}
.ced13-bar-fill{height:100%;border-radius:5px;transition:width .2s ease}
.ced13-mass-table-wrap{overflow-x:auto}.ced13-app table{width:100%;border-collapse:collapse;font-size:.81rem;white-space:nowrap}
.ced13-app th,.ced13-app td{text-align:left;padding:7px 5px;border-bottom:1px solid var(--ced13-edge)}
.ced13-explain p{margin:0 0 11px}.ced13-steps{display:grid;gap:6px}.ced13-steps p{margin:0;padding:8px 10px;background:rgba(205,163,73,.08);border-left:2px solid var(--gold);font-size:.83rem}
.ced13-challenge-grid{display:grid;grid-template-columns:minmax(270px,1.15fr) minmax(230px,1fr);gap:15px}
.ced13-score{border:1px solid var(--ced13-edge);border-radius:8px;padding:9px 13px;color:var(--ced13-muted)}.ced13-score strong{color:var(--gold)}
.ced13-step-indicator{display:inline-block;background:rgba(205,163,73,.15);color:var(--gold);padding:5px 9px;border-radius:5px;font-weight:700;margin-bottom:10px}
.ced13-challenge #ced13-challenge-data ul{padding-left:20px;margin:5px 0 15px}
.ced13-challenge #ced13-answer-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.ced13-challenge-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
.ced13-challenge-feedback{min-height:2em;margin:13px 0 0!important;color:var(--gold);font-weight:650}
.ced13-reveal{border:1px dashed var(--ced13-edge);border-radius:9px;padding:16px;min-height:130px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;text-align:center}
.ced13-reveal p{width:100%;margin:0!important}
@media(max-width:760px){.ced13-grid,.ced13-challenge-grid{grid-template-columns:1fr}.ced13-panel{padding:15px}.ced13-top{align-items:stretch}}

/* Topic 1.3 full Learn lesson */
.ced13-lesson{max-width:880px}
.mole-model{margin:22px 0}.mole-model-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mole-model-row>div{padding:18px;border:1px solid var(--v2-border);border-radius:12px;text-align:center}.mole-particle{display:inline-flex;align-items:center;justify-content:center;margin:4px;border:2px solid currentColor;min-width:42px;min-height:42px;border-radius:50%;font-weight:600}.mole-particle.he{color:var(--v2-text);background:rgba(124,196,255,.15)}.mole-particle.water{border-radius:24px;padding:0 8px;color:var(--v2-text);background:rgba(205,163,73,.13)}.mole-model figcaption,.mole-source{font-size:.85rem;color:var(--v2-muted);line-height:1.6;margin-top:12px}.mole-route{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:22px 0;text-align:center}.mole-route>div{flex:1;padding:14px 8px;border:1px solid var(--v2-border);border-radius:10px}.mole-route>span{flex:.65}.mole-route small{font-size:.8rem}.mole-check{margin:24px 0;padding:15px 18px;border-left:3px solid var(--gold);background:rgba(205,163,73,.05)}.mole-check>p{margin-top:0}.mole-lesson .ced-topic-card{scroll-margin-top:160px}.mole-lesson p,.mole-lesson li{line-height:1.75}.mole-lesson .mole-source a{color:inherit;text-decoration:underline}@media(max-width:600px){.mole-model-row{grid-template-columns:1fr}.mole-route{flex-direction:column}.mole-route>div{width:100%}.mole-route>span{transform:none}.mole-check{padding:12px}.mole-lesson .ced-topic-card{scroll-margin-top:180px}}
.ced13-lesson-intro{padding:24px 25px;margin-bottom:20px;border-radius:12px;background:linear-gradient(135deg,rgba(205,163,73,.17),rgba(205,163,73,.03));border:1px solid rgba(205,163,73,.35)}
.ced13-lesson-intro h2{font-size:1.75rem;color:var(--gold);margin:2px 0 10px}.ced13-lesson-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;color:var(--gold);margin:0!important}
.ced13-lesson-intro nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.ced13-lesson-intro nav a{border:1px solid var(--gold-dark);border-radius:20px;padding:6px 11px;color:var(--gold-light);font-size:.87rem;text-decoration:none}.ced13-lesson-intro nav a:hover,.ced13-lesson-intro nav a:focus-visible{background:rgba(205,163,73,.16);text-decoration:underline}
.ced13-lesson .ced-topic-card{padding:clamp(20px,3vw,30px);scroll-margin-top:20px}.ced13-lesson .ced-topic-card>h2{font-size:1.5rem;margin-bottom:16px}.ced13-lesson strong{color:var(--text-primary)}
.ced13-lesson-compare{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:20px 0}.ced13-lesson-compare>div{border-left:3px solid var(--gold);background:rgba(205,163,73,.07);padding:13px 15px}.ced13-lesson-compare p{margin:6px 0 0}
.ced13-lesson-equation{background:rgba(205,163,73,.1);border-left:3px solid var(--gold);padding:14px 16px;margin:19px 0;color:var(--gold-light);font-weight:700;line-height:1.55;overflow-wrap:anywhere}
.ced13-lesson-steps{padding-left:25px}.ced13-lesson-steps li{padding-left:6px;margin:0 0 14px}.ced13-lesson-steps li::marker{color:var(--gold);font-weight:700}
.ced13-lesson-example{padding:17px 0;border-top:1px solid rgba(205,163,73,.25)}.ced13-lesson-example:first-of-type{border-top:0;padding-top:0}.ced13-lesson-example:last-child{padding-bottom:0}.ced13-lesson-example h3{font-family:'Oswald',sans-serif;font-size:1.23rem}
.ced13-lesson-table-wrap{overflow-x:auto;margin:15px 0}.ced13-lesson table{width:100%;border-collapse:collapse;min-width:540px;line-height:1.5}.ced13-lesson caption{text-align:left;color:var(--text-secondary);font-size:.85rem;margin-bottom:8px}.ced13-lesson th,.ced13-lesson td{border-bottom:1px solid rgba(205,163,73,.25);padding:10px 9px;text-align:left}.ced13-lesson thead th{color:var(--gold)}
.ced13-lesson-errors{padding-left:23px}.ced13-lesson-errors li{margin-bottom:12px}
.ced13-lesson details{border:1px solid rgba(205,163,73,.35);border-radius:8px;margin:11px 0;overflow:hidden}.ced13-lesson summary{padding:13px 15px;cursor:pointer;font-weight:700}.ced13-lesson summary:hover,.ced13-lesson summary:focus-visible{background:rgba(205,163,73,.11)}.ced13-lesson details>div{border-top:1px solid rgba(205,163,73,.25);padding:13px 15px}.ced13-lesson details>div p{margin:0}
.ced13-lesson-next{margin-top:22px;padding:18px;border-radius:9px;background:rgba(205,163,73,.1)}.ced13-lesson-next p{margin-bottom:10px}
@media(max-width:600px){.ced13-lesson-intro{padding:19px}.ced13-lesson-compare{grid-template-columns:1fr}.ced13-lesson .ced-topic-card>h2{font-size:1.35rem}}
.mole-lesson details>p{padding:0 15px 14px;margin-bottom:0}
.mixture-particle-comparison{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.mixture-particle-comparison>div{border:1px solid var(--v2-border);border-radius:12px;overflow:hidden;text-align:center;background:var(--v2-surface)}.mixture-particle-comparison h3{font-family:inherit;font-size:1rem;margin:16px 10px 10px}.mixture-particle-comparison svg{display:block;width:100%;height:auto;background:radial-gradient(ellipse,#304947,#172124)}.mixture-particle-comparison p{padding:12px 10px;margin:0!important;font-size:.84rem}.mixture-particle-comparison figcaption{grid-column:1/-1;color:var(--v2-muted);font-size:.86rem;line-height:1.65}
.mixture-lesson #mix14-identity .mole-lab-image img{max-height:none}.mixture-mass-control{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:16px 0;font-weight:650}.mixture-mass-control select{font:inherit;min-height:44px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:7px;background:var(--v2-surface);color:var(--v2-text)}.mixture-mass-control select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:600px){.mixture-particle-comparison{grid-template-columns:1fr}.mixture-particle-comparison svg{max-height:210px}.mixture-mass-control select{width:100%}}
.composition-ratio-visual{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:22px;margin:24px 0;border:1px solid var(--v2-border);border-radius:12px;overflow:hidden;background:var(--v2-surface)}.composition-ratio-visual img{display:block;width:100%;height:auto}.composition-ratio-visual figcaption{padding:18px 18px 18px 0;font-size:.89rem;line-height:1.65;color:var(--v2-muted)}.composition-ratio-visual h3{margin:0 0 12px;color:var(--v2-text);font-size:1.1rem}.composition-ratio-visual p{margin:10px 0}
.composition-formula-chain{display:flex;align-items:center;gap:12px;padding:20px 15px;margin:22px 0;background:var(--v2-surface);border:1px solid var(--v2-border);border-radius:12px;text-align:center}.composition-formula-chain>div{flex:1}.composition-formula-chain small{display:block;color:var(--v2-muted);margin-bottom:8px;font-size:.8rem}.composition-formula-chain strong{display:block;font-size:1.15rem}.composition-formula-chain>span{font-size:1.5rem;color:var(--v2-muted)}
.composition-percent{margin:20px 0;padding:18px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}.composition-percent h4{margin:0 0 14px;font-size:1rem}.composition-percent-track{display:flex;height:24px;border-radius:5px;overflow:hidden}.composition-percent-track span:first-child{background:#bd790c}.composition-percent-track span:last-child{background:#bc597e}.composition-percent p{margin:10px 0 0!important;font-size:.9rem}
@media(max-width:600px){.composition-ratio-visual{grid-template-columns:1fr;gap:0}.composition-ratio-visual figcaption{padding:18px}.composition-formula-chain{flex-direction:column}.composition-formula-chain>span{transform:rotate(90deg)}}
.isotope-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.isotope-pair>div{border-radius:12px;overflow:hidden;border:1px solid var(--v2-border);text-align:center;background:var(--v2-surface)}.isotope-pair svg{display:block;width:100%;height:auto;max-height:240px;background:radial-gradient(ellipse at center,#334242,#191c21)}.isotope-pair h3{margin:15px 10px 8px;color:var(--v2-text);font-size:1.2rem}.isotope-pair p{margin:0 10px 18px;font-size:.9rem}.isotope-pair figcaption{grid-column:1/-1;font-size:.86rem;line-height:1.65;color:var(--v2-muted)}.isotope-lesson h3{color:var(--v2-text)}.isotope-lesson .mole-data-table-wrap table{font-size:.9rem}
@media(max-width:600px){.isotope-pair{grid-template-columns:1fr}}
.isotope-comparison>div{background:var(--v2-surface)}.isotope-comparison h3{display:flex;align-items:center;justify-content:center;gap:14px;margin:0;padding:18px 16px;font-family:inherit;font-size:1rem}.isotope-comparison h3>span{font-size:1.85rem;font-weight:750;line-height:1.1}.isotope-comparison svg{max-height:none;background:radial-gradient(ellipse at 43% 44%,#344844 0%,#1b2829 42%,#141d20 100%)}.isotope-comparison dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px}.isotope-comparison dl>div{padding:11px 5px;border-radius:8px;background:rgba(205,163,73,.07)}.isotope-comparison dt{font-size:.76rem;color:var(--v2-muted);margin-bottom:6px}.isotope-comparison dd{margin:0;font-size:1.8rem;font-weight:700;color:var(--v2-text);line-height:1.1}.isotope-comparison dd small{display:block;min-height:2.1em;margin-top:6px;font-size:.73rem;font-weight:450;line-height:1.45;color:var(--v2-muted)}.isotope-comparison dl .isotope-added-neutron{background:rgba(77,169,157,.14);outline:1px solid rgba(77,169,157,.5)}.isotope-comparison .isotope-mass-total{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:12px 16px 17px;border-top:1px solid var(--v2-border);font-size:.86rem}.isotope-comparison .isotope-mass-total strong{font-size:1rem}
.mole-data{margin:28px 0;padding-top:22px;border-top:1px solid var(--v2-border)}
.mole-data-control{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;font-weight:650;margin-top:22px}.mole-data-control output{color:var(--v2-text);font-variant-numeric:tabular-nums}.mole-data-control input{width:100%;min-height:44px;accent-color:var(--gold)}
.mole-data input:focus-visible,.mole-data-table-wrap:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.mole-data-note{font-size:.85rem;color:var(--v2-muted);margin-top:3px!important}
.mole-data-chart{margin:22px 0;background:var(--v2-surface);border:1px solid var(--v2-border);border-radius:12px;padding:18px}
.mole-data-chart h4{font-size:1.05rem;color:var(--v2-text);margin:0 0 12px}.mole-data-chart svg{display:block;width:100%;height:auto;overflow:visible}.mole-data-chart svg text{font-family:inherit;font-size:14px;fill:var(--v2-text)}
.mole-plot-grid{stroke:var(--v2-border);stroke-width:1}.mole-plot-axis{fill:none;stroke:var(--v2-muted);stroke-width:1.5}.mole-plot-guide{stroke:var(--v2-muted);stroke-width:1;stroke-dasharray:4 5}.mole-plot-point{stroke:var(--v2-surface);stroke-width:2}
.mole-chart-key{display:flex;flex-wrap:wrap;gap:14px;list-style:none;padding:0;margin:8px 0 16px;font-size:.85rem}.mole-chart-key li{display:flex;align-items:center;gap:7px}.mole-chart-key span{display:block;width:22px;border-top:3px solid var(--line-color)}.mole-chart-key .mole-key-dashed{border-top-style:dashed}.mole-chart-key li:last-child span{border-top-style:dotted}
.mole-data-chart figcaption{font-size:.86rem;line-height:1.65;color:var(--v2-muted)}
.mole-data-table-wrap{overflow-x:auto;margin:22px 0;border:1px solid var(--v2-border);border-radius:10px}.mole-data .mole-data-table{min-width:510px;font-size:.88rem;font-variant-numeric:tabular-nums;margin:0}.mole-data-table caption{padding:13px 14px}.mole-data-table th,.mole-data-table td{padding:12px!important}.mole-data-table th small{display:block;font-weight:400;color:var(--v2-muted)}.mole-data-table th{color:var(--v2-text)!important}.mole-data-takeaway{border-left:3px solid var(--gold);padding:12px 16px;background:rgba(205,163,73,.07)}
@media(max-width:600px){.mole-data-chart{padding:12px 6px}.mole-data-chart h4,.mole-data-chart figcaption,.mole-chart-key{padding-left:6px;padding-right:6px}}

/* Topic 1.1 visual lesson: real-world scale, particle scale, and conversion. */
.mole-lab-image{margin:23px 0 25px;overflow:hidden;border-radius:12px;background:var(--v2-surface)}
.mole-lab-image img{display:block;width:100%;height:auto;max-height:360px;object-fit:cover;object-position:center 58%}
.mole-lab-image figcaption{padding:14px 18px;font-size:.86rem;line-height:1.65;color:var(--v2-muted)}
.mole-art-model .mole-model-row{gap:16px}
.mole-art-model .mole-model-row>div{padding:0;overflow:hidden;text-align:left;background:var(--v2-surface)}
.mole-art-model img{display:block;width:100%;height:auto;aspect-ratio:700/769;object-fit:contain;background:#202020}
.mole-art-label{padding:16px 18px}
.mole-art-label h3,.mole-lattice h3{margin:0 0 8px;font-size:1.2rem;color:var(--v2-text)}
.mole-art-label p{margin:0!important;font-size:.9rem}
.mole-lattice{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:22px;margin:28px 0;padding:0;border-radius:12px;overflow:hidden;background:var(--v2-surface);border:1px solid var(--v2-border)}
.mole-lattice img{display:block;width:100%;height:auto}
.mole-lattice figcaption{padding:18px 20px 18px 0;color:var(--v2-muted);font-size:.88rem;line-height:1.65}
.mole-lattice figcaption p{margin:8px 0}.mole-key{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:3px}.mole-key-na{background:#d6a74b}.mole-key-cl{background:#4da99d}
.mole-conversion{margin:24px 0;padding:22px 20px;border-radius:12px;background:var(--v2-surface);border:1px solid var(--v2-border)}
.mole-visual-eyebrow{margin:0!important;color:var(--v2-muted);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-weight:650}
.mole-visual-route{gap:8px;align-items:stretch;margin:18px 0}
.mole-visual-route>div{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:16px 9px;min-width:0;border:0;border-radius:9px;background:rgba(205,163,73,.08)}
.mole-visual-route .mole-step{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--v2-muted)}
.mole-visual-route>div>b{font-size:1.06rem;color:var(--v2-text)}
.mole-visual-route>div>small{line-height:1.5;color:var(--v2-muted)}
.mole-visual-route .mole-connection{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:.66;color:var(--v2-text)}
.mole-connection>b{font-size:1.55rem}.mole-connection small{line-height:1.5}
.mole-conversion figcaption{color:var(--v2-muted);font-size:.85rem;line-height:1.65}
@media(max-width:600px){.mole-lab-image img{max-height:none;aspect-ratio:3/2}.mole-art-model .mole-model-row{gap:20px}.mole-art-model img{max-height:none}.mole-lattice{grid-template-columns:1fr;gap:0}.mole-lattice figcaption{padding:18px}.mole-conversion{padding:18px 14px}.mole-visual-route{gap:10px}.mole-visual-route>div{padding:18px 12px}.mole-visual-route .mole-connection>b{transform:rotate(90deg)}.mole-visual-route .mole-connection small{font-size:.85rem}}
/* Exact-count teaching artwork for Unit 1 Learn sections. */
.unit1-learning-art { margin: 26px 0 20px; border: 1px solid var(--v2-border); border-radius: 18px; overflow: hidden; background: var(--v2-surface); }
.unit1-art-heading { padding: 20px 22px 12px; }
.unit1-art-heading > span { color: var(--v2-muted); font-size: .76rem; text-transform: uppercase; letter-spacing: .1em; }
.unit1-art-heading h3 { margin: 6px 0 0; font-size: 1.2rem; line-height: 1.35; }
.unit1-art-stage { background: radial-gradient(ellipse at 50% 25%, #253c50, #111e2c 75%); display: grid; place-items: center; padding: 14px 12px; }
.unit1-art-stage svg { width: 100%; max-width: 480px; height: auto; display: block; }
.unit1-learning-art figcaption { padding: 16px 22px 6px; font-size: .88rem; line-height: 1.6; color: var(--v2-muted); }
.unit1-art-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 18px 22px; }
.unit1-art-facts > div { border-top: 2px solid #328c89; padding-top: 12px; }
.unit1-art-facts strong, .unit1-art-facts span { display: block; }
.unit1-art-facts strong { font-size: 1rem; line-height: 1.5; }
.unit1-art-facts span { margin-top: 5px; font-size: .9rem; color: var(--v2-muted); line-height: 1.55; }
.unit1-learning-art .unit1-art-conclusion { margin: 0; padding: 14px 22px 22px; font-size: .95rem; line-height: 1.65; }
.unit1-average-track { display: flex; align-items: center; gap: 12px; margin: 12px 22px 14px; font-size: .9rem; }
.unit1-average-track > div { position: relative; flex: 1; height: 8px; background: linear-gradient(to right, #d1a148, #328c89); border-radius: 8px; }
.unit1-average-track b { position: absolute; top: -5px; width: 18px; height: 18px; border: 3px solid var(--v2-text); border-radius: 50%; background: #328c89; transform: translateX(-50%); }
.unit1-midpoint { position: absolute; left: 50%; top: -4px; width: 2px; height: 16px; background: var(--v2-muted); }
.unit1-mass-scene { background: radial-gradient(ellipse at 35% 25%, #253c50, #111e2c 75%); color: #f3f6fa; padding: 26px; display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 30px; }
.unit1-mass-sample > strong { display: block; margin-bottom: 14px; text-align: center; font-size: 1rem; }
.unit1-mass-stack { height: 350px; display: flex; flex-direction: column; border-radius: 12px; overflow: hidden; box-shadow: 8px 12px 24px #02091388; border: 1px solid #fff3; }
.unit1-salt-mass { flex: 3 1 0%; min-height: 0; background: linear-gradient(125deg,#e8c982,#b18a3e); color: #152a32; display: flex; flex-direction: column; }
.unit1-salt-mass > span { padding: 9px 8px 6px; text-align: center; font-weight: 700; }
.unit1-salt-mass > div { flex: 1; display: flex; }
.unit1-salt-mass b { display: grid; place-content: center; text-align: center; line-height: 1.3; font-size: .88rem; }
.unit1-salt-mass b:first-child { width: 60.6605%; background: #204f5233; }
.unit1-salt-mass b:last-child { flex: 1; border-left: 1px solid #16272c66; }
.unit1-sand-mass { flex: 7 1 0%; min-height: 0; display: grid; place-items: center; background: linear-gradient(135deg,#bcb3a4,#776d60); box-shadow: inset 0 2px #16272c; color: #15252c; font-weight: 700; }
.unit1-learning-art .unit1-mass-scene strong { color: #f3f6fa; }
.unit1-marker-steps { display: flex; flex-direction: column; justify-content: space-between; gap: 22px; }
.unit1-marker-steps > div { border-left: 2px solid #83cdc6; padding-left: 16px; }
.unit1-marker-steps span { display: block; color: #a6c9d4; font-size: .8rem; margin-bottom: 7px; }
.unit1-marker-steps strong { display: block; font-size: 1rem; line-height: 1.5; }
.unit1-marker-steps p { margin: 7px 0 0; color: #d0dbe4; font-size: .9rem; line-height: 1.6; }
@media (max-width: 600px) {
  .unit1-art-heading { padding: 18px 16px 12px; }
  .unit1-art-facts { grid-template-columns: 1fr; gap: 14px; padding: 14px 16px; }
  .unit1-learning-art figcaption, .unit1-learning-art .unit1-art-conclusion { padding-left: 16px; padding-right: 16px; }
  .unit1-average-track { margin-left: 16px; margin-right: 16px; }
  .unit1-mass-scene { grid-template-columns: 1fr; padding: 22px 16px; gap: 26px; }
  .unit1-mass-sample { width: 180px; margin: auto; }
  .unit1-mass-stack { height: 300px; }
}
/* Topic 1.5 diagrams keep labels and orbital arrows readable at phone widths. */
.atom15-orbital-art { margin:22px 0; border:1px solid var(--v2-border); border-radius:16px; overflow:hidden; background:var(--v2-surface); }
.atom15-orbital-art img { display:block; width:100%; height:auto; }
.atom15-art-labels { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:16px 20px; text-align:center; }
.atom15-art-labels strong,.atom15-art-labels span { display:block; }
.atom15-art-labels span { font-size:.9rem; line-height:1.5; color:var(--v2-muted); margin-top:5px; }
.atom15-orbital-art figcaption { padding:0 20px 18px; color:var(--v2-muted); font-size:.86rem; line-height:1.6; }
.atom15-hierarchy,.atom15-species-model { border:1px solid var(--v2-border); border-radius:14px; padding:20px; margin:22px 0; background:var(--v2-surface); }
.atom15-lesson select { font:inherit; min-height:44px; max-width:100%; padding:8px 12px; border:1px solid var(--v2-border); border-radius:7px; background:var(--v2-surface); color:var(--v2-text); }
.atom15-lesson select:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.atom15-hierarchy > div:first-child { margin-bottom:18px; }
.atom15-hierarchy small,.atom15-hierarchy strong { display:block; }
.atom15-hierarchy > div:nth-child(2),.atom15-config-row { display:flex; flex-wrap:wrap; gap:20px; margin:18px 0; }
.atom15-orbital-group > span { display:block; margin-bottom:8px; color:var(--v2-muted); font-size:.9rem; }
.atom15-orbital-group > div { display:flex; gap:5px; }
.atom15-orbital-group b { display:grid; place-items:center; width:40px; height:44px; border:1px solid #328c89; border-radius:6px; background:rgba(50,140,137,.09); font-family:Arial,sans-serif; font-size:24px; color:var(--v2-text); letter-spacing:-2px; }
.atom15-filling-path,.atom15-hund,.atom15-force-visual { margin:24px 0; }
.atom15-filling-path > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:16px 0; }
.atom15-filling-path > div > span { border-top:2px solid #328c89; padding:12px; border-radius:0 0 8px 8px; background:var(--v2-surface); }
.atom15-filling-path small { display:block; color:var(--v2-muted); margin-bottom:7px; }
.atom15-filling-path strong { font-size:1.15rem; }
.atom15-hund > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.atom15-hund > div > div { padding:16px 12px; background:var(--v2-surface); border:1px solid var(--v2-border); border-radius:12px; }
.atom15-hund .atom15-orbital-group { margin:12px 0; }
.atom15-hund > div > div > span { font-size:.88rem; color:var(--v2-muted); }
.atom15-filling-path figcaption,.atom15-hund figcaption,.atom15-force-visual figcaption { font-size:.88rem; line-height:1.6; color:var(--v2-muted); margin-top:15px; }
.atom15-shell-bars { max-width:430px; }
.atom15-shell-bars > div { display:flex; align-items:center; gap:12px; margin:10px 0; }
.atom15-shell-bars span { flex:0 0 45px; font-size:.9rem; }
.atom15-shell-bars i { display:block; width:calc(var(--shell-count) * 16px); height:15px; background:linear-gradient(90deg,#328c89,#81cdc1); border-radius:5px; }
.atom15-force-visual > div { padding:18px; background:radial-gradient(ellipse at 45% 35%,#253c50,#111e2c); color:#f3f6fa; border-radius:10px; margin:10px 0; }
.atom15-force-visual > div > span { display:block; color:#c4dbe5; margin-bottom:15px; }
.atom15-lesson .atom15-force-visual strong { color:#f3f6fa; }
.atom15-charge-pair { display:flex; align-items:center; max-width:320px; gap:7px; margin-bottom:18px; }
.atom15-charge-pair b { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; flex-shrink:0; background:radial-gradient(circle at 30% 25%,#ffedb7,#ba8837); color:#182c35; font-size:1.4rem; }
.atom15-charge-pair b:last-child { background:radial-gradient(circle at 30% 25%,#d9fff5,#328c89); }
.atom15-charge-pair i { display:block; width:80px; height:2px; background:#b8d6e8; }
.atom15-charge-pair.atom15-far i { width:160px; }
@media(max-width:600px) {
 .atom15-art-labels { gap:10px; padding:14px 12px; }
 .atom15-art-labels span { font-size:.82rem; }
 .atom15-hund > div { grid-template-columns:1fr; }
 .atom15-hund > div > div { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
 .atom15-hund .atom15-orbital-group { margin:0; }
 .atom15-hund .atom15-orbital-group > span { display:none; }
 .atom15-filling-path > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .atom15-hierarchy,.atom15-species-model { padding:16px; }
 .atom15-orbital-group b { width:36px; }
 .atom15-shell-bars i { width:calc(var(--shell-count) * 10px); }
}
.atom15-block-guide { margin:30px 0; padding-top:24px; border-top:1px solid var(--v2-border); scroll-margin-top:24px; }
.atom15-block-figure { margin:22px 0; }
.atom15-block-scroll { overflow-x:auto; border-radius:14px; background:#101b2b; }
.atom15-block-scroll img { width:100%; min-width:760px; height:auto; display:block; }
.atom15-block-scroll:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.atom15-block-figure figcaption { color:var(--v2-muted); font-size:.88rem; line-height:1.6; margin-top:12px; }
.atom15-table-route { padding:20px; border:1px solid var(--v2-border); border-radius:12px; background:var(--v2-surface); margin:20px 0; }
.atom15-route-steps { display:flex; flex-wrap:wrap; gap:12px; margin:18px 0; }
.atom15-route-steps > span { flex:1 1 120px; padding:12px; border-top:2px solid #328c89; background:rgba(50,140,137,.08); }
.atom15-route-steps small,.atom15-route-steps strong { display:block; }
.atom15-route-steps small { margin-bottom:8px; color:var(--v2-muted); }
.atom15-route-steps .atom15-route-stop { border-color:var(--gold); background:rgba(205,163,73,.1); }

/* Topic 1.6 photoelectron spectroscopy lesson */
.pes16-figure{margin:22px 0}.pes16-figure figcaption{font-size:.86rem;line-height:1.6;color:var(--v2-muted);margin-top:10px}
.pes16-scroll{overflow-x:auto;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.pes16-scroll:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.pes16-svg{display:block;width:100%;min-width:540px;height:auto}
.pes16-budget{display:block;width:100%;max-width:640px;height:auto;margin:0 auto;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.pes16-axis{stroke:var(--text-secondary);stroke-width:1.4;fill:none}
.pes16-tick{stroke:var(--text-secondary);stroke-width:1}
.pes16-grid{stroke:var(--v2-border);stroke-width:1;stroke-dasharray:2 4}
.pes16-ticklabel{fill:var(--text-secondary);font:12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.pes16-axislabel{fill:var(--text-secondary);font:600 12.5px 'Inter',system-ui,sans-serif}
.pes16-peak{fill:rgba(205,163,73,.38);stroke:var(--gold);stroke-width:1.6}
.pes16-peak-b{fill:rgba(93,173,226,.16);stroke:#5DADE2;stroke-width:1.4;stroke-dasharray:5 3}
.pes16-peaklabel{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.pes16-callout{fill:var(--gold-light);font:italic 600 12px 'Inter',system-ui,sans-serif}
.pes16-label{fill:var(--text-primary);font:700 13.5px 'Inter',system-ui,sans-serif}
.pes16-small{fill:var(--text-secondary);font:12px 'Inter',system-ui,sans-serif}
.pes16-free{stroke:var(--text-secondary);stroke-width:1.2;stroke-dasharray:6 5}
.pes16-level{stroke:var(--gold);stroke-width:3}
.pes16-electron{fill:var(--gold-light);stroke:var(--gold-dark);stroke-width:1.5}
.pes16-photon{fill:none;stroke:#5DADE2;stroke-width:2.2}
.pes16-photonline,.pes16-bracket{stroke:#5DADE2;stroke-width:2}
.pes16-bracket{stroke-dasharray:3 4;opacity:.55}
.pes16-be{stroke:var(--gold);stroke-width:3}.pes16-be-text{fill:var(--gold-light)}
.pes16-ke{stroke:#4CAF50;stroke-width:3}.pes16-ke-text{fill:#4CAF50}
.pes16-arrowhead{fill:var(--text-secondary)}
.pes16-photo img{max-height:320px}
.pes16-explorer{margin:22px 0;padding:16px;border:1px solid rgba(205,163,73,.35);border-radius:12px;background:rgba(205,163,73,.05)}
.pes16-controls{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.pes16-controls label{display:flex;flex-direction:column;gap:5px;font-weight:650;min-width:180px;flex:1 1 180px}
.pes16-controls select{font:inherit;min-height:42px;padding:8px 10px;border:1px solid var(--gold-dark);border-radius:7px;background:var(--bg-dark);color:var(--text-primary)}
.pes16-legend{display:flex;gap:16px;margin:10px 2px 0;font-size:.86rem;color:var(--text-secondary)}
.pes16-legend span{display:inline-flex;align-items:center;gap:7px}
.pes16-key{display:inline-block;width:22px;height:10px;border:1.6px solid var(--gold);background:rgba(205,163,73,.38);border-radius:2px}
.pes16-key-b{border:1.4px dashed #5DADE2;background:rgba(93,173,226,.16)}
.pes16-readout{margin-top:12px;padding:12px 14px;border-left:3px solid var(--gold);background:rgba(205,163,73,.08);line-height:1.65;font-variant-numeric:tabular-nums}
[data-theme="light"] .pes16-peak{fill:rgba(168,131,42,.28)}
@media(prefers-reduced-motion:no-preference){.pes16-peak{transition:d .45s cubic-bezier(.25,1,.5,1)}}
@media(max-width:600px){.pes16-explorer{padding:12px}.pes16-controls label{min-width:0}}

/* Shared Unit 1 plot styles (Topics 1.7, 1.8) */
.l1-svg{display:block;width:100%;min-width:540px;height:auto}
.l1-map{min-width:600px}.l1-sizes{min-width:560px}.l1-succ{min-width:420px;max-width:620px;margin:0 auto}.ion18-ratio{min-width:0;max-width:620px;margin:0 auto}
.l1-axis{stroke:var(--text-secondary);stroke-width:1.4;fill:none}
.l1-grid{stroke:var(--v2-border);stroke-width:1;stroke-dasharray:2 4}
.l1-tick{fill:var(--text-secondary);font:12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.l1-axislabel{fill:var(--text-secondary);font:600 12.5px 'Inter',system-ui,sans-serif}
.l1-band{fill:rgba(205,163,73,.05)}.l1-band-alt{fill:rgba(205,163,73,.11)}
.l1-bandlabel{fill:var(--text-secondary);font:600 11px 'Inter',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.l1-line{fill:none;stroke:var(--gold);stroke-width:2}
.l1-dot{fill:var(--gold-light);stroke:var(--bg-dark);stroke-width:1.5}
.l1-dot.g1{fill:var(--gold-dark)}.l1-dot.g18{fill:var(--bg-dark);stroke:var(--gold-light);stroke-width:2}
.l1-dot.is-sel{fill:#5DADE2;stroke:var(--text-primary);stroke-width:2}
.l1-sym{fill:var(--text-secondary);font:600 11px 'Inter',system-ui,sans-serif}.l1-sym.is-sel{fill:#5DADE2;font-weight:800}
.l1-maphead{fill:var(--text-secondary);font:700 12px 'Inter',system-ui,sans-serif}
.l1-mapval{fill:var(--gold-light);font:600 12px 'Inter',system-ui,sans-serif}
.l1-cell{fill:rgba(205,163,73,.1);stroke:rgba(205,163,73,.45);stroke-width:1}
.l1-cell.g1,.l1-cell.g2{fill:rgba(205,163,73,.2)}.l1-cell.g18{fill:rgba(93,173,226,.12);stroke:rgba(93,173,226,.5)}
.l1-cellsym{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.l1-cellz{fill:var(--text-secondary);font:11px 'Inter',system-ui,sans-serif}
.l1-atom{fill:rgba(205,163,73,.22);stroke:var(--gold);stroke-width:1.5}
.l1-atom.cation{fill:rgba(93,173,226,.2);stroke:#5DADE2}.l1-atom.anion{fill:rgba(231,76,60,.16);stroke:#E57373}
.l1-atomsym{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.l1-atomsub{fill:var(--text-secondary);font:12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.l1-bar{fill:rgba(205,163,73,.45);stroke:var(--gold);stroke-width:1.2}.l1-bar.core{fill:rgba(93,173,226,.28);stroke:#5DADE2}
.l1-barval{fill:var(--text-primary);font:600 12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.l1-jump{stroke:#5DADE2;stroke-width:1.5;stroke-dasharray:5 4}
.l1-callout{fill:var(--gold-light);font:italic 600 12px 'Inter',system-ui,sans-serif}
.l1-note{font-size:.9rem;color:var(--v2-muted);border-left:3px solid var(--v2-border);padding-left:12px}
.l1-seg{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.l1-seg button{font:600 .85rem/1.2 'Inter',system-ui,sans-serif;min-height:40px;padding:8px 12px;border:1px solid var(--gold-dark);border-radius:8px;background:var(--bg-card);color:var(--text-primary);cursor:pointer}
.l1-seg button[aria-pressed="true"]{background:var(--gold);color:#171310}
/* Topic 1.8 */
.ion18-sym{fill:var(--text-primary);font:700 30px 'Inter',system-ui,sans-serif}
.ion18-plus{fill:var(--text-secondary);font:700 26px 'Inter',system-ui,sans-serif}
.ion18-charge{fill:var(--gold-light);font:700 20px 'Inter',system-ui,sans-serif}
.ion18-dot{fill:var(--text-primary)}.ion18-dot.moving,.ion18-dot.gained{fill:#5DADE2}
.ion18-hop{fill:none;stroke:#5DADE2;stroke-width:1.8;stroke-dasharray:5 4}
.ion18-bracket{fill:none;stroke:var(--text-primary);stroke-width:1.8}
.ion18-q{font:800 15px 'Inter',system-ui,sans-serif}.ion18-q.pos{fill:#5DADE2}.ion18-q.neg{fill:#E57373}.ion18-q.zero{fill:var(--text-secondary)}
.ion18-cell{stroke-width:1}.ion18-cell.pos{fill:rgba(93,173,226,.16);stroke:rgba(93,173,226,.55)}.ion18-cell.neg{fill:rgba(231,76,60,.13);stroke:rgba(229,115,115,.55)}.ion18-cell.neutral{fill:rgba(205,163,73,.07);stroke:var(--v2-border)}
.ion18-ion.cat{fill:rgba(93,173,226,.22);stroke:#5DADE2;stroke-width:1.6}.ion18-ion.an{fill:rgba(231,76,60,.16);stroke:#E57373;stroke-width:1.6}
.ion18-ionlab{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.ion18-buildtitle{margin:0 0 10px!important}
.ion18-formula{font-size:1.15em;color:var(--gold-light)}
/* full periodic table */
.l1-map{min-width:700px}
.l1-cell.bs{fill:rgba(205,163,73,.22);stroke:rgba(205,163,73,.6)}
.l1-cell.bp{fill:rgba(76,175,80,.15);stroke:rgba(102,187,106,.55)}
.l1-cell.bd{fill:rgba(93,173,226,.14);stroke:rgba(93,173,226,.5)}
.l1-cell.bf{fill:rgba(186,104,200,.16);stroke:rgba(186,104,200,.55)}
.l1-cell.is-data{stroke:var(--text-primary);stroke-width:1.6}
.l1-map .l1-cellsym{font-size:14px}.l1-map .l1-cellz{font-size:9.5px}
.l1-mapval-d{fill:#5DADE2}
.l1-legend{fill:var(--text-primary);font:600 12px 'Inter',system-ui,sans-serif}
.l1-legend-note{fill:var(--text-secondary);font-weight:400;font-size:11.5px}
.l1-fmark{stroke:#BA68C8;stroke-width:3;stroke-linecap:round}
.l1-el:hover .l1-cell{stroke:var(--gold-light);stroke-width:2}
.l1-cellsub{fill:var(--text-primary);font:700 10.5px 'Inter',system-ui,sans-serif}
.l1-cell.ion-pos{fill:rgba(93,173,226,.2);stroke:rgba(93,173,226,.6)}
.l1-cell.ion-neg{fill:rgba(231,76,60,.16);stroke:rgba(229,115,115,.6)}
.l1-cell.ion-zero{fill:rgba(205,163,73,.06);stroke:var(--v2-border)}
.l1-cell.ion-tm{fill:rgba(186,104,200,.08);stroke:rgba(186,104,200,.3)}
.l1-cell.ion-none{fill:rgba(205,163,73,.05);stroke:var(--v2-border)}
/* legacy electron-configuration builder: periods 5–7 shown, never filled */
.ptable-cell.out-of-scope.beyond-lab{opacity:.24!important}
/* Topic 1.2: spectrometer schematic and real-element spectra */
.iso12-peak{stroke:var(--gold);stroke-width:7}
.iso12-peak.iso12-b10{stroke:#bd790c}.iso12-peak.iso12-b11{stroke:#168e85}
.iso12-path{fill:none;stroke-width:3}.iso12-path.iso12-b10{stroke:#bd790c}.iso12-path.iso12-b11{stroke:#168e85}
.iso12-beam{stroke:var(--text-secondary);stroke-width:3}
.iso12-box{fill:rgba(205,163,73,.1);stroke:rgba(205,163,73,.5)}
.iso12-plate{stroke:var(--text-secondary);stroke-width:4;stroke-linecap:round}
.iso12-field{fill:rgba(93,173,226,.07);stroke:rgba(93,173,226,.45);stroke-dasharray:6 5}
.iso12-t10{fill:#d39a2f;font:600 12px 'Inter',system-ui,sans-serif}.iso12-t11{fill:#3fb3a8;font:600 12px 'Inter',system-ui,sans-serif}
.iso12-instrument{min-width:640px}.iso12-spectrum{min-width:420px;max-width:620px;margin:0 auto}
/* Topic 1.4: impurity number line */
.mix14-zone{fill:rgba(205,163,73,.08)}
.mix14-measured{stroke:#5DADE2;stroke-width:2;stroke-dasharray:5 4}
.mix14-measured-t{fill:#5DADE2;font:600 12px 'Inter',system-ui,sans-serif}
.mix14-dot{stroke:var(--bg-dark);stroke-width:1.5}.mix14-main{fill:var(--text-primary)}.mix14-yes{fill:var(--gold)}.mix14-no{fill:var(--text-muted)}
.mix14-impurity{min-width:560px}

/* ---------- Topic 2.1 Learn (ced-topic21-learn.js) ---------- */
.b21-map{min-width:600px}
.l1-cell.b21-cell.en-none{fill:rgba(136,128,120,.08);stroke:rgba(136,128,120,.35)}
.l1-cell.b21-cell.en-1{fill:rgba(93,173,226,.14);stroke:rgba(93,173,226,.5)}
.l1-cell.b21-cell.en-2{fill:rgba(93,173,226,.3);stroke:rgba(93,173,226,.6)}
.l1-cell.b21-cell.en-3{fill:rgba(205,163,73,.22);stroke:rgba(205,163,73,.6)}
.l1-cell.b21-cell.en-4{fill:rgba(231,76,60,.22);stroke:rgba(231,76,60,.55)}
.l1-cell.b21-cell.en-5{fill:rgba(231,76,60,.45);stroke:rgba(231,76,60,.8)}
.b21-models,.b21-clouds,.b21-mols,.b21-cont{min-width:620px}
.b21-pair{min-width:0;max-width:460px;margin:0 auto}
.b21-ion.cat{fill:rgba(93,173,226,.22);stroke:#5DADE2;stroke-width:1.6}.b21-ion.an{fill:rgba(231,76,60,.16);stroke:#E57373;stroke-width:1.6}
.b21-ionlab{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.b21-atom{fill:rgba(205,163,73,.18);stroke:var(--gold);stroke-width:1.5}.b21-atom.o{fill:rgba(231,76,60,.16);stroke:#E57373}
.b21-sym{fill:var(--text-primary);font:700 16px 'Inter',system-ui,sans-serif}
.b21-cloud{fill:rgba(93,173,226,.16);stroke:rgba(93,173,226,.55);stroke-width:1.2}.b21-cloud.big{fill:rgba(93,173,226,.13)}
.b21-e{fill:#5DADE2}
.b21-sea{fill:rgba(93,173,226,.07);stroke:rgba(93,173,226,.35);stroke-width:1;stroke-dasharray:4 3}
.b21-delta{fill:var(--gold-light);font:700 15px 'Inter',system-ui,sans-serif}
.b21-dipole{fill:none;stroke:var(--gold-light);stroke-width:2.2}.b21-dipole.net{stroke:#E57373;stroke-width:2.6}
.b21-bond{stroke:var(--text-secondary);stroke-width:2.2}
.b21-band{stroke:none}.b21-band.np{fill:rgba(93,173,226,.28)}.b21-band.pc{fill:rgba(205,163,73,.3)}.b21-band.io{fill:rgba(231,76,60,.3)}
.b21-pin{stroke:var(--text-secondary);stroke-width:1.2}
.b21-pinlab{fill:var(--text-primary);font:600 11.5px 'Inter',system-ui,sans-serif}
.b21-buildtitle{margin:0 0 10px!important}
.b21-model{color:var(--gold-light)}

/* ---------- Topic 2.2 Learn (ced-topic22-learn.js) ---------- */
.b22-svg{min-width:620px}.b22-bars{min-width:600px}
.b22-zone.rep{fill:rgba(231,76,60,.06)}.b22-zone.att{fill:rgba(93,173,226,.06)}
.b22-zonelab{fill:var(--text-secondary);font:italic 600 12px 'Inter',system-ui,sans-serif}
.b22-curve{fill:none;stroke:var(--gold);stroke-width:2.6;stroke-linejoin:round}.b22-curve.c1{stroke:var(--gold)}.b22-curve.c2{stroke:#5DADE2}.b22-curve.c3{stroke:#E57373}
.b22-min{fill:var(--gold-light);stroke:var(--bg-dark);stroke-width:1.5}.b22-min.c2{fill:#5DADE2}.b22-min.c3{fill:#E57373}
.b22-note{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif}.b22-note.c2{fill:#9ED0F0}.b22-note.c3{fill:#F0A090}
.b22-guide{stroke:var(--text-secondary);stroke-width:1;stroke-dasharray:4 3}
.b22-brace{stroke:#5DADE2;stroke-width:2.2}
.b22-ah{fill:#5DADE2}
.b22-note.blue{fill:#9ED0F0}
.b22-marker{fill:#5DADE2;stroke:var(--bg-dark);stroke-width:2}
.b22-atom{fill:rgba(205,163,73,.25);stroke:var(--gold);stroke-width:1.5}
.b22-buildtitle{margin:0 0 10px!important}
.b22-win{color:var(--gold-light)}
.b22-lesson input[type=range]{width:100%;min-width:180px;accent-color:var(--gold)}

/* ---------- Topic 2.3 Learn (ced-topic23-learn.js) ---------- */
.b23-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:760px){.b23-pair{grid-template-columns:1fr}}
.b23-pair .pes16-figure{margin:10px 0}
.b23-layer,.b23-block,.b23-nb{min-width:0;max-width:420px;margin:0 auto}
.b23-explorebox{max-width:460px;margin:0 auto}
.b23-shear,.b23-cond,.b23-mp{min-width:620px}
.b23-ion.cat{fill:rgba(93,173,226,.28);stroke:#5DADE2;stroke-width:1.4}.b23-ion.an{fill:rgba(231,76,60,.2);stroke:#E57373;stroke-width:1.4}
.b23-lab{fill:var(--text-primary);font:700 11px 'Inter',system-ui,sans-serif}
.b23-att{stroke:var(--gold);stroke-width:2}.b23-rep{stroke:#E57373;stroke-width:1.6;stroke-dasharray:4 3}
.b23-note{font:600 12px 'Inter',system-ui,sans-serif}.b23-note.att{fill:var(--gold-light)}.b23-note.rep{fill:#F0A090}
.b23-crack{stroke:#E57373;stroke-width:2.4;stroke-dasharray:7 4}
.b23-push{fill:none;stroke:var(--gold-light);stroke-width:2.2}
.b23-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.15));stroke-width:1}
.b23-move{stroke:var(--text-secondary);stroke-width:1.2}
.b23-water{fill:rgba(93,173,226,.35)}
.b23-bulb{fill:rgba(136,128,120,.25);stroke:var(--text-secondary);stroke-width:1.2}.b23-bulb.on{fill:#F2BF5E;stroke:#FFE09A;filter:drop-shadow(0 0 6px rgba(242,191,94,.9))}
.b23-buildtitle{margin:0 0 10px!important}
.b23-edge{stroke:rgba(255,255,255,.18);stroke-width:1}

/* ---------- Topic 2.4 Learn (ced-topic24-learn.js) ---------- */
.b24-svg{min-width:620px}.b24-explore{min-width:0;max-width:560px;margin:0 auto}
.b24-sea{fill:rgba(93,173,226,.07);stroke:rgba(93,173,226,.35);stroke-width:1;stroke-dasharray:4 3}
.b24-core{fill:rgba(205,163,73,.22);stroke:var(--gold);stroke-width:1.4}.b24-core.other{fill:rgba(231,76,60,.22);stroke:#E57373}
.b24-corelab{fill:var(--text-primary);font:700 10px 'Inter',system-ui,sans-serif}
.b24-small{fill:rgba(93,173,226,.5);stroke:#5DADE2;stroke-width:1.2}
.b24-e{fill:#5DADE2}
.b24-drift{stroke:#5DADE2;stroke-width:1.2}
.b24-pole{fill:var(--gold-light);font:800 20px 'Inter',system-ui,sans-serif}
.b24-push{fill:none;stroke:var(--gold-light);stroke-width:2.2}
.b24-note{font:600 12px 'Inter',system-ui,sans-serif}.b24-note.ok{fill:var(--gold-light)}.b24-note.bad{fill:#F0A090}
.b24-buildtitle{margin:0 0 10px!important}
.b24-type{color:var(--gold-light)}

/* ---------- Lewis renderer (ced-unit2-lewis.js) and Topics 2.5–2.7 ---------- */
.lw-svg{display:block;width:100%;height:auto}
.lw-sym{fill:var(--text-primary);font:700 22px 'Inter',system-ui,sans-serif}
.lw-bond{stroke:var(--text-primary);stroke-width:2.2;stroke-linecap:round}
.lw-dot{fill:var(--gold-light)}.lw-dot.single{fill:#E57373}
.lw-bracket{fill:none;stroke:var(--text-secondary);stroke-width:1.8}
.lw-charge{fill:var(--gold-light);font:700 16px 'Inter',system-ui,sans-serif}
.lw-label{fill:var(--text-secondary);font:600 12px 'Inter',system-ui,sans-serif}
.lw-fcring{fill:rgba(0,0,0,.35);stroke-width:1.4}.lw-fcring.pos{stroke:#5DADE2}.lw-fcring.neg{stroke:#E57373}
.lw-fc{font:800 11px 'Inter',system-ui,sans-serif}.lw-fc.pos{fill:#9ED0F0}.lw-fc.neg{fill:#F0A090}
.lw-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-items:start;margin:14px 0}
.lw-fig{margin:0}.lw-fig figcaption{font-size:.84rem;line-height:1.5;color:var(--v2-muted);margin-top:6px}
.lw-fig.is-best .lw-box{border-color:rgba(205,163,73,.6)}
.lw-box{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px}
.b25-stepnav{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.b25-stepbtn{min-width:42px;min-height:42px;border:1px solid var(--gold-dark);border-radius:8px;background:var(--bg-dark);color:var(--text-primary);font:700 1rem 'Inter',system-ui,sans-serif;cursor:pointer}
.b25-stepbtn[aria-pressed=true]{background:var(--gold);color:#1a1a1a}
.b25-stage{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:14px;align-items:start}@media (max-width:700px){.b25-stage{grid-template-columns:1fr}}
.b25-stage .pes16-readout{margin-top:0}
.b25-countcard{display:grid;place-items:center;min-height:200px;font:700 2.2rem 'Inter',system-ui,sans-serif;color:var(--gold-light)}
.b26-pair{grid-template-columns:1fr auto 1fr;align-items:center}@media (max-width:700px){.b26-pair{grid-template-columns:1fr}}
.b26-arrow{text-align:center;font-size:2rem;color:var(--gold-light)}
.b26-len{min-width:600px}
.b26-verdict{margin-top:10px}
.b27-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:14px 0}
.b27-fig{margin:0;text-align:center}.b27-fig figcaption{font-size:.82rem;line-height:1.45;color:var(--v2-muted);margin-top:6px}
.b27-box{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:4px}
.b27-shape{display:block;width:100%;max-width:260px;height:auto;margin:0 auto}
.b27-bond{stroke:var(--text-primary);stroke-width:2.2;stroke-linecap:round}
.b27-wedge{fill:var(--text-primary)}.b27-dash{stroke:var(--text-primary);stroke-width:2}
.b27-cen{fill:rgba(205,163,73,.25);stroke:var(--gold);stroke-width:1.6}.b27-censym{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.b27-lig{fill:rgba(93,173,226,.2);stroke:#5DADE2;stroke-width:1.4}.b27-ligsym{fill:var(--text-primary);font:700 11px 'Inter',system-ui,sans-serif}
.b27-lobe{fill:rgba(231,76,60,.18);stroke:#E57373;stroke-width:1.2}
.b27-orb{fill:rgba(205,163,73,.2);stroke:var(--gold);stroke-width:1.4}.b27-orb.pz{fill:rgba(93,173,226,.18);stroke:#5DADE2}.b27-orb.back{opacity:.45}
.b27-pi{fill:none;stroke:#5DADE2;stroke-width:1.6;stroke-dasharray:4 3}
.b27-hyb,.b27-sp{min-width:620px}
.b27-stage{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:14px;align-items:start}@media (max-width:700px){.b27-stage{grid-template-columns:1fr}}
.b27-stage .pes16-readout{margin-top:0}
.b23-wire{fill:none;stroke:var(--text-secondary);stroke-width:1.6}
.b23-ray{stroke:#FFE09A;stroke-width:1.6;stroke-linecap:round}
.b23-beaker{fill:none;stroke:var(--text-secondary);stroke-width:1.6;stroke-linejoin:round}
.b23-liquid{fill:rgba(93,173,226,.06)}.b23-liquid.melt{fill:rgba(242,191,94,.1)}.b23-liquid.aq{fill:rgba(93,173,226,.12)}
.b23-rod{fill:#6b6560;stroke:#8d8680;stroke-width:1}
.b23-pole{font:800 15px 'Inter',system-ui,sans-serif}.b23-pole.neg{fill:#9ED0F0}.b23-pole.pos{fill:#F0A090}
.b23-drift{fill:none;stroke:var(--gold-light);stroke-width:1.6;stroke-linecap:round}

/* ---------- Topic 3.1 Learn (ced-topic31-learn.js) ---------- */
.c31-ii{min-width:0;max-width:640px;margin:0 auto}
.c31-ldf,.c31-bpe,.c31-shape,.c31-dd,.c31-hyd,.c31-id{min-width:620px}
.c31-net{min-width:0;max-width:640px;margin:0 auto}
.c31-cov{stroke:var(--text-primary);stroke-width:3;stroke-linecap:round}
.c31-o{fill:rgba(231,76,60,.32);stroke:#E57373;stroke-width:1.5}
.c31-h{fill:rgba(240,236,228,.22);stroke:#CFC8BE;stroke-width:1.3}
.c31-w.mid .c31-o{fill:rgba(231,76,60,.5);stroke:#F0A090;stroke-width:2}
.c31-sym{fill:var(--text-primary);font:700 12px 'Inter',system-ui,sans-serif}
.c31-hb{stroke:var(--gold-light);stroke-width:2.2;stroke-dasharray:3 4;stroke-linecap:round}
.c31-call{fill:none;stroke:var(--text-secondary);stroke-width:1;stroke-dasharray:2 3}
.c31-note{font:600 12.5px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c31-note.cov{fill:var(--text-primary)}.c31-note.hb{fill:var(--gold-light)}
.c31-note.nob,.c31-ptlab.nob,.c31-note.c15,.c31-ptlab.c15{fill:#9ED0F0}
.c31-note.hal,.c31-ptlab.hal,.c31-note.c17,.c31-ptlab.c17{fill:var(--gold-light)}
.c31-note.c16,.c31-ptlab.c16{fill:#F0A090}.c31-note.c14,.c31-ptlab.c14{fill:#C9C2B8}
.c31-cloud{fill:rgba(93,173,226,.16);stroke:rgba(93,173,226,.55);stroke-width:1.2}
.c31-nuc{fill:var(--gold-light)}
.c31-delta{font:700 14px 'Inter',system-ui,sans-serif}.c31-delta.neg{fill:#F0A090}.c31-delta.pos{fill:#9ED0F0}
.c31-grid{stroke:rgba(255,255,255,.07);stroke-width:1}
.c31-line{fill:none;stroke-width:2.2;stroke-linejoin:round}
.c31-line.nob,.c31-line.c15{stroke:#5DADE2}.c31-line.hal,.c31-line.c17{stroke:var(--gold)}.c31-line.c16{stroke:#E57373}.c31-line.c14{stroke:#A8A097}
.c31-pt{stroke:var(--bg-dark);stroke-width:1.5}
.c31-pt.nob,.c31-pt.c15{fill:#5DADE2}.c31-pt.hal,.c31-pt.c17{fill:var(--gold-light)}.c31-pt.c16{fill:#E57373}.c31-pt.c14{fill:#A8A097}
.c31-ptlab{font:600 11.5px 'Inter',system-ui,sans-serif}
.c31-c{fill:rgba(168,160,151,.28);stroke:#A8A097;stroke-width:1.3}
.c31-contact{fill:rgba(205,163,73,.5)}
.c31-touch{fill:var(--gold-light)}
.c31-pmol{fill:rgba(255,255,255,.04);stroke:var(--text-secondary);stroke-width:1.2}
.c31-pos{fill:rgba(93,173,226,.4);stroke:#5DADE2;stroke-width:1.2}.c31-neg{fill:rgba(231,76,60,.35);stroke:#E57373;stroke-width:1.2}
.c31-ion.cat{fill:rgba(93,173,226,.3);stroke:#5DADE2;stroke-width:1.6}.c31-ion.an{fill:rgba(205,163,73,.25);stroke:var(--gold);stroke-width:1.6}
.c31-buildtitle{margin:0 0 10px!important}
.c31-win{color:var(--gold-light)}
.c31-dense{fill:rgba(93,173,226,.22)}
.c31-surf{fill:rgba(168,160,151,.14);stroke:#A8A097;stroke-width:1.4}
.c31-cdot{fill:#C9C2B8}

/* ---------- Topic 3.2 Learn (ced-topic32-learn.js) ---------- */
.c32-four,.c32-carbon{min-width:620px}.c32-vp{min-width:0;max-width:640px;margin:0 auto}
.c32-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.15));stroke-width:1}
.c32-ion.cat{fill:rgba(93,173,226,.28);stroke:#5DADE2;stroke-width:1.3}.c32-ion.an{fill:rgba(231,76,60,.2);stroke:#E57373;stroke-width:1.3}
.c32-plus{fill:var(--text-primary);font:700 11px 'Inter',system-ui,sans-serif}
.c32-atom{fill:rgba(168,120,200,.28);stroke:#B98AD6;stroke-width:1.2}.c32-atom.net{fill:rgba(168,160,151,.35);stroke:#C9C2B8}
.c32-imf{stroke:var(--gold-light);stroke-width:1.6;stroke-dasharray:2 3}
.c32-sea{fill:rgba(93,173,226,.07);stroke:rgba(93,173,226,.35);stroke-width:1;stroke-dasharray:4 3}
.c32-e{fill:#5DADE2}
.c32-bond{stroke:#C9C2B8;stroke-width:2.4;stroke-linecap:round}
.c32-cell{stroke:rgba(255,255,255,.2);stroke-width:1;stroke-dasharray:3 3}
.c32-cbond{stroke:#C9C2B8;stroke-width:2.6;stroke-linecap:round}
.c32-c{fill:#5b5650;stroke:#E2DBD1;stroke-width:1.4}.c32-c.in{fill:#7d766d}
.c32-gap{stroke:var(--gold-light);stroke-width:1.8;stroke-dasharray:4 3}
.c32-note{font:600 12px 'Inter',system-ui,sans-serif}.c32-note.gap{fill:var(--gold-light)}
.c32-buildtitle{margin:0 0 10px!important}.c32-buildtitle span{color:var(--text-secondary);font-weight:500;font-size:.9em}
.c32-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 12px}
.c32-dl div{border:1px solid var(--v2-border,rgba(255,255,255,.15));border-radius:10px;padding:10px 12px;background:rgba(255,255,255,.02)}
.c32-dl dt{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}
.c32-dl dd{margin:4px 0 0;color:var(--text-primary);font-weight:600}
.c32-choices{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.c32-choice{min-height:42px;padding:0 14px;border:1px solid var(--gold-dark);border-radius:8px;background:var(--bg-dark);color:var(--text-primary);font:600 .95rem 'Inter',system-ui,sans-serif;cursor:pointer}
.c32-choice.right{background:rgba(93,173,130,.25);border-color:#6FCF97}.c32-choice.wrong{background:rgba(231,76,60,.2);border-color:#E57373}
.c32-ok{color:#6FCF97}.c32-no{color:#F0A090}

/* ---------- Topic 3.3 Learn (ced-topic33-learn.js) ---------- */
.c33-three,.c33-ca{min-width:600px}.c33-cubes{min-width:0;max-width:560px;margin:0 auto}
.c33-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.15));stroke-width:1}
.c33-p{fill:rgba(93,173,226,.3);stroke:#5DADE2;stroke-width:1.3}.c33-p.small{fill:rgba(93,173,226,.35)}
.c33-move{stroke:var(--gold-light);stroke-width:1.6}.c33-ahead{fill:var(--gold-light)}
.c33-link{stroke:rgba(201,194,184,.55);stroke-width:1.6}
.c33-cube{fill:rgba(93,173,226,.12);stroke:#5DADE2;stroke-width:1.4;stroke-linejoin:round}.c33-cube.ice{fill:rgba(220,235,245,.2);stroke:#CFE3F0}.c33-cube.gas{fill:rgba(205,163,73,.07);stroke:var(--gold);stroke-dasharray:5 4}
.c33-cubelab{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c33-buildtitle{margin:0 0 10px!important}
.c33-play{min-height:42px;padding:0 16px;border:1px solid var(--gold-dark);border-radius:8px;background:var(--bg-dark);color:var(--text-primary);font:600 .95rem 'Inter',system-ui,sans-serif;cursor:pointer;align-self:end}
.c33-play[aria-pressed=true]{background:var(--gold);color:#1a1a1a}
.c33-stage{max-width:560px;margin:10px auto}
.c33-sim{display:block;width:100%;height:auto}
.c33-simbox{fill:rgba(0,0,0,.25);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c33-sp{fill:rgba(93,173,226,.45);stroke:#9ED0F0;stroke-width:1.2}
.c33-lesson input[type=range]{width:100%;min-width:180px;accent-color:var(--gold)}
.c33-cube.top{fill-opacity:.6}.c33-cube.side{fill-opacity:.35}

/* ---------- Topic 3.4 Learn (ced-topic34-learn.js) ---------- */
.c34-four,.c34-abs,.c34-dalton{min-width:600px}.c34-cyl{min-width:560px}
.c34-curve{fill:none;stroke:var(--gold);stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.c34-extrap{stroke:var(--gold);stroke-width:2;stroke-dasharray:6 5;opacity:.75}
.c34-grid{stroke:rgba(255,255,255,.07);stroke-width:1}
.c34-pt{fill:var(--gold-light);stroke:var(--bg-dark);stroke-width:1.5}
.c34-zero{fill:#E57373;stroke:var(--bg-dark);stroke-width:1.5}
.c34-note{fill:var(--gold-light);font:600 12.5px 'Inter',system-ui,sans-serif}
.c34-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.15));stroke-width:1}
.c34-gp.a{fill:rgba(93,173,226,.5);stroke:#9ED0F0}.c34-gp.b{fill:rgba(231,76,60,.45);stroke:#F0A090}.c34-gp.c{fill:rgba(205,163,73,.55);stroke:var(--gold-light)}
.c34-gp{stroke-width:1.2}
.c34-op{fill:var(--text-secondary);font:700 22px 'Inter',system-ui,sans-serif}
.c34-buildtitle{margin:0 0 10px!important}
.c34-stage{margin:10px 0}
.c34-wall{fill:rgba(255,255,255,.02);stroke:var(--text-secondary);stroke-width:2}
.c34-gas{fill:rgba(93,173,226,.08)}
.c34-piston{fill:#6b6560;stroke:#a39b92;stroke-width:1.2}.c34-piston.fixed{fill:#8d8680}
.c34-rod{stroke:#a39b92;stroke-width:5;stroke-linecap:round}
.c34-dot{fill:color-mix(in srgb,#E57373 calc(var(--heat,0) * 100%),#5DADE2);stroke:none}
.c34-mark{fill:var(--gold-light);stroke:var(--bg-dark);stroke-width:2}
.c34-lesson input[type=range]{width:100%;min-width:160px;accent-color:var(--gold)}

/* ---------- MolArt shared particle style (ced-molart.js) ---------- */
.ma-lab{fill:#fff;font-weight:700;font-family:'Inter',system-ui,sans-serif;paint-order:stroke;stroke:rgba(0,0,0,.35);stroke-width:2px}
.ma-lab.dk{fill:#1d1b19;stroke:rgba(255,255,255,.25)}
.ma-stick{stroke:url(#ma-stick);stroke-linecap:round}.ma-stick-o{stroke:rgba(0,0,0,.55);stroke-linecap:round}
.ma-imf{stroke:var(--gold-light);stroke-width:2.2;stroke-dasharray:2.5 4.5;stroke-linecap:round}
.ma-delta{font:700 15px 'Inter',system-ui,sans-serif}.ma-delta.neg{fill:#FF8A7A}.ma-delta.pos{fill:#8EB8FF}
.ma-e{fill:#FFE27A;stroke:#7a5d10;stroke-width:.8}
.ma-nuc{fill:#F2BF5E}
.c31-contact{stroke:var(--gold-light);stroke-width:2.4;stroke-dasharray:2.5 4.5;stroke-linecap:round}
.ma-nuc{fill:#E0703A;stroke:#5a2410;stroke-width:1}
.ma-nuclab{fill:#fff;font:700 9px 'Inter',system-ui,sans-serif}
.ma-e{fill:#EAF7FF;stroke:#1b3b52;stroke-width:1}
/* shaded spheres for generic particles (MolArt gradients) */
.c33-p,.c33-p.small,.c33-sp{fill:url(#ma-part);stroke:#1d4f73;stroke-width:.8}
.c34-gp.a{fill:url(#ma-part);stroke:#1d4f73}.c34-gp.b{fill:url(#ma-rose);stroke:#6b2430}.c34-gp.c{fill:url(#ma-gold);stroke:#5e4512}
/* Units 1–2 particle drawings in the shared shaded-sphere style (charge colors: cation blue, anion red) */
.b23-ion.cat,.b21-ion.cat{fill:url(#ma-pos);stroke:#173a73;stroke-width:1}.b23-ion.an,.b21-ion.an{fill:url(#ma-neg);stroke:#6b1d12;stroke-width:1}
.b23-lab,.b21-ionlab{paint-order:stroke;stroke:rgba(0,0,0,.35);stroke-width:2px}
.b24-core{fill:url(#ma-gold);stroke:#5e4512;stroke-width:1}.b24-core.other{fill:url(#ma-rose);stroke:#6b2430}
.b24-small{fill:url(#ma-C);stroke:#2b2b2b;stroke-width:1}
.b24-e,.b21-e{fill:#EAF7FF;stroke:#1b3b52;stroke-width:.8}
.b22-atom{fill:url(#ma-gold);stroke:#5e4512;stroke-width:1}
.l1-atom{fill:url(#ma-gold);stroke:#5e4512;stroke-width:1}.l1-atom.cation{fill:url(#ma-pos);stroke:#173a73}.l1-atom.anion{fill:url(#ma-neg);stroke:#6b1d12}
.l1-atomsym,.ion18-ionlab{paint-order:stroke;stroke:rgba(0,0,0,.4);stroke-width:2.5px}
.ion18-ion.cat{fill:url(#ma-pos);stroke:#173a73;stroke-width:1}.ion18-ion.an{fill:url(#ma-neg);stroke:#6b1d12;stroke-width:1}

/* ---------- Topic 3.5 Learn (ced-topic35-learn.js) ---------- */
.c35-boxfig{min-width:600px}.c35-plot,.c35-tube-fig{min-width:620px}
.c35-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c35-vel{stroke:var(--gold-light);stroke-width:1.5}.c35-ahead{fill:var(--gold-light)}
.c35-hit{fill:none;stroke:#F0A090;stroke-width:1.8;stroke-dasharray:4 3}.c35-flash{fill:#FFE09A}
.c35-grid{stroke:rgba(255,255,255,.06);stroke-width:1}
.c35-curve{fill:none;stroke-width:2.6;stroke-linejoin:round}.c35-curve.a{stroke:#5DADE2}.c35-curve.b{stroke:#E57373}.c35-curve.c{stroke:var(--gold)}.c35-curve.d{stroke:#B98AD6}
.c35-area.a{fill:rgba(93,173,226,.12)}.c35-area.b{fill:rgba(229,115,115,.1)}.c35-area.d{fill:rgba(185,138,214,.12)}
.c35-note{font:600 12.5px 'Inter',system-ui,sans-serif}.c35-note.a{fill:#9ED0F0}.c35-note.b{fill:#F0A090}.c35-note.c{fill:var(--gold-light)}.c35-note.d{fill:#D2B2E8}
.c35-mark{stroke-width:1.5;stroke-dasharray:3 3}.c35-mark.a{stroke:#9ED0F0}.c35-mark.d{stroke:#D2B2E8}
.c35-tube{fill:rgba(255,255,255,.03);stroke:rgba(220,230,240,.45);stroke-width:1.5}.c35-plug{fill:#EDEDED;stroke:#b8b0a6}
.c35-ring{fill:#F4F1EA;opacity:.9}
.c35-buildtitle{margin:0 0 10px!important}
.c35-lesson input[type=range]{width:100%;min-width:160px;accent-color:var(--gold)}

/* ---------- Topic 3.6 Learn (ced-topic36-learn.js) ---------- */
.c36-two{min-width:620px}.c36-plot{min-width:620px}
.c36-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c36-wall{stroke:var(--gold-light);stroke-width:3}
.c36-arrow{stroke:#F0A090;stroke-width:2}.c36-ahead{fill:#F0A090}
.c36-grid{stroke:rgba(255,255,255,.06);stroke-width:1}
.c36-ideal{stroke:var(--text-secondary);stroke-width:1.5;stroke-dasharray:6 5}
.c36-curve{fill:none;stroke-width:2.6;stroke-linejoin:round}
.c36-curve.g1{stroke:#C9E7F5}.c36-curve.g2{stroke:#9ED0F0}.c36-curve.g3{stroke:#5DADE2}.c36-curve.g4{stroke:var(--gold)}.c36-curve.g5{stroke:#E57373}
.c36-note{font:600 12px 'Inter',system-ui,sans-serif}.c36-note.ideal{fill:var(--text-secondary)}
.c36-note.g1{fill:#C9E7F5}.c36-note.g2{fill:#9ED0F0}.c36-note.g3{fill:#7FC0EA}.c36-note.g4{fill:var(--gold-light)}.c36-note.g5{fill:#F0A090}
.c36-dot{fill:var(--gold-light);stroke:var(--bg-dark);stroke-width:2}
.c36-buildtitle{margin:0 0 10px!important}
.c36-lesson input[type=range]{width:100%;min-width:160px;accent-color:var(--gold)}

/* ---------- Topic 3.7 Learn (ced-topic37-learn.js) ---------- */
.c37-phases,.c37-steps{min-width:620px}
.c37-box,.c37-pvbox{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c37-glass{fill:rgba(255,255,255,.035);stroke:rgba(220,230,240,.5);stroke-width:1.6}
.c37-sol{fill:rgba(46,118,214,.55)}.c37-sol.part{fill:rgba(46,118,214,.42)}
.c37-mark{stroke:#EDEDED;stroke-width:1.6}
.c37-bal{fill:#2b2724;stroke:rgba(255,255,255,.22)}.c37-pan{fill:#d8d2c8}
.c37-drop{fill:#9ED0F0}.c37-stop{fill:#cfd6dc;stroke:#8d969c}
.c37-turn{fill:none;stroke:var(--gold-light);stroke-width:1.6}.c37-ahead{fill:var(--gold-light)}
.c37-step{fill:var(--text-primary);font:700 12.5px 'Inter',system-ui,sans-serif}
.c37-calc-row{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:16px;align-items:start;margin-top:12px}
.c37-calc-row .pes16-readout{margin-top:0}
.c37-beaker .c37-pvsvg{width:100%;max-width:300px;min-width:0;display:block}
.c37-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c37-buildtitle{margin:0 0 10px!important}
.c37-lesson input[type=range]{width:100%;min-width:160px;accent-color:var(--gold)}
@media(max-width:600px){.c37-calc-row{grid-template-columns:1fr}.c37-pvsvg{margin:0 auto}}

/* ---------- Topic 3.8 Learn (ced-topic38-learn.js) ---------- */
.c38-hyd,.c38-ratio{min-width:620px}.c38-cmp,.c38-pvsvg{min-width:520px}
.c38-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c38-win{stroke:var(--v2-border,rgba(255,255,255,.22));stroke-width:1.5}
.c38-arrow{stroke:var(--gold-light);stroke-width:2}.c38-ahead{fill:var(--gold-light)}
.c38-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c38-buildtitle{margin:0 0 10px!important}
.c38-lesson input[type=range]{width:100%;min-width:160px;accent-color:var(--gold)}
.c37-warn{display:block;margin-top:8px;padding:8px 11px;border-left:3px solid #E57373;background:rgba(229,115,115,.08);color:var(--text-primary)}

/* ---------- Topic 3.9 Learn (ced-topic39-learn.js) ---------- */
.c39-filter,.c39-phases{min-width:600px}.c39-vapor{min-width:560px}.c39-tlc{min-width:420px;max-width:520px;display:block;margin:0 auto}
.c39-glass{fill:rgba(255,255,255,.035);stroke:rgba(220,230,240,.5);stroke-width:1.6}
.c39-paper{fill:rgba(240,236,226,.55)}.c39-sand{fill:#b8935a;stroke:#6e5634;stroke-width:.6}
.c39-filtrate{fill:rgba(150,190,230,.22)}.c39-drip{fill:#9ED0F0}
.c39-note{fill:var(--gold-light);font:600 12.5px 'Inter',system-ui,sans-serif}
.c39-zoomline{stroke:rgba(255,255,255,.25);stroke-dasharray:3 4}
.c39-zoom{fill:rgba(255,255,255,.02);stroke:var(--gold);stroke-width:1.5}
.c39-fiber{fill:#d8d1c2;stroke:#9c9384}
.c39-mobile{fill:rgba(120,170,230,.06);stroke:var(--v2-border,rgba(255,255,255,.18))}
.c39-silica{fill:rgba(255,255,255,.04)}
.c39-flow{stroke:var(--gold-light);stroke-width:2}.c39-ahead{fill:var(--gold-light)}
.c39-flask{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c39-surface{stroke:rgba(150,190,230,.55);stroke-width:2}
.c39-plate{fill:#f1ede4;stroke:#b9b2a4}.c39-wet{fill:rgba(130,150,170,.16)}
.c39-base{stroke:#6f6a62;stroke-width:1.2}.c39-front{stroke:#6f86a0;stroke-width:1.2;stroke-dasharray:5 4}
.c39-model{color:var(--text-secondary);font-size:.92em}
.c39-buildtitle{margin:0 0 10px!important}

/* ---------- Topic 3.10 Learn (ced-topic310-learn.js) ---------- */
.c310-trade,.c310-ionic,.c310-chain{min-width:600px}.c310-two{min-width:560px}.c310-beakersvg{min-width:420px;max-width:560px;display:block;margin:0 auto}
.c310-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c310-grid{stroke:rgba(255,255,255,.07)}
.c310-bar{fill:var(--gold);opacity:.85}.c310-bar.mis{fill:#5DADE2}
.c310-glass{fill:rgba(255,255,255,.03);stroke:rgba(220,230,240,.5);stroke-width:1.6}
.c310-layer{fill:rgba(240,220,150,.35)}.c310-boundary{stroke:rgba(255,255,255,.5);stroke-width:1.2}
.c310-xtal{fill:#e9e4da;stroke:#8f897e;stroke-width:.6}
.c310-buildtitle{margin:0 0 10px!important}

/* ---------- Topic 3.11 Learn (ced-topic311-learn.js) ---------- */
.c311-spec,.c311-mot{min-width:620px}.c311-wheel{min-width:540px}
.c311-band{stroke:#14110f;stroke-width:1}
.c311-band.gam{fill:#3b2a4f}.c311-band.xr{fill:#4a3a6e}.c311-band.uv{fill:#5f47a3}.c311-band.vis{fill:url(#c311-vis)}.c311-band.ir{fill:#7a2b22}.c311-band.mw{fill:#55402a}.c311-band.rad{fill:#3a3328}
.c311-bandlab{fill:#f4efe6;font:600 11.5px 'Inter',system-ui,sans-serif}
.c311-zoom{fill:none;stroke:rgba(255,255,255,.3);stroke-dasharray:3 3}.c311-tick{stroke:rgba(255,255,255,.4)}
.c311-hot{fill:var(--gold-light)}
.c311-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c311-level{stroke-width:2}.c311-level.mw{stroke:#c9a46a}.c311-level.ir{stroke:#e57373}.c311-level.el{stroke:#9ED0F0}
.c311-rot,.c311-vib,.c311-jump{fill:none;stroke:var(--gold-light);stroke-width:2}.c311-ahead{fill:var(--gold-light)}
.c311-hole{fill:none;stroke:#9ED0F0;stroke-dasharray:2 2}.c311-photon{fill:none;stroke:#7FD07F;stroke-width:2}
.c311-wlab{fill:var(--text-secondary);font:600 11.5px 'Inter',system-ui,sans-serif}
.c311-row,.c312-row{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:16px;align-items:start;margin-top:12px}
.c311-row .pes16-readout,.c312-row .pes16-readout{margin-top:0}
.c311-anim .c311-scene{width:100%;min-width:0;display:block}
.c311-sw,.c312-sw{display:inline-block;width:14px;height:14px;border-radius:3px;vertical-align:-2px;margin-right:6px;border:1px solid rgba(255,255,255,.35)}
.c311-buildtitle{margin:0 0 10px!important}

/* ---------- Topic 3.12 Learn (ced-topic312-learn.js) ---------- */
.c312-waves{min-width:600px}.c312-strip{min-width:560px}
.c312-brace{fill:none;stroke:var(--text-secondary);stroke-width:1.2}
.c312-lv{stroke:rgba(255,255,255,.4);stroke-width:2}.c312-lv.on{stroke:var(--gold-light);stroke-width:3}.c312-lv.zero{stroke-dasharray:4 4}
.c312-row .c312-levels{width:100%;min-width:0;display:block}
.c312-buildtitle{margin:0 0 10px!important}

/* ---------- Topic 3.13 Learn (ced-topic313-learn.js) ---------- */
.c313-inst,.c313-cells,.c313-spec,.c313-cal{min-width:580px}
.c313-part{fill:rgba(255,255,255,.04);stroke:var(--v2-border,rgba(255,255,255,.22))}
.c313-white{stroke:#f4f1ea;stroke-width:4}.c313-prism{fill:rgba(220,235,245,.12);stroke:rgba(220,235,245,.6)}
.c313-slit{fill:#6b655c}
.c313-cuv{fill:rgba(255,255,255,.03);stroke:rgba(220,230,240,.55);stroke-width:1.6}
.c313-sol{fill:rgba(190,40,140,.45)}.c313-beam{fill:rgba(90,220,110,.10)}
.c313-grid{stroke:rgba(255,255,255,.07)}
.c313-curve{fill:none;stroke:#D26AB4;stroke-width:2.6}
.c313-max{stroke:var(--gold-light);stroke-dasharray:4 4}.c313-note{fill:var(--gold-light);font:600 12.5px 'Inter',system-ui,sans-serif}
.c313-dot,.c313-unk{fill:var(--gold-light);stroke:var(--bg-dark);stroke-width:2}
.c313-fit{stroke:#9ED0F0;stroke-width:2}.c313-std{fill:#D26AB4;stroke:var(--bg-dark);stroke-width:2}
.c313-read{stroke:var(--gold-light);stroke-dasharray:4 4}
.c313-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.c313-buildtitle{margin:0 0 10px!important}
.c39-lesson input[type=range],.c311-lesson input[type=range],.c313-lesson input[type=range]{width:100%;min-width:160px;accent-color:var(--gold)}
@media(max-width:600px){.c311-row,.c312-row{grid-template-columns:1fr}}

/* ---------- Topic 4.1 Learn (ced-topic41-learn.js) ---------- */
.c41-chg{min-width:620px}
.c41-box,.c42-box,.c43-box,.c44-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c41-arrow,.c42-arrow,.c43-arrow,.c44-arrow,.c45-arrow{stroke:var(--gold-light);stroke-width:2;fill:none}
.c41-ahead,.c42-ahead,.c43-ahead,.c44-ahead,.c45-ahead{fill:var(--gold-light)}
.c41-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:14px 0}
.c41-sign{border:1px solid var(--v2-border);border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c41-sign h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c41-sign p{margin:0;color:var(--text-secondary)}
.c41-table{min-width:620px}
.c41-buildtitle{margin:0 0 6px!important}.c41-see{margin:0 0 12px}
.c41-btns{display:flex;flex-wrap:wrap;gap:10px}
.c41-btns .ced-topic-button.is-right{background:rgba(110,200,140,.18);border-color:#6EC88C;color:var(--text-primary)}
.c41-btns .ced-topic-button.is-wrong{background:rgba(229,115,115,.15);border-color:#E57373;color:var(--text-primary)}
.c41-btns .ced-topic-button:disabled{cursor:default}
.c41-nav{display:flex;align-items:center;gap:14px;margin-top:12px}
.c41-next{border:1px solid var(--gold-dark);background:transparent;color:var(--gold-light);border-radius:8px;padding:8px 14px;cursor:pointer}
.c41-next:hover{background:var(--gold);color:#171717}.c41-score{color:var(--text-secondary);font-size:.92em}

/* ---------- Topic 4.2 Learn (ced-topic42-learn.js) ---------- */
.c42-pv{min-width:620px}
.c42-plus{fill:var(--text-secondary);font:700 22px 'Inter',system-ui,sans-serif}
.c42-table{min-width:460px}
.c42-eqs{margin:12px 0;display:grid;gap:8px}
.c42-eqs p{margin:0;padding:10px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);overflow-x:auto;white-space:nowrap}
.c42-tag{display:inline-block;min-width:118px;margin-right:10px;color:var(--gold);font-weight:700;font-size:.85em;text-transform:uppercase;letter-spacing:.06em}
.c42-tag.c42-bad{color:#E57373}
.c42-spec{background:rgba(255,255,255,.08);color:var(--text-secondary);text-decoration:line-through;text-decoration-color:rgba(229,115,115,.75);border-radius:4px;padding:0 3px}
.c42-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:12px 0}
.c42-rules>div{border:1px solid var(--v2-border);border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c42-rules h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c42-rules ul{margin:0;padding-left:18px}
.c42-steps{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}
.c42-steps button{border:1px solid var(--gold-dark);background:var(--bg-card);color:var(--text-primary);border-radius:8px;padding:8px 14px;cursor:pointer}
.c42-steps button[aria-selected=true]{background:var(--gold);color:#171717}
.c42-show{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:rgba(0,0,0,.2);overflow-x:auto}
.c42-formname{margin:0 0 6px;color:var(--gold);font-weight:700;font-size:.85em;text-transform:uppercase;letter-spacing:.06em}
.c42-big{margin:0;font-size:1.08rem;white-space:nowrap}

/* ---------- Topic 4.3 Learn (ced-topic43-learn.js) ---------- */
.c43-water,.c43-ex{min-width:600px}.c43-zn,.c43-pvsvg{min-width:620px}
.c43-list{padding-left:20px}.c43-list li{margin:6px 0}
.c43-lesson input[type=range]{width:100%;min-width:160px;accent-color:var(--gold)}

/* ---------- Topic 4.4 Learn (ced-topic44-learn.js) ---------- */
.c44-two,.c44-dis{min-width:620px}.c44-chart{min-width:560px}
.c44-table{min-width:560px}
.c44-args{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:12px 0}
.c44-args>div{border:1px solid var(--v2-border);border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c44-args h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c44-args p{margin:0}
.c44-card{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:rgba(0,0,0,.2);margin-bottom:12px}
.c44-eq{margin:0 0 8px;font-size:1.05rem;color:var(--gold-light);overflow-x:auto;white-space:nowrap}
.c44-dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0}
.c44-dl dt{color:var(--text-secondary);font-size:.9em}.c44-dl dd{margin:0}
.c44-k{display:inline-block;padding:1px 8px;border-radius:999px;font-weight:700;font-size:.88em;margin-right:6px}
.c44-k.is-phys{background:rgba(110,170,230,.2);color:#9CC8F2}.c44-k.is-chem{background:rgba(230,150,90,.2);color:#F2B07E}.c44-k.is-gray{background:rgba(200,190,120,.2);color:#E6D58A}
.c44-grid{stroke:rgba(255,255,255,.12);stroke-width:1}
.c44-bar.is-phys{fill:rgba(110,170,230,.55)}.c44-bar.is-chem{fill:rgba(230,150,90,.6)}.c44-bar.is-gray{fill:rgba(200,190,120,.6)}
.c44-bar.is-sel{stroke:var(--gold-light);stroke-width:2}.c44-row.is-sel{fill:var(--gold-light);font-weight:700}
@media(max-width:600px){.c44-dl{grid-template-columns:1fr}}

/* ---------- Topic 4.5 Learn (ced-topic45-learn.js) ---------- */
.c45-map{min-width:680px}.c45-pvsvg{min-width:620px}
.c45-node{fill:var(--v2-surface,rgba(255,255,255,.04));stroke:var(--v2-border,rgba(255,255,255,.2));stroke-width:1.4}
.c45-node.is-mol{stroke:var(--gold);stroke-width:2}
.c45-nt{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.c45-at{fill:var(--gold-light);font:600 11px 'Inter',system-ui,sans-serif}
.c45-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c45-work p{margin:0 0 8px}.c45-work p:last-child{margin-bottom:0}.c45-work ul{margin:4px 0 8px}
.c45-glass{fill:rgba(255,255,255,.04);stroke:rgba(220,230,240,.55);stroke-width:1.8}
.c45-acid{fill:rgba(170,200,230,.22)}
.c45-mg{fill:#9A9EA6;stroke:#6E7178;stroke-width:.6}
.c45-neck{fill:#B3352F}.c45-balloon{fill:#D9443A;stroke:#8E2A24;stroke-width:1}
.c45-b.is-before{opacity:.45}.c45-b.is-mg{fill:#9A9EA6}.c45-b.is-hcl{fill:#7FB2F0}.c45-b.is-h2{fill:#E6D58A}
.c45-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c45-lesson input[type=range]{width:100%;min-width:160px;accent-color:var(--gold)}

/* ---------- Topic 4.6 Learn (ced-topic46-learn.js) ---------- */
.c46-setup,.c46-buret{min-width:560px}.c46-curve-svg{min-width:640px}.c46-views{min-width:660px}.c46-run{min-width:700px}
.c46-glass{fill:rgba(255,255,255,.04);stroke:rgba(220,230,240,.55);stroke-width:1.8}
.c46-titrant{fill:rgba(170,200,230,.22)}.c46-analyte{fill:rgba(190,215,240,.28)}
.c46-tick{stroke:rgba(220,230,240,.6);stroke-width:1}.c46-cock{fill:#B3B8C2}.c46-drop{fill:rgba(190,215,240,.7)}
.c46-tile{fill:#E9E6DF}.c46-clamp{fill:#8C9099}
.c46-meniscus{fill:none;stroke:rgba(220,230,240,.8);stroke-width:1.5}
.c46-arrow{stroke:var(--gold-light);stroke-width:2;fill:none}.c46-ahead{fill:var(--gold-light)}
.c46-plot{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.2}
.c46-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c46-curve{fill:none;stroke:var(--gold);stroke-width:2.4;stroke-linejoin:round}
.c46-eqline{stroke:#7FB2F0;stroke-width:1.4;stroke-dasharray:5 4}
.c46-dot{fill:#E6D58A;stroke:#171717;stroke-width:1.5}.c46-dt{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.c46-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c46-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c46-work p{margin:0 0 8px}.c46-work p:last-child{margin-bottom:0}.c46-work ul{margin:4px 0 8px}
.c46-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c46-lesson input[type=range]{width:100%;min-width:160px;accent-color:var(--gold)}
.c46-lesson .pes16-controls label{flex:1 1 200px}

/* ---------- Topic 4.7 Learn (ced-topic47-learn.js) ---------- */
.c47-three{min-width:664px}.c47-comb{min-width:600px}.c47-table{min-width:560px}
.c47-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c47-arrow{stroke:var(--gold-light);stroke-width:2;fill:none}.c47-ahead{fill:var(--gold-light)}
.c47-curve{fill:none;stroke:#7FB2F0;stroke-width:2}.c47-ecurve{fill:none;stroke:#E6D58A;stroke-width:2;stroke-dasharray:4 3}.c47-ehead{fill:#E6D58A}
.c47-tiny{fill:var(--text-secondary);font:11px 'Inter',system-ui,sans-serif}
.c47-plus{fill:var(--text-secondary);font:700 22px 'Inter',system-ui,sans-serif}
.c47-ox{fill:var(--text-secondary);font:600 12px 'Inter',system-ui,sans-serif}.c47-ox.is-up{fill:#F2B07E}.c47-ox.is-down{fill:#9CC8F2}
.c47-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:14px 0}
.c47-sign{border:1px solid var(--v2-border);border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c47-sign h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c47-sign p{margin:0;color:var(--text-secondary)}
.c47-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}.c47-work p{margin:0}
.c47-title{margin:0 0 6px!important}.c47-eq{margin:0 0 6px;font-size:1.08rem;color:var(--gold-light)}.c47-see{margin:0 0 12px;color:var(--text-secondary)}
.c47-btns{display:flex;flex-wrap:wrap;gap:10px}
.c47-btns .ced-topic-button.is-right{background:rgba(110,200,140,.18);border-color:#6EC88C;color:var(--text-primary)}
.c47-btns .ced-topic-button.is-wrong{background:rgba(229,115,115,.15);border-color:#E57373;color:var(--text-primary)}
.c47-btns .ced-topic-button:disabled{cursor:default}
.c47-nav{display:flex;align-items:center;gap:14px;margin-top:12px}
.c47-next{border:1px solid var(--gold-dark);background:transparent;color:var(--gold-light);border-radius:8px;padding:8px 14px;cursor:pointer}
.c47-next:hover{background:var(--gold);color:#171717}.c47-score{color:var(--text-secondary);font-size:.92em}

/* ---------- Topic 4.8 Learn (ced-topic48-learn.js) ---------- */
.c48-tr{min-width:540px}.c48-both{min-width:470px}.c48-sw{min-width:640px}.c48-table{min-width:560px}
.c48-arrow{stroke:var(--gold-light);stroke-width:2;fill:none}.c48-ahead{fill:var(--gold-light)}
.c48-curve{fill:none;stroke:#7FB2F0;stroke-width:2}.c48-pair{fill:none;stroke:rgba(205,163,73,.6);stroke-width:1.4;stroke-dasharray:4 3}
.c48-tiny{fill:var(--text-secondary);font:11px 'Inter',system-ui,sans-serif}
.c48-plus{fill:var(--text-secondary);font:700 22px 'Inter',system-ui,sans-serif}
.c48-eqarrow{fill:var(--gold-light);font:700 22px 'Inter',system-ui,sans-serif}
.c48-role{font:700 11px 'Inter',system-ui,sans-serif}.c48-role.is-acid{fill:#F2B07E}.c48-role.is-base{fill:#9CC8F2}
.c48-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c48-title{margin:0 0 6px!important}.c48-eq{margin:0 0 6px;font-size:1.12rem;color:var(--gold-light)}.c48-ask{margin:0 0 12px;color:var(--text-secondary)}
.c48-btns{display:flex;flex-wrap:wrap;gap:10px}
.c48-btns .ced-topic-button{font-size:1.05rem;min-width:110px}
.c48-btns .ced-topic-button.is-right{background:rgba(110,200,140,.18);border-color:#6EC88C;color:var(--text-primary)}
.c48-btns .ced-topic-button.is-wrong{background:rgba(229,115,115,.15);border-color:#E57373;color:var(--text-primary)}
.c48-btns .ced-topic-button:disabled{cursor:default}
.c48-k{display:inline-block;padding:1px 8px;border-radius:999px;font-weight:700;font-size:.92em}
.c48-k.is-acid{background:rgba(230,150,90,.2);color:#F2B07E}.c48-k.is-base{background:rgba(110,170,230,.2);color:#9CC8F2}
.c48-nav{display:flex;align-items:center;gap:14px;margin-top:12px}
.c48-next{border:1px solid var(--gold-dark);background:transparent;color:var(--gold-light);border-radius:8px;padding:8px 14px;cursor:pointer}
.c48-next:hover{background:var(--gold);color:#171717}.c48-score{color:var(--text-secondary);font-size:.92em}

/* ---------- Topic 4.9 Learn (ced-topic49-learn.js) ---------- */
.c49-surf{min-width:640px}.c49-grid{min-width:620px}
.c49-sol{fill:rgba(170,200,230,.1)}
.c49-arrow{stroke:var(--gold-light);stroke-width:2;fill:none}.c49-ahead{fill:var(--gold-light)}
.c49-ecurve{fill:none;stroke:#E6D58A;stroke-width:2;stroke-dasharray:4 3}.c49-ehead{fill:#E6D58A}
.c49-tiny{fill:var(--text-secondary);font:11px 'Inter',system-ui,sans-serif}
.c49-eqs{margin:12px 0;display:grid;gap:8px}
.c49-eqs p{margin:0;padding:10px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c49-tag{display:inline-block;min-width:118px;margin-right:10px;color:var(--gold);font-weight:700;font-size:.85em;text-transform:uppercase;letter-spacing:.06em}
.c49-steps{padding-left:22px}.c49-steps li{margin:6px 0}
.c49-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c49-work p{margin:0 0 8px}.c49-work ul{margin:0;padding-left:20px}.c49-work li{margin:4px 0}
.c49-note{color:var(--text-secondary);font-size:.9em;margin:8px 0 0}
.c49-grid td,.c49-grid th{text-align:center}.c49-grid th[scope=row]{text-align:left}
.c49-grid .c49-yes{background:rgba(110,200,140,.16);color:#9FE0B5}.c49-grid .c49-no{color:var(--text-secondary)}.c49-grid .c49-same{color:var(--text-secondary);font-style:italic}
.c49-skel{margin:0 0 10px;font-size:1.08rem;color:var(--gold-light)}
.c49-stepper{padding-left:22px;margin:0 0 12px}.c49-stepper li{margin:8px 0;line-height:1.6}
.c49-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.c49-ans{display:inline-flex;align-items:center;gap:8px}.c49-ans input{width:90px;padding:8px 10px;border:1px solid var(--v2-border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:16px}

/* ---------- Topic 5.1 Learn (ced-topic51-learn.js) ---------- */
.c51-n2o5,.c51-stoich{min-width:600px}.c51-monitor{min-width:580px}.c51-surface{min-width:580px}.c51-graph{min-width:510px}.c51-no2{min-width:600px}
.c51-plot{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.2}
.c51-curve{fill:none;stroke:var(--gold);stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.c51-curve.is-no2{stroke:#D9894A}.c51-curve.is-o2{stroke:#7FB2F0}.c51-curve.is-mass{stroke:#B9C2CC}.c51-curve.is-cv{stroke:#B07FE0}
.c51-lab{fill:var(--gold-light);font:700 13px 'Inter',system-ui,sans-serif}.c51-lab.is-no2{fill:#E6A574}.c51-lab.is-o2{fill:#9CC4F4}
.c51-pt{fill:var(--gold)}.c51-pt.is-no2{fill:#D9894A}.c51-pt.is-o2{fill:#7FB2F0}
.c51-mark{stroke:rgba(255,255,255,.35);stroke-width:1.2;stroke-dasharray:4 4}
.c51-sec{stroke:#7FB2F0;stroke-width:2.4;stroke-linecap:round}
.c51-secdot{fill:#7FB2F0;stroke:#171717;stroke-width:1.5}
.c51-tan{stroke:#E07A8A;stroke-width:2.4;stroke-linecap:round}
.c51-tandot{fill:#E07A8A;stroke:#171717;stroke-width:1.5}
.c51-tan0{stroke:var(--gold-light);stroke-width:2;stroke-dasharray:6 5}
.c51-leader{stroke:rgba(255,255,255,.45);stroke-width:1}
.c51-read{fill:none;stroke:#E07A8A;stroke-width:2}
.c51-leg{stroke:#7FB2F0;stroke-width:1.2;stroke-dasharray:3 4;opacity:.8}
.c51-legt{fill:#9CC4F4;font:600 12px 'Inter',system-ui,sans-serif}
.c51-ghost{fill:none;stroke:rgba(220,225,232,.5);stroke-width:2;stroke-dasharray:6 5}
.c51-hit{fill:rgba(0,0,0,0);pointer-events:all;cursor:ew-resize;touch-action:none}
.c51-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c51-tablewrap{overflow-x:auto;margin:14px 0;border:1px solid var(--v2-border);border-radius:10px}
.c51-tablewrap:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.c51-table{border-collapse:collapse;width:100%;min-width:520px;font-variant-numeric:tabular-nums}
.c51-table th,.c51-table td{padding:8px 10px;text-align:center;border-bottom:1px solid var(--v2-border)}
.c51-table th{text-align:left;white-space:nowrap;color:var(--gold-light)}.c51-table tbody tr:last-child>*{border-bottom:0}
.c51-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c51-work p{margin:0 0 8px}.c51-work p:last-child{margin-bottom:0}
.c51-factors li{margin-bottom:8px}
.c51-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c51-lesson input[type=range]{width:100%;min-width:140px;min-height:40px;accent-color:var(--gold)}
.c51-lesson .pes16-controls label{flex:1 1 170px}
.c51-btnrow{margin:0 0 12px}.c51-btnrow .ced-topic-button{min-height:44px;font-size:1rem}
.c51-btnrow .ced-topic-button[aria-pressed=true]{background:var(--gold);color:#171717}
.c51-stage{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.c51-appwrap{flex:0 1 300px;max-width:340px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c51-graphwrap{flex:1 1 440px;min-width:0}
.c51-app{min-width:0}
.c51-glass{fill:rgba(255,255,255,.04);stroke:rgba(220,230,240,.6);stroke-width:1.8}
.c51-acid{fill:rgba(170,200,230,.24)}
.c51-bath{fill:rgba(93,173,226,.12);stroke:rgba(93,173,226,.35);stroke-width:1.2}
.c51-chip{fill:#ECE8E0;stroke:#A9A398;stroke-width:.8}
.c51-bubble{fill:rgba(255,255,255,.18);stroke:rgba(235,242,250,.8);stroke-width:.9}
.c51-tube{fill:none;stroke:rgba(220,230,240,.6);stroke-width:4;stroke-linejoin:round}
.c51-stopper{fill:#5A4A3E}
.c51-gas{fill:rgba(205,163,73,.2)}
.c51-tick{stroke:rgba(220,230,240,.6);stroke-width:1}
.c51-plunger{fill:#C9CDD4;stroke:#7D828B;stroke-width:.8}
@media(max-width:600px){.c51-appwrap{flex:1 1 100%;max-width:none}.c51-graphwrap{flex:1 1 100%}.c51-graph{min-width:540px}}
.c51-lesson .pes16-controls select{font-size:16px}
.c51-lesson input[type=range]{font-size:16px}
.c51-stim{margin:14px 0;padding:12px 14px;border:1px solid var(--v2-border);border-left:3px solid var(--gold);border-radius:10px;background:var(--v2-surface)}
.c51-stim>p{margin:0 0 8px}.c51-stim .pes16-figure{margin:10px 0 0}
.c51-choices{margin:4px 0 12px;padding-left:2em}.c51-choices li{margin:0 0 6px;padding-left:4px}
.c51-choices li::marker{font-weight:700;color:var(--gold-light)}

/* ---------- Topic 5.2 Learn (ced-topic52-learn.js) ---------- */
.c52-cv,.c52-orders,.c52-run{min-width:600px}.c52-pairs{min-width:600px}
.c52-plot{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.2}
.c52-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c52-curve{fill:none;stroke:var(--gold);stroke-width:2.4;stroke-linejoin:round}
.c52-tan{fill:none;stroke:#7FB2F0;stroke-width:1.8;stroke-dasharray:6 4}
.c52-dot{fill:#E6D58A;stroke:#171717;stroke-width:1.5}
.c52-note{fill:var(--gold-light);font:600 12px 'Inter',system-ui,sans-serif}
.c52-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c52-ord{fill:none;stroke-width:2.4}.c52-ord.is-0{stroke:#9CC8F2}.c52-ord.is-1{stroke:#E6D58A}.c52-ord.is-2{stroke:#F2B07E}
.c52-odot{stroke:#171717;stroke-width:1.2}.c52-odot.is-0{fill:#9CC8F2}.c52-odot.is-1{fill:#E6D58A}.c52-odot.is-2{fill:#F2B07E}
.c52-otag{font:700 12.5px 'Inter',system-ui,sans-serif}.c52-otag.is-0{fill:#9CC8F2}.c52-otag.is-1{fill:#E6D58A}.c52-otag.is-2{fill:#F2B07E}
.c52-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;margin:14px 0}
.c52-methods>div{border:1px solid var(--v2-border);border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c52-methods h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c52-methods p{margin:0;color:var(--text-secondary)}
.c52-table td,.c52-table th{vertical-align:top}.c52-nowrap{white-space:nowrap}
.c52-data td,.c52-data th,.c52-factors td,.c52-units td{font-variant-numeric:tabular-nums}
.c52-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c52-work p{margin:0 0 8px}.c52-work p:last-child{margin-bottom:0}
.c52-math{overflow-wrap:anywhere}
.c52-eqline{margin:0 0 10px;color:var(--gold-light);overflow-wrap:anywhere}
.c52-sub{display:block;color:var(--text-secondary);font-size:.9em;font-weight:400}
.c52-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0}
.c52-row .ced-topic-button{min-height:42px}
.c52-quiet{background:transparent}
.c52-answer{margin-top:14px;padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:rgba(0,0,0,.2)}
.c52-anshead{margin:0 0 4px;color:var(--gold);font-weight:700;font-size:.85em;text-transform:uppercase;letter-spacing:.06em}
.c52-law{font-size:1.08rem;color:var(--gold-light);font-weight:700;margin-right:6px}
.c52-ans label{display:inline-flex;align-items:center;gap:8px;font-weight:650}
.c52-ans select,.c52-ans input{font:inherit;min-height:42px;padding:8px 10px;border:1px solid var(--gold-dark);border-radius:7px;background:var(--bg-dark);color:var(--text-primary)}
.c52-ans input{width:140px}
.c52-ans input:focus-visible,.c52-ans select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.c52-help{margin:6px 0;color:var(--text-secondary);font-size:.9em}
.c52-fb{list-style:none;margin:0;padding:0}.c52-fb li{margin:4px 0}
.c52-fb .is-ok{color:#9FE0B5}.c52-fb .is-no{color:#F2A0A0}
.c52-lesson .pes16-controls label{flex:1 1 200px}
.c52-mc{list-style:none;margin:6px 0 12px;padding:0;display:grid;gap:6px}
.c52-mc li{margin:0;padding:8px 12px;border:1px solid var(--v2-border);border-radius:8px;background:rgba(255,255,255,.02)}
.c52-mcl{font-weight:700;color:var(--gold);margin-right:4px}
.mole-check .c52-data caption{text-align:left}
@media (max-width:600px){.c52-lesson select,.c52-lesson input{font-size:16px}.c52-law{flex-basis:100%}}

/* ---------- Topic 5.3 Learn (ced-topic53-learn.js) ---------- */
.c53-wide{min-width:600px}.c53-parts{min-width:600px}
.c53-plot{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.2}
.c53-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c53-tk{fill:var(--text-secondary);font:12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c53-al{fill:var(--text-secondary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c53-curve{fill:none;stroke-width:2.6;stroke-linejoin:round}
.c53-curve.is-z{stroke:#7FB2F0}.c53-curve.is-1{stroke:var(--gold)}.c53-curve.is-2{stroke:#E6849A}
.c53-cl{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:var(--bg-dark,#121212);stroke-width:3px}
.c53-cl.is-z{fill:#9CC4F4}.c53-cl.is-1{fill:var(--gold-light)}.c53-cl.is-2{fill:#EFA3B4}
.c53-tl{fill:#9CC4F4;font:600 12.5px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:var(--bg-dark,#121212);stroke-width:3px}
.c53-pt{fill:#E6D58A;stroke:#171717;stroke-width:1.2}
.c53-pick{fill:none;stroke:#7FB2F0;stroke-width:2}
.c53-fit{stroke:rgba(220,230,240,.55);stroke-width:1.6;stroke-dasharray:6 5}
.c53-fit.is-good{stroke:var(--gold);stroke-dasharray:none;stroke-width:2}
.c53-tri{fill:none;stroke:#7FB2F0;stroke-width:1.6;stroke-dasharray:5 4}
.c53-half{fill:none;stroke:#7FB2F0;stroke-width:1.3;stroke-dasharray:5 4}
.c53-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c53-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c53-work p{margin:0 0 8px}.c53-work p:last-child{margin-bottom:0}.c53-work ul{margin:4px 0 8px}
.c53-units{border-left:3px solid #7FB2F0}
.c53-tablewrap{overflow-x:auto;margin:12px 0}
.c53-tablewrap:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.c53-table{border-collapse:collapse;width:100%;font-size:.92rem;font-variant-numeric:tabular-nums}
.c53-table th,.c53-table td{padding:7px 10px;border:1px solid var(--v2-border);text-align:left;white-space:nowrap}
.c53-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c53-table tbody th{color:var(--gold-light)}
.c53-rxn{margin:4px 0 12px;line-height:1.55}
.c53-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.c53-panel{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:8px 8px 6px;min-width:0}
.c53-panel.is-straight{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
.c53-ptitle{margin:0 0 4px;font-weight:700;font-size:.92rem;color:var(--text-primary)}
.c53-psvg{display:block;width:100%;height:auto}
.c53-psvg .c53-tk,.c53-psvg .c53-al{font-size:14px}
.c53-verdict{margin:4px 0 0;font-size:.84rem;line-height:1.45;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.c53-verdict.is-good{color:var(--gold-light)}
.c53-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c53-data{margin-top:12px}.c53-data summary{cursor:pointer;min-height:40px;display:flex;align-items:center;font-weight:650}
.c53-lesson input[type=range]{width:100%;min-width:160px;accent-color:var(--gold);min-height:40px}
.c53-lesson .pes16-controls label{flex:1 1 220px}
.c53-lesson .pes16-controls select{font-size:16px}
.c53-lesson .pes16-controls .ced-topic-button{align-self:flex-end;min-height:42px}
.c53-opts{list-style:none;margin:8px 0 10px;padding:0;display:grid;gap:6px}
.c53-opts li{margin:0;padding:6px 10px;border:1px solid var(--v2-border);border-radius:8px;background:rgba(255,255,255,.02);line-height:1.45}
.c53-letter{display:inline-block;min-width:2.1em;font-weight:700;color:var(--gold-light)}
.c53-stim{width:auto;min-width:0}
.c53-mc .pes16-figure{margin:8px 0}
@media(max-width:600px){.c53-stim th,.c53-stim td{padding:6px 7px}.c53-trio{grid-template-columns:1fr}.c53-psvg{max-width:420px;margin:0 auto}}

/* ---------- Topic 5.4 Learn (ced-topic54-learn.js) ---------- */
.c54-quad{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.c54-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.c54-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.c54-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c54-panel,.c54-panel2,.c54-panel3,.c54-colsvg,.c54-chgsvg{display:block;width:100%;height:auto;margin:0 auto}
.c54-panel{max-width:230px}.c54-panel2{max-width:250px}.c54-panel3{max-width:320px}.c54-colsvg,.c54-chgsvg{max-width:400px}
.c54-eq{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c54-law-t{fill:var(--gold-light);font:700 12.5px 'Inter',system-ui,sans-serif}
.c54-tag{fill:var(--gold-light);font:700 12px 'Inter',system-ui,sans-serif}
.c54-plus{fill:var(--text-secondary);font:600 17px 'Inter',system-ui,sans-serif}
.c54-arrow{stroke:var(--text-secondary);stroke-width:2;fill:none}.c54-arrow-head{fill:var(--text-secondary)}
.c54-vib{fill:none;stroke:var(--gold-light);stroke-width:1.8;stroke-linejoin:round}
.c54-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c54-pair{stroke:var(--gold);stroke-width:1.2;stroke-dasharray:4 4;opacity:.55}
.c54-ring{fill:rgba(205,163,73,.08);stroke:var(--gold);stroke-width:1.8}
.c54-stopbox{fill:none;stroke:#E07A6A;stroke-width:1.6;stroke-dasharray:6 5}
.c54-stop-t{fill:#F0A090;font:600 12px 'Inter',system-ui,sans-serif}
.c54-bar{fill:rgba(205,163,73,.45)}.c54-bar.is-after{fill:var(--gold)}
.c54-stage{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.c54-build{margin-top:12px;padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c54-build p{margin:0 0 8px}.c54-build p:last-child{margin-bottom:0}
.c54-eqline{font-weight:700;font-size:1.05em}
.c54-map{margin:4px 0 8px;padding-left:20px}.c54-map li{line-height:1.6}
.c54-co,.c54-ex{color:var(--gold-light);font-weight:800}
.c54-law{font-weight:700;font-size:1.12em;color:var(--text-primary)}
.c54-meta{color:var(--text-secondary);font-size:.94em}
.c54-stop{padding:8px 10px;border-left:3px solid #E07A6A;background:rgba(224,122,106,.08)}
.c54-strike{text-decoration:line-through;text-decoration-color:#E07A6A;text-decoration-thickness:2px}
.c54-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c54-work ul{margin:0;padding-left:20px}.c54-work li{margin-bottom:8px}.c54-work li:last-child{margin-bottom:0}
.c54-table{min-width:520px}.c54-tablewrap{margin:14px 0 16px}
.c54-table.c54-data{min-width:0;width:auto}.c54-datawrap{margin:8px 0 10px;width:fit-content;max-width:100%}.c54-data td,.c54-data th{text-align:center;white-space:nowrap}.c54-data th{white-space:normal;vertical-align:bottom}
.c54-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c54-lesson .pes16-controls label{flex:1 1 200px}
.c54-lesson .pes16-controls select{font-size:16px;max-width:100%}
@media(max-width:600px){.c54-build{padding:10px}.c54-eqline{font-size:1em}.c54-data td,.c54-data th{padding:6px 8px}}

/* ---------- Topic 5.5 Learn (ced-topic55-learn.js) ---------- */
.c55-orient{min-width:640px}.c55-mb{min-width:600px}.c55-co{min-width:580px}.c55-plot{min-width:600px}.c55-boxsvg{min-width:0}
.c55-arrow{stroke:var(--gold-light);stroke-width:2;fill:none}.c55-ahead{fill:var(--gold-light)}
.c55-rowt{font:700 13px 'Inter',system-ui,sans-serif}.c55-rowt.is-good{fill:#9FE0B5}.c55-rowt.is-bad{fill:#F2A0A0}
.c55-burst{fill:rgba(230,213,138,.45);stroke:#E6D58A;stroke-width:1.5}
.c55-panel{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1}
.c55-grid{stroke:rgba(255,255,255,.07);stroke-width:1}
.c55-curve{fill:none;stroke-width:2.6;stroke-linejoin:round}
.c55-curve.is-cold{stroke:#7FB2F0}.c55-curve.is-hot{stroke:#F2B07E}.c55-curve.is-a{stroke:var(--gold)}.c55-curve.is-b{stroke:#F28B82;stroke-dasharray:7 5}
.c55-tail.is-cold{fill:rgba(127,178,240,.6)}.c55-tail.is-hot{fill:rgba(242,176,126,.35)}.c55-tail.is-a{fill:rgba(205,163,73,.55)}.c55-tail.is-b{fill:rgba(242,139,130,.5)}
.c55-cl{font:700 12.5px 'Inter',system-ui,sans-serif}.c55-cl.is-cold{fill:#9CC8F2}.c55-cl.is-hot{fill:#F2B07E}.c55-cl.is-a{fill:var(--gold-light)}.c55-cl.is-b{fill:#F28B82}
.c55-ea{stroke:#E57373;stroke-width:1.6;stroke-dasharray:5 4}.c55-eat{fill:#F2A0A0;font:700 12.5px 'Inter',system-ui,sans-serif}
.c55-avg{stroke:var(--text-secondary);stroke-width:1.2;stroke-dasharray:2 3}.c55-avt{fill:var(--text-secondary);font:12px 'Inter',system-ui,sans-serif}
.c55-ml{fill:var(--text-secondary);font:600 12px 'Inter',system-ui,sans-serif}
.c55-boxrect{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.25));stroke-width:1.5}
.c55-fl{fill:none;stroke-width:2.5}.c55-fl.is-react{stroke:#6EC88C}.c55-fl.is-miss{stroke:#E6D58A}.c55-fl.is-weak{stroke:#9AA3AD}
.c55-sub{margin:4px 0 10px;font-size:1.05rem;color:var(--gold)}
.c55-note{color:var(--text-secondary);font-size:.92em;margin:0 0 10px}
.c55-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px}
.c55-btns .ced-topic-button{min-height:42px}
.c55-btns .ced-topic-button[aria-pressed=true]{background:rgba(205,163,73,.22);border-color:var(--gold)}
.c55-sel{display:inline-flex;align-items:center;gap:8px;font-weight:650}
.c55-sel select{font:inherit;font-size:16px;min-height:42px;padding:8px 10px;border:1px solid var(--gold-dark);border-radius:7px;background:var(--bg-dark);color:var(--text-primary)}
.c55-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c55-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c55-lesson .pes16-controls label{flex:1 1 220px}
.c55-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c55-work p{margin:0 0 8px}.c55-work p:last-child{margin-bottom:0}.c55-work ul{margin:4px 0 8px}
.c55-tablewrap{overflow-x:auto;margin:14px 0;border:1px solid var(--v2-border);border-radius:10px}
.c55-tablewrap:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.c55-table{width:100%;min-width:540px;border-collapse:collapse;font-size:.95em}
.c55-table th,.c55-table td{padding:9px 12px;border-bottom:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c55-table tbody tr:last-child th,.c55-table tbody tr:last-child td{border-bottom:0}
.c55-table thead th{color:var(--gold);font-size:.82em;text-transform:uppercase;letter-spacing:.05em}
.c55-table tbody th{font-weight:600}
.c55-hi{color:#9FE0B5;font-weight:650}
.c55-boxwrap{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:4px}
.c55-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 8px;font-size:.9em;color:var(--text-secondary)}
.c55-legend i{display:inline-block;width:13px;height:13px;border-radius:50%;border:2.5px solid;margin-right:6px;vertical-align:-2px}
.c55-legend i.is-react{border-color:#6EC88C}.c55-legend i.is-miss{border-color:#E6D58A}.c55-legend i.is-weak{border-color:#9AA3AD}
.c55-mcfig{min-width:460px;max-width:560px}
.c55-mcfigure{margin:8px 0 6px}
.c55-opts{list-style:none;padding-left:0;margin:8px 0 12px}
.c55-opts li{margin:6px 0;padding-left:2.4em;text-indent:-2.4em}
.c55-opts li span{display:inline-block;width:2.4em;text-indent:0;font-weight:650;color:var(--gold-light)}
.c55-data th,.c55-data td{white-space:nowrap}
.c55-data thead th{text-transform:none;letter-spacing:0;font-size:.9em}

/* ---------- Topic 5.6 Learn (ced-topic56-learn.js) ---------- */
.c56-prof{min-width:600px}.c56-half{min-width:560px}.c56-bonds{min-width:600px}.c56-ts{min-width:620px}.c56-mbsvg{min-width:540px}.c56-run{min-width:640px}
.c56-pairgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));gap:12px}
.c56-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c56-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}.c56-hx{fill:rgba(220,230,240,.8)}
.c56-guide{stroke:rgba(220,230,240,.42);stroke-width:1.2;stroke-dasharray:5 4}
.c56-curve{fill:none;stroke:#EDE6DA;stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round}
.c56-arr{stroke-width:2.2;fill:none}.c56-arr.is-f{stroke:var(--gold-light)}.c56-arr.is-r{stroke:#7FB2F0}.c56-arr.is-h{stroke:#F2B07E}
.c56-hf{fill:var(--gold-light)}.c56-hr{fill:#7FB2F0}.c56-hh{fill:#F2B07E}
.c56-al{font:700 13px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c56-al.is-f{fill:var(--gold-light)}.c56-al.is-r{fill:#9CC8F2}.c56-al.is-h{fill:#F2B07E}
.c56-al.is-break{fill:#F2A08F}.c56-al.is-form{fill:#9FE0B5}.c56-al.is-cold{fill:#9CC8F2}.c56-al.is-hot{fill:#F2B07E}
.c56-av{font:600 12px 'Inter',system-ui,sans-serif;fill:var(--text-primary);font-variant-numeric:tabular-nums}
.c56-sp{font:700 12.5px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c56-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c56-dot{fill:#E6D58A;stroke:#171717;stroke-width:1.6}
.c56-link{stroke:rgba(230,213,138,.55);stroke-width:1.4;stroke-dasharray:3 4}
.c56-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c56-partial{stroke:#F2BF5E;stroke-width:3.2;stroke-dasharray:5 4;stroke-linecap:round}
.c56-call{fill:none;stroke-width:1.5;stroke-dasharray:3 3}.c56-call.is-break{stroke:#F2A08F}.c56-call.is-form{stroke:#9FE0B5}
.c56-mb{fill:none;stroke-width:2.6;stroke-linejoin:round}.c56-mb.is-cold{stroke:#7FB2F0}.c56-mb.is-hot{stroke:#F2B07E}
.c56-tail.is-cold{fill:rgba(127,178,240,.75)}.c56-tail.is-hot{fill:rgba(242,176,126,.6)}
.c56-ealine{stroke:var(--gold-light);stroke-width:1.6;stroke-dasharray:6 4}
.c56-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c56-warn{color:#F2B07E}
.c56-seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c56-seg .ced-topic-button{min-height:42px;font-size:1rem}
.c56-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c56-seg .c56-reset{margin-left:auto}
.c56-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c56-lesson .pes16-controls label{flex:1 1 200px}
.c56-lesson .pes16-controls select{font-size:16px;min-height:42px}
@media(max-width:600px){.c56-seg .c56-reset{margin-left:0}.c56-seg .ced-topic-button{flex:1 1 auto}}
.c56-arr.is-q{stroke:rgba(220,230,240,.85)}
.c56-lesson table.c56-table{min-width:0;font-variant-numeric:tabular-nums}
.c56-table th,.c56-table td{padding:8px 10px;text-align:center;border-bottom:1px solid var(--v2-border)}
.c56-table th{color:var(--gold-light)}
.c56-table tbody tr:last-child>*{border-bottom:0}
.c56-choices{margin:12px 0}
.c56-box.c56-inset{fill:rgba(18,16,13,.92)}

/* ---------- Topic 5.7 Learn (ced-topic57-learn.js) ---------- */
.c57-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px}
.c57-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c57-panel,.c57-cyc{display:block;width:100%;height:auto;margin:0 auto}
.c57-panel{max-width:400px}.c57-cyc{max-width:420px}
.c57-t{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.c57-s,.c57-nm{fill:var(--text-secondary);font:600 13px 'Inter',system-ui,sans-serif}
.c57-nm{fill:var(--text-primary)}
.c57-eq{fill:var(--text-primary);font:600 13px 'Inter',system-ui,sans-serif}
.c57-tag{fill:var(--gold-light);font:700 13px 'Inter',system-ui,sans-serif}
.c57-plus{fill:var(--text-secondary);font:600 17px 'Inter',system-ui,sans-serif}
.c57-arrow,.c57-ioa{stroke:var(--text-secondary);stroke-width:2;fill:none}.c57-arrow-head,.c57-ioa-head{fill:var(--text-secondary)}
.c57-ring{fill:rgba(205,163,73,.1);stroke:var(--gold);stroke-width:1.8;stroke-dasharray:5 4}
.c57-loop{fill:none;stroke:var(--gold);stroke-width:2.6;stroke-linecap:round}
.c57-loopa{stroke:var(--gold);stroke-width:2.6}.c57-loopa-head{fill:var(--gold)}
.c57-cyt{fill:var(--gold-light);font:700 14px 'Inter',system-ui,sans-serif}
.c57-io{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif}
.c57-cyc .c57-nm,.c57-cyc .c57-tag{font-size:14px}
.c57-ct{min-width:560px}
.c57-plot{fill:none;stroke:rgba(220,230,240,.55);stroke-width:1.4}
.c57-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c57-c{fill:none;stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round}
.c57-ca{stroke:#7FB2F0}.c57-ci{stroke:var(--gold-light);stroke-dasharray:9 5}.c57-cp{stroke:#8FD6A4;stroke-dasharray:2 5}
.c57-cl{font:700 13px 'Inter',system-ui,sans-serif}.c57-cla{fill:#9CC8F2}.c57-cli{fill:var(--gold-light)}.c57-clp{fill:#9FE0B5}
.c57-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c57-guide{stroke:rgba(232,200,114,.55);stroke-width:1.3;stroke-dasharray:4 4}
.c57-dot{fill:var(--gold-light);stroke:#171717;stroke-width:1.6}
.c57-tablewrap{margin:14px 0 16px}.c57-table{min-width:330px}
.c57-table th[scope=row]{text-align:left;font-weight:650}
.c57-sum{margin:6px 0;padding:10px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c57-row{display:flex;gap:10px;align-items:baseline;margin:0;padding:6px 4px;border-radius:6px;line-height:1.55}
.c57-row+.c57-row{border-top:1px solid rgba(255,255,255,.07)}
.c57-row.is-add{border-top:1px dashed rgba(205,163,73,.45)}
.c57-row.is-net{font-weight:700;color:var(--gold-light)}
.c57-row.is-cur{background:rgba(205,163,73,.14);outline:1px solid rgba(205,163,73,.5)}
.c57-sn{flex:0 0 96px;font-size:.88em;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}
.c57-se{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.c57-mult{color:var(--gold-light);text-transform:none}
.c57-x{text-decoration:line-through;text-decoration-color:#E07A6A;text-decoration-thickness:2px;color:var(--text-secondary)}
.c57-tags{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:8px;vertical-align:middle}
.c57-tg{display:inline-block;padding:1px 8px;border:1px solid rgba(205,163,73,.5);border-radius:999px;font-size:.8em;font-weight:650;color:var(--gold-light)}
.c57-tg.is-no{border-color:#E07A6A;color:#F0A090}.c57-tg.is-warn{border-color:#F2B07E;color:#F2B07E}
.c57-goal{margin:0 0 8px;font-weight:650}.c57-goal .c57-sn{display:inline-block;width:80px}
.c57-verdict{margin:10px 0 6px;padding-left:20px}.c57-verdict li{margin-bottom:4px;line-height:1.55}
.c57-ok{color:#9FE0B5;font-weight:650}.c57-no{color:#F0A090;font-weight:650}.c57-warn{color:#F2B07E;font-weight:650}
.c57-about{margin:6px 0 0;color:var(--text-secondary);font-size:.94em}
.c57-btns{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c57-btns .ced-topic-button{min-height:42px;font-size:1rem;margin:0}
.c57-btns .ced-topic-button:disabled{opacity:.45;cursor:default}
.c57-bench{margin-bottom:12px}
.c57-vessel{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;margin-bottom:12px}
.c57-card{display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);min-width:0;transition:border-color .2s,background-color .2s}
.c57-card.is-changed{border-color:var(--gold);background:rgba(205,163,73,.08)}
.c57-card.is-ok{border-color:#6FCB8E;box-shadow:inset 0 0 0 1px #6FCB8E}.c57-card.is-bad{border-color:#E07A6A;box-shadow:inset 0 0 0 1px #E07A6A}
.c57-card p{margin:0}
.c57-cname{font-weight:700;text-align:center}
.c57-csvg{display:block;width:100%;max-width:120px;height:auto;margin:0 auto}
.c57-ccount{text-align:center;font-size:.92em;color:var(--text-secondary);font-variant-numeric:tabular-nums}.c57-ccount strong{color:var(--text-primary)}
.c57-guess{font:inherit;font-size:16px;min-height:42px;width:100%;padding:6px 8px;border:1px solid var(--gold-dark);border-radius:7px;background:var(--bg-dark);color:var(--text-primary)}
.c57-ctag{text-align:center;font-weight:700;font-size:.92em;color:var(--gold-light)}
.c57-card.is-ok .c57-ctag{color:#9FE0B5}.c57-card.is-bad .c57-ctag{color:#F0A090}
.c57-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c57-choices{margin:6px 0 8px;padding-left:26px}.c57-choices li{margin-bottom:4px}
.c57-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c57-lesson .pes16-controls label{flex:1 1 220px}
.c57-lesson .pes16-controls select{font-size:16px;max-width:100%}
@media(max-width:600px){.c57-sn{flex-basis:64px}.c57-row{gap:6px}.c57-btns .ced-topic-button{flex:1 1 auto}.c57-tags{margin-left:0;display:flex;margin-top:4px}}
.c57-lead{stroke:rgba(232,200,114,.6);stroke-width:1.2}
.c57-none{fill:var(--text-muted,#888078);font:600 13px 'Inter',system-ui,sans-serif}
.c57-lesson ol.c57-ol{list-style:decimal;padding-left:24px;margin:8px 0 12px}.c57-lesson ol.c57-ol li{margin-bottom:4px}
.c57-sum p.c57-row{max-width:none}.c57-bench .c57-goal,.c57-bench .c57-about{max-width:none}

/* ---------- Topic 5.8 Learn (ced-topic58-learn.js) ---------- */
.c58-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.c58-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c58-panel,.c58-slowsvg{display:block;width:100%;height:auto;margin:0 auto}
.c58-panel{max-width:300px}.c58-slowsvg{max-width:400px}
.c58-plotsvg{min-width:560px}
.c58-eq{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c58-law-t{fill:var(--gold-light);font:700 12.5px 'Inter',system-ui,sans-serif}
.c58-tag{font:700 12px 'Inter',system-ui,sans-serif}.c58-tag.is-slow{fill:#F2A0A0}.c58-tag.is-fast{fill:#9FE0B5}
.c58-pn{fill:var(--text-secondary);font:600 12px 'Inter',system-ui,sans-serif}
.c58-plus{fill:var(--text-secondary);font:600 17px 'Inter',system-ui,sans-serif}
.c58-arrow{stroke:var(--text-secondary);stroke-width:2;fill:none}.c58-arrow-head{fill:var(--text-secondary)}
.c58-vib{fill:none;stroke:var(--gold-light);stroke-width:1.8;stroke-linejoin:round}
.c58-stopbox{fill:none;stroke:#E07A6A;stroke-width:1.6;stroke-dasharray:6 5}
.c58-stop-t{fill:#F0A090;font:600 12.5px 'Inter',system-ui,sans-serif}
.c58-ok-t{fill:var(--gold-light);font:700 13px 'Inter',system-ui,sans-serif}
.c58-grid{stroke:rgba(255,255,255,.07);stroke-width:1}
.c58-c{fill:none;stroke-width:2.6;stroke-linejoin:round}
.c58-c.is-no2{stroke:#E39A5A}.c58-c.is-co2{stroke:#7FB2F0}.c58-c.is-co2d{stroke:#E8F1FB;stroke-width:1.6;stroke-dasharray:6 5}
.c58-c.is-no3{stroke:#E6849A;stroke-dasharray:2 3}.c58-c.is-r1{stroke:var(--gold)}.c58-c.is-r2{stroke:#6EC88C;stroke-dasharray:8 4}
.c58-cursor{stroke:var(--text-secondary);stroke-width:1.2;stroke-dasharray:3 4}
.c58-dot{stroke:#171717;stroke-width:1.2}
.c58-dot.is-no2{fill:#E39A5A}.c58-dot.is-co2{fill:#7FB2F0}.c58-dot.is-no3{fill:#E6849A}.c58-dot.is-r1{fill:var(--gold)}.c58-dot.is-r2{fill:#6EC88C}
.c58-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;font-size:.9em;color:var(--text-secondary)}
.c58-legend i{display:inline-block;width:22px;height:0;border-top:3px solid;margin-right:7px;vertical-align:middle}
.c58-legend i.is-no2{border-color:#E39A5A}.c58-legend i.is-co2{border-color:#7FB2F0}.c58-legend i.is-co2d{border-top:2px dashed #E8F1FB}
.c58-legend i.is-no3{border-top:3px dotted #E6849A}.c58-legend i.is-r1{border-color:var(--gold)}.c58-legend i.is-r2{border-top:3px dashed #6EC88C}
.c58-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c58-key strong{color:var(--text-primary)}
.c58-sub{margin:18px 0 6px;font-size:1.05rem;color:var(--gold)}
.c58-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c58-lesson .pes16-controls label{flex:1 1 220px}
.c58-lesson .pes16-controls select{font-size:16px;max-width:100%}
.c58-tablewrap{margin:12px 0 14px}
.c58-table{border-collapse:collapse;width:100%;font-size:.94rem;font-variant-numeric:tabular-nums}
.c58-table th,.c58-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c58-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c58-table tbody th{color:var(--gold-light);font-weight:650}
.c58-data{width:auto;min-width:0}.c58-data td,.c58-data th{text-align:center;white-space:nowrap}
.c58-mtab{min-width:560px}.c58-ptab{min-width:620px}
.c58-recipe,.c58-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c58-recipe ol{margin:0;padding-left:22px}.c58-recipe li{margin-bottom:6px}.c58-recipe li:last-child{margin-bottom:0}
.c58-work p{margin:0}
.c58-tests2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0}
.c58-card{border:1px solid var(--v2-border);border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c58-card h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c58-card p{margin:0;color:var(--text-secondary)}
.c58-judge{display:flex;flex-direction:column;gap:10px}
.c58-over{margin:0;line-height:1.6}
.c58-jgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:10px;align-items:start}
.c58-jsteps{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:10px 12px;min-width:0}
.c58-jh{margin:0 0 6px;font-weight:700;color:var(--gold)}
.c58-jsteps ol{margin:0;padding-left:22px}.c58-jsteps li{margin-bottom:8px;line-height:1.5}.c58-jsteps li:last-child{margin-bottom:0}
.c58-jsteps li.is-slowstep .c58-eqs{font-weight:700}
.c58-pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.8em;font-weight:700;border:1px solid}
.c58-pill.is-slow{color:#F2A0A0;border-color:#E07A6A;background:rgba(224,122,106,.1)}
.c58-pill.is-fast{color:#9FE0B5;border-color:#6EC88C;background:rgba(110,200,140,.1)}
.c58-meta{color:var(--text-secondary);font-size:.92em}
.c58-tests{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.c58-tests li{padding:8px 12px;border-left:3px solid var(--v2-border);background:var(--v2-surface);border-radius:0 8px 8px 0;line-height:1.55}
.c58-tests li.is-pass{border-left-color:#6EC88C}.c58-tests li.is-fail{border-left-color:#E07A6A}.c58-tests li.is-na{border-left-color:#7FB2F0}
.c58-verdict{margin:0;padding:10px 12px;border-radius:8px;font-weight:650;line-height:1.55}
.c58-verdict.is-pass{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c58-verdict.is-fail{background:rgba(224,122,106,.1);border:1px solid #E07A6A}
.c58-verdict.is-na{background:rgba(127,178,240,.1);border:1px solid #7FB2F0}
.c58-choices{margin:6px 0 12px;padding-left:28px}.c58-choices li{margin-bottom:5px;line-height:1.55}
.c58-mc .c58-tablewrap{margin:8px 0}
.c58-fr details p{margin:0 0 8px}.c58-fr details p:last-child{margin-bottom:0}
@media(max-width:600px){.c58-jgrid{grid-template-columns:1fr}.c58-recipe,.c58-work{padding:10px}.c58-choices{padding-left:24px}}
.c58-inv{margin:14px 0;padding-left:26px}.c58-inv li{margin-bottom:8px;line-height:1.6}
/* the hourglass is a tall subject: show the whole picture instead of the 320 px crop */
.c58-lesson .c58-hourglass{max-width:600px;margin-left:auto;margin-right:auto}
.c58-lesson .c58-hourglass img{max-height:none;aspect-ratio:3/2;object-fit:cover}

/* ---------- Topic 5.9 Learn (ced-topic59-learn.js) ---------- */
.c59-lesson .l1-svg.c59-mech{min-width:580px}.c59-lesson .l1-svg.c59-graph{min-width:580px}
.c59-steplab{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.c59-int-t{fill:var(--gold-light)}
.c59-int{fill:rgba(205,163,73,.07);stroke:var(--gold);stroke-width:1.6;stroke-dasharray:5 4}
.c59-int-h{color:var(--gold-light);font-weight:700}
.c59-plus{fill:var(--text-secondary);font:600 17px 'Inter',system-ui,sans-serif}
.c59-arr{stroke:var(--text-secondary);fill:none;stroke-linecap:butt}.c59-arrh{fill:var(--text-secondary)}
.c59-arr.is-slow{stroke:#E07A6A}.c59-arrh.is-slow{fill:#E07A6A}
.c59-rate{fill:var(--text-secondary);font:600 12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c59-rate.is-slow{fill:#F0A090}
.c59-sep{stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1;stroke-dasharray:3 5}
.c59-fate-rev{fill:rgba(205,163,73,.45)}.c59-fate-go{fill:#E07A6A}
.c59-plot{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.2}
.c59-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c59-curve{fill:none;stroke:var(--gold);stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.c59-pt{fill:var(--gold-light);stroke:#171717;stroke-width:1.5}
.c59-tablewrap{margin:14px 0}
.c59-table{border-collapse:collapse;width:100%;min-width:320px;font-variant-numeric:tabular-nums}
.c59-table-wide{min-width:600px}
.c59-table th,.c59-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--v2-border);vertical-align:top}
.c59-table th{color:var(--gold-light)}.c59-table tbody tr:last-child>*{border-bottom:0}
.c59-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c59-work p{margin:0 0 8px}.c59-work p:last-child{margin-bottom:0}
.c59-work ul{margin:0;padding-left:20px}.c59-work li{margin-bottom:8px}.c59-work li:last-child{margin-bottom:0}
.c59-strike{text-decoration:line-through;text-decoration-color:var(--gold);text-decoration-thickness:2px}
.c59-moves li{margin-bottom:6px}
.c59-key{display:block;margin-top:6px;color:var(--text-secondary);font-size:.94em}
.c59-choices{margin:6px 0 10px;padding-left:28px}.c59-choices li{margin-bottom:4px}
.c59-mc .c59-tablewrap,.c59-frq .c59-tablewrap{margin:8px 0 10px}
.c59-beyond{margin:14px 0 0;padding:12px 14px;border:1px dashed var(--v2-border,rgba(255,255,255,.18));border-radius:10px}
.c59-beyond>p{margin:0 0 8px}.c59-beyond ul{margin:0 0 8px;padding-left:20px}.c59-beyond li{margin-bottom:8px}
.c59-beyond-tag{color:var(--text-secondary);font-weight:700;font-size:.9em;letter-spacing:.02em}
.c59-btnrow{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c59-btnrow .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c59-btnrow .ced-topic-button[aria-pressed=true]{background:var(--gold);color:#171717}
.c59-derive{margin:12px 0 0;padding:12px 14px 12px 34px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c59-derive li{margin-bottom:8px;line-height:1.6}.c59-derive li:last-child{margin-bottom:0}
.c59-derive li.is-now{color:var(--text-primary)}.c59-derive li.is-now>strong{color:var(--gold-light)}
.c59-derive li:not(.is-now){color:var(--text-secondary)}
.c59-lesson .pes16-controls label{flex:1 1 200px}.c59-lesson .pes16-controls label:first-child{flex:2 1 300px}
.c59-lesson .pes16-controls select{font-size:16px;max-width:100%}
.c59-lesson input[type=range]{width:100%;min-width:140px;min-height:40px;font-size:16px;accent-color:var(--gold)}
@media(max-width:600px){.c59-btnrow .ced-topic-button{flex:1 1 140px}.c59-derive{padding:10px 10px 10px 28px}.c59-work{padding:10px}}

/* ---------- Topic 5.10 Learn (ced-topic510-learn.js) ---------- */
.c510-prof{min-width:690px}.c510-strip{min-width:660px}.c510-mini3{min-width:640px}.c510-mini4{min-width:660px}.c510-run{min-width:700px}
.c510-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c510-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}.c510-hx{fill:rgba(220,230,240,.8)}
.c510-guide{stroke:rgba(220,230,240,.42);stroke-width:1.2;stroke-dasharray:5 4}
.c510-rline{stroke:rgba(220,230,240,.38);stroke-width:1.2;stroke-dasharray:3 4}
.c510-curve{fill:none;stroke:#EDE6DA;stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round}
.c510-arr{stroke-width:2.2;fill:none}.c510-arr.is-ea{stroke:var(--gold-light)}.c510-arr.is-dh,.c510-arr.is-all{stroke:#F2B07E}
.c510-hea{fill:var(--gold-light)}.c510-hdh{fill:#F2B07E}
.c510-al{font:700 13px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c510-al.is-ea{fill:var(--gold-light)}.c510-al.is-dh,.c510-al.is-all{fill:#F2B07E}
.c510-av{font:600 12px 'Inter',system-ui,sans-serif;fill:var(--text-primary);font-variant-numeric:tabular-nums}
.c510-sp{font:700 12.5px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c510-ts{font:italic 600 12px 'Inter',system-ui,sans-serif;fill:#E6D58A}
.c510-big{font:700 17px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c510-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c510-band.is-odd{fill:rgba(205,163,73,.07)}.c510-band.is-even{fill:rgba(127,178,240,.07)}
.c510-bl{font:700 12px 'Inter',system-ui,sans-serif;fill:var(--text-secondary)}.c510-bl.is-slow{fill:#F2B07E}
.c510-dot{fill:#E6D58A;stroke:#171717;stroke-width:1.6}.c510-ring{fill:none;stroke:#E6D58A;stroke-width:2.4}
.c510-num circle{fill:#1E1A16;stroke:var(--gold-light);stroke-width:1.6}.c510-num text{font:700 12px 'Inter',system-ui,sans-serif;fill:var(--gold-light)}
.c510-link{stroke:rgba(230,213,138,.55);stroke-width:1.4;stroke-dasharray:3 4}
.c510-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c510-partial{stroke:#F2BF5E;stroke-width:3.2;stroke-dasharray:5 4;stroke-linecap:round}
.c510-row{fill:rgba(255,255,255,.02);stroke:rgba(255,255,255,.08);stroke-width:1}.c510-row.is-peak{fill:rgba(205,163,73,.06)}
.c510-icon{fill:none;stroke:#EDE6DA;stroke-width:1.8;stroke-linejoin:round}
.c510-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c510-warn{color:#F2B07E}
.c510-rules li{margin-bottom:8px}
.c510-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:8px 24px}
.c510-two h3{font-size:1.05rem;margin:10px 0 4px}
.c510-two ol,.c510-two ul{padding-left:22px;margin:4px 0}
.c510-lesson .c510-table{min-width:0}
.c510-table{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;margin:18px 0;font-size:.95rem;line-height:1.5}.c510-table thead th:first-child{width:24%}
.c510-table th,.c510-table td{padding:8px 10px;border-bottom:1px solid var(--v2-border,rgba(255,255,255,.14));text-align:left;vertical-align:top}
.c510-table thead th{color:var(--gold-light);font-weight:700}
.c510-table tbody th{color:var(--text-secondary);font-weight:650;white-space:nowrap}
.c510-more{margin:16px 0;padding:10px 14px;border:1px dashed rgba(205,163,73,.4);border-radius:10px}
.c510-more summary{cursor:pointer;font-weight:650;min-height:40px;display:flex;align-items:center}
.c510-choices{margin:6px 0 12px;padding-left:2em}
.c510-choices li{margin:5px 0;padding-left:4px}
.c510-mc .pes16-figure,.c510-frq .pes16-figure{margin:10px 0}
.c510-seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c510-seg .ced-topic-button{min-height:42px;font-size:1rem}
.c510-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c510-seg .c510-reset{margin-left:auto}
.c510-lesson input[type=range]{width:100%;min-width:140px;min-height:40px;accent-color:var(--gold)}
.c510-lesson .pes16-controls label{flex:1 1 200px}
.c510-lesson .pes16-controls select{font-size:16px}
.c510-lesson .pes16-photo img{max-height:none;aspect-ratio:3/2}
.c510-lesson .ced13-lesson-intro .mole-lab-image img{object-position:center 22%}
.c510-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c510-lesson .c510-sliders label{flex:1 1 220px}
@media(max-width:600px){.c510-seg .c510-reset{margin-left:0}.c510-seg .ced-topic-button{flex:1 1 auto}.c510-table{font-size:.9rem}.c510-table th,.c510-table td{padding:7px 6px}.c510-table tbody th{white-space:normal}.c510-table thead th:first-child{width:27%}}

/* ---------- Topic 5.11 Learn (ced-topic511-learn.js) ---------- */
.c511-prof{min-width:632px}.c511-mbsvg{min-width:540px}.c511-cyc{min-width:644px}.c511-enz{min-width:644px}.c511-acid{min-width:680px}.c511-surf{min-width:644px}.c511-rev{min-width:540px}.c511-run{min-width:632px}
.c511-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c511-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}.c511-hx{fill:rgba(220,230,240,.8)}
.c511-guide{stroke:rgba(220,230,240,.42);stroke-width:1.2;stroke-dasharray:5 4}
.c511-curve{fill:none;stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round}
.c511-curve.is-un{stroke:#7FB2F0;stroke-dasharray:8 6;stroke-width:2.4}.c511-curve.is-un.is-solo{stroke-width:2.8}
.c511-curve.is-cat{stroke:var(--gold-light)}
.c511-arr{stroke-width:2.2;fill:none}.c511-arr.is-un{stroke:#7FB2F0}.c511-arr.is-cat{stroke:var(--gold-light)}.c511-arr.is-h{stroke:#F2B07E}
.c511-hu{fill:#7FB2F0}.c511-hc{fill:var(--gold-light)}.c511-hh{fill:#F2B07E}
.c511-leader{stroke:rgba(230,213,138,.6);stroke-width:1.3;stroke-dasharray:3 3}
.c511-al{font:700 13px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c511-al.is-un{fill:#9CC8F2}.c511-al.is-cat{fill:var(--gold-light)}.c511-al.is-h{fill:#F2B07E}
.c511-av{font:600 12px 'Inter',system-ui,sans-serif;fill:var(--text-primary);font-variant-numeric:tabular-nums}
.c511-sp{font:700 12.5px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c511-strong{font-weight:700;fill:var(--text-primary)}
.c511-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c511-dot{fill:#E6D58A;stroke:#171717;stroke-width:1.6}
.c511-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.5}
.c511-sep{stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1}
.c511-mb{fill:none;stroke:#EDE6DA;stroke-width:2.6;stroke-linejoin:round}
.c511-tail.is-cat{fill:rgba(230,213,138,.42)}.c511-tail.is-un{fill:rgba(127,178,240,.85)}
.c511-ealine{stroke-width:1.6;stroke-dasharray:6 4}.c511-ealine.is-cat{stroke:var(--gold-light)}.c511-ealine.is-un{stroke:#7FB2F0}
.c511-ring{fill:none;stroke-width:1.8;stroke-dasharray:5 4}.c511-ring.is-cat{stroke:var(--gold-light)}.c511-ring.is-int{stroke:#7FB2F0}
.c511-tag{font:700 12px 'Inter',system-ui,sans-serif}.c511-tag.is-cat{fill:var(--gold-light)}.c511-tag.is-int{fill:#9CC8F2}
.c511-now{font-weight:800;fill:var(--gold-light)}
.c511-plus{fill:var(--text-secondary);font:700 22px 'Inter',system-ui,sans-serif}
.c511-hbox{fill:rgba(230,213,138,.12);stroke:var(--gold-light);stroke-width:1.4}
.c511-ht{fill:var(--gold-light);font:700 15px 'Inter',system-ui,sans-serif}
.c511-protein{fill:rgba(150,178,140,.22);stroke:rgba(170,200,160,.75);stroke-width:1.6;stroke-linejoin:round}
.c511-heme{stroke:#8E4A3A;stroke-linecap:round}
.c511-bind{stroke:#F2BF5E;stroke-width:2.6;stroke-dasharray:4 3;stroke-linecap:round}
.c511-move{fill:none;stroke:rgba(220,230,240,.6);stroke-width:1.6;stroke-dasharray:4 3}
.c511-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c511-bar{display:inline-block;vertical-align:middle;width:120px;max-width:40%;height:10px;margin:0 6px;border-radius:5px;background:rgba(255,255,255,.08);overflow:hidden}
.c511-bar>span{display:block;height:100%;background:var(--gold)}
.c511-seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c511-seg .ced-topic-button{min-height:42px;font-size:1rem}
.c511-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c511-seg [hidden],#c511-ctl[hidden]{display:none}
.c511-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c511-lesson .pes16-controls label{flex:1 1 200px}
.c511-choices{margin:6px 0 10px;padding-left:1.8em}.c511-choices li{margin:3px 0}
.c511-tablewrap{overflow-x:auto;margin:8px 0}
.c511-table{border-collapse:collapse;min-width:420px;font-variant-numeric:tabular-nums}
.c511-table th,.c511-table td{border:1px solid var(--v2-border);padding:6px 10px;text-align:center}
.c511-table th{background:var(--v2-surface);font-weight:650}
@media(max-width:600px){.c511-seg .ced-topic-button{flex:1 1 auto}}
.c511-grid.is-minor{stroke:rgba(255,255,255,.045)}

/* ---------- Topic 6.1 Learn (ced-topic61-learn.js) ---------- */
.c61-sys{min-width:680px}.c61-tfig{min-width:640px}.c61-phase{min-width:680px}.c61-flask{min-width:640px}.c61-diss{min-width:680px}
.c61-sep{stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1}
.c61-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.4}
.c61-grid{stroke:rgba(255,255,255,.07);stroke-width:1}
.c61-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c61-op{fill:var(--text-secondary);font:700 22px 'Inter',system-ui,sans-serif}
.c61-lesson text.is-hot{fill:#F4B27A}.c61-lesson text.is-cold{fill:#9CC8F2}.c61-lesson text.is-work{fill:var(--gold-light)}
.c61-blk{font:700 12.5px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c61-signt{font:700 13px 'Inter',system-ui,sans-serif;fill:var(--gold-light);font-variant-numeric:tabular-nums}
.c61-strongt{font-weight:700;fill:var(--text-primary)}
/* the cup, the probe and its display */
.c61-water{fill-opacity:.36;stroke:none}
.c61-cupwall{fill:none;stroke:#E8E2D6;stroke-width:2.4;stroke-linejoin:round}
.c61-cupwall.is-outer{stroke:rgba(232,226,214,.45);stroke-width:1.6}
.c61-lid{fill:rgba(232,226,214,.16);stroke:#E8E2D6;stroke-width:1.4}
.c61-stir{fill:none;stroke:#BFC6CE;stroke-width:2.4}
.c61-probe{fill:#AEB6BF;stroke:#5F666E;stroke-width:1}
.c61-wire{fill:none;stroke:#5F666E;stroke-width:2}
.c61-disp{fill:#101513;stroke:#6E7A74;stroke-width:1.4}
.c61-disp-t{fill:#9FF0B8;font:700 16px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c61-zoom{fill:rgba(12,18,26,.55);stroke:rgba(220,230,240,.5);stroke-width:1.2}
.c61-bound{fill:none;stroke:var(--gold-light);stroke-width:2.4;stroke-dasharray:7 5}
.c61-boundt{fill:var(--gold-light);font:700 12.5px 'Inter',system-ui,sans-serif}
.c61-crystal{fill:#F1EEE8;stroke:#9A948A;stroke-width:.8}
/* heat (orange out of the system, blue into it), work and motion arrows */
.c61-heat{stroke-width:2.6;stroke-linecap:round}
.c61-heat.is-out{stroke:#F2A65A}.c61-heat.is-out-head{fill:#F2A65A}
.c61-heat.is-in{stroke:#7FB2F0}.c61-heat.is-in-head{fill:#7FB2F0}
.c61-work{stroke:var(--gold-light);stroke-width:2.2;stroke-linecap:round}.c61-work-head{fill:var(--gold-light)}
.c61-move{stroke:rgba(220,230,240,.7);stroke-width:1.8;stroke-dasharray:4 3}.c61-move-head{fill:rgba(220,230,240,.8)}
/* graphs */
.c61-curve{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.c61-curve.is-hot{stroke:#F2A65A}.c61-curve.is-cold{stroke:#7FB2F0}
.c61-start{stroke:rgba(220,230,240,.45);stroke-width:1.3;stroke-dasharray:5 4}
.c61-addline{stroke:rgba(230,213,138,.55);stroke-width:1.3;stroke-dasharray:3 4}
.c61-cursor{stroke:var(--text-secondary);stroke-width:1.2;stroke-dasharray:3 4}
.c61-dot{fill:#E6D58A;stroke:#171717;stroke-width:1.6}
/* skin, mirror and the flask */
.c61-skin{fill:rgba(214,150,120,.32);stroke:rgba(230,170,140,.6);stroke-width:1.2}
.c61-glass{fill:rgba(170,200,220,.2);stroke:rgba(190,215,235,.6);stroke-width:1.2}
.c61-glassline{fill:none;stroke:#DCE6EE;stroke-width:2.2;stroke-linejoin:round}
.c61-acid{fill:rgba(127,178,240,.28)}
.c61-mg{fill:#C9CDD2;stroke:#7D838A;stroke-width:.8}
.c61-bub{fill:rgba(255,255,255,.12);stroke:rgba(235,242,250,.75);stroke-width:1}
.c61-neck{fill:rgba(220,120,110,.55);stroke:#C9786E;stroke-width:1}
.c61-balloon{fill:rgba(214,92,82,.72);stroke:#E39187;stroke-width:1.4}
/* process cards */
.c61-sub{margin:16px 0 6px;font-size:1.02rem;color:var(--gold)}
.c61-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0 0 16px}
.c61-card{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:10px 12px;min-width:0}
.c61-card p{margin:0}
.c61-ct{font-weight:700;color:var(--text-primary);margin-bottom:6px!important;line-height:1.45}
.c61-cs{color:var(--text-secondary);font-size:.93em;line-height:1.55}
.c61-cs strong{color:var(--text-primary)}
.c61-pill{display:inline-block;padding:1px 9px;border-radius:999px;font-size:.82em;font-weight:700;border:1px solid;margin-right:4px}
.c61-pill.is-exo{color:#F6C08F;border-color:#F2A65A;background:rgba(242,166,90,.12)}
.c61-pill.is-endo{color:#B4D4F6;border-color:#7FB2F0;background:rgba(127,178,240,.12)}
.c61-steps{margin:8px 0 12px;padding-left:24px}.c61-steps li{margin-bottom:6px;line-height:1.55}
/* tables */
.c61-tablewrap{margin:12px 0 14px}
.c61-table{font-size:.94rem;font-variant-numeric:tabular-nums}
.c61-table tbody th{color:var(--gold-light);font-weight:650;white-space:nowrap}
.c61-lesson .c61-wtab{min-width:620px}.c61-lesson .c61-stab{min-width:640px}
.c61-lesson .c61-dtab{min-width:0;width:auto}.c61-dtab td,.c61-dtab th{text-align:center}
/* explorer: the cup and the graph side by side, stacked on a phone */
.c61-stage{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:8px 6px}
.c61-cupsvg{display:block;flex:0 1 300px;width:100%;max-width:300px;min-width:0;height:auto}
.c61-graphsvg{display:block;flex:1 1 330px;width:100%;max-width:460px;min-width:0;height:auto}
.c61-graphsvg .l1-tick,.c61-graphsvg .pes16-small{font-size:13.5px}.c61-graphsvg .l1-axislabel{font-size:14px}.c61-graphsvg .pes16-label{font-size:15px}
.c61-seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c61-seg .ced-topic-button{min-height:42px;font-size:1rem}
.c61-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c61-lesson input[type=range]{width:100%;min-width:150px;min-height:40px;accent-color:var(--gold)}
.c61-lesson .pes16-controls label{flex:1 1 200px}
.c61-lesson .pes16-controls label:first-child{flex:1 1 260px}
.c61-lesson .pes16-controls select{font-size:16px;max-width:100%}
.c61-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.94em}
.c61-key strong{color:var(--text-primary)}
.c61-how{font-size:.86em}
/* review */
.c61-choices{margin:6px 0 12px;padding-left:28px}.c61-choices li{margin-bottom:5px;line-height:1.55}
.c61-mc .c61-tablewrap{margin:8px 0}
.c61-fr details p{margin:0 0 8px}.c61-fr details p:last-child{margin-bottom:0}
.c61-inv{margin:14px 0;padding-left:26px}.c61-inv li{margin-bottom:8px;line-height:1.6}
@media(max-width:600px){.c61-seg .ced-topic-button{flex:1 1 auto}.c61-choices{padding-left:24px}.c61-card{padding:9px 10px}}

/* ---------- Topic 6.2 Learn (ced-topic62-learn.js) ---------- */
.c62-svg{display:block;width:100%;height:auto}
.c62-f1{min-width:700px}.c62-f3{min-width:780px}.c62-f4{min-width:690px}
.c62-pair{max-width:420px;margin:0 auto}
.c62-exp{max-width:470px;margin:0 auto}
.c62-mini{max-width:220px;margin:0 auto}
.c62-small{max-width:440px;margin-left:auto;margin-right:auto}
.c62-small .c62-pair{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:4px 0}
.c62-grid{stroke:rgba(255,255,255,.08);stroke-width:1}.c62-grid.is-minor{stroke:rgba(255,255,255,.05)}.c62-grid.is-zero{stroke:rgba(255,255,255,.16)}
.c62-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}.c62-axis-hd{fill:rgba(220,230,240,.8)}
.c62-tick{fill:var(--text-secondary);font:12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c62-axl{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.c62-title{fill:var(--text-primary);font:700 13.5px 'Inter',system-ui,sans-serif}
.c62-note{fill:var(--text-secondary);font:12px 'Inter',system-ui,sans-serif}
.c62-lab{fill:var(--text-primary);font:600 13px 'Inter',system-ui,sans-serif}
.c62-lv{stroke:#EDE6DA;stroke-width:4;stroke-linecap:round}
.c62-lv.is-r{stroke:#C9D8E6}.c62-lv.is-p{stroke:var(--gold-light)}
.c62-guide{stroke:rgba(220,230,240,.42);stroke-width:1.2;stroke-dasharray:5 4}
.c62-arr{stroke-width:2.6;fill:none}
.c62-arr.is-exo{stroke:#F2967A}.c62-hd.is-exo{fill:#F2967A}
.c62-arr.is-endo{stroke:#7FB2F0}.c62-hd.is-endo{fill:#7FB2F0}
.c62-arr.is-ea{stroke:var(--gold-light)}.c62-hd.is-ea{fill:var(--gold-light)}
.c62-arr.is-bad{stroke:#C9C2B6}.c62-hd.is-bad{fill:#C9C2B6}
.c62-dh{font:700 13.5px 'Inter',system-ui,sans-serif;fill:var(--text-primary);font-variant-numeric:tabular-nums}
.c62-dh.is-exo{fill:#F5AD96}.c62-dh.is-endo{fill:#9CC8F2}.c62-dh.is-ea{fill:var(--gold-light)}.c62-dh.is-bad{fill:#E2DCD2}
.c62-lab.is-mini,.c62-dh.is-mini{font-size:14px}
.c62-mini .c62-axl{font-size:13px}
.c62-plus{fill:var(--text-secondary);font:700 18px 'Inter',system-ui,sans-serif}
.c62-heat{fill:none;stroke:#F2967A;stroke-width:2;stroke-linecap:round}.c62-heat-hd{fill:#F2967A}
.c62-curve{fill:none;stroke:#EDE6DA;stroke-width:2.6;stroke-linejoin:round}
.c62-grip{fill:var(--gold);stroke:#171717;stroke-width:1.5;cursor:ns-resize;touch-action:none}
.c62-grip-mark{stroke:#171717;stroke-width:1.4;pointer-events:none}
.c62-drag{fill:transparent;cursor:ns-resize;touch-action:none}
.c62-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px}
.c62-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c62-meta{color:var(--text-secondary);font-size:.92em}
.c62-recipe{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c62-recipe ol{margin:0;padding-left:22px}.c62-recipe li{margin-bottom:6px}.c62-recipe li:last-child{margin-bottom:0}
.c62-tablewrap{margin:16px 0}
.c62-lesson .c62-table{min-width:0}
.c62-table{border-collapse:collapse;width:100%;font-size:.94rem;line-height:1.5}
.c62-table th,.c62-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c62-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c62-table tbody th{color:var(--gold-light);font-weight:650;width:30%}
.c62-stage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;align-items:start}
.c62-plot{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 2px;min-width:0}
.c62-side{display:flex;flex-direction:column;gap:10px;min-width:0}
.c62-slider{display:flex;flex-direction:column;gap:5px;font-weight:650}
.c62-jh{margin:4px 0 0;font-weight:650}
.c62-task{margin:0 0 12px;line-height:1.6}
.c62-seg{display:flex;flex-wrap:wrap;gap:8px}
.c62-seg .ced-topic-button{min-height:42px;font-size:1rem}
.c62-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c62-seg .c62-go{border-color:var(--gold);font-weight:700}
.c62-lesson input[type=range]{width:100%;min-width:0;min-height:40px;accent-color:var(--gold)}
.c62-lesson .pes16-controls label{flex:1 1 220px}
.c62-lesson .pes16-controls select{font-size:16px;max-width:100%}
.c62-lesson .ced13-lesson-intro nav a{min-height:42px;display:inline-flex;align-items:center;box-sizing:border-box}
.c62-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c62-fb{margin-top:10px}
.c62-hint{margin:0;color:var(--text-secondary);font-size:.94em}
.c62-tests{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:8px}
.c62-tests li{padding:8px 12px;border-left:3px solid var(--v2-border);background:var(--v2-surface);border-radius:0 8px 8px 0;line-height:1.55}
.c62-tests li.is-pass{border-left-color:#6EC88C}.c62-tests li.is-fail{border-left-color:#E07A6A}
.c62-verdict{margin:0;padding:10px 12px;border-radius:8px;line-height:1.6}
.c62-verdict.is-pass{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c62-verdict.is-fail{background:rgba(224,122,106,.1);border:1px solid #E07A6A}
.c62-choices{margin:6px 0 12px;padding-left:28px}.c62-choices li{margin-bottom:5px;line-height:1.55}
.c62-mc .pes16-figure{margin:10px auto}
.c62-fr details p{margin:0 0 8px}.c62-fr details p:last-child{margin-bottom:0}
.c62-minis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:10px 0 4px}
.c62-minis .c62-mini{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c62-inv{margin:14px 0;padding-left:26px}.c62-inv li{margin-bottom:8px;line-height:1.6}
@media(max-width:760px){.c62-stage{grid-template-columns:1fr}}
@media(max-width:600px){.c62-recipe{padding:10px}.c62-choices{padding-left:24px}.c62-table{font-size:.9rem}.c62-table th,.c62-table td{padding:7px 6px}.c62-seg .ced-topic-button{flex:1 1 auto}}
@media(max-width:600px){.c62-tick,.c62-note{font-size:13px}.c62-exp .c62-tick,.c62-exp .c62-lab,.c62-exp .c62-axl{font-size:13.8px}.c62-exp .c62-dh{font-size:14.2px}.c62-plot{padding:4px 0}}

/* ---------- Topic 6.3 Learn (ced-topic63-learn.js) ---------- */
.c63-f1,.c63-f3{min-width:600px;max-width:760px;margin:0 auto}.c63-f2{min-width:640px;max-width:780px;margin:0 auto}.c63-f4{min-width:704px;max-width:840px;margin:0 auto}
.c63-rv1,.c63-rv2{min-width:540px;max-width:680px;margin:0 auto}
.c63-grid{stroke:rgba(255,255,255,.07);stroke-width:1}
.c63-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.5}
.c63-c{fill:none;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.c63-c.is-m{stroke:#E39A5A}.c63-c.is-w{stroke:#7FB2F0}.c63-c.is-cold{stroke:#7FB2F0}.c63-c.is-hot{stroke:#EF8C7A}
.c63-tail.is-cold{fill:rgba(127,178,240,.28)}
.c63-avg{stroke-width:1.5;stroke-dasharray:5 4}.c63-avg.is-m{stroke:#E39A5A}.c63-avg.is-w{stroke:#7FB2F0}.c63-avg.is-cold{stroke:#7FB2F0}.c63-avg.is-hot{stroke:#EF8C7A}
.c63-avgt{font:700 12px 'Inter',system-ui,sans-serif;fill:var(--text-primary);font-variant-numeric:tabular-nums}
.c63-avgt.is-m{fill:#F0B07E}.c63-avgt.is-w,.c63-avgt.is-cold{fill:#9CC8F2}.c63-avgt.is-hot{fill:#F4A595}
.c63-cl{font:700 13px 'Inter',system-ui,sans-serif}.c63-cl.is-m{fill:#F0B07E}.c63-cl.is-w,.c63-cl.is-cold{fill:#9CC8F2}.c63-cl.is-hot{fill:#F4A595}
.c63-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c63-leader{stroke:rgba(156,200,242,.65);stroke-width:1.2;stroke-dasharray:3 3}
.c63-blockbg{fill:rgba(227,154,90,.07);stroke:rgba(227,154,90,.35);stroke-width:1.2}
.c63-waterbg{fill:rgba(127,178,240,.08);stroke:rgba(127,178,240,.3);stroke-width:1.2}
.c63-contact{stroke:rgba(230,213,138,.55);stroke-width:1.4;stroke-dasharray:4 4}
.c63-vib{fill:none;stroke:var(--gold-light);stroke-width:1.6;stroke-linecap:round}
.c63-streak{stroke:rgba(200,225,250,.55);stroke-width:1.6;stroke-linecap:round}
.c63-arrow{stroke:var(--text-secondary);stroke-width:2;fill:none}.c63-arrow-head{fill:var(--text-secondary)}
.c63-bar{stroke:none}.c63-bar.is-m{fill:#E39A5A}.c63-bar.is-w{fill:#7FB2F0}
.c63-barv{fill:var(--text-primary);font:600 12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c63-sep{stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1}
.c63-half{stroke:rgba(220,230,240,.55);stroke-width:1.4;stroke-dasharray:2 4}
.c63-halft{fill:var(--text-secondary);font:600 12px 'Inter',system-ui,sans-serif}
.c63-final{stroke:var(--gold-light);stroke-width:1.4;stroke-dasharray:7 5}
.c63-finalt{fill:var(--gold-light);font:700 12.5px 'Inter',system-ui,sans-serif}
.c63-cursor{stroke:var(--text-secondary);stroke-width:1.2;stroke-dasharray:3 4}
.c63-dot{stroke:#171717;stroke-width:1.4}.c63-dot.is-m{fill:#E39A5A}.c63-dot.is-w{fill:#7FB2F0}
.c63-tm{fill:#F0B07E;font-weight:650}.c63-tw{fill:#9CC8F2;font-weight:650}
.c63-flash{fill:none;stroke:var(--gold-light);stroke-width:2}
.c63-pl{font:700 13px 'Inter',system-ui,sans-serif}.c63-pl.is-m{fill:#F0B07E}.c63-pl.is-w{fill:#9CC8F2}
.c63-net{stroke:var(--gold);stroke-linecap:round}.c63-net-head{fill:var(--gold)}
.c63-eqarrow{stroke:var(--gold-light);stroke-width:1.8}.c63-eqarrow-head{fill:var(--gold-light)}
.c63-netl{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c63-part,.c63-chart{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);overflow:hidden;min-width:0}
.c63-partsvg,.c63-chartsvg{display:block;width:100%;height:auto}
.c63-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
@media(max-width:820px){.c63-charts{grid-template-columns:1fr}}
.c63-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;font-size:.9em;color:var(--text-secondary)}
.c63-legend i{display:inline-block;width:22px;height:0;border-top:3px solid;margin-right:7px;vertical-align:middle}
.c63-legend i.is-m{border-color:#E39A5A}.c63-legend i.is-w{border-color:#7FB2F0}.c63-legend i.is-avg{border-top:2px dashed var(--text-secondary)}.c63-legend i.is-fin{border-top:2px dashed var(--gold-light)}
.c63-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c63-key strong{color:var(--text-primary)}
.c63-seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c63-seg .ced-topic-button,.c63-play{min-height:42px;font-size:1rem}
.c63-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c63-timebar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 12px}
.c63-timebar label{display:flex;flex-direction:column;gap:5px;font-weight:650;flex:1 1 220px;min-width:0}
.c63-play{min-width:110px}
.c63-lesson input[type=range]{width:100%;min-width:0;min-height:40px;accent-color:var(--gold)}
.c63-lesson .pes16-controls label{flex:1 1 200px}.c63-lesson .pes16-controls label:first-child{flex-basis:250px}
.c63-lesson .pes16-controls select{font-size:16px;width:100%;max-width:100%}
.c63-tablewrap{margin:12px 0 14px}
.c63-table{border-collapse:collapse;width:100%;font-size:.94rem;font-variant-numeric:tabular-nums}
.c63-table th,.c63-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c63-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c63-table tbody th{color:var(--gold-light);font-weight:650;white-space:nowrap}
.c63-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c63-work p{margin:0}
.c63-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0}
.c63-card{border:1px solid var(--v2-border);border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c63-card h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c63-card ul{margin:0;padding-left:20px;color:var(--text-secondary)}.c63-card li{margin-bottom:4px}
.c63-choices{margin:6px 0 12px;padding-left:28px}.c63-choices li{margin-bottom:5px;line-height:1.55}
.c63-mc .pes16-scroll{margin:8px 0}
.c63-fr details p{margin:0 0 8px}.c63-fr details p:last-child{margin-bottom:0}
.c63-inv{margin:14px 0;padding-left:26px}.c63-inv li{margin-bottom:8px;line-height:1.6}
@media(max-width:600px){.c63-work{padding:10px}.c63-choices{padding-left:24px}.c63-seg .ced-topic-button{flex:1 1 auto}.c63-play{flex:1 1 100%}}

/* ---------- Topic 6.4 Learn (ced-topic64-learn.js) ---------- */
.c64-lesson [hidden]{display:none!important}
.c64-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.c64-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c64-panel,.c64-panel2,.c64-app{display:block;width:100%;height:auto;margin:0 auto}
.c64-panel{max-width:320px}.c64-panel2{max-width:360px}.c64-app{max-width:330px}
.c64-bars{display:block;width:100%;min-width:400px;max-width:560px;height:auto;margin:0 auto}
.c64-graph{display:block;width:100%;min-width:420px;max-width:600px;height:auto;margin:0 auto}
.c64-figbox{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:8px 6px}
.c64-cupsvg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto}
.c64-scroll{padding:6px 4px}
.c64-cap{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c64-tag{fill:var(--gold-light);font:700 12px 'Inter',system-ui,sans-serif;letter-spacing:.04em}
.c64-plus{fill:var(--text-secondary);font:600 20px 'Inter',system-ui,sans-serif}
.c64-val{fill:var(--text-primary);font:700 12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c64-val.is-in{fill:#1A1A1A}
.c64-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c64-bound{fill:none;stroke:var(--gold);stroke-width:1.6;stroke-dasharray:6 5}
.c64-box{fill:rgba(255,255,255,.025);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.4}
.c64-glass{fill:rgba(170,210,240,.05);stroke:rgba(190,215,235,.62);stroke-width:2;stroke-linejoin:round}
.c64-liq{fill:rgba(93,173,226,.26)}
.c64-liq.is-warm{fill:rgba(236,112,80,.46)}.c64-liq.is-cool{fill:rgba(90,170,235,.44)}.c64-liq.is-mid{fill:rgba(232,150,104,.40)}
.c64-liq.is-sol{fill:rgba(100,170,235,.40)}.c64-liq.is-prop{fill:rgba(196,206,240,.30)}
.c64-surf{stroke:rgba(170,210,245,.7);stroke-width:1.4}
.c64-arr{stroke:var(--text-secondary);stroke-width:2;fill:none}.c64-arr-head{fill:var(--text-secondary)}
.c64-heat{stroke:#F0A04B;stroke-width:2.6;fill:none}.c64-heat-head{fill:#F0A04B}
.c64-cold{stroke:#6FB7F2;stroke-width:2.6;fill:none}.c64-cold-head{fill:#6FB7F2}
.c64-heatt{fill:#F5B66A;font:700 12px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:#1A1F25;stroke-width:3px}
.c64-bar{stroke:rgba(0,0,0,.35);stroke-width:1}
.c64-bar.is-warm{fill:#E07A5F}.c64-bar.is-cool{fill:#6FB7F2}.c64-bar.is-gold{fill:var(--gold)}
.c64-bar.is-sand{fill:rgba(214,186,120,.55);stroke:#D6BA78;stroke-dasharray:4 3}
/* the calorimeter */
.c64-foam{fill:#E6E1D6;stroke:#9F9889;stroke-width:1.2;stroke-linejoin:round}
.c64-foam.is-in{fill:#D9D3C6}.c64-foam.is-lid{fill:#EEE9DF}
.c64-cav{fill:#161B21}
.c64-xtal{fill:#F4F4F0;stroke:#8E8E88;stroke-width:.8}
.c64-sys{fill:rgba(205,163,73,.08);stroke:var(--gold);stroke-width:1.6;stroke-dasharray:5 4}
.c64-wire{fill:none;stroke:#B9BEC6;stroke-width:2}
.c64-tube{fill:rgba(220,235,245,.22);stroke:rgba(210,228,240,.75);stroke-width:1.2}
.c64-col{fill:#E0483A}.c64-bulb{fill:#E0483A;stroke:rgba(210,228,240,.8);stroke-width:1.2}
.c64-tick{stroke:rgba(210,228,240,.55);stroke-width:1}
.c64-tagbox{fill:#0F1418;stroke:var(--gold);stroke-width:1.2}
.c64-read{fill:var(--gold-light);font:700 13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c64-lead{stroke:rgba(255,255,255,.35);stroke-width:1}
.c64-boat{fill:#C9C4BA;stroke:#8F8A80;stroke-width:1}
.c64-plate{fill:#3A3F46;stroke:#5A6068;stroke-width:1.2}.c64-plate-top{fill:#C8573F}
.c64-knob{fill:#22262B;stroke:#777;stroke-width:1.2}
.c64-platet{fill:#E8E8E8;font:600 12px 'Inter',system-ui,sans-serif}
/* graphs */
.c64-mixline{stroke:var(--text-secondary);stroke-width:1.2;stroke-dasharray:3 4}
.c64-halo{paint-order:stroke;stroke:var(--bg-dark,#121212);stroke-width:3px}
.c64-trace{fill:none;stroke:#7FB2F0;stroke-width:2;stroke-linejoin:round}
.c64-pt{fill:#9CC4F4;stroke:#171717;stroke-width:1}
.c64-fit{stroke:var(--gold);stroke-width:2;stroke-dasharray:7 5}
.c64-dt{stroke:var(--gold-light);stroke-width:2;fill:none}.c64-dt-head{fill:var(--gold-light)}
.c64-dtt{fill:var(--gold-light);font:700 12.5px 'Inter',system-ui,sans-serif}
.c64-ext{fill:var(--gold);stroke:#171717;stroke-width:1.2}
.c64-note{fill:rgba(18,18,18,.82);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1}
.c64-cursor{stroke:var(--text-secondary);stroke-width:1.2;stroke-dasharray:3 4}
.c64-now{fill:#E6D58A;stroke:#171717;stroke-width:1.2}
.c64-line{stroke-width:2.6;stroke-linecap:round}.c64-line.is-w{stroke:#6FB7F2}.c64-line.is-p{stroke:#E39A5A}
.c64-line.is-ghost{stroke-width:1.4;stroke-dasharray:4 5;opacity:.55}
.c64-dot{stroke:#171717;stroke-width:1.2}.c64-dot.is-w{fill:#6FB7F2}.c64-dot.is-p{fill:#E39A5A}
.c64-ll{font:700 12.5px 'Inter',system-ui,sans-serif}.c64-ll.is-w{fill:#9CC4F4}.c64-ll.is-p{fill:#F0B486}
/* text blocks */
.c64-work,.c64-rules{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:14px 0}
.c64-work p,.c64-rules p{margin:0 0 6px}.c64-work p:last-child{margin-bottom:0}.c64-work ul,.c64-rules ul{margin:4px 0 0;padding-left:22px}
.c64-work li,.c64-rules li{margin-bottom:6px}
.c64-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:14px 0}
.c64-card{border:1px solid var(--v2-border);border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c64-card h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c64-card p{margin:0;color:var(--text-secondary)}
.c64-card.is-exo{border-left:4px solid #F0A04B}.c64-card.is-endo{border-left:4px solid #6FB7F2}
html body .c64-lesson .c64-card.is-exo h3{color:#F5B66A}html body .c64-lesson .c64-card.is-endo h3{color:#9CC4F4}
.c64-steps{margin:10px 0 0;padding-left:24px}.c64-steps li{margin-bottom:8px;line-height:1.6}
.c64-steps.is-out{margin:8px 0 0}.c64-steps.is-out li{margin-bottom:4px}
.c64-warn{color:#F0A090}
.c64-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c64-key strong{color:var(--text-primary)}
/* tables (override the 540 px house minimum) */
.c64-tablewrap{margin:12px 0 14px}
.c64-lesson .c64-table{border-collapse:collapse;width:100%;min-width:0;font-size:.94rem;font-variant-numeric:tabular-nums}
.c64-lesson .c64-table th,.c64-lesson .c64-table td{padding:7px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c64-lesson .c64-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c64-lesson .c64-table tbody th{color:var(--gold-light);font-weight:650}
.c64-lesson .c64-reads{width:auto}.c64-lesson .c64-reads td,.c64-lesson .c64-reads th{text-align:center;white-space:nowrap}
.c64-lesson .c64-dtab{width:auto;max-width:100%}.c64-lesson .c64-dtab td{white-space:nowrap}
/* explorer */
.c64-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c64-seg .ced-topic-button{min-height:42px;margin:0}
.c64-seg .ced-topic-button[aria-pressed="true"]{background:var(--gold);color:#121212;border-color:var(--gold)}
.c64-seglab{font-weight:650;color:var(--text-secondary);margin-right:4px}
.c64-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c64-lesson .pes16-controls label{flex:1 1 200px}
.c64-lesson #c64-explorer .pes16-controls select{font-size:16px;max-width:100%}
.c64-bench{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);gap:10px;align-items:start}
.c64-bench>.c64-cell{padding:6px 4px}
.c64-readings{margin:12px 0 0}
.c64-readings summary{min-height:40px;display:flex;align-items:center}
.c64-readings>div{padding:0 10px 4px}
.c64-choices{margin:6px 0 12px;padding-left:28px}.c64-choices li{margin-bottom:5px;line-height:1.55}
.c64-mc .pes16-scroll{margin:8px 0}
.c64-fr details p{margin:0 0 8px}.c64-fr details p:last-child{margin-bottom:0}
.c64-inv{margin:14px 0;padding-left:26px}.c64-inv li{margin-bottom:8px;line-height:1.6}
@media(max-width:700px){.c64-bench{grid-template-columns:1fr}}
@media(max-width:600px){
  .c64-work,.c64-rules{padding:10px}.c64-choices{padding-left:24px}
  .c64-panel .c64-cap,.c64-panel2 .c64-cap,.c64-app .c64-cap{font-size:13.5px}
  .c64-panel .pes16-small,.c64-panel2 .pes16-small,.c64-app .pes16-small{font-size:13px}
  .c64-panel .pes16-label,.c64-panel2 .pes16-label{font-size:14.5px}
  .c64-panel2 .l1-tick,.c64-panel2 .l1-axislabel{font-size:13px}
  .c64-cupsvg .c64-cap{font-size:15px}.c64-cupsvg .pes16-small,.c64-cupsvg .c64-heatt{font-size:15px}
  .c64-lesson .c64-table th,.c64-lesson .c64-table td{padding:6px 7px}
}

/* ---------- Topic 6.5 Learn (ced-topic65-learn.js) ---------- */
.c65-lesson .c65-two{margin:10px 0 14px;padding-left:22px}.c65-lesson .c65-two li{margin-bottom:8px;line-height:1.6}.c65-lesson .c65-two li:last-child{margin-bottom:0}
.c65-tablewrap{margin:12px 0 14px}
.c65-lesson table.c65-table{border-collapse:collapse;width:100%;min-width:0;font-size:.94rem;font-variant-numeric:tabular-nums}
.c65-table th,.c65-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c65-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c65-table tbody th{color:var(--gold-light);font-weight:650}
.c65-lesson table.c65-dir{min-width:300px}.c65-lesson table.c65-segtab{min-width:600px}.c65-lesson table.c65-cmp{min-width:440px}
.c65-dir td:nth-child(2),.c65-dir td:last-child{white-space:nowrap;text-align:center}
.c65-dir td:last-child{font-weight:700;color:var(--gold-light)}
.c65-segtab td:last-child,.c65-cmp td{white-space:nowrap;text-align:right}
.c65-segtab tbody tr:last-child>*{font-weight:700;background:rgba(205,163,73,.06)}
.c65-small{font-size:.86rem;color:var(--v2-muted);margin-top:-4px}
.c65-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c65-work p{margin:0}
/* graphs */
.c65-curve,.c65-xsvg{display:block;width:100%;min-width:600px;max-width:780px;height:auto;margin:0 auto}
.c65-pairs,.c65-burn{display:block;width:100%;min-width:580px;max-width:720px;height:auto;margin:0 auto}
.c65-grid{stroke:rgba(255,255,255,.08);stroke-width:1}.c65-grid.is-minor{stroke:rgba(255,255,255,.045)}
.c65-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}.c65-ahead{fill:rgba(220,230,240,.8)}
.c65-tick{fill:var(--text-secondary);font:12.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c65-axl{fill:var(--text-secondary);font:600 13px 'Inter',system-ui,sans-serif}
.c65-lab{fill:var(--text-primary);font:700 13.5px 'Inter',system-ui,sans-serif}
.c65-sp{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.c65-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c65-seg{stroke-width:3.4;stroke-linecap:round}
.c65-seg.is-mct{stroke:#7FB2F0}.c65-seg.is-ndh{stroke:var(--gold)}
.c65-seglab{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c65-cursor{stroke:var(--text-secondary);stroke-width:1.3;stroke-dasharray:4 4}
.c65-dot{fill:#F4E3B5;stroke:#171717;stroke-width:1.6}
.c65-off{fill:var(--gold-light);font:600 12.5px 'Inter',system-ui,sans-serif}
.c65-xline{fill:none;stroke:#EDE6DA;stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round}
.c65-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;font-size:.9em;color:var(--text-secondary)}
.c65-legend i{display:inline-block;width:24px;height:0;border-top:4px solid;margin-right:7px;vertical-align:middle;border-radius:2px}
.c65-legend i.is-mct{border-color:#7FB2F0}.c65-legend i.is-ndh{border-color:var(--gold)}
/* energy diagrams and bars */
.c65-level{stroke:#EDE6DA;stroke-width:3}
.c65-arr{stroke-width:2.6;fill:none}.c65-arr.is-in{stroke:#F2A07E}.c65-arr.is-out{stroke:#8FC8F5}
.c65-hin{fill:#F2A07E}.c65-hout{fill:#8FC8F5}
.c65-al{font:700 12.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}.c65-al.is-in{fill:#F6B796}.c65-al.is-out{fill:#A8D4F7}
.c65-bar.is-mct{fill:#7FB2F0}.c65-bar.is-ndh{fill:var(--gold)}
.c65-val{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c65-inbar{fill:#171717;font:700 12.5px 'Inter',system-ui,sans-serif}
/* attraction panels */
.c65-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.c65-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c65-att{display:block;width:100%;max-width:300px;height:auto;margin:0 auto}
.c65-box{fill:rgba(255,255,255,.02);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.2}
.c65-note{fill:var(--gold-light);font:700 12px 'Inter',system-ui,sans-serif}
.c65-sub{fill:var(--text-secondary);font:12px 'Inter',system-ui,sans-serif}
/* explorer */
.c65-modes{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c65-modes .ced-topic-button{min-height:44px;font-size:1rem;margin:0;flex:1 1 180px}
.c65-modes .ced-topic-button[aria-pressed=true]{background:var(--gold);color:#171717}
.c65-lesson input[type=range]{width:100%;min-width:150px;min-height:40px;accent-color:var(--gold)}
.c65-lesson .pes16-controls label{flex:1 1 220px}
.c65-lesson .pes16-controls select{font-size:16px;max-width:100%}
.c65-phase{display:flex;align-items:center;gap:10px;margin:12px 0 0;font-size:.92rem}
.c65-phlab{color:var(--text-secondary);font-weight:650;white-space:nowrap}
.c65-pht{font-weight:700;color:var(--text-primary);white-space:nowrap;font-variant-numeric:tabular-nums;min-width:4.5em;text-align:right}
.c65-phbar{flex:1 1 auto;display:flex;height:30px;border-radius:7px;overflow:hidden;border:1px solid var(--v2-border);background:var(--v2-surface);min-width:0}
.c65-phbar i{display:flex;align-items:center;justify-content:center;font-style:normal;overflow:hidden;white-space:nowrap}
.c65-phbar i b{font-size:.82rem;font-weight:700;color:#14202A;padding:0 4px}
.c65-phbar i.is-s{background:#CFEAF8}.c65-phbar i.is-l{background:#5DADE2}.c65-phbar i.is-g{background:#E4DED3}
.c65-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.94em}
.c65-key strong{color:var(--text-primary)}
.c65-meter{margin-top:12px;padding:10px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c65-mh{margin:0 0 8px;font-weight:700;color:var(--gold)}
.c65-mrow{padding:7px 0;border-top:1px solid var(--v2-border)}
.c65-mrow:first-of-type{border-top:0}
.c65-mtop{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px}
.c65-mlab{color:var(--text-secondary)}.c65-mlab b{color:var(--text-primary);margin-right:4px}
.c65-mval{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-secondary)}
.c65-mrow.is-now .c65-mlab,.c65-mrow.is-now .c65-mval{color:var(--text-primary)}
.c65-mrow.is-now .c65-mlab b{color:var(--gold-light)}
.c65-meq{font-size:.86rem;color:var(--v2-muted);margin:2px 0 5px;font-variant-numeric:tabular-nums}
.c65-mtrack{height:10px;min-width:6px;border-radius:5px;background:rgba(255,255,255,.07);overflow:hidden}
.c65-mtrack i{display:block;height:100%;border-radius:5px}
.c65-mtrack i.is-mct{background:#7FB2F0}.c65-mtrack i.is-ndh{background:var(--gold)}
@media(prefers-reduced-motion:no-preference){.c65-mtrack i,.c65-phbar i{transition:width .15s linear}}
/* review */
.c65-choices{margin:6px 0 12px;padding-left:28px}.c65-choices li{margin-bottom:5px;line-height:1.55}
.c65-fr details p{margin:0 0 8px}.c65-fr details p:last-child{margin-bottom:0}
.c65-set{margin:14px 0;padding:12px 14px;border:1px dashed var(--v2-border,rgba(255,255,255,.18));border-radius:10px}
.c65-setlead{margin:0 0 4px}
.c65-set .pes16-figure{margin:8px 0 12px}
.c65-inv{margin:14px 0;padding-left:26px}.c65-inv li{margin-bottom:8px;line-height:1.6}
@media(max-width:600px){.c65-work{padding:10px}.c65-choices{padding-left:24px}.c65-set{padding:10px}.c65-meter{padding:8px 10px}.c65-phase{flex-wrap:wrap}.c65-phbar{flex-basis:100%;order:3}}

/* ---------- Topic 6.6 Learn (ced-topic66-learn.js) ---------- */
.c66-panels{display:grid;gap:10px}
.c66-p3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.c66-p2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.c66-panel{display:block;width:100%;height:auto;margin:0 auto;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:4px 2px;box-sizing:border-box}
.c66-p3 .c66-panel{max-width:320px}.c66-p2 .c66-panel{max-width:460px}
.c66-f1{min-width:644px}.c66-f4{min-width:678px}.c66-net{min-width:626px}.c66-graph{min-width:424px;max-width:640px;margin:0 auto}
.c66-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c66-guide{stroke:rgba(220,230,240,.45);stroke-width:1.2;stroke-dasharray:5 4}
.c66-lv{stroke:#EDE6DA;stroke-width:3.2;stroke-linecap:round}
.c66-lv.is-l{stroke:var(--gold-light)}.c66-lv.is-g{stroke:#7FB2F0}.c66-lv.is-up{stroke:#E6849A}
.c66-sp{fill:var(--text-primary);font:700 12.5px 'Inter',system-ui,sans-serif}
.c66-dh{stroke-width:2.4}.c66-dh.is-l{stroke:var(--gold-light)}.c66-dh.is-g{stroke:#7FB2F0}.c66-dh.is-up{stroke:#E6849A}
.c66-dh.is-l-head{fill:var(--gold-light)}.c66-dh.is-g-head{fill:#7FB2F0}.c66-dh.is-up-head{fill:#E6849A}
.c66-dhl{font:700 13px 'Inter',system-ui,sans-serif;fill:var(--text-primary);font-variant-numeric:tabular-nums}
.c66-dhl.is-l{fill:var(--gold-light)}.c66-dhl.is-g{fill:#9CC8F2}.c66-dhl.is-up{fill:#F0A3B4}
.c66-sub{font-size:.78em}
.c66-brk{fill:none;stroke:rgba(220,230,240,.6);stroke-width:1.4}
.c66-heat{fill:none;stroke:#F2B07E;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.c66-heat-head{fill:#F2B07E}
.c66-arr{stroke:var(--text-secondary);stroke-width:2;fill:none}.c66-arr-head{fill:var(--text-secondary)}
.c66-v{stroke:var(--gold-light);stroke-width:2;fill:none}.c66-v-head{fill:var(--gold-light)}
.c66-dt{stroke:#F2B07E;stroke-width:1.8;fill:none}.c66-dt-head{fill:#F2B07E}
.c66-sys{fill:rgba(230,213,138,.05);stroke:var(--gold-light);stroke-width:1.4;stroke-dasharray:6 4}
.c66-surr{fill:rgba(127,178,240,.08);stroke:rgba(127,178,240,.45);stroke-width:1.2}
.c66-tag{fill:var(--text-secondary);font:600 12px 'Inter',system-ui,sans-serif}
.c66-bar{stroke:none}.c66-bar.is-pe{fill:rgba(205,163,73,.55)}.c66-bar.is-ke{fill:rgba(224,130,63,.62)}.c66-bar.is-su{fill:rgba(93,150,214,.6)}
.c66-bart{fill:#fff;font:700 12px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:rgba(0,0,0,.35);stroke-width:2px}
.c66-node{fill:var(--v2-surface,rgba(255,255,255,.03));stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.3}
.c66-node.is-key{stroke:var(--gold);fill:rgba(205,163,73,.1)}
.c66-nt{fill:var(--text-primary);font:700 12.5px 'Inter',system-ui,sans-serif}
.c66-q{fill:var(--gold-light);font:800 15px 'Inter',system-ui,sans-serif}
.c66-plus{fill:var(--text-secondary);font:700 20px 'Inter',system-ui,sans-serif}
.c66-pn{fill:var(--text-secondary);font:600 12px 'Inter',system-ui,sans-serif}
.c66-sep{stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1;stroke-dasharray:4 4}
.c66-mix{stroke:rgba(220,230,240,.4);stroke-width:1.2;stroke-dasharray:3 4}
.c66-trace{fill:none;stroke:#F2B07E;stroke-width:2.6;stroke-linejoin:round}
.c66-peak{fill:#F2B07E;stroke:#171717;stroke-width:1.4}
.c66-gl{fill:var(--text-primary);font:700 12.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c66-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c66-stage{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:12px}
.c66-cupwrap{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 0}
.c66-cupsvg{display:block;width:100%;max-width:220px;height:auto;margin:0 auto}
.c66-netwrap{margin-bottom:4px}
.c66-foam{fill:#E9E4DA;stroke:#BDB5A6;stroke-width:1.4}.c66-foam-in{fill:#F6F2EA;stroke:#CFC7B8;stroke-width:1}
.c66-glass{fill:rgba(200,225,240,.08);stroke:rgba(200,225,240,.7);stroke-width:2.4;stroke-linejoin:round}
.c66-liq{opacity:.62}
.c66-liqt{fill:#fff;font:600 12px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:rgba(0,0,0,.35);stroke-width:2px}
.c66-lid{fill:#D9D3C6;stroke:#A39B8C;stroke-width:1.2}
.c66-stir{fill:none;stroke:#9AA3AD;stroke-width:2.2}
.c66-probe{stroke:#C9CED4;stroke-width:4;stroke-linecap:round}.c66-probe-tip{fill:#8A939C}
.c66-probe-box{fill:#141414;stroke:var(--gold-dark,#A8832A);stroke-width:1.4}
.c66-probe-t{fill:#9FE0B5;font:700 15px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c66-mgr{fill:#B8BEC4;stroke:#6E757C;stroke-width:.8}
.c66-bub{fill:rgba(255,255,255,.35);stroke:rgba(255,255,255,.7);stroke-width:.8}
.c66-seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c66-seg .ced-topic-button{min-height:42px;font-size:1rem}
.c66-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c66-lesson .pes16-controls[hidden]{display:none}
.c66-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c66-lesson .pes16-controls label{flex:1 1 200px}
.c66-lesson .pes16-controls select{font-size:16px;max-width:100%}
.c66-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.c66-tiles>div{border:1px solid var(--v2-border);border-radius:8px;background:var(--v2-surface);padding:8px 10px;min-width:0}
.c66-tiles span{display:block;font-size:.82em;color:var(--text-secondary)}
.c66-tiles strong{display:block;font-size:1.12em;color:var(--gold-light)}
.c66-lesson .pes16-readout p{margin:0 0 8px}
.c66-key{display:block;margin-top:4px;color:var(--text-secondary);font-size:.92em}
.c66-key strong{color:var(--text-primary)}
.c66-recipe,.c66-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c66-recipe p{margin:0 0 6px}.c66-recipe ol{margin:0;padding-left:22px}.c66-recipe li{margin-bottom:6px}.c66-recipe li:last-child{margin-bottom:0}
.c66-work p{margin:0 0 8px}.c66-work p:last-child{margin-bottom:0}
.c66-steps{margin:10px 0;padding-left:24px}.c66-steps li{margin-bottom:7px;line-height:1.6}
.c66-tablewrap{margin:10px 0}
.c66-lesson .c66-table{width:auto;min-width:0}
.c66-table{border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c66-table th,.c66-table td{padding:7px 12px;border:1px solid var(--v2-border);text-align:left}
.c66-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c66-table tbody th{color:var(--gold-light);font-weight:650}
.c66-choices{margin:6px 0 12px;padding-left:28px}.c66-choices li{margin-bottom:5px;line-height:1.55}
.c66-fr details p{margin:0 0 8px}.c66-fr details p:last-child{margin-bottom:0}
.c66-inv{margin:14px 0;padding-left:26px}.c66-inv li{margin-bottom:8px;line-height:1.6}
@media(max-width:600px){.c66-stage{grid-template-columns:1fr}.c66-cupwrap{max-width:240px;width:100%;margin:0 auto}.c66-tiles{grid-template-columns:1fr}.c66-recipe,.c66-work{padding:10px}.c66-choices{padding-left:24px}}

/* ---------- Topic 6.7 Learn (ced-topic67-learn.js) ---------- */
.c67-h2svg,.c67-ordsvg,.c67-hxsvg{display:block;width:100%;height:auto;margin:0 auto}
.c67-h2svg{min-width:480px;max-width:640px}
.c67-ordsvg,.c67-hxsvg{min-width:430px;max-width:600px}
.c67-count,.c67-eqsvg{display:block;width:100%;height:auto;margin:0 auto}
.c67-scene{display:block;width:100%;height:auto}
.c67-ladsvg{display:block;width:100%;max-width:380px;height:auto;margin:0 auto}
.c67-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c67-axis{stroke:rgba(220,230,240,.7);stroke-width:1.6;fill:none}
.c67-tick{fill:var(--text-secondary);font:12.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c67-axl{fill:var(--text-secondary);font:600 13px 'Inter',system-ui,sans-serif}
.c67-lv{stroke:#EDE6DA;stroke-width:2.4;stroke-linecap:round}
.c67-lvt{fill:var(--text-secondary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c67-guide{stroke:rgba(220,230,240,.4);stroke-width:1.2;stroke-dasharray:5 4}
.c67-lt{font:700 13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums;fill:var(--text-primary)}
.c67-lt.is-b{fill:#F2B07E}.c67-lt.is-f{fill:#9CC8F2}.c67-lt.is-d{fill:var(--gold-light)}
.c67-ar{stroke-width:2.6;fill:none}.c67-ar.is-b{stroke:#F2B07E}.c67-ar.is-f{stroke:#9CC8F2}.c67-ar.is-d{stroke:var(--gold-light)}
.c67-ah.is-b{fill:#F2B07E}.c67-ah.is-f{fill:#9CC8F2}.c67-ah.is-d{fill:var(--gold-light)}
.c67-seg{stroke:#15120F;stroke-width:1}
.c67-segt{fill:#15120F;font:700 12.5px 'Inter',system-ui,sans-serif}
.c67-lx{fill:var(--text-primary);font:700 16px 'Inter',system-ui,sans-serif}
.c67-lb{stroke:#E8E2D6;stroke-width:1.9;stroke-linecap:round}
.c67-lp{fill:var(--text-primary)}
.c67-band{fill:var(--gold);font:700 13px 'Inter',system-ui,sans-serif}
.c67-gl{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.c67-tag{font:600 13px 'Inter',system-ui,sans-serif}
.c67-sum{fill:var(--text-primary);font:700 13.5px 'Inter',system-ui,sans-serif}
.c67-plus{fill:var(--text-secondary);font:700 20px 'Inter',system-ui,sans-serif}
.c67-coef{fill:var(--text-primary);font:700 17px 'Inter',system-ui,sans-serif}
.c67-brk{fill:none;stroke:rgba(220,230,240,.5);stroke-width:1.3}
.c67-eqarrow{stroke:var(--text-secondary);stroke-width:2}.c67-eqhead{fill:var(--text-secondary)}
.c67-note{fill:var(--text-secondary);font:600 13px 'Inter',system-ui,sans-serif}
.c67-bl{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.c67-bv{fill:var(--text-secondary);font:600 12.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c67-obar.is-o1{fill:#7FB2F0}.c67-obar.is-o2{fill:var(--gold-light)}.c67-obar.is-o3{fill:#F2B07E}
.c67-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}
.c67-duo.is-wide{grid-template-columns:1fr}
.c67-recipe{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c67-recipe ol{margin:0;padding-left:22px}.c67-recipe li{margin-bottom:6px}.c67-recipe li:last-child{margin-bottom:0}
.c67-btab{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px;margin:12px 0 16px;font-variant-numeric:tabular-nums}
.c67-btab span{padding:6px 9px;border:1px solid var(--v2-border);border-radius:7px;background:var(--v2-surface);color:var(--text-secondary);font-size:.95rem}
.c67-btab b{color:var(--text-primary);margin-right:4px}.c67-btab small{font-size:.78em}
.c67-ledger{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin:12px 0}
.c67-lesson table.c67-ltab{min-width:0;width:100%;font-variant-numeric:tabular-nums}
.c67-lesson .c67-ltab th,.c67-lesson .c67-ltab td{padding:7px 8px}
.c67-lesson .c67-ltab td{text-align:right}
.c67-lesson .c67-ltab tfoot th,.c67-lesson .c67-ltab tfoot td{color:var(--gold-light);font-weight:700;border-bottom:0}
.c67-sw{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:7px;vertical-align:-1px;border:1px solid rgba(0,0,0,.5)}
.c67-lesson table.c67-ctab{min-width:560px;font-variant-numeric:tabular-nums}
.c67-lesson .c67-ctab td{text-align:right;white-space:nowrap}
.c67-ladfig .c67-ladcard{max-width:400px;margin:0 auto}
.c67-ladcard{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c67-ladnote{margin:4px 8px 4px;font-size:.86rem;color:var(--text-secondary);line-height:1.5}
.c67-stagegrid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(250px,1fr);gap:12px;align-items:start}
.c67-stages{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c67-stages .ced-topic-button{min-height:42px;font-size:1rem}
.c67-stages .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c67-lesson .pes16-controls label{flex:1 1 260px}
.c67-lesson .pes16-controls select{font-size:16px;max-width:100%}
.c67-tally{margin:14px 0 0;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 12px}
.c67-thead,.c67-trow{display:grid;grid-template-columns:minmax(110px,1fr) auto auto;gap:8px 18px;align-items:center}
.c67-thead{padding:6px 0;font-size:.85rem;font-weight:700;color:var(--gold)}
.c67-thead span:nth-child(n+2){text-align:center;min-width:120px}
.c67-trow{padding:6px 0;border-top:1px solid rgba(255,255,255,.07)}
.c67-bond{font-weight:700;color:var(--text-primary);white-space:nowrap}
.c67-bond small{font-weight:500;color:var(--text-secondary);font-size:.85em;margin-left:4px}
.c67-cell{display:flex;align-items:center;justify-content:center;gap:8px;min-width:120px}
.c67-side{display:none;font-size:.85rem;color:var(--text-secondary);font-weight:650}
.c67-step{display:inline-flex;align-items:center;border:1px solid var(--gold-dark);border-radius:8px;overflow:hidden;background:var(--bg-dark)}
.c67-step button{width:40px;height:40px;border:0;background:transparent;color:var(--text-primary);font:700 20px/1 'Inter',system-ui,sans-serif;cursor:pointer}
.c67-step button:hover:not(:disabled){background:rgba(205,163,73,.15)}
.c67-step button:disabled{opacity:.35;cursor:default}
.c67-step button:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.c67-step output{min-width:30px;text-align:center;font:700 17px 'Inter',system-ui,sans-serif;color:var(--text-primary);font-variant-numeric:tabular-nums}
.c67-step.is-ok{border-color:#6EC88C;box-shadow:0 0 0 1px #6EC88C}
.c67-step.is-bad{border-color:#E07A6A;box-shadow:0 0 0 1px #E07A6A}
.c67-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.c67-actions .ced-topic-button{min-height:42px;font-size:1rem}
.c67-actions #c67-check{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c67-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.94em}
.c67-key strong{color:var(--text-primary)}
.c67-good{border-left:3px solid #6EC88C;padding-left:10px}
.c67-bad{border-left:3px solid #E07A6A;padding-left:10px}
.c67-given{color:var(--text-secondary);font-size:.95rem}
.c67-stim{margin:8px 0 10px}
.c67-choices{margin:6px 0 12px;padding-left:28px}.c67-choices li{margin-bottom:5px;line-height:1.55}
.c67-fr details p{margin:0 0 8px}.c67-fr details p:last-child{margin-bottom:0}
.c67-inv{margin:14px 0;padding-left:26px}.c67-inv li{margin-bottom:8px;line-height:1.6}
@media(max-width:760px){.c67-stagegrid{grid-template-columns:1fr}.c67-scene{min-width:var(--c67-mw,480px)}}
@media(max-width:560px){
  .c67-thead{display:none}
  .c67-trow{grid-template-columns:1fr 1fr;gap:6px 10px;padding:8px 0}
  .c67-bond{grid-column:1/-1}
  .c67-cell{flex-direction:column;gap:3px;min-width:0}
  .c67-side{display:block}
  .c67-tally{padding:4px 10px}
  .c67-choices{padding-left:24px}
  .c67-recipe{padding:10px}
}
.c67-lesson .c67-ltab thead th:nth-child(n+2),.c67-lesson .c67-ctab thead th:nth-child(n+2){text-align:right}

/* ---------- Topic 6.8 Learn (ced-topic68-learn.js) ---------- */
.c68-cyc{min-width:600px}.c68-ladder{min-width:540px;max-width:640px;margin:0 auto}.c68-form{min-width:540px;max-width:620px;margin:0 auto}.c68-carbon{min-width:540px;max-width:620px;margin:0 auto}
.c68-mini{min-width:420px;max-width:520px;margin:0 auto}
.c68-head{fill:var(--gold-light);font:700 12.5px 'Inter',system-ui,sans-serif}
.c68-tr{fill:#9CC8F2;font-weight:700}.c68-tp{fill:#F2B07E;font-weight:700}
.c68-grid{stroke:rgba(255,255,255,.07);stroke-width:1}
.c68-zero-t{fill:var(--gold-light);font-weight:700}
.c68-elline{stroke:var(--gold);stroke-width:2.4}
.c68-bar{stroke:rgba(0,0,0,.45);stroke-width:.8}
.c68-bar.is-r.is-0{fill:#7FB2F0}.c68-bar.is-r.is-1{fill:#5E93D6}.c68-bar.is-r.is-2{fill:#A9CDF5}
.c68-bar.is-p.is-0{fill:#F2B07E}.c68-bar.is-p.is-1{fill:#E3894A}.c68-bar.is-p.is-2{fill:#F6CFA6}
.c68-term{font:600 12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c68-term.is-r{fill:#B5D4F5}.c68-term.is-p{fill:#F5C9A0}
.c68-level{stroke-width:3.2;stroke-linecap:round}.c68-level.is-r{stroke:#7FB2F0}.c68-level.is-p{stroke:#F2B07E}
.c68-lvl{fill:var(--text-primary);font:700 12.5px 'Inter',system-ui,sans-serif}
.c68-sum{font:600 12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}.c68-sum.is-r{fill:#9CC8F2}.c68-sum.is-p{fill:#F2B07E}
.c68-guide{stroke:rgba(220,230,240,.38);stroke-width:1.2;stroke-dasharray:5 4}
.c68-dh{stroke:var(--gold-light);stroke-width:2.6}.c68-dh-head{fill:var(--gold-light)}
.c68-dhl{fill:var(--gold-light);font:700 13px 'Inter',system-ui,sans-serif}
.c68-dhv{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c68-band.is-up{fill:rgba(242,176,126,.07)}.c68-band.is-down{fill:rgba(127,178,240,.07)}
.c68-rail{stroke:rgba(220,230,240,.55);stroke-width:2.2}
.c68-rung{stroke:var(--text-primary);stroke-width:2.4;stroke-linecap:round}.c68-rung.is-zero{stroke:var(--gold);stroke-width:3.4}
.c68-leader{stroke:rgba(220,230,240,.4);stroke-width:1}
.c68-rl{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}.c68-rl.is-zero{fill:var(--gold-light);font-weight:700}
.c68-rv{fill:var(--text-secondary);font-weight:600}.c68-rl.is-zero .c68-rv{fill:var(--gold-light)}
.c68-pick{fill:none;stroke:var(--gold-light);stroke-width:2;stroke-dasharray:3 2}
.c68-plus{fill:var(--text-secondary);font:600 22px 'Inter',system-ui,sans-serif}
.c68-rxa{stroke:var(--text-secondary);stroke-width:2.2}.c68-rxa-head{fill:var(--text-secondary)}
.c68-pn{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.c68-pv{fill:var(--gold-light);font:700 12.5px 'Inter',system-ui,sans-serif}.c68-pv.is-zero{fill:var(--gold)}
.c68-tablewrap{margin:12px 0 14px}
.c68-lesson table.c68-table{border-collapse:collapse;width:100%;min-width:0;font-size:.94rem;font-variant-numeric:tabular-nums}
.c68-table th,.c68-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c68-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c68-table tbody th{color:var(--gold-light);font-weight:650}
.c68-lesson table.c68-ftab{min-width:500px}.c68-lesson table.c68-ttab{min-width:480px}.c68-lesson table.c68-fuels{min-width:600px}
.c68-ttab td,.c68-ftab td:last-child{white-space:nowrap}
.c68-lesson table.c68-data{width:auto}.c68-data td,.c68-data th{text-align:center;white-space:nowrap}
.c68-tests3{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}
.c68-card{border:1px solid var(--v2-border);border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c68-card h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c68-card p{margin:0;color:var(--text-secondary)}
.c68-lesson .pes16-controls label{flex:1 1 260px}
.c68-lesson .pes16-controls select{font-size:16px;max-width:100%}
.c68-seg-row{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0 0 12px}
.c68-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.c68-seg[hidden]{display:none}
.c68-seg-l{font-weight:650;margin-right:2px}
.c68-seg .ced-topic-button{min-height:42px;font-size:1rem;margin:0}
.c68-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c68-eqline{margin:0 0 10px;font-size:1.02rem;line-height:1.6}
.c68-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c68-key strong{color:var(--text-primary)}
.c68-choices{margin:6px 0 12px;padding-left:28px}.c68-choices li{margin-bottom:5px;line-height:1.55}
.c68-mc .c68-tablewrap{margin:8px 0}.c68-mc .c68-stim{margin:8px 0}
.c68-fr details p{margin:0 0 8px}.c68-fr details p:last-child{margin-bottom:0}
.c68-inv{margin:14px 0;padding-left:26px}.c68-inv li{margin-bottom:8px;line-height:1.6}
@media(max-width:600px){.c68-choices{padding-left:24px}.c68-seg{flex:1 1 100%}.c68-seg .ced-topic-button{flex:1 1 auto}.c68-seg-l{flex:1 1 100%}}
.c68-sub{font-size:12px}
.c68-cell{stroke:rgba(220,230,240,.35);stroke-width:1.2;stroke-dasharray:4 3}
.c68-seg-l{font-size:1rem}
.c68-lvl,.c68-sum,.c68-term,.c68-dhl,.c68-dhv,.c68-cyc .pes16-small{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c68-lblbg{fill:#15120F;opacity:.9}
@media(max-width:600px){.c68-lesson table.c68-ftab,.c68-lesson table.c68-ttab{min-width:0;font-size:.88rem}.c68-ftab th,.c68-ftab td,.c68-ttab th,.c68-ttab td{padding:6px 7px}.c68-ttab td{white-space:normal}}

/* ---------- Topic 6.9 Learn (ced-topic69-learn.js) ---------- */
.c69-lesson .l1-svg.c69-ediag{min-width:540px}.c69-lesson .l1-svg.c69-rules{min-width:600px}.c69-lesson .l1-svg.c69-tgraph{min-width:540px}.c69-lesson .l1-svg.c69-stairs{min-width:540px}
.c69-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c69-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c69-guide{stroke:rgba(220,230,240,.42);stroke-width:1.2;stroke-dasharray:5 4}
.c69-link{stroke:rgba(220,230,240,.35);stroke-width:1.2;stroke-dasharray:3 4}
.c69-lev{stroke:#EDE6DA;stroke-width:2.6;stroke-linecap:round}
.c69-sep{stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1}
.c69-arr{stroke-width:2.4;fill:none}.c69-arr.is-exo{stroke:#F2B07E}.c69-arr.is-endo{stroke:#7FB2F0}.c69-arr.is-all{stroke:var(--gold-light)}.c69-arr.is-plain{stroke:var(--text-secondary);stroke-width:2}
.c69-ah.is-exo{fill:#F2B07E}.c69-ah.is-endo{fill:#7FB2F0}.c69-ah.is-all{fill:var(--gold-light)}.c69-ah.is-plain{fill:var(--text-secondary)}
.c69-al{font:700 13px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c69-al.is-exo{fill:#F2B07E}.c69-al.is-endo{fill:#9CC8F2}.c69-al.is-all{fill:var(--gold-light)}
.c69-av{font:600 12px 'Inter',system-ui,sans-serif;fill:var(--text-primary);font-variant-numeric:tabular-nums}
.c69-sp{font:700 12.5px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c69-plus{fill:var(--text-secondary);font:700 22px 'Inter',system-ui,sans-serif}
.c69-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c69-curve{fill:none;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}.c69-curve.is-mg{stroke:#F2B07E}.c69-curve.is-mgo{stroke:#7FB2F0;stroke-dasharray:8 5}
.c69-dot{stroke:#171717;stroke-width:1.4}.c69-dot.is-mg{fill:#F2B07E}.c69-dot.is-mgo{fill:#7FB2F0}
.c69-addline{stroke:rgba(230,213,138,.6);stroke-width:1.3;stroke-dasharray:3 4}
.c69-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c69-work p{margin:0 0 8px;line-height:1.6}.c69-work p:last-child{margin-bottom:0}
.c69-work .c69-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700}
.c69-cx{text-decoration:line-through;text-decoration-color:var(--gold);text-decoration-thickness:2px;color:var(--text-secondary)}
.c69-recipe{padding:12px 14px 12px 36px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c69-recipe ol{margin:0;padding:0}.c69-recipe li{margin-bottom:6px;line-height:1.55}.c69-recipe li:last-child{margin-bottom:0}
.c69-tablewrap{margin:12px 0 14px}
.c69-lesson table.c69-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c69-table th,.c69-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c69-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c69-table tbody th{color:var(--gold-light);font-weight:650}
.c69-data td{white-space:nowrap}
.c69-choices{margin:6px 0 12px;padding-left:28px}.c69-choices li{margin-bottom:5px;line-height:1.55}
.c69-mc .pes16-scroll,.c69-mc .ced13-lesson-equation{margin:10px 0}
.c69-parts{margin:6px 0 10px;padding-left:28px}.c69-parts li{margin-bottom:6px;line-height:1.55}
.c69-fr details p{margin:0 0 8px}.c69-fr details p:last-child{margin-bottom:0}
.c69-inv{margin:14px 0;padding-left:26px}.c69-inv li{margin-bottom:8px;line-height:1.6}
.c69-seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c69-seg .ced-topic-button,.c69-btnrow .ced-topic-button,.c69-meas{min-height:44px;font-size:1rem;margin:0}
.c69-seg .ced-topic-button[aria-pressed=true],.c69-meas[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c69-target{margin:0 0 12px;padding:10px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c69-target p{margin:0 0 6px;line-height:1.55}.c69-target .c69-why{color:var(--text-secondary);font-size:.92em}
.c69-target .c69-meas{margin-top:4px}
.c69-eqn{font-weight:650;color:var(--text-primary)}
.c69-term{white-space:nowrap}
.c69-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:10px;margin:0 0 12px}
.c69-card{border:1px solid var(--v2-border);border-left:4px solid var(--gold);border-radius:10px;background:var(--v2-surface);padding:10px 12px;min-width:0}
.c69-card.is-rev{border-left-color:#7FB2F0}.c69-card.is-off{border-left-color:var(--v2-border);opacity:.72}
.c69-card p{margin:0 0 8px;line-height:1.55}
.c69-ch{font-weight:700;color:var(--gold)}
.c69-tag{display:inline-block;margin-left:4px;padding:0 8px;border:1px solid rgba(127,178,240,.6);border-radius:999px;color:#9CC8F2;font-size:.78em;font-weight:650}
.c69-orig .c69-dh{color:var(--text-secondary);white-space:nowrap}
.c69-ctl{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:0 0 8px}
.c69-ctl .c69-rev{min-height:44px;font-size:1rem;margin:0}
.c69-ctl .c69-rev[aria-pressed=true]{background:#7FB2F0;border-color:#7FB2F0;color:#171717;font-weight:700}
.c69-f{display:flex;flex-direction:column;gap:3px;font-weight:650;font-size:.9em;color:var(--text-secondary)}
.c69-lesson .c69-f select{font:inherit;font-size:16px;min-height:44px;padding:6px 10px;border:1px solid var(--gold-dark);border-radius:7px;background:var(--bg-dark);color:var(--text-primary)}
.c69-adj{padding-top:8px;border-top:1px dashed var(--v2-border);margin-bottom:0!important}
.c69-use{color:var(--text-secondary);font-size:.92em}
.c69-dhv{white-space:nowrap}.c69-dhv.is-exo{color:#F2B07E}.c69-dhv.is-endo{color:#9CC8F2}
#c69-fig{margin:0 0 4px}
.c69-row{display:block;margin-bottom:4px}
.c69-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c69-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c69-key.is-near{background:rgba(127,178,240,.1);border:1px solid #7FB2F0}
.c69-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c69-btnrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.c69-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c69-lesson .pes16-photo img{max-height:none;aspect-ratio:3/2}
@media(max-width:600px){.c69-seg .ced-topic-button,.c69-btnrow .ced-topic-button{flex:1 1 auto}.c69-work,.c69-target{padding:10px}.c69-recipe{padding:10px 10px 10px 30px}.c69-choices,.c69-parts{padding-left:24px}.c69-table th,.c69-table td{padding:7px 6px}.c69-lesson table.c69-table{font-size:.9rem}.c69-data td{white-space:normal}}

/* ---------- Topic 6.9 Explore (ced-topic69-explore.js) ---------- */
/* Topic 6.9 Explore (ced-topic69-explore.js): the deck of equation cards under the picture. For the lead to merge into
   the shared Explore CSS. Every selector is scoped to #ced-6-9-explore and uses the c69x- prefix (the 6.9 Learn tab
   owns c69-*: .c69-f and .c69-use there are a label and a span). Every button is at least 40 px tall (phones). */
#ced-6-9-explore .c69x-deck { display: grid; gap: 10px; padding: 12px 14px; border: 1px solid var(--h-line); border-radius: 14px; background: var(--h-panel-2); }
#ced-6-9-explore .c69x-deck[hidden] { display: none; }
#ced-6-9-explore .c69x-dhead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
#ced-6-9-explore .c69x-dnote { font-size: .86rem; line-height: 1.45; color: var(--h-text-2); }
#ced-6-9-explore .c69x-dcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 10px; }
#ced-6-9-explore .c69x-dc { display: grid; gap: 8px; min-width: 0; padding: 10px 12px; border: 1px solid var(--h-line-2); border-left: 5px solid var(--c69c); border-radius: 12px; background: rgba(255,255,255,.03); transform-origin: 50% 50%; }
#ced-6-9-explore .c69x-dc.is-used { border-color: color-mix(in srgb, var(--c69c) 55%, transparent); border-left-color: var(--c69c); background: color-mix(in srgb, var(--c69c) 11%, var(--h-panel)); }
#ced-6-9-explore .c69x-dc.is-flip { animation: c69x-flip .5s ease; }
@keyframes c69x-flip { 0% { transform: perspective(600px) rotateX(0); } 50% { transform: perspective(600px) rotateX(90deg); } 100% { transform: perspective(600px) rotateX(0); } }
#ced-6-9-explore .c69x-dtop { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
#ced-6-9-explore .c69x-badge { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--c69c); color: #17120d; font: 700 .82rem/1 var(--h-sans); }
#ced-6-9-explore .c69x-dtag { font-size: .8rem; color: var(--h-muted); }
#ced-6-9-explore .c69x-ddh { margin-left: auto; font: 600 .95rem/1.1 var(--h-sans); font-variant-numeric: tabular-nums; }
#ced-6-9-explore .c69x-ddh.is-exo { color: #F2A65E; }
#ced-6-9-explore .c69x-ddh.is-endo { color: #8EC5F2; }
#ced-6-9-explore .c69x-deq { margin: 0; color: var(--h-text); font-size: 1rem; line-height: 1.45; }
#ced-6-9-explore .c69x-dbtns { display: flex; flex-wrap: wrap; gap: 6px; }
#ced-6-9-explore .c69x-fs { display: inline-flex; align-items: center; gap: 4px; }
#ced-6-9-explore .c69x-b, #ced-6-9-explore .c69x-f { min-height: 40px; min-width: 44px; padding: 0 12px; border: 1px solid var(--h-line-2); border-radius: var(--h-pill); background: transparent; color: var(--h-text); font: 600 .84rem/1 var(--h-sans); cursor: pointer; transition: background-color .2s, border-color .2s; }
#ced-6-9-explore .c69x-f { display: inline-grid; place-items: center; padding: 0 8px; }
#ced-6-9-explore .c69x-b:hover, #ced-6-9-explore .c69x-f:hover { border-color: rgba(242,191,94,.6); background: rgba(242,191,94,.08); }
#ced-6-9-explore .c69x-f[aria-pressed="true"], #ced-6-9-explore .c69x-use[aria-pressed="true"] { border-color: var(--unit); background: color-mix(in srgb, var(--unit) 18%, transparent); }
@media (max-width: 760px) { #ced-6-9-explore .c69x-deck { padding: 10px; } #ced-6-9-explore .c69x-dcards { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { #ced-6-9-explore .c69x-dc.is-flip { animation: none; } }

/* ---------- Topic 7.1 Learn (ced-topic71-learn.js) ---------- */
.c71-lesson [hidden]{display:none!important}
.c71-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.c71-quad{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:8px 0}
.c71-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 6px 8px;min-width:0}
.c71-ptitle{margin:4px 6px 2px!important;font-weight:700;font-size:.92rem;color:var(--text-primary);line-height:1.35}
.c71-boxcap{margin:6px 6px 0!important;font-size:.86rem;line-height:1.5;color:var(--text-secondary)}
.c71-boxcap strong{color:var(--text-primary)}
.c71-panel{display:block;width:100%;max-width:340px;height:auto;margin:0 auto}
.c71-boxwrap{max-width:420px;margin:0 auto}
.c71-boxsvg{display:block;width:100%;height:auto}
.c71-box{fill:rgba(255,255,255,.025);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.4}
.c71-tagring{fill:rgba(230,184,92,.12);stroke:#E6B85C;stroke-width:2.2}
.c71-flask{display:block;width:100%;max-width:200px;height:auto;margin:0 auto}
.c71-glass{fill:rgba(170,210,240,.05);stroke:rgba(190,215,235,.62);stroke-width:2;stroke-linejoin:round}
.c71-liq{fill:rgba(93,173,226,.26)}
.c71-flaskbg{fill:rgba(225,232,240,.10)}
.c71-gas{fill:#D2692E}
.c71-stopper{fill:#6E7177;stroke:#4A4D52;stroke-width:1.2}
.c71-up{stroke:#F0A04B;stroke-width:2.4;fill:none}.c71-up-head{fill:#F0A04B}
.c71-down{stroke:#6FB7F2;stroke-width:2.4;fill:none}.c71-down-head{fill:#6FB7F2}
.c71-arr{stroke:var(--text-secondary);stroke-width:2;fill:none}.c71-arr-head{fill:var(--text-secondary)}
.c71-tl{fill:var(--text-primary);font:600 13px 'Inter',system-ui,sans-serif}
/* graphs */
.c71-plot{display:block;width:100%;min-width:380px;max-width:620px;height:auto;margin:0 auto}
.c71-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c71-mark{stroke:var(--text-secondary);stroke-width:1.2;stroke-dasharray:4 4}
.c71-cursor{stroke:var(--text-secondary);stroke-width:1.2;stroke-dasharray:3 4}
.c71-halo{paint-order:stroke;stroke:var(--bg-dark,#121212);stroke-width:3px;stroke-linejoin:round}
.c71-curve{fill:none;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.c71-curve.is-ghost{stroke-width:1.6;stroke-dasharray:5 5;opacity:.6}
.c71-curve.is-hi,.c71-dot.is-hi{stroke:#E6B85C}.c71-curve.is-h2,.c71-dot.is-h2{stroke:#B48CE6}
.c71-curve.is-n2o4,.c71-dot.is-n2o4{stroke:#8FB8E8}.c71-curve.is-no2,.c71-dot.is-no2{stroke:#D9793A}
.c71-curve.is-f,.c71-dot.is-f{stroke:#6FB7F2}.c71-curve.is-r,.c71-dot.is-r{stroke:#E07A5F}
.c71-dot{fill:#171717;stroke-width:2.4}
.c71-cl{font:700 13px 'Inter',system-ui,sans-serif}
.c71-cl.is-hi{fill:#F0C878}.c71-cl.is-h2{fill:#C9A8F0}.c71-cl.is-n2o4{fill:#A9CBF0}.c71-cl.is-no2{fill:#E89A62}
.c71-cl.is-f{fill:#9CC4F4}.c71-cl.is-r{fill:#F0A090}.c71-cl.is-eqv{fill:var(--text-primary);font-weight:600}
.c71-plot.c71-narrow{min-width:0;max-width:470px}
.c71-plot .l1-tick,.c71-plot .pes16-small{font-size:13px}.c71-plot .l1-axislabel{font-size:13.5px}
/* tables and text blocks */
.c71-tablewrap{margin:12px 0 14px}
.c71-lesson .c71-table{border-collapse:collapse;width:100%;min-width:0;font-size:.94rem}
.c71-lesson .c71-table th,.c71-lesson .c71-table td{padding:7px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c71-lesson .c71-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c71-lesson .c71-table tbody th{color:var(--gold-light);font-weight:650}
.c71-lesson .c71-num{font-variant-numeric:tabular-nums}
.c71-lesson .c71-num td,.c71-lesson .c71-num thead th{text-align:center;white-space:nowrap}
.c71-lesson .c71-wide{width:auto}
/* explorer */
.c71-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c71-seg .ced-topic-button,.c71-timerow .ced-topic-button{min-height:42px;margin:0}
.c71-seg .ced-topic-button[aria-pressed="true"]{background:var(--gold);color:#121212;border-color:var(--gold)}
.c71-seglab{font-weight:650;color:var(--text-secondary);margin-right:4px}
.c71-timerow{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 12px}
.c71-tlab{display:flex;flex-direction:column;gap:5px;font-weight:650;flex:1 1 240px;min-width:0}
.c71-lesson input[type=range]{width:100%;min-width:0;min-height:40px;accent-color:var(--gold)}
#c71-play{min-width:96px}
.c71-bench{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:10px;align-items:start}
.c71-col{display:grid;gap:10px;min-width:0}
.c71-flaskcell{padding:4px}
.c71-row{display:block}
.c71-preview{margin-top:4px;color:var(--text-secondary);font-size:.92em}
.c71-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c71-key strong{color:var(--text-primary)}
.c71-inv{margin:8px 0 14px;padding-left:26px}.c71-inv li{margin-bottom:8px;line-height:1.6}
.c71-choices{margin:6px 0 12px;padding-left:28px}.c71-choices li{margin-bottom:5px;line-height:1.55}
.c71-mc .pes16-scroll{margin:8px 0}
.c71-parts{margin:6px 0 12px;padding-left:26px}.c71-parts li{margin-bottom:6px;line-height:1.55}
.c71-fr details p{margin:0 0 8px}.c71-fr details p:last-child{margin-bottom:0}
@media(max-width:760px){.c71-bench{grid-template-columns:1fr}.c71-flask{max-width:170px}}
@media(max-width:600px){
  .c71-choices{padding-left:24px}
  .c71-lesson .c71-table th,.c71-lesson .c71-table td{padding:6px 7px}
}
/* photos: show the whole 3:2 image (a crop would cut off the stopper or the water) */
.c71-lesson .pes16-photo img,.c71-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}

/* ---------- Topic 7.2 Learn (ced-topic72-learn.js) ---------- */
.c72-lesson [hidden]{display:none!important}
.c72-lesson .pes16-photo img,.c72-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
.c72-lesson .ced13-lesson-intro .mole-lab-image img{object-position:center 40%}
.c72-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.c72-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.c72-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c72-ev,.c72-boxsvg,.c72-barsvg,.c72-flask{display:block;width:100%;height:auto;margin:0 auto}
.c72-ev{max-width:340px}.c72-boxsvg{max-width:340px}.c72-barsvg{max-width:340px}.c72-flask{max-width:210px}
.c72-graph{display:block;width:100%;min-width:400px;max-width:600px;height:auto;margin:0 auto}
.c72-scroll{padding:6px 4px}
.c72-case{display:flex;flex-direction:column;gap:2px}
.c72-caseh{margin:4px 8px 0;font-weight:700;color:var(--gold-light)}
.c72-casep{margin:0 8px 4px;color:var(--text-secondary);font-size:.9em}
.c72-mcfig{margin:8px 0}
/* svg text and marks */
.c72-cap{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c72-note{fill:var(--gold-light);font:600 12px 'Inter',system-ui,sans-serif}
.c72-val{fill:var(--text-primary);font:700 12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c72-val.is-in{fill:#151515}
.c72-net{font:700 13px 'Inter',system-ui,sans-serif}
.c72-net.is-split{fill:#E9B26A}.c72-net.is-join{fill:#C2A6F2}.c72-net.is-eq{fill:var(--text-primary)}
.c72-arr{stroke:var(--text-secondary);stroke-width:2.2;fill:none}.c72-arr-head{fill:var(--text-secondary)}
.c72-up{stroke:#E9B26A;stroke-width:2.6;fill:none}.c72-up-head{fill:#E9B26A}
.c72-down{stroke:#6FB7F2;stroke-width:2.6;fill:none}.c72-down-head{fill:#6FB7F2}
.c72-boxr{fill:rgba(255,255,255,.025);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.4}
.c72-surface{stroke:rgba(210,190,240,.45);stroke-width:1.2;stroke-dasharray:4 4}
.c72-glass{fill:none;stroke:rgba(190,215,235,.7);stroke-width:2.2;stroke-linejoin:round}
.c72-gas{stroke:none;transition:fill .2s}
.c72-stopper{fill:#C9C4BA;stroke:#8F8A80;stroke-width:1}
.c72-track{fill:rgba(255,255,255,.05);stroke:rgba(255,255,255,.12);stroke-width:1}
.c72-bar{stroke:rgba(0,0,0,.35);stroke-width:1}
.c72-bar.is-split{fill:#E3A35A}.c72-bar.is-join{fill:#A989E6}
.c72-tick{stroke:var(--text-secondary);stroke-width:1}
.c72-snapt{fill:var(--gold-light);font:700 14px 'Inter',system-ui,sans-serif}
.c72-snapc{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif}
/* graphs */
.c72-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c72-halo{paint-order:stroke;stroke:var(--bg-dark,#121212);stroke-width:3px}
.c72-curve{fill:none;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.c72-curve.is-a{stroke:#9CC4F4}.c72-curve.is-b{stroke:#D98A3D}
.c72-curve.is-split{stroke:#E3A35A}.c72-curve.is-join{stroke:#A989E6;stroke-dasharray:7 4}
.c72-dot{stroke:#171717;stroke-width:1.2}
.c72-dot.is-a{fill:#9CC4F4}.c72-dot.is-b{fill:#D98A3D}.c72-dot.is-split{fill:#E3A35A}.c72-dot.is-join{fill:#A989E6}
.c72-ll{font:700 12.5px 'Inter',system-ui,sans-serif}.c72-ll.is-a{fill:#9CC4F4}.c72-ll.is-b{fill:#E9A762}
.c72-eqline{stroke:var(--gold);stroke-width:1.4;stroke-dasharray:2 4}
.c72-mark{stroke:var(--text-primary);stroke-width:1.3;stroke-dasharray:5 4}
.c72-markt{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.c72-cursor{stroke:var(--text-secondary);stroke-width:1.2;stroke-dasharray:3 4}
.c72-legbox{fill:rgba(18,18,18,.82);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1}
/* text blocks */
.c72-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:14px 0}
.c72-card{border:1px solid var(--v2-border);border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c72-card h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c72-card p{margin:0;color:var(--text-secondary)}
.c72-card.is-split{border-left:4px solid #E3A35A}.c72-card.is-join{border-left:4px solid #A989E6}.c72-card.is-eq{border-left:4px solid var(--gold)}
html body .c72-lesson .c72-card.is-split h3{color:#E9B26A}html body .c72-lesson .c72-card.is-join h3{color:#C2A6F2}
.c72-steps{margin:10px 0 14px;padding-left:24px}.c72-steps li{margin-bottom:8px;line-height:1.6}
.c72-snaps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.c72-snap{display:block;width:100%;max-width:240px;height:auto;margin:0 auto;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
/* tables (override the 540 px house minimum) */
.c72-tablewrap{margin:12px 0 14px}
.c72-lesson .c72-table{border-collapse:collapse;width:100%;min-width:0;font-size:.94rem;font-variant-numeric:tabular-nums}
.c72-lesson .c72-table th,.c72-lesson .c72-table td{padding:7px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c72-lesson .c72-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c72-lesson .c72-table tbody th{color:var(--gold-light);font-weight:650}
.c72-lesson .c72-reads{width:auto}.c72-lesson .c72-reads td,.c72-lesson .c72-reads th{text-align:center;white-space:nowrap}
/* explorer */
.c72-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c72-seg .ced-topic-button,.c72-play{min-height:42px;margin:0}
.c72-seg .ced-topic-button[aria-pressed="true"]{background:var(--gold);color:#121212;border-color:var(--gold)}
.c72-seglab{font-weight:650;color:var(--text-secondary);margin-right:4px}
.c72-timerow{align-items:flex-end}
.c72-lesson .c72-timerow label{flex:1 1 220px}
.c72-play{flex:0 0 auto;min-width:96px}
.c72-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c72-bench{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start;margin:0 0 10px}
.c72-bench>.c72-cell{padding:6px 4px}
#c72-graph{margin:0 0 10px}
.c72-row{display:block;margin-top:6px}
.c72-key{display:block;margin-top:8px;color:var(--text-secondary);font-size:.92em}
.c72-key strong{color:var(--text-primary)}
/* review */
.c72-choices{margin:6px 0 12px;padding-left:28px}.c72-choices li{margin-bottom:5px;line-height:1.55}
.c72-mc .pes16-scroll{margin:8px 0}
.c72-parts{margin:6px 0 10px;padding-left:26px}.c72-parts li{margin-bottom:6px;line-height:1.55}
.c72-fr details p{margin:0 0 8px}.c72-fr details p:last-child{margin-bottom:0}
.c72-inv{margin:14px 0;padding-left:26px}.c72-inv li{margin-bottom:8px;line-height:1.6}
@media(max-width:900px){.c72-bench{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.c72-bench>#c72-flask{grid-column:1 / -1}}
@media(max-width:600px){
  .c72-bench{grid-template-columns:1fr}
  .c72-choices{padding-left:24px}
  .c72-ev .c72-cap,.c72-boxsvg .c72-cap,.c72-barsvg .c72-cap,.c72-flask .c72-cap{font-size:13.5px}
  .c72-ev .pes16-small,.c72-boxsvg .pes16-small,.c72-barsvg .pes16-small,.c72-flask .pes16-small{font-size:13px}
  .c72-ev .pes16-label,.c72-barsvg .pes16-label{font-size:14.5px}
  .c72-lesson .c72-table th,.c72-lesson .c72-table td{padding:6px 7px}
}

/* ---------- Topic 7.3 Learn (ced-topic73-learn.js) ---------- */
.c73-lesson [hidden]{display:none!important}
.c73-defs{position:absolute;width:0;height:0;overflow:hidden}
/* equilibrium expressions: stacked fractions as on the AP sheet */
.c73-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 .12em;line-height:1.3;white-space:nowrap}
.c73-num{padding:0 .3em .1em;border-bottom:1.5px solid currentColor}
.c73-den{padding:.1em .3em 0}
.c73-expr{display:inline-flex;align-items:center;gap:.35em;white-space:nowrap;vertical-align:middle}
.c73-lesson .ced13-lesson-equation.c73-sheet{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;overflow-wrap:normal}
.c73-sheet .c73-rxn{flex:0 0 100%}
.c73-sheetnote{font-weight:600;color:var(--text-secondary);font-size:.86em;flex:1 1 220px}
.c73-hl{color:#F5B65A}
.c73-anat{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;align-items:center}
.c73-anat figcaption{grid-column:1/-1;margin-top:0}
.c73-anatbox{padding:14px 12px;border:1px solid var(--v2-border);border-radius:12px;background:var(--v2-surface);text-align:center}
.c73-lesson .c73-anatbox p{margin:0 auto;max-width:none}
.c73-lesson .c73-anateq{font-weight:700;color:var(--text-primary)}
.c73-lesson .c73-anatk{margin-top:10px!important;font-size:1.3rem;font-weight:700;color:var(--gold-light)}
.c73-rules{margin:0;padding-left:22px}.c73-rules li{margin-bottom:6px}
/* tables */
.c73-tablewrap{margin:12px 0 14px}
.c73-lesson table.c73-table{border-collapse:collapse;width:100%;min-width:0;font-size:.94rem;font-variant-numeric:tabular-nums}
.c73-table th,.c73-table td{padding:7px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:middle}
.c73-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c73-table tbody th{color:var(--gold-light);font-weight:650}
.c73-flasktab tbody th,.c73-jartab tbody th{white-space:nowrap}
.c73-lesson table.c73-extab{min-width:560px}.c73-lesson table.c73-keeptab{min-width:600px}
.c73-lesson table.c73-jartab{min-width:600px}.c73-jartab td{white-space:nowrap}
.c73-lesson table.c73-flasktab{min-width:470px}.c73-flasktab td{text-align:right;white-space:nowrap}
.c73-lesson table.c73-runtab{width:auto;max-width:100%}.c73-runtab td{text-align:center;white-space:nowrap}.c73-runtab tbody th{white-space:nowrap}
/* figures */
.c73-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c73-strip{display:flex;gap:10px;padding:8px}
.c73-strip>.c73-cell{flex:1 0 190px;border:0;background:none}
.c73-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:10px;align-items:center}
.c73-duo figcaption{grid-column:1/-1}
.c73-jarsvg,.c73-flasksvg,.c73-vsvg{display:block;width:100%;max-width:280px;height:auto;margin:0 auto}
.c73-barsvg{display:block;width:100%;max-width:360px;height:auto;margin:0 auto}
.c73-metersvg{display:block;width:100%;max-width:380px;height:auto;margin:8px auto 0}
.c73-graph{display:block;width:100%;min-width:380px;max-width:620px;height:auto;margin:0 auto}
.c73-flaskbars{display:block;width:100%;min-width:380px;max-width:540px;height:auto;margin:0 auto}
.c73-boxsvg{display:block;width:100%;max-width:220px;height:auto;margin:0 auto}
.c73-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:10px 0 0;font-size:.95rem;color:var(--text-secondary)}
.c73-legend span{display:inline-flex;align-items:center;gap:6px}
.c73-jarbody{fill:rgba(190,215,235,.06);stroke:rgba(200,222,240,.7);stroke-width:2}
.c73-jarneck{fill:rgba(190,215,235,.05);stroke:rgba(200,222,240,.6);stroke-width:1.6}
.c73-thread{stroke:rgba(200,222,240,.45);stroke-width:1.2}
.c73-shine{fill:rgba(255,255,255,.14)}
.c73-link{stroke:rgba(225,238,245,.85);stroke-width:4;stroke-linecap:round}
.c73-bead.is-A{fill:#E8952A}.c73-bead.is-B{fill:#2C9EA6}
.c73-jt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c73-jc{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c73-t{fill:var(--text-primary);font:600 13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c73-ts{fill:var(--text-secondary);font:12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c73-val{fill:var(--text-primary);font:700 12.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c73-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c73-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c73-bar{stroke:rgba(0,0,0,.35);stroke-width:1}
.c73-bar.is-a{fill:#E8952A}.c73-bar.is-b{fill:#2C9EA6}.c73-bar.is-ab{fill:url(#c73-abg)}
.c73-bar.is-n2o4{fill:#A9C7E8}.c73-bar.is-no2{fill:#C2541E}
.c73-kline{stroke:var(--gold);stroke-width:2;stroke-dasharray:8 6}
.c73-klab{fill:var(--gold-light);font:700 12.5px 'Inter',system-ui,sans-serif}
.c73-qdot{fill:#EDE6DA;stroke:#171717;stroke-width:1.4}.c73-qdot.is-k{fill:#6EC88C}
.c73-qlab{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c73-qarr{stroke:#EDE6DA;stroke-width:2;fill:none}.c73-qarr-head{fill:#EDE6DA}
.c73-c{fill:none;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.c73-c.is-a{stroke:#9CC4F4}.c73-c.is-b{stroke:#E0703A}.c73-c.is-q{stroke:#EDE6DA}.c73-c.is-f{stroke:#7FD48A}.c73-c.is-r{stroke:#E58BB0}
.c73-c.is-dash{stroke-dasharray:7 5}.c73-c.is-ghost{stroke-width:1.4;stroke-dasharray:3 5;opacity:.45}
.c73-ll{font:700 12.5px 'Inter',system-ui,sans-serif}
.c73-ll.is-a{fill:#B8D6F7}.c73-ll.is-b{fill:#F0915E}.c73-ll.is-f{fill:#9BE0A4}.c73-ll.is-r{fill:#F0A8C6}
.c73-dot{stroke:#171717;stroke-width:1.3}
.c73-dot.is-a{fill:#9CC4F4}.c73-dot.is-b{fill:#E0703A}.c73-dot.is-q{fill:#EDE6DA}.c73-dot.is-f{fill:#7FD48A}.c73-dot.is-r{fill:#E58BB0}
.c73-pt{fill:var(--gold-light);stroke:#171717;stroke-width:1.3}
.c73-cursor{stroke:var(--text-secondary);stroke-width:1.2;stroke-dasharray:3 4}
/* flask and vessels */
.c73-bulb{fill:rgba(190,215,235,.05);stroke:rgba(200,222,240,.75);stroke-width:2.2}
.c73-gas{fill:#C8642A}
.c73-stopper{fill:rgba(220,235,245,.22);stroke:rgba(210,228,240,.75);stroke-width:1.4}
.c73-cork{fill:#9A7444;stroke:#6E5230;stroke-width:1.2}
.c73-shinep{fill:none;stroke:rgba(255,255,255,.22);stroke-width:5;stroke-linecap:round}
.c73-vessel{fill:rgba(190,215,235,.05);stroke:rgba(200,222,240,.72);stroke-width:2}
.c73-heap{fill:rgba(236,232,222,.16);stroke:rgba(236,232,222,.4);stroke-width:1}
.c73-xtal{fill:#F1EFE8;stroke:#8E8E88;stroke-width:.7}.c73-xtal.is-cao{fill:#B9B6AE}
.c73-gauge{fill:#0F1418;stroke:var(--gold);stroke-width:1.6}
.c73-gtick{stroke:rgba(230,213,138,.75);stroke-width:1.2}
.c73-needle{stroke:#E0483A;stroke-width:2;stroke-linecap:round}
.c73-stem{stroke:rgba(200,222,240,.7);stroke-width:3}
.c73-box{fill:rgba(255,255,255,.025);stroke:var(--v2-border,rgba(255,255,255,.2));stroke-width:1.4}
.c73-boxes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}
/* text blocks */
.c73-work{padding:12px 14px}
.c73-lesson .c73-work p{margin:0 0 6px;max-width:none;font-variant-numeric:tabular-nums}
.c73-lesson .c73-work .c73-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700;margin-bottom:0}
/* explorer */
.c73-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c73-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c73-seg .ced-topic-button[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c73-seg .ced-topic-button:disabled{opacity:.45;cursor:not-allowed}
.c73-seglab{font-weight:650;color:var(--text-secondary);margin-right:2px}
.c73-lesson input[type=range]{width:100%;min-width:150px;min-height:40px;accent-color:var(--gold)}
.c73-lesson .pes16-controls label{flex:1 1 200px}
.c73-bench{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:10px;align-items:start}
.c73-bench.is-gas{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr)}
.c73-bench .pes16-scroll{border:0;background:none;padding:0}
.c73-row{display:block;margin-top:4px}
.c73-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c73-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c73-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c73-warn{display:block;margin-top:6px;color:#F0B090}
/* review */
.c73-choices{margin:6px 0 12px;padding-left:28px}.c73-choices>li{margin-bottom:6px;line-height:1.55}
.c73-mc .pes16-scroll{margin:10px 0}
.c73-parts{margin:6px 0 10px;padding-left:28px}.c73-parts li{margin-bottom:6px;line-height:1.55}
.c73-fr details p{margin:0 0 8px}.c73-fr details p:last-child{margin-bottom:0}
.c73-inv{margin:14px 0;padding-left:26px}.c73-inv li{margin-bottom:8px;line-height:1.6}
.c73-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c73-lesson .pes16-photo img,.c73-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:760px){.c73-bench,.c73-bench.is-gas{grid-template-columns:1fr}.c73-anat{grid-template-columns:1fr}.c73-boxes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
  .c73-seg .ced-topic-button{flex:1 1 auto}
  .c73-choices,.c73-parts{padding-left:24px}
  .c73-table th,.c73-table td{padding:6px 7px}
  .c73-lesson table.c73-table{font-size:.9rem}
  .c73-work{padding:10px}
  .c73-barsvg .l1-tick,.c73-barsvg .l1-axislabel,.c73-barsvg .c73-val{font-size:14px}
  .c73-barsvg .c73-t,.c73-metersvg .c73-qlab,.c73-metersvg .c73-klab{font-size:15px}
  .c73-metersvg .l1-tick{font-size:14px}
  .c73-boxsvg .c73-t{font-size:16px}
}

/* ---------- Topic 7.4 Learn (ced-topic74-learn.js) ---------- */
.c74-lesson [hidden]{display:none!important}
.c74-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c74-lesson .pes16-photo img,.c74-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
.c74-expr{display:flex;flex-wrap:wrap;align-items:center;gap:10px 34px;background:rgba(205,163,73,.1);border-left:3px solid var(--gold);padding:14px 16px;margin:19px 0;color:var(--gold-light);font-weight:700;line-height:1.4}
.c74-expr>span{display:inline-block;white-space:nowrap}
.c74-frac{display:inline-flex;flex-direction:column;align-items:stretch;vertical-align:middle;text-align:center;line-height:1.3;margin:0 4px}
.c74-num{border-bottom:1.6px solid currentColor;padding:0 5px 2px}
.c74-den{padding:2px 5px 0}
.c74-calc{font-weight:650;font-variant-numeric:tabular-nums;line-height:2.6}
.c74-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c74-work p{margin:0 0 8px;line-height:1.6}.c74-work p:last-child{margin-bottom:0}
.c74-recipe{padding:12px 14px 12px 36px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c74-recipe ol{margin:0;padding:0}.c74-recipe li{margin-bottom:8px;line-height:1.6}.c74-recipe li:last-child{margin-bottom:0}
.c74-recipe .c74-frac{font-weight:650}
.c74-tablewrap{margin:12px 0 14px}
.c74-lesson table.c74-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c74-table th,.c74-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c74-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c74-table tbody th{color:var(--gold-light);font-weight:650}
.c74-data td,.c74-ice td{white-space:nowrap}
.c74-wrong{color:#F0907E}
.c74-figbox{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:8px 6px}
.c74-svg{display:block;width:100%;height:auto;margin:0 auto}
.c74-ct,.c74-tb,.c74-boxsvg,.c74-spsvg,.c74-psvg{max-width:560px}
.c74-quad{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.c74-qcell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:4px;min-width:0}
.c74-qsvg{max-width:340px}
.c74-appsvg,.c74-barsvg{max-width:420px}
.c74-plotsvg{max-width:520px}
.c74-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c74-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c74-tk{fill:var(--text-secondary);font:13.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c74-al{fill:var(--text-secondary);font:600 13.5px 'Inter',system-ui,sans-serif}
.c74-lb{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.c74-sm{fill:var(--text-secondary);font:13.5px 'Inter',system-ui,sans-serif}
.c74-kv{fill:var(--gold-light);font:700 13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c74-in{fill:#17130F;font:700 13px 'Inter',system-ui,sans-serif}
.c74-pl{fill:var(--text-secondary);font:700 22px 'Inter',system-ui,sans-serif}
.c74-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c74-eqzone{fill:rgba(205,163,73,.08)}
.c74-curve{fill:none;stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round}
.c74-curve.is-hi{stroke:#E6C35C}.c74-curve.is-h2{stroke:#8CC4F2}.c74-curve.is-i2{stroke:#B98AEB}
.c74-lb.is-hi{fill:#E6C35C}.c74-lb.is-h2{fill:#8CC4F2}.c74-lb.is-i2{fill:#C7A2F0}
.c74-bar{stroke:rgba(0,0,0,.35);stroke-width:1}
.c74-bar.is-hi{fill:#E6C35C}.c74-bar.is-h2{fill:#8CC4F2}.c74-bar.is-i2{fill:#A574DE}
.c74-bar.is-fe{fill:#E8C66A}.c74-bar.is-scn{fill:#B9C4CF}.c74-bar.is-cx{fill:#C8323A}
.c74-ghost{fill:none;stroke:rgba(220,230,240,.55);stroke-width:1.3;stroke-dasharray:4 3}
.c74-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.4);stroke-width:1.4}
.c74-eqar{fill:none;stroke:var(--text-primary);stroke-width:2;stroke-linejoin:round}
.c74-chip{stroke:rgba(220,230,240,.5);stroke-width:1}
.c74-chip.is-fe{fill:#F1DE98}.c74-chip.is-scn{fill:rgba(255,255,255,.04)}.c74-chip.is-cx{fill:#9E1420}
.c74-seg{stroke:#15120F;stroke-width:1.2}.c74-seg.is-n2o4{fill:#D9D2C4}.c74-seg.is-no2{fill:#C27A3E}
.c74-lamp{fill:#2B3036;stroke:#6E7680;stroke-width:1.2}
.c74-beam{fill:#4F8FEA}
.c74-cuv{fill:rgba(190,215,235,.06);stroke:rgba(200,222,240,.75);stroke-width:1.6}
.c74-det{fill:#0F1418;stroke:var(--gold);stroke-width:1.2}
.c74-read{fill:var(--gold-light);font:700 18px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c74-dim{stroke:rgba(220,230,240,.6);stroke-width:1.2}
.c74-kline{stroke:var(--gold);stroke-width:1.6;stroke-dasharray:6 4}
.c74-pt{fill:var(--gold);stroke:#15120F;stroke-width:1.4}
.c74-pt.is-now{fill:none;stroke:var(--gold-light);stroke-width:2;stroke-dasharray:3 2}
.c74-ptw{fill:#E07A6A;stroke:#15120F;stroke-width:1.2}.c74-ptw.is-now{fill:none;stroke:#E07A6A;stroke-width:2;stroke-dasharray:3 2}
.c74-btnrow{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c74-btnrow .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c74-tog[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c74-lesson input[type=range]{width:100%;min-width:140px;min-height:40px;accent-color:var(--gold);font-size:16px}
.c74-bench{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px;margin:0 0 4px}
.c74-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c74-plotcell{margin-top:12px}
.c74-row{display:block;margin-bottom:5px;overflow-wrap:anywhere}
.c74-wrongrow{color:#F3B2A6}
.c74-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55;background:rgba(110,200,140,.1);border:1px solid rgba(110,200,140,.7)}
.c74-hint{margin:10px 2px 0;color:var(--text-secondary)}
.c74-choices{margin:6px 0 12px;padding-left:28px}.c74-choices li{margin-bottom:5px;line-height:1.55}
.c74-mc .pes16-figure{margin:10px 0}
.c74-parts{margin:6px 0 10px;padding-left:28px}.c74-parts li{margin-bottom:6px;line-height:1.55}
.c74-fr details p{margin:0 0 8px}.c74-fr details p:last-child{margin-bottom:0}
.c74-inv{margin:14px 0;padding-left:26px}.c74-inv li{margin-bottom:8px;line-height:1.6}
@media(max-width:600px){.c74-btnrow .ced-topic-button{flex:1 1 auto}.c74-work,.c74-expr{padding:10px}.c74-expr{gap:10px 18px}.c74-recipe{padding:10px 10px 10px 30px}.c74-choices,.c74-parts{padding-left:24px}.c74-table th,.c74-table td{padding:7px 6px}.c74-lesson table.c74-table{font-size:.9rem}.c74-figbox{padding:6px 2px}.c74-quad{grid-template-columns:1fr}.c74-cell{padding:4px 2px}}

/* ---------- Topic 7.5 Learn (ced-topic75-learn.js) ---------- */
.c75-lesson .l1-svg.c75-ct{min-width:0;max-width:620px;margin:0 auto}
.c75-frac{display:inline-flex;flex-direction:column;align-items:stretch;vertical-align:middle;text-align:center;margin:0 4px;line-height:1.25}
.c75-nu{padding:0 6px 3px;border-bottom:2px solid currentColor}.c75-de{padding:3px 6px 0}
.c75-eq{font-size:1.2rem}
.c75-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px}
.c75-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c75-cell .c75-ch{margin:4px 8px 0;font-weight:700;color:var(--gold-light);text-align:center}
.c75-cell .c75-cv{margin:2px 8px 6px;font-size:1rem;line-height:1.45;color:var(--text-secondary);text-align:center}
.c75-boxsvg,.c75-barsvg{display:block;width:100%;max-width:380px;height:auto;margin:0 auto}
.c75-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.4}
.c75-box.is-sol{fill:rgba(100,170,235,.10)}
.c75-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c75-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c75-start{fill:none;stroke:rgba(230,222,207,.7);stroke-width:1.4;stroke-dasharray:4 3}
.c75-bar{stroke:rgba(0,0,0,.35);stroke-width:1}
.c75-bar.is-x,.c75-ibar.is-before{fill:#D9A441}.c75-bar.is-y{fill:#6FC2F2}.c75-bar.is-p,.c75-ibar.is-after{fill:#6EC88C}
.c75-ibar{stroke:rgba(0,0,0,.35);stroke-width:1}.c75-ibar.is-before{fill:rgba(217,164,65,.55);stroke:#D9A441;stroke-dasharray:3 2}
.c75-tiny{stroke-width:3;stroke-linecap:round}.c75-tiny.is-x{stroke:#D9A441}.c75-tiny.is-y{stroke:#6FC2F2}.c75-tiny.is-p,.c75-tiny.is-after{stroke:#6EC88C}
.c75-val{fill:var(--text-primary);font:700 12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c75-sp{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.c75-cap{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c75-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c75-curve{fill:none;stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round}
.c75-curve.is-x{stroke:#D9A441}.c75-curve.is-y{stroke:#6FC2F2;stroke-dasharray:8 5}.c75-curve.is-p{stroke:#6EC88C;stroke-dasharray:2 4;stroke-width:3.2}
.c75-cl{font:700 13px 'Inter',system-ui,sans-serif}.c75-cl.is-x{fill:#E8C06E}.c75-cl.is-y{fill:#8FD0F5}.c75-cl.is-p{fill:#8FDCA8}
/* the K scale */
.c75-ladderfig{max-width:520px;margin-left:auto;margin-right:auto}
.c75-ladder{display:block;width:100%;height:auto;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c75-tickl{stroke:rgba(220,230,240,.7);stroke-width:1.4}
.c75-lt{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif}
.c75-big{font-size:14px}
.c75-zt{fill:var(--text-secondary);font:italic 600 13.5px 'Inter',system-ui,sans-serif}
.c75-dotl{fill:var(--gold-light);stroke:#171717;stroke-width:1.4}
.c75-lead{fill:none;stroke:rgba(230,213,138,.55);stroke-width:1.2}
.c75-la{fill:var(--text-primary);font:700 15.5px 'Inter',system-ui,sans-serif}
.c75-lb{fill:var(--gold-light);font:600 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
/* text blocks */
.c75-recipe{padding:12px 14px 12px 36px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c75-recipe ol{margin:0;padding:0}.c75-recipe li{margin-bottom:6px;line-height:1.55}.c75-recipe li:last-child{margin-bottom:0}
.c75-routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px;margin:14px 0}
.c75-route{border:1px solid var(--v2-border);border-left:4px solid var(--gold);border-radius:10px;background:var(--v2-surface);padding:10px 14px;min-width:0}
.c75-route.is-no{border-left-color:#E07A6A}.c75-route.is-yes{border-left-color:#6EC88C}
.c75-route p{margin:0 0 8px;line-height:1.55}.c75-route p:last-child{margin-bottom:0}
.c75-rh{font-weight:700}.c75-route.is-no .c75-rh{color:#F0A090}.c75-route.is-yes .c75-rh{color:#8FDCA8}
.c75-mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.98rem!important;white-space:pre-wrap;color:var(--text-primary)}
.c75-tablewrap{margin:12px 0 14px}
.c75-lesson table.c75-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c75-table th,.c75-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c75-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c75-table tbody th{color:var(--gold-light);font-weight:650}
.c75-lesson .pes16-photo img,.c75-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
.c75-lesson .ced13-lesson-intro .mole-lab-image img{object-position:center 35%}
/* review */
.c75-choices{margin:6px 0 12px;padding-left:28px}.c75-choices li{margin-bottom:5px;line-height:1.55}
.c75-mc .pes16-scroll{margin:10px 0}
.c75-minis{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.c75-mini{display:block;flex:1 1 140px;max-width:200px;min-width:0;height:auto;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c75-mt{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.c75-parts{margin:6px 0 10px;padding-left:28px}.c75-parts li{margin-bottom:6px;line-height:1.55}
.c75-fr details p{margin:0 0 8px}.c75-fr details p:last-child{margin-bottom:0}
.c75-inv{margin:14px 0;padding-left:26px}.c75-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c75-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c75-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c75-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c75-seglab{font-weight:650;color:var(--text-secondary);margin-right:2px}
.c75-lesson input[type=range]{width:100%;min-height:40px;accent-color:var(--gold)}
.c75-lesson #c75-explorer .pes16-controls label{flex:1 1 100%}
.c75-stage{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px}
.c75-row{display:block;margin-bottom:4px}
.c75-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c75-key.is-done{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c75-key.is-none{background:rgba(127,178,240,.1);border:1px solid #7FB2F0}
.c75-key.is-both{background:rgba(205,163,73,.1);border:1px solid var(--gold)}
.c75-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
#c75-out{overflow-wrap:anywhere}
@media(max-width:600px){
  .c75-seg .ced-topic-button{flex:1 1 auto}
  .c75-recipe{padding:10px 10px 10px 30px}.c75-choices,.c75-parts{padding-left:24px}
  .c75-table th,.c75-table td{padding:7px 6px}.c75-lesson table.c75-table{font-size:.9rem}
  .c75-ct .l1-tick,.c75-ct .c75-val,.c75-ct .pes16-small,.c75-ct .l1-axislabel,.c75-ct .c75-cl{font-size:16.5px}
  .c75-mini{flex-basis:40%}
}

/* ---------- Topic 7.6 Learn (ced-topic76-learn.js) ---------- */
.c76-lesson .l1-svg.c76-ladder{min-width:540px;max-width:680px;margin:0 auto}
.c76-pair{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:8px 18px}
.c76-lesson .c76-pair .l1-svg{width:100%;min-width:0;height:auto}
.c76-pair .c76-boxsvg{max-width:340px;flex:1 1 280px}
.c76-pair .c76-barsvg{max-width:300px;flex:1 1 250px}
.c76-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.55);stroke-width:1.6}
.c76-ft{font:700 14px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c76-fl{font:600 13px 'Inter',system-ui,sans-serif;fill:var(--text-primary);font-variant-numeric:tabular-nums}
.c76-bar.is-no2{fill:#C8743A}.c76-bar.is-n2o4{fill:#7FB2F0}
.c76-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c76-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c76-guide{stroke:rgba(220,230,240,.42);stroke-width:1.2;stroke-dasharray:5 4}
.c76-link{stroke:rgba(220,230,240,.35);stroke-width:1.2;stroke-dasharray:3 4}
.c76-lev{stroke:#EDE6DA;stroke-width:2.6;stroke-linecap:round}
.c76-arr{stroke-width:2.4;fill:none}.c76-arr.is-up{stroke:#7FB2F0}.c76-arr.is-down{stroke:#F2B07E}.c76-arr.is-all{stroke:var(--gold-light)}
.c76-ah.is-up{fill:#7FB2F0}.c76-ah.is-down{fill:#F2B07E}.c76-ah.is-all{fill:var(--gold-light)}
.c76-al{font:700 13px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c76-al.is-up{fill:#9CC8F2}.c76-al.is-down{fill:#F2B07E}.c76-al.is-all{fill:var(--gold-light)}
.c76-av{font:600 12.5px 'Inter',system-ui,sans-serif;fill:var(--text-primary);font-variant-numeric:tabular-nums}
.c76-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c76-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:2px 3px;line-height:1.25;text-align:center}
.c76-frac>span{display:block;padding:0 3px;white-space:nowrap}
.c76-num{border-bottom:1.5px solid currentColor;padding-bottom:2px!important}
.c76-den{padding-top:2px!important}
.c76-lesson .c76-frac sub,.c76-lesson .c76-table sub,.c76-lesson .c76-work sub,.c76-lesson .c76-eqbox sub,.c76-lesson .c76-exrow sub{font-size:.78em}
.c76-eqbox{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-x:auto}
.c76-eqbox p{margin:0 0 8px;line-height:1.7}.c76-eqbox p:last-child{margin-bottom:0}
.c76-lab{color:var(--gold-light);font-weight:700}
.c76-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c76-work p{margin:0 0 8px;line-height:1.7}.c76-work p:last-child{margin-bottom:0}
.c76-work .c76-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700}
.c76-work .c76-mult{overflow-wrap:normal;line-height:2}
.c76-cx{text-decoration:line-through;text-decoration-color:var(--gold);text-decoration-thickness:2px;color:var(--text-secondary)}
.c76-recipe{padding:12px 14px 12px 36px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c76-recipe ol{margin:0;padding:0}.c76-recipe li{margin-bottom:6px;line-height:1.55}.c76-recipe li:last-child{margin-bottom:0}
.c76-tablewrap{margin:12px 0 14px}
.c76-lesson table.c76-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c76-table th,.c76-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:middle}
.c76-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c76-table tbody th{color:var(--gold-light);font-weight:650;white-space:nowrap}
.c76-lesson table.c76-k4{min-width:560px}
.c76-choices{margin:6px 0 12px;padding-left:28px}.c76-choices li{margin-bottom:5px;line-height:1.55}
.c76-mc .pes16-scroll,.c76-mc .ced13-lesson-equation,.c76-fr .ced13-lesson-equation{margin:10px 0}
.c76-stim{margin:10px 0}
.c76-stim .c76-boxsvg{max-width:320px}
.c76-parts{margin:6px 0 10px;padding-left:28px}.c76-parts li{margin-bottom:6px;line-height:1.55}
.c76-fr details p{margin:0 0 8px}.c76-fr details p:last-child{margin-bottom:0}
.c76-inv{margin:14px 0;padding-left:26px}.c76-inv li{margin-bottom:8px;line-height:1.6}
.c76-seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c76-seg .ced-topic-button,.c76-btnrow .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c76-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c76-target{margin:0 0 12px;padding:10px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c76-target p{margin:0 0 6px;line-height:1.55}.c76-target p:last-child{margin-bottom:0}.c76-target .c76-why{color:var(--text-secondary);font-size:.92em}
.c76-eqn{font-weight:650;color:var(--text-primary)}
.c76-term{white-space:nowrap}
.c76-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:10px;margin:0 0 12px}
.c76-card{border:1px solid var(--v2-border);border-left:4px solid var(--gold);border-radius:10px;background:var(--v2-surface);padding:10px 12px;min-width:0}
.c76-card.is-rev{border-left-color:#7FB2F0}.c76-card.is-off{border-left-color:var(--v2-border);opacity:.72}
.c76-card p{margin:0 0 8px;line-height:1.55}
.c76-ch{font-weight:700;color:var(--gold)}
.c76-orig .c76-kv{color:var(--text-secondary);white-space:nowrap}
.c76-ctl{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:0 0 8px}
.c76-ctl .c76-rev{min-height:44px;font-size:1rem;margin:0}
.c76-ctl .c76-rev[aria-pressed=true]{background:#7FB2F0;border-color:#7FB2F0;color:#171717;font-weight:700}
.c76-f{display:flex;flex-direction:column;gap:3px;font-weight:650;font-size:.9em;color:var(--text-secondary)}
.c76-lesson .c76-f select{font:inherit;font-size:16px;min-height:44px;padding:6px 10px;border:1px solid var(--gold-dark);border-radius:7px;background:var(--bg-dark);color:var(--text-primary)}
.c76-adj{padding-top:8px;border-top:1px dashed var(--v2-border);margin-bottom:0!important}
.c76-use{color:var(--text-secondary);font-size:.92em}
.c76-kadj{display:inline-block}.c76-kadj.is-down{color:#F2B07E}.c76-kadj.is-up{color:#9CC8F2}
#c76-fig{margin:0 0 4px}
.c76-row{display:block;margin-bottom:6px}
.c76-exrow{overflow-x:auto;padding:2px 0}
.c76-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c76-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c76-key.is-near{background:rgba(127,178,240,.1);border:1px solid #7FB2F0}
.c76-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c76-btnrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.c76-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c76-lesson .pes16-photo img,.c76-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:600px){.c76-seg .ced-topic-button,.c76-btnrow .ced-topic-button{flex:1 1 auto}.c76-work,.c76-target,.c76-eqbox{padding:10px}.c76-recipe{padding:10px 10px 10px 30px}.c76-choices,.c76-parts{padding-left:24px}.c76-table th,.c76-table td{padding:7px 6px}.c76-lesson table.c76-table{font-size:.9rem}}

/* ---------- Topic 7.7 Learn (ced-topic77-learn.js) ---------- */
.c77-lesson [hidden]{display:none!important}
/* figures */
.c77-lesson .c77-svg{display:block;width:100%;height:auto;margin:0 auto}
.c77-lesson .c77-qk{min-width:560px;max-width:720px}
.c77-lesson .c77-house,.c77-lesson .c77-stu,.c77-lesson .c77-xgraph{min-width:500px;max-width:700px}
.c77-lesson .c77-bars{min-width:500px;max-width:640px}
.c77-lesson .c77-empty{min-width:0;max-width:640px}
.c77-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px}
.c77-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c77-pbox{display:block;width:100%;max-width:380px;height:auto;margin:0 auto}
.c77-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c77-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c77-legt{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c77-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c77-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c77-tk2{stroke:rgba(220,230,240,.45);stroke-width:1}
.c77-tick{fill:var(--text-secondary);font:13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c77-axl{fill:var(--text-secondary);font:600 13.5px 'Inter',system-ui,sans-serif}
.c77-ptitle{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.c77-small{fill:var(--text-secondary);font:13px 'Inter',system-ui,sans-serif}
.c77-cl{font:700 13.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c77-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c77-curve{fill:none;stroke-linejoin:round;stroke-linecap:round}
.c77-eqline{stroke:rgba(230,213,138,.6);stroke-width:1.3;stroke-dasharray:3 4}
.c77-lead{stroke:rgba(220,230,240,.45);stroke-width:1.2;stroke-dasharray:3 3}
.c77-kline{stroke:var(--gold);stroke-width:3}
.c77-klab{fill:var(--gold-light);font:700 15px 'Inter',system-ui,sans-serif}
.c77-qdot{stroke:#171717;stroke-width:1.4}.c77-qdot.is-fwd{fill:#7FB2F0}.c77-qdot.is-rev{fill:#F28B7E}
.c77-ql{font:700 14px 'Inter',system-ui,sans-serif}.c77-ql.is-fwd{fill:#9CC8F2}.c77-ql.is-rev{fill:#F5A398}
.c77-arr{stroke-width:2.4;fill:none}.c77-arr.is-fwd{stroke:#7FB2F0}.c77-arr.is-rev{stroke:#F28B7E}.c77-arr.is-hi{stroke:#F2B07E}.c77-arr.is-h2{stroke:#E6E0D2}
.c77-ah.is-fwd{fill:#7FB2F0}.c77-ah.is-rev{fill:#F28B7E}.c77-ah.is-hi{fill:#F2B07E}.c77-ah.is-h2{fill:#E6E0D2}
.c77-bar.is-i{fill-opacity:.16;stroke-width:1.8;stroke-dasharray:5 3}
.c77-bar.is-e{stroke:rgba(0,0,0,.35);stroke-width:1}
.c77-bkey.is-i{fill:rgba(230,224,210,.16);stroke:#E6E0D2;stroke-width:1.5;stroke-dasharray:4 2}
.c77-bkey.is-e{fill:#E6E0D2}
.c77-bv{fill:var(--text-primary);font:600 13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c77-blab{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
/* stacked fractions */
.c77-frac{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;margin:0 .15em;line-height:1.3}
.c77-frac>.c77-num{border-bottom:1.5px solid currentColor;padding:0 .25em .1em}
.c77-frac>.c77-den{padding:.1em .25em 0}
.c77-eqn{line-height:2.1}
/* text blocks */
.c77-work,.c77-recipe{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c77-work p{margin:0 0 10px;line-height:1.7}.c77-work p:last-child{margin-bottom:0}
.c77-work .c77-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700}
.c77-recipe{padding-left:36px}.c77-recipe ol{margin:0;padding:0}.c77-recipe li{margin-bottom:6px;line-height:1.55}.c77-recipe li:last-child{margin-bottom:0}
.c77-rules{margin:10px 0 14px;padding-left:24px}.c77-rules li{margin-bottom:6px;line-height:1.6}
.c77-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin:14px 0}
.c77-card{border:1px solid var(--v2-border);border-left:4px solid var(--gold);border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c77-card h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c77-card p{margin:0;color:var(--text-secondary)}
.c77-card.is-fwd{border-left-color:#7FB2F0}.c77-card.is-rev{border-left-color:#F28B7E}.c77-card.is-eq{border-left-color:#6EC88C}
html body .c77-lesson .c77-card.is-fwd h3{color:#9CC8F2}html body .c77-lesson .c77-card.is-rev h3{color:#F5A398}html body .c77-lesson .c77-card.is-eq h3{color:#8FD8A6}
/* tables (override the house minimum width) */
.c77-tablewrap{margin:12px 0 14px}
.c77-lesson table.c77-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c77-table th,.c77-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:center;vertical-align:middle}
.c77-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c77-table tbody th{color:var(--gold-light);font-weight:650;text-align:left}
.c77-table td{white-space:nowrap}
.c77-table .c77-num-row td,.c77-table .c77-num-row th{background:rgba(110,200,140,.08)}
.c77-table .c77-num-row td{color:var(--text-primary);font-weight:700}
/* review */
.c77-choices{margin:6px 0 12px;padding-left:28px}.c77-choices li{margin-bottom:5px;line-height:1.55}
.c77-mc .pes16-scroll{margin:10px 0}
.c77-parts{margin:6px 0 10px;padding-left:28px}.c77-parts li{margin-bottom:6px;line-height:1.55}
.c77-fr details p{margin:0 0 8px}.c77-fr details p:last-child{margin-bottom:0}
.c77-inv{margin:14px 0;padding-left:26px}.c77-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c77-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c77-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c77-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c77-seglab{font-weight:650;color:var(--text-secondary);margin-right:2px}
.c77-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light)}
.c77-note{margin:0 0 10px;color:var(--text-secondary)}
.c77-lesson #c77-explorer .pes16-controls label{flex:1 1 240px}
.c77-lesson #c77-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c77-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c77-xfig{margin:0 0 10px}
.c77-row{display:block;margin-bottom:5px}
.c77-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c77-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c77-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c77-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c77-lesson .pes16-photo img,.c77-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:600px){
  .c77-seg .ced-topic-button{flex:1 1 auto}
  .c77-work,.c77-xeq{padding:10px}.c77-recipe{padding:10px 10px 10px 30px}
  .c77-choices,.c77-parts{padding-left:24px}
  .c77-table th,.c77-table td{padding:7px 4px}.c77-lesson table.c77-table{font-size:.9rem}
  .c77-pbox .c77-legt{font-size:15px}.c77-pbox .c77-boxt{font-size:16px}
}

/* ---------- Topic 7.8 Learn (ced-topic78-learn.js) ---------- */
.c78-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c78-lesson .pes16-photo img,.c78-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
.c78-lesson .l1-svg.c78-graph{min-width:540px}
/* equilibrium expressions: stacked fractions as on the AP sheet */
.c78-frac{display:inline-flex;flex-direction:column;align-items:stretch;vertical-align:middle;text-align:center;line-height:1.3;margin:0 .15em;white-space:nowrap}
.c78-frac>span{padding:1px .3em}
.c78-frac>span:first-child{border-bottom:1.5px solid currentColor}
.c78-eq{line-height:2}
/* particle boxes and their captions */
.c78-boxes{display:grid;gap:12px;margin:0 0 12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.c78-boxes.is-one{grid-template-columns:minmax(0,320px);justify-content:center}
.c78-boxes.is-four{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.c78-cell{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:10px 8px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c78-cell.is-bars{justify-content:center}
.c78-cap{margin:0;font-size:.9rem;line-height:1.5;text-align:center;color:var(--text-secondary)}
.c78-cap strong{color:var(--text-primary)}
.c78-boxsvg{display:block;max-width:100%;height:auto}
.c78-box{fill:#221E1A;stroke:rgba(220,230,240,.55);stroke-width:2}
.c78-tint{fill:#9A4E1E}
.c78-flash{fill:rgba(242,191,94,.12);stroke:rgba(242,191,94,.75);stroke-width:1.5;stroke-dasharray:3 3}
.c78-ring{fill:none;stroke:#FFD45E;stroke-width:2.4}
.c78-ring-o{fill:none;stroke:#15120F;stroke-width:5}
/* bar charts and graphs */
.c78-bars{display:block;max-width:100%;height:auto}
.c78-grid{stroke:rgba(255,255,255,.09);stroke-width:1}
.c78-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c78-tick{fill:var(--text-secondary);font:12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c78-axlab{fill:var(--text-secondary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c78-bar{stroke:rgba(0,0,0,.35);stroke-width:1}
.c78-bv{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c78-bl{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.c78-band{fill:rgba(110,200,140,.07)}
.c78-bandt{fill:#8FD6A6;font:600 12px 'Inter',system-ui,sans-serif}
.c78-mark{stroke:rgba(242,191,94,.55);stroke-width:1.3;stroke-dasharray:3 4}
.c78-markc{fill:#15120F;stroke:var(--gold-light);stroke-width:1.6}
.c78-markt{fill:var(--gold-light);font:700 12px 'Inter',system-ui,sans-serif}
.c78-curve{fill:none;stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round}
.c78-curve.is-fwd{stroke:#F2B07E}.c78-curve.is-rev{stroke:#7FB2F0;stroke-dasharray:8 5}
.c78-clab{font:700 13px 'Inter',system-ui,sans-serif}
.c78-clab.is-fwd{fill:#F2B07E}.c78-clab.is-rev{fill:#9CC8F2}
.c78-cursor{stroke:var(--gold-light);stroke-width:1.6}
.c78-dot{stroke:#15120F;stroke-width:1.5}
/* text blocks and tables */
.c78-recipe{padding:12px 14px 12px 36px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0}
.c78-recipe ol{margin:0;padding:0}.c78-recipe li{margin-bottom:6px;line-height:1.55}.c78-recipe li:last-child{margin-bottom:0}
.c78-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c78-work p{margin:0 0 8px;line-height:1.7}.c78-work p:last-child{margin-bottom:0}
.c78-work .c78-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700;line-height:2.1}
.c78-tablewrap{margin:12px 0 14px}
.c78-lesson table.c78-table{min-width:560px;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c78-table th,.c78-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c78-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c78-table tbody th{color:var(--gold-light);font-weight:650}
/* explorer */
.c78-seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c78-seg .ced-topic-button,.c78-btnrow .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c78-seg .ced-topic-button[aria-pressed=true],.c78-btnrow .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c78-btnrow{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c78-lesson .pes16-controls input[type=range]{width:100%;min-height:40px;accent-color:var(--gold)}
.c78-bench{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.c78-cell.is-bench{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 24px}
.c78-cell.is-bench .c78-cap{flex-basis:100%}
.c78-row{display:block;margin-bottom:5px}
.c78-qrow{line-height:2.2}
.c78-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c78-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c78-key.is-near{background:rgba(127,178,240,.1);border:1px solid #7FB2F0}
.c78-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c78-inv{margin:14px 0;padding-left:26px}.c78-inv li{margin-bottom:8px;line-height:1.6}
/* review */
.c78-choices{margin:6px 0 12px;padding-left:28px}.c78-choices li{margin-bottom:5px;line-height:1.55}
.c78-mc .pes16-scroll,.c78-mc .c78-boxes,.c78-fr .c78-boxes{margin:10px 0}
.c78-parts{margin:6px 0 10px;padding-left:28px}.c78-parts li{margin-bottom:6px;line-height:1.55}
.c78-fr details p{margin:0 0 8px}.c78-fr details p:last-child{margin-bottom:0}
.c78-lesson .wx .c78-boxes{margin:10px 0}
@media(max-width:600px){.c78-seg .ced-topic-button,.c78-btnrow .ced-topic-button{flex:1 1 auto}.c78-work{padding:10px}.c78-recipe{padding:10px 10px 10px 30px}.c78-choices,.c78-parts{padding-left:24px}.c78-table th,.c78-table td{padding:7px 6px}.c78-lesson table.c78-table{font-size:.9rem}.c78-cell{padding:8px 4px}}
.c78-cell.is-bars .c78-bars{width:100%;max-width:380px}
.c78-cell.is-bench .c78-bars{width:300px}

/* ---------- Topic 7.9 Learn (ced-topic79-learn.js) ---------- */
.c79-lesson [hidden]{display:none!important}
.c79-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px}
.c79-cell,.c79-single{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c79-single{max-width:560px;margin:0 auto}
.c79-plot,.c79-barsvg,.c79-boxsvg,.c79-app{display:block;width:100%;height:auto;margin:0 auto}
.c79-plot,.c79-barsvg{max-width:440px}.c79-boxsvg{max-width:400px}.c79-app{max-width:340px}
.c79-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c79-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.5}
.c79-mark{stroke:rgba(230,213,138,.65);stroke-width:1.3;stroke-dasharray:4 4}
.c79-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c79-curve{fill:none;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.c79-curve.is-fe{stroke:#E8B04B}.c79-curve.is-scn{stroke:#8FB8D8}.c79-curve.is-cx{stroke:#F0574A}
.c79-curve.is-fwd{stroke:#F2B07E}.c79-curve.is-rev{stroke:#7FB2F0}.c79-curve.is-dash{stroke-dasharray:7 5}
.c79-ll{font:700 12.5px 'Inter',system-ui,sans-serif}
.c79-ll.is-fe{fill:#F0C46A}.c79-ll.is-scn{fill:#A9CBE6}.c79-ll.is-cx{fill:#F57B70}.c79-ll.is-fwd{fill:#F2B07E}.c79-ll.is-rev{fill:#9CC8F2}
.c79-cap{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c79-val{fill:var(--text-primary);font:700 12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c79-box{stroke:rgba(220,230,240,.45);stroke-width:1.4}
.c79-bar{stroke:rgba(0,0,0,.35);stroke-width:1}
.c79-bar.is-no2{fill:#B8642E}.c79-bar.is-n2o4{fill:#D9DEE4}.c79-bar.is-fe{fill:#E8B04B}.c79-bar.is-scn{fill:#8FB8D8}.c79-bar.is-cx{fill:#E0453A}
.c79-bar.is-ghost{fill-opacity:.4;stroke:rgba(255,255,255,.55);stroke-dasharray:4 3}
/* explorer art */
.c79-bath.is-ice{fill:rgba(150,200,240,.16);stroke:rgba(170,215,245,.45);stroke-width:1.2}
.c79-bath.is-hot{fill:rgba(230,120,70,.18);stroke:rgba(240,150,100,.45);stroke-width:1.2}
.c79-ice{fill:rgba(225,240,252,.55);stroke:rgba(255,255,255,.7);stroke-width:1}
.c79-steam{fill:none;stroke:rgba(230,230,235,.5);stroke-width:2;stroke-linecap:round}
.c79-glass{fill:rgba(170,210,240,.05);stroke:rgba(190,215,235,.7);stroke-width:2;stroke-linejoin:round}
.c79-cap0{fill:#7A8088;stroke:#A9B0B8;stroke-width:1}
.c79-tick{stroke:rgba(210,228,240,.6);stroke-width:1.2}
.c79-plunger{fill:#3B4148;stroke:#9AA2AB;stroke-width:1.2}
.c79-rod{fill:#C9CED4;stroke:#7D848C;stroke-width:1}
.c79-ppt{fill:#F2F2EE;stroke:#B8B8B0;stroke-width:.8}
.c79-arr{stroke:var(--gold-light);stroke-width:2.4;fill:none}.c79-arr-head{fill:var(--gold-light)}
.c79-q{fill:var(--gold-light);font:700 40px 'Inter',system-ui,sans-serif}
.c79-mk{stroke:#171717;stroke-width:1.2}.c79-mk.is-before{fill:#C9CED4}.c79-mk.is-after{fill:var(--gold-light)}
/* tables */
.c79-tablewrap{margin:12px 0 14px}
.c79-lesson table.c79-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c79-table th,.c79-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c79-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c79-table tbody th{color:var(--gold-light);font-weight:650}
.c79-data td{white-space:nowrap}
.c79-lesson table.c79-mini{min-width:0;width:auto;max-width:100%;margin:8px auto 4px;border-collapse:collapse;font-size:.9rem;font-variant-numeric:tabular-nums}
.c79-mini th,.c79-mini td{padding:5px 8px;border:1px solid var(--v2-border);text-align:center}
.c79-mini thead th{background:rgba(205,163,73,.1);color:var(--text-secondary);font-weight:650}
.c79-mini tbody th{color:var(--gold-light);font-weight:650}
/* text blocks */
.c79-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px;margin:14px 0}
.c79-cards.is-two{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.c79-card{border:1px solid var(--v2-border);border-left:4px solid var(--gold);border-radius:10px;padding:12px 14px;background:var(--v2-surface);min-width:0}
.c79-card h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c79-card p{margin:0;color:var(--text-secondary);line-height:1.6}
.c79-choices{margin:6px 0 12px;padding-left:28px}.c79-choices li{margin-bottom:5px;line-height:1.55}
.c79-mc .pes16-scroll,.c79-mc .pes16-figure{margin:10px 0}
.c79-parts{margin:6px 0 10px;padding-left:28px}.c79-parts li{margin-bottom:6px;line-height:1.55}
.c79-fr details p{margin:0 0 8px}.c79-fr details p:last-child{margin-bottom:0}
.c79-inv{margin:14px 0;padding-left:26px}.c79-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c79-seg,.c79-ctl,.c79-btnrow{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c79-btnrow{margin:12px 0 0}
.c79-seg .ced-topic-button,.c79-ctl .ced-topic-button,.c79-btnrow .ced-topic-button,.c79-predict .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c79-seg .ced-topic-button[aria-pressed=true],.c79-ctl .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700;opacity:1}
.c79-ctl .ced-topic-button:disabled:not([aria-pressed=true]){opacity:.45;cursor:not-allowed}
.c79-eqline{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:8px;background:var(--v2-surface);font-weight:650;line-height:1.55;overflow-wrap:anywhere}
.c79-bench{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px}
.c79-predict{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.c79-verdict{font-weight:700;color:var(--gold-light)}
.c79-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c79-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c79-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c79-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c79-lesson .pes16-photo img,.c79-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:600px){.c79-lesson table.c79-mini{width:100%;font-size:13.5px}.c79-mini th,.c79-mini td{padding:5px 3px}.c79-seg .ced-topic-button,.c79-ctl .ced-topic-button,.c79-predict .ced-topic-button{flex:1 1 auto}.c79-choices,.c79-parts{padding-left:24px}.c79-table th,.c79-table td{padding:7px 6px}.c79-lesson table.c79-table{font-size:.9rem}.c79-data td{white-space:normal}.c79-card{padding:10px 12px}}

/* ---------- Topic 7.10 Learn (ced-topic710-learn.js) ---------- */
.c710-lesson [hidden]{display:none!important}
.c710-lesson .l1-svg.c710-graph{min-width:540px}.c710-lesson .l1-svg.c710-gauge{min-width:0;max-width:520px;margin:0 auto}.c710-lesson .l1-svg.c710-boxes{min-width:600px}.c710-lesson .l1-svg.c710-ktfig{min-width:520px}
/* stacked fractions */
.c710-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 .2em;line-height:1.25;text-align:center}
.c710-nu{padding:0 .25em .1em;border-bottom:1.5px solid currentColor}
.c710-de{padding:.1em .25em 0}
.c710-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.c710-lesson .ced13-lesson-equation .c710-frac{font-size:.95em}
/* text blocks */
.c710-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c710-work p{margin:0 0 8px;line-height:1.7}.c710-work p:last-child{margin-bottom:0}
/* tables (override the 540 px house minimum) */
.c710-tablewrap{margin:12px 0 14px}
.c710-lesson table.c710-table{border-collapse:collapse;width:100%;min-width:0;font-size:.94rem;font-variant-numeric:tabular-nums}
.c710-lesson .c710-table th,.c710-lesson .c710-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c710-lesson .c710-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c710-lesson .c710-table tbody th{color:var(--gold-light);font-weight:650}
.c710-lesson table.c710-tubes{min-width:560px}.c710-lesson table.c710-sum{min-width:600px}.c710-lesson .c710-sum td:nth-child(3){white-space:nowrap}
.c710-lesson table.c710-ktab,.c710-lesson table.c710-dtab{width:auto}
.c710-lesson .c710-ktab td,.c710-lesson .c710-dtab td{white-space:nowrap}
/* figures */
.c710-box{fill:rgba(255,255,255,.03);stroke:rgba(220,230,240,.55);stroke-width:1.6}
.c710-cap{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c710-qline{font:700 12.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c710-qline.is-eq{fill:#8FD6A6}.c710-qline.is-off{fill:#F2A07E}
.c710-arr{stroke:var(--text-secondary);stroke-width:2.2;fill:none}.c710-arr-head{fill:var(--text-secondary)}
.c710-boxwrap{display:inline-block;max-width:100%;margin:8px 0}
.c710-onebox{display:block;width:300px;max-width:none;height:auto}
.c710-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c710-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c710-minor{stroke:rgba(220,230,240,.45);stroke-width:1.2}
.c710-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c710-stressline{stroke:rgba(230,213,138,.7);stroke-width:1.4;stroke-dasharray:4 4}
.c710-stresst{fill:#E6D58A;font:700 12.5px 'Inter',system-ui,sans-serif}
.c710-wait{fill:rgba(255,255,255,.035)}
.c710-ln{fill:none;stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round}
.c710-ln.is-jump{stroke-width:1.6;stroke-dasharray:3 3}
.c710-ln.is-fe{stroke:#E8B04B}.c710-ln.is-scn{stroke:#A9BED2;stroke-dasharray:7 5}.c710-ln.is-fescn{stroke:#F2645C}
.c710-ln.is-n2o4{stroke:#9CC8F2;stroke-dasharray:7 5}.c710-ln.is-no2{stroke:#D98A4E}
.c710-ln.is-n2{stroke:#7FB2F0}.c710-ln.is-h2{stroke:#D8D8D8;stroke-dasharray:7 5}.c710-ln.is-nh3{stroke:#7FD49A}
.c710-ln.is-jump.is-scn,.c710-ln.is-jump.is-n2o4,.c710-ln.is-jump.is-h2{stroke-dasharray:3 3}
.c710-dot{stroke:#171717;stroke-width:1.4}
.c710-dot.is-fe{fill:#E8B04B}.c710-dot.is-scn{fill:#A9BED2}.c710-dot.is-fescn{fill:#F2645C}.c710-dot.is-n2o4{fill:#9CC8F2}.c710-dot.is-no2{fill:#D98A4E}.c710-dot.is-n2{fill:#7FB2F0}.c710-dot.is-h2{fill:#D8D8D8}.c710-dot.is-nh3{fill:#7FD49A}
.c710-ll{font:700 13px 'Inter',system-ui,sans-serif}
.c710-ll.is-fe{fill:#F0C46E}.c710-ll.is-scn{fill:#BFD0E0}.c710-ll.is-fescn{fill:#F58A84}.c710-ll.is-n2o4{fill:#B4D6F5}.c710-ll.is-no2{fill:#E9A272}.c710-ll.is-n2{fill:#9CC4F4}.c710-ll.is-h2{fill:#E4E4E4}.c710-ll.is-nh3{fill:#9CE0B2}
.c710-kmark{stroke:var(--gold);stroke-width:3;stroke-linecap:round}
.c710-kold{stroke:rgba(230,213,138,.55);stroke-width:2;stroke-dasharray:3 3}
.c710-kt{fill:var(--gold-light);font:700 13.5px 'Inter',system-ui,sans-serif}
.c710-qdot{fill:#7FB2F0;stroke:#171717;stroke-width:1.5}
.c710-qt{fill:#9CC4F4;font:700 13.5px 'Inter',system-ui,sans-serif}
.c710-fwd{stroke:#8FD6A6;stroke-width:2.4;fill:none}.c710-fwd-head{fill:#8FD6A6}
.c710-rev{stroke:#F2A07E;stroke-width:2.4;fill:none}.c710-rev-head{fill:#F2A07E}
.c710-dirt{font:700 12.5px 'Inter',system-ui,sans-serif}
.c710-dirt.is-fwd{fill:#8FD6A6}.c710-dirt.is-rev{fill:#F2A07E}.c710-dirt.is-eq{fill:var(--text-secondary)}
.c710-trend{fill:none;stroke:rgba(230,213,138,.5);stroke-width:1.6;stroke-dasharray:5 4}
.c710-kdot{fill:var(--gold);stroke:#171717;stroke-width:1.4}
.c710-kv{fill:var(--text-primary);font:700 12.5px 'Inter',system-ui,sans-serif}
/* the vessel */
.c710-vessel{display:block;width:100%;max-width:240px;height:auto;margin:0 auto}
.c710-glass{fill:none;stroke:rgba(200,222,238,.75);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.c710-liq{stroke:none;transition:fill .5s ease}
.c710-gas{stroke:none;transition:fill .5s ease,y .5s ease,height .5s ease}
.c710-piston{fill:#8C939C;stroke:#5E646C;stroke-width:1.2}
.c710-rod{fill:#A7ADB5}
.c710-vt{fill:var(--text-primary);font:700 12.5px 'Inter',system-ui,sans-serif}
@media(prefers-reduced-motion:reduce){.c710-liq,.c710-gas{transition:none}}
/* explorer */
.c710-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c710-seg .ced-topic-button,.c710-btnrow .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c710-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c710-seg .ced-topic-button:disabled,.c710-btnrow .ced-topic-button:disabled{opacity:.45;cursor:not-allowed}
.c710-seglab{font-weight:650;color:var(--text-secondary);margin-right:2px}
.c710-note{color:var(--text-secondary);font-size:.92em}
.c710-eqline{margin:0 0 12px;padding:10px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);line-height:1.55}
.c710-bench{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:10px;align-items:start;margin-bottom:10px}
.c710-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:8px 6px;min-width:0}
.c710-gaugewrap{margin-bottom:4px}
.c710-row{display:block;margin-bottom:6px}
.c710-row .c710-frac{margin:2px .2em}
.c710-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c710-key.is-eq{background:rgba(255,255,255,.04);border:1px solid var(--v2-border)}
.c710-key.is-fwd{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c710-key.is-rev{background:rgba(242,160,126,.1);border:1px solid #F2A07E}
.c710-btnrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.c710-btnrow .c710-go:not(:disabled){background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
/* review */
.c710-choices{margin:6px 0 12px;padding-left:28px}.c710-choices li{margin-bottom:5px;line-height:1.55}
.c710-mc .pes16-scroll,.c710-mc .ced13-lesson-equation{margin:10px 0}
.c710-parts{margin:6px 0 10px;padding-left:28px}.c710-parts li{margin-bottom:6px;line-height:1.55}
.c710-frq details p{margin:0 0 8px}.c710-frq details p:last-child{margin-bottom:0}
.c710-inv{margin:14px 0;padding-left:26px}.c710-inv li{margin-bottom:8px;line-height:1.6}
.c710-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c710-lesson .pes16-photo img,.c710-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:700px){.c710-bench{grid-template-columns:1fr}.c710-vessel{max-width:200px}}
@media(max-width:600px){.c710-seg .ced-topic-button,.c710-btnrow .ced-topic-button{flex:1 1 auto}.c710-work,.c710-eqline{padding:10px}.c710-choices,.c710-parts{padding-left:24px}.c710-lesson .c710-table th,.c710-lesson .c710-table td{padding:7px 6px}.c710-lesson table.c710-table{font-size:.9rem}.c710-seglab{flex:1 1 100%}}
.c710-gauge .l1-tick{font-size:15px}.c710-gauge .pes16-small{font-size:14.5px}
.c710-gauge .c710-kt,.c710-gauge .c710-qt{font-size:16px}.c710-gauge .c710-dirt{font-size:15px}

/* ---------- Topic 7.11 Learn (ced-topic711-learn.js) ---------- */
.c711-lesson [hidden]{display:none!important}
.c711-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px}
.c711-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c711-figbox{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c711-svg{display:block;width:100%;height:auto;margin:0 auto}
.c711-scene,.c711-bars,.c711-cmp{max-width:380px}.c711-graph{max-width:460px}
.c711-one{max-width:480px;margin:0 auto}
.c711-graph .l1-tick,.c711-graph .pes16-small{font-size:13px}.c711-graph .l1-axislabel,.c711-graph .c711-ll{font-size:13.5px}
.c711-lesson .l1-svg.c711-scale{min-width:640px;max-width:760px;margin:0 auto}
.c711-stim{max-width:400px;margin:10px 0;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c711-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c711-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c711-sol{fill:rgba(93,173,226,.08);stroke:rgba(127,178,240,.35);stroke-width:1.4}
.c711-curve{fill:none;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.c711-curve.is-an{stroke:#E6C25A}.c711-curve.is-cat{stroke:#8EC5F2;stroke-dasharray:8 5}
.c711-curve.is-dis{stroke:#F2B07E}.c711-curve.is-pre{stroke:#9CC8F2;stroke-dasharray:8 5}.c711-curve.is-q{stroke:#E6C25A}
.c711-ll{font:700 12.5px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c711-ll.is-an{fill:#E6C25A}.c711-ll.is-cat{fill:#9CC8F2}.c711-ll.is-dis{fill:#F2B07E}.c711-ll.is-pre{fill:#9CC8F2}.c711-ll.is-k{fill:#F2A08E}.c711-ll.is-q{fill:#E6C25A}
.c711-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c711-arr{stroke-width:2.2;fill:none}.c711-arr.is-out{stroke:#F2B07E}.c711-arr.is-in{stroke:#9CC8F2}.c711-arr.is-sol{stroke:var(--gold-light)}
.c711-arrh{fill:var(--text-secondary)}.c711-arrh.is-out{fill:#F2B07E}.c711-arrh.is-in{fill:#9CC8F2}.c711-arrh.is-sol{fill:var(--gold-light)}
.c711-tag{font:700 12px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}
.c711-tag.is-out{fill:#F2B07E}.c711-tag.is-in{fill:#9CC8F2}
.c711-q{font:700 11px 'Inter',system-ui,sans-serif;fill:#fff;paint-order:stroke;stroke:#15120F;stroke-width:3px}
.c711-fallback{fill:var(--text-secondary)}
.c711-cap{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c711-ratio{fill:var(--text-secondary);font-weight:500}
.c711-val{fill:var(--text-primary);font:700 12px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c711-bar.is-12,.c711-bar.is-cat{fill:#8EC5F2}.c711-bar.is-11,.c711-bar.is-an{fill:#E6C25A}
.c711-satline{stroke:var(--text-primary);stroke-width:1.6;stroke-dasharray:5 4;opacity:.75}
.c711-meter{fill:rgba(255,255,255,.06);stroke:var(--v2-border);stroke-width:1}
.c711-meterfill{fill:rgba(142,197,242,.55)}.c711-meterfill.is-full{fill:rgba(110,200,140,.6)}
.c711-zone{fill:rgba(110,200,140,.09)}
.c711-zonet{fill:#8FD6A6;font:700 12px 'Inter',system-ui,sans-serif}
.c711-stem{stroke:rgba(220,230,240,.25);stroke-width:1.2;stroke-dasharray:2 4}
.c711-dot{stroke:#171717;stroke-width:1.4}.c711-dot.is-11{fill:#E6C25A}.c711-dot.is-12{fill:#8EC5F2}
.c711-kline{stroke:#F2A08E;stroke-width:2;stroke-dasharray:7 5}
.c711-vline{stroke:rgba(230,213,138,.6);stroke-width:1.3;stroke-dasharray:3 4}
.c711-now{fill:var(--gold-light);stroke:#171717;stroke-width:1.6}
.c711-liq{fill:rgba(93,173,226,.14)}
.c711-glass{fill:none;stroke:rgba(220,230,240,.75);stroke-width:2;stroke-linejoin:round}
.c711-bulb{fill:#3a3a3a;stroke:rgba(220,230,240,.6);stroke-width:1.2}
.c711-drop{fill:rgba(220,230,240,.55)}
.c711-ppt{fill:#E9D44C;stroke:#B9A22A;stroke-width:1}
.c711-tablewrap{margin:12px 0 14px}
.c711-lesson table.c711-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c711-table th,.c711-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c711-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c711-table tbody th{color:var(--gold-light);font-weight:650;white-space:nowrap}
.c711-lesson table.c711-table.c711-mini{width:auto;min-width:260px}
.c711-note{font-size:.9em;color:var(--text-secondary)}
.c711-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c711-work p{margin:0 0 8px;line-height:1.6}.c711-work p:last-child{margin-bottom:0}
.c711-work ol{margin:0;padding-left:24px}.c711-work li{margin-bottom:6px;line-height:1.55}.c711-work li:last-child{margin-bottom:0}
.c711-work .c711-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light)}
.c711-fraceq{line-height:1.5}
.c711-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 4px;line-height:1.25}
.c711-frac>span:first-child{padding:0 4px 2px;border-bottom:1.5px solid currentColor}
.c711-frac>span:last-child{padding:2px 4px 0}
.c711-cx{text-decoration:line-through;text-decoration-color:var(--gold);text-decoration-thickness:2px;color:var(--text-secondary)}
.c711-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;margin:12px 0}
.c711-card{border:1px solid var(--v2-border);border-left:4px solid var(--gold);border-radius:10px;background:var(--v2-surface);padding:10px 12px}
.c711-card .c711-cardh{margin:0 0 4px;font-weight:700;color:var(--text-primary)}.c711-card p{margin:0;line-height:1.55}
.c711-card.is-lo{border-left-color:#8EC5F2}.c711-card.is-eq{border-left-color:#6EC88C}.c711-card.is-hi{border-left-color:#E6C25A}
.c711-choices{margin:6px 0 12px;padding-left:28px}.c711-choices li{margin-bottom:5px;line-height:1.55}
.c711-mc .pes16-scroll,.c711-mc .ced13-lesson-equation{margin:10px 0}
.c711-parts{margin:6px 0 10px;padding-left:28px}.c711-parts li{margin-bottom:6px;line-height:1.55}
.c711-fr details p{margin:0 0 8px}.c711-fr details p:last-child{margin-bottom:0}
.c711-inv{margin:14px 0;padding-left:26px}.c711-inv li{margin-bottom:8px;line-height:1.6}
.c711-seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c711-seg .ced-topic-button,.c711-btnrow .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c711-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c711-btnrow{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.c711-lesson .pes16-controls select{font-size:16px;min-height:44px}
.c711-lesson .pes16-controls input[type=range]{width:100%;min-height:40px;accent-color:var(--gold)}
.c711-bench{margin-top:4px}
.c711-steps{margin:8px 0 0;padding-left:24px}.c711-steps li{margin-bottom:4px}
.c711-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55;background:rgba(205,163,73,.08);border:1px solid rgba(205,163,73,.4)}
.c711-key.is-lo{background:rgba(127,178,240,.1);border-color:#7FB2F0}
.c711-key.is-eq{background:rgba(110,200,140,.12);border-color:#6EC88C}
.c711-key.is-hi{background:rgba(230,194,90,.12);border-color:#E6C25A}
.c711-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c711-lesson .pes16-photo img,.c711-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:600px){.c711-seg .ced-topic-button,.c711-btnrow .ced-topic-button{flex:1 1 auto}.c711-work{padding:10px}.c711-choices,.c711-parts{padding-left:24px}.c711-table th,.c711-table td{padding:7px 6px}.c711-lesson table.c711-table{font-size:.9rem}.c711-table tbody th{white-space:normal}}

/* ---------- Topic 7.12 Learn (ced-topic712-learn.js) ---------- */
.c712-lesson .l1-svg.c712-ladder{min-width:440px;max-width:760px;margin:0 auto}.c712-lesson .l1-svg.c712-ct{min-width:440px;max-width:760px;margin:0 auto}.c712-lesson .l1-svg.c712-loglog{min-width:430px}
.c712-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c712-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c712-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c712-cap{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c712-val{fill:var(--text-primary);font:700 12.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c712-salt{fill:var(--gold-light);font:700 15px 'Inter',system-ui,sans-serif}
.c712-dot{stroke:#171717;stroke-width:1.4}.c712-dot.is-water{fill:#B9C2CC}.c712-dot.is-common{fill:var(--gold)}
.c712-drop{stroke:var(--gold-light);stroke-width:2;stroke-dasharray:5 4}.c712-drop-h{fill:var(--gold-light)}
.c712-dropt{fill:var(--gold-light);font:700 12.5px 'Inter',system-ui,sans-serif}
/* beakers */
.c712-beaker{display:block;width:100%;max-width:300px;height:auto;margin:0 auto}
.c712-glass{fill:none;stroke:rgba(190,215,235,.65);stroke-width:2;stroke-linejoin:round}
.c712-liq{fill:rgba(100,170,235,.2)}
.c712-surf{stroke:rgba(170,210,245,.7);stroke-width:1.4}
.c712-ghost{fill:none;stroke:rgba(230,230,225,.45);stroke-width:1.3;stroke-dasharray:4 3}
.c712-pile{stroke:rgba(0,0,0,.35);stroke-width:1}.c712-pile.is-yellow{fill:#F2C631}.c712-pile.is-white{fill:#EDEDEA}
/* particle boxes */
.c712-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px}
.c712-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}
.c712-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c712-pbox{display:block;width:100%;max-width:300px;height:auto;margin:0 auto}
.c712-box{fill:rgba(100,170,235,.07);stroke:var(--v2-border,rgba(255,255,255,.18));stroke-width:1.4}
.c712-new{fill:none;stroke:var(--gold);stroke-width:1.6;stroke-dasharray:5 4}
.c712-q{font:700 12.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}.c712-q.is-eq{fill:#8FD6A6}.c712-q.is-hi{fill:#F2A08F}
.c712-legend{display:flex;justify-content:center;margin:0 0 8px}
.c712-legend-svg{display:block;width:100%;max-width:290px;height:auto}
/* graphs */
.c712-addline{stroke:rgba(230,213,138,.6);stroke-width:1.3;stroke-dasharray:3 4}
.c712-curve{fill:none;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}.c712-curve.is-cl{stroke:#6FD08A}.c712-curve.is-ag{stroke:#C9CFD8;stroke-dasharray:8 5}
.c712-ll{font:700 12.5px 'Inter',system-ui,sans-serif;fill:var(--text-primary)}.c712-ll.is-cl{fill:#8FDDA4}.c712-ll.is-ag{fill:#D5DAE2}
.c712-water{stroke:#B9C2CC;stroke-width:1.6;stroke-dasharray:2 4}.c712-water.is-sel{stroke-width:2.6;stroke:#D5DAE2}
.c712-sc{fill:none;stroke-width:2.6;stroke-linejoin:round}.c712-sc.is-an{stroke:var(--gold)}.c712-sc.is-cat{stroke:#7FB2F0}
.c712-sc.is-dim{opacity:.38;stroke-width:2}.c712-sc.is-sel{stroke-width:3}
.c712-approx{fill:none;stroke:#F2E6C8;stroke-width:1.6;stroke-dasharray:7 5}
.c712-cursor{stroke:var(--text-secondary);stroke-width:1.2;stroke-dasharray:3 4}
.c712-now{fill:#E6D58A;stroke:#171717;stroke-width:1.6}
/* text blocks */
.c712-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c712-work p{margin:0 0 8px;line-height:1.6}.c712-work p:last-child{margin-bottom:0}
/* tables (override the 540 px house minimum) */
.c712-tablewrap{margin:12px 0 14px}
.c712-lesson table.c712-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c712-table th,.c712-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c712-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c712-table tbody th{color:var(--gold-light);font-weight:650}
.c712-lesson table.c712-ice{width:auto;min-width:min(100%,420px)}.c712-ice td{text-align:center;white-space:nowrap}
.c712-lesson table.c712-dtab{width:auto;max-width:100%}.c712-dtab td{white-space:nowrap}
/* explorer */
.c712-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c712-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c712-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c712-seglab{font-weight:650;color:var(--text-secondary);margin-right:4px}
.c712-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c712-lesson input[type=range]:disabled{opacity:.4}
.c712-bench{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:10px;align-items:start}
.c712-scroll{padding:6px 4px}
.c712-key{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 4px 2px;font-size:.88rem;color:var(--text-secondary);line-height:1.4}
.c712-key>span{display:inline-flex;align-items:center;gap:6px}
.c712-sw{display:inline-block;width:26px;height:0;border-top:3px solid}
.c712-sw.is-an{border-color:var(--gold)}.c712-sw.is-cat{border-color:#7FB2F0}.c712-sw.is-approx{border-top:2px dashed #F2E6C8}.c712-sw.is-water{border-top:3px dotted #D5DAE2}
.c712-note{flex-basis:100%;font-style:italic}
.c712-steps{margin:8px 0 0;padding-left:24px}.c712-steps li{margin-bottom:5px;line-height:1.6}
.c712-keyline{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;background:rgba(127,178,240,.08);border:1px solid rgba(127,178,240,.45);line-height:1.55}
.c712-warn{color:#F0A090;font-weight:700}
/* review */
.c712-choices{margin:6px 0 12px;padding-left:28px}.c712-choices li{margin-bottom:5px;line-height:1.55}
.c712-mc .pes16-scroll{margin:8px 0}
.c712-parts{margin:6px 0 10px;padding-left:28px}.c712-parts li{margin-bottom:6px;line-height:1.55}
.c712-fr details p{margin:0 0 8px}.c712-fr details p:last-child{margin-bottom:0}
.c712-inv{margin:14px 0;padding-left:26px}.c712-inv li{margin-bottom:8px;line-height:1.6}
.c712-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c712-lesson .pes16-photo img,.c712-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:760px){.c712-bench{grid-template-columns:1fr}}
@media(max-width:600px){
  .c712-seg .ced-topic-button{flex:1 1 auto}.c712-work{padding:10px}.c712-choices,.c712-parts{padding-left:24px}
  .c712-table th,.c712-table td{padding:7px 6px}.c712-lesson table.c712-table{font-size:.9rem}
  .c712-pbox .c712-cap,.c712-pbox .c712-q,.c712-beaker .c712-cap{font-size:13.5px}.c712-pbox .pes16-small,.c712-beaker .pes16-small{font-size:12.5px}
}

/* ---------- Topic 7.9 Explore (ced-topic79-explore.js) ---------- */
/* Topic 7.9 Explore (ced-topic79-explore.js): the equation bar over the picture, and the text of the before/after bars
   chart (drawn by the topic file). Everything else uses sim-lab.css, explore-lab.css and explore-u3.css classes. */
.c79x-eq { display: grid; gap: 2px; padding: 10px 14px; border: 1px solid var(--h-line); border-radius: 12px; background: var(--h-panel-2); }
.c79x-eqn { margin: 0; font: 600 1.06rem/1.35 var(--h-sans); color: var(--h-text); font-variant-numeric: tabular-nums; }
.c79x-sub { margin: 0; font-size: .84rem; line-height: 1.4; color: var(--h-muted); }
.sl .c79x-val { fill: var(--h-muted); font: 12.5px var(--h-sans); }
.sl .c79x-bt { fill: var(--h-gold-1); font: 600 13px var(--h-sans); }
@media (max-width: 760px) {
  .c79x-eq { padding: 8px 10px; } .c79x-eqn { font-size: .98rem; }
  .sl .c79x-val { font-size: 15px; } .sl .c79x-bt { font-size: 17px; }
}

/* ---------- Topic 7.6 Explore (ced-topic76-explore.js) ---------- */
/* Topic 7.6 Explore (K algebra): the deck of equation cards under the picture, the K-expression tiles and the chart
   labels. Every selector is scoped to #ced-7-6-explore and uses the c76x- prefix (the deck follows 6.9's c69x deck). */
#ced-7-6-explore .c76x-deck { display: grid; gap: 10px; padding: 12px 14px; border: 1px solid var(--h-line); border-radius: 14px; background: var(--h-panel-2); }
#ced-7-6-explore .c76x-deck[hidden] { display: none; }
#ced-7-6-explore .c76x-dhead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
#ced-7-6-explore .c76x-dnote { font-size: .86rem; line-height: 1.45; color: var(--h-text-2); }
#ced-7-6-explore .c76x-dcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 10px; }
#ced-7-6-explore .c76x-dc { display: grid; gap: 6px; min-width: 0; padding: 10px 12px; border: 1px solid var(--h-line-2); border-left: 5px solid var(--c76c); border-radius: 12px; background: rgba(255,255,255,.03); transform-origin: 50% 50%; }
#ced-7-6-explore .c76x-dc.is-used { border-color: color-mix(in srgb, var(--c76c) 55%, transparent); border-left-color: var(--c76c); background: color-mix(in srgb, var(--c76c) 11%, var(--h-panel)); }
#ced-7-6-explore .c76x-dc.is-flip { animation: c76x-flip .5s ease; }
@keyframes c76x-flip { 0% { transform: perspective(600px) rotateX(0); } 50% { transform: perspective(600px) rotateX(90deg); } 100% { transform: perspective(600px) rotateX(0); } }
#ced-7-6-explore .c76x-dtop { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
#ced-7-6-explore .c76x-badge { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--c76c); color: #17120d; font: 700 .82rem/1 var(--h-sans); }
#ced-7-6-explore .c76x-dtag { font-size: .8rem; color: var(--h-muted); }
#ced-7-6-explore .c76x-dk { margin-left: auto; font: 600 .95rem/1.3 var(--h-sans); font-variant-numeric: tabular-nums; color: var(--h-text); }
#ced-7-6-explore .c76x-dk.is-lo { color: #8EC5F2; }
#ced-7-6-explore .c76x-dk.is-hi { color: #F2A65E; }
#ced-7-6-explore .c76x-deq { margin: 0; color: var(--h-text); font-size: 1rem; line-height: 1.45; }
#ced-7-6-explore .c76x-dgiven { margin: 0; color: var(--h-muted); font-size: .8rem; line-height: 1.4; }
#ced-7-6-explore .c76x-dbtns { display: flex; flex-wrap: wrap; gap: 6px; }
#ced-7-6-explore .c76x-fs { display: inline-flex; align-items: center; gap: 4px; }
#ced-7-6-explore .c76x-b, #ced-7-6-explore .c76x-f { min-height: 40px; min-width: 44px; padding: 0 12px; border: 1px solid var(--h-line-2); border-radius: var(--h-pill); background: transparent; color: var(--h-text); font: 600 .84rem/1 var(--h-sans); cursor: pointer; transition: background-color .2s, border-color .2s; }
#ced-7-6-explore .c76x-f { display: inline-grid; place-items: center; padding: 0 8px; }
#ced-7-6-explore .c76x-b:hover, #ced-7-6-explore .c76x-f:hover { border-color: rgba(242,191,94,.6); background: rgba(242,191,94,.08); }
#ced-7-6-explore .c76x-f[aria-pressed="true"], #ced-7-6-explore .c76x-use[aria-pressed="true"] { border-color: var(--unit); background: color-mix(in srgb, var(--unit) 18%, transparent); }
/* the K-expression tiles */
#ced-7-6-explore .c76x-ktray { display: grid; gap: 8px; padding: 10px; border: 1.5px dashed var(--h-line-2, rgba(255,255,255,.2)); border-radius: 14px; }
#ced-7-6-explore .c76x-kt { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
#ced-7-6-explore .c76x-ktn { min-width: 7.5em; font: 600 1rem/1.3 var(--h-sans); color: var(--h-text); }
#ced-7-6-explore .c76x-kbuild { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding: 10px; border: 1px solid var(--h-line, rgba(255,255,255,.12)); border-radius: 14px; overflow-x: auto; }
#ced-7-6-explore .c76x-klab { font-size: 1.05rem; white-space: nowrap; }
#ced-7-6-explore .c76x-kfr { display: grid; gap: 4px; min-width: 0; }
#ced-7-6-explore .c76x-krow { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px; min-height: 44px; }
#ced-7-6-explore .c76x-kbar { height: 2px; background: var(--h-text-2, rgba(255,255,255,.6)); border-radius: 1px; }
#ced-7-6-explore .c76x-kterm { display: inline-flex; align-items: center; gap: 2px; border: 1px solid var(--h-line-2, rgba(255,255,255,.2)); border-radius: 12px; padding: 2px 4px; }
#ced-7-6-explore .c76x-frac { display: inline-flex; flex-direction: column; align-items: center; vertical-align: middle; margin: 0 2px; }
#ced-7-6-explore .c76x-num { padding: 0 4px 2px; border-bottom: 1.5px solid currentColor; }
#ced-7-6-explore .c76x-den { padding: 2px 4px 0; }
/* chart labels drawn in SVG */
#ced-7-6-explore .sl .c76x-val, .sl-zoom .c76x-val { fill: var(--h-muted); font: 12.5px var(--h-sans); }
@media (max-width: 760px) { #ced-7-6-explore .c76x-deck { padding: 10px; } #ced-7-6-explore .c76x-dcards { grid-template-columns: minmax(0, 1fr); } #ced-7-6-explore .c76x-ktn { min-width: 0; flex-basis: 100%; } }
@media (prefers-reduced-motion: reduce) { #ced-7-6-explore .c76x-dc.is-flip { animation: none; } }

/* ---------- Topic 7.2 Explore (ced-topic72-explore.js) ---------- */
/* Topic 7.2 Explore: the equation bar over the picture (the equation as written, which the student can rewrite), and
   the text of the "your fills" chart drawn by the topic file. Everything else uses sim-lab.css, explore-lab.css and
   explore-u3.css classes. */
.c72x-eq { display: grid; gap: 2px; padding: 10px 14px; border: 1px solid var(--h-line); border-radius: 12px; background: var(--h-panel-2); }
.c72x-eqn { margin: 0; font: 600 1.06rem/1.35 var(--h-sans); color: var(--h-text); font-variant-numeric: tabular-nums; }
.c72x-sub { margin: 0; font-size: .84rem; line-height: 1.4; color: var(--h-muted); }
.sl .c72x-val { fill: var(--h-muted); font: 12.5px var(--h-sans); }
.sl .c72x-bt { fill: var(--h-gold-1); font: 600 13px var(--h-sans); }
@media (max-width: 760px) {
  .c72x-eq { padding: 8px 10px; } .c72x-eqn { font-size: .98rem; }
  .sl .c72x-val { font-size: 15px; } .sl .c72x-bt { font-size: 17px; }
}

/* ---------- Topic 7.1 Explore (ced-topic71-explore.js) ---------- */
/* Topic 7.1 Explore (ced-topic71-explore.js): the equation bar over the picture and the note text inside the charts
   (drawn by the topic file). Everything else uses sim-lab.css, explore-lab.css and explore-u3.css classes. */
.c71x-eq { display: grid; gap: 2px; padding: 10px 14px; border: 1px solid var(--h-line); border-radius: 12px; background: var(--h-panel-2); }
.c71x-eqn { margin: 0; font: 600 1.06rem/1.35 var(--h-sans); color: var(--h-text); font-variant-numeric: tabular-nums; }
.c71x-sub { margin: 0; font-size: .84rem; line-height: 1.4; color: var(--h-muted); }
.sl .c71x-note { fill: var(--h-muted); font: 12.5px var(--h-sans); }
@media (max-width: 760px) {
  .c71x-eq { padding: 8px 10px; } .c71x-eqn { font-size: .98rem; }
  .sl .c71x-note { font-size: 15px; }
}

/* ---------- Topic 7.4 Explore (ced-topic74-explore.js) ---------- */
/* Topic 7.4 Explore (ced-topic74-explore.js): the equation bar over the picture and the note text inside the charts
   (drawn by the topic file). Everything else uses sim-lab.css, explore-lab.css and explore-u3.css classes. */
.c74x-eq { display: grid; gap: 2px; padding: 10px 14px; border: 1px solid var(--h-line); border-radius: 12px; background: var(--h-panel-2); }
.c74x-eqn { margin: 0; font: 600 1.06rem/1.35 var(--h-sans); color: var(--h-text); font-variant-numeric: tabular-nums; }
.c74x-sub { margin: 0; font-size: .84rem; line-height: 1.4; color: var(--h-muted); }
.sl .c74x-val { fill: var(--h-muted); font: 12.5px var(--h-sans); }
.sl .c74x-bt { fill: var(--h-gold-1); font: 600 13px var(--h-sans); }
@media (max-width: 760px) {
  .c74x-eq { padding: 8px 10px; } .c74x-eqn { font-size: .98rem; }
  .sl .c74x-val { font-size: 15px; } .sl .c74x-bt { font-size: 17px; }
}

/* ---------- Topic 7.5 Explore (ced-topic75-explore.js) ---------- */
/* Topic 7.5 Explore (Big K, small K): the equation bar over the picture and the bar-chart labels. Lead: merge into ced-topic-pages.css. */
.c75x-eq { display: grid; gap: 2px; padding: 10px 14px; border: 1px solid var(--h-line); border-radius: 12px; background: var(--h-panel-2); }
.c75x-eqn { margin: 0; font: 600 1.06rem/1.35 var(--h-sans); color: var(--h-text); font-variant-numeric: tabular-nums; }
.c75x-sub { margin: 0; font-size: .84rem; line-height: 1.4; color: var(--h-muted); }
.sl .c75x-val { fill: var(--h-muted); font: 12.5px var(--h-sans); }
.sl .c75x-bt { fill: var(--h-gold-1); font: 600 13px var(--h-sans); }
@media (max-width: 760px) {
  .c75x-eq { padding: 8px 10px; } .c75x-eqn { font-size: .98rem; }
  .sl .c75x-val { font-size: 15px; } .sl .c75x-bt { font-size: 17px; }
}

/* ---------- Topic 7.8 Explore (ced-topic78-explore.js) ---------- */
/* Topic 7.8 Explore ("Count the particles"): the equation bar, chart texts and the pick-the-box grid (lead: merge into ced-topic-pages.css) */
.c78x-eq { display: grid; gap: 2px; padding: 10px 14px; border: 1px solid var(--h-line); border-radius: 12px; background: var(--h-panel-2); }
.c78x-eqn { margin: 0; font: 600 1.06rem/1.35 var(--h-sans); color: var(--h-text); font-variant-numeric: tabular-nums; }
.c78x-sub { margin: 0; font-size: .84rem; line-height: 1.4; color: var(--h-muted); }
.sl .c78x-val { fill: var(--h-muted); font: 12.5px var(--h-sans); }
.sl .c78x-bt { fill: var(--h-gold-1); font: 600 13px var(--h-sans); }
.c78x-pgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 10px 0; }
.c78x-pbox { display: grid; gap: 4px; justify-items: center; padding: 6px; min-height: 44px; border: 1.5px solid var(--h-line-2, rgba(255,255,255,.2)); border-radius: 12px; background: var(--h-panel-2); color: var(--h-text); cursor: pointer; font: inherit; }
.c78x-pbox:hover:not(:disabled) { border-color: var(--h-gold-1); }
.c78x-pbox:focus-visible { outline: 2px solid var(--h-gold-1); outline-offset: 2px; }
.c78x-pbox.is-right { border-color: #5ccf8a; box-shadow: 0 0 0 2px rgba(92,207,138,.35); }
.c78x-pbox.is-wrong { border-color: #e0705e; }
.c78x-pbox:disabled { cursor: default; opacity: 1; }
.c78x-plab { font-size: .86rem; color: var(--h-muted); }
@media (max-width: 760px) {
  .c78x-eq { padding: 8px 10px; } .c78x-eqn { font-size: .98rem; }
  .sl .c78x-val { font-size: 15px; } .sl .c78x-bt { font-size: 17px; }
  .c78x-pgrid { gap: 6px; } .c78x-pbox { padding: 4px; }
}

/* ---------- Topic 7.10 Explore (ced-topic710-explore.js) ---------- */
/* Topic 7.10 Explore (ced-topic710-explore.js): the equation bar over the picture, chart text, the K-expression tiles and
   the Q card. Everything else uses sim-lab.css, explore-lab.css and explore-u3.css classes. */
.c710x-eq { display: grid; gap: 2px; padding: 10px 14px; border: 1px solid var(--h-line); border-radius: 12px; background: var(--h-panel-2); }
.c710x-eqn { margin: 0; font: 600 1.06rem/1.35 var(--h-sans); color: var(--h-text); font-variant-numeric: tabular-nums; }
.c710x-sub { margin: 0; font-size: .84rem; line-height: 1.4; color: var(--h-muted); }
.c710x-q { margin: 2px 0 0; font: 600 .92rem/1.4 var(--h-sans); color: var(--h-gold-1); }
.sl .c710x-val { fill: var(--h-muted); font: 12.5px var(--h-sans); }
.sl .c710x-bt { fill: var(--h-gold-1); font: 600 13px var(--h-sans); }
.sl .c710x-reg { fill: var(--h-muted); font: 12px var(--h-sans); opacity: .85; }
/* the K-expression tiles */
.c710x-tray { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px; border: 1.5px dashed var(--h-line-2, rgba(255,255,255,.2)); border-radius: 14px; }
.c710x-frac { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; padding: 10px; border: 1px solid var(--h-line, rgba(255,255,255,.12)); border-radius: 14px; }
.c710x-lhs { font-size: 1.05rem; }
.c710x-fr { display: grid; gap: 6px; flex: 1 1 200px; min-width: 0; }
.c710x-top, .c710x-bot { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; min-height: 44px; }
.c710x-bar { height: 2px; border-radius: 1px; background: var(--h-text-2); }
.c710x-term { display: inline-flex; align-items: center; gap: 2px; border: 1px solid var(--h-line-2, rgba(255,255,255,.2)); border-radius: 12px; padding: 2px 4px; }
.c710x-pow { color: var(--h-gold-1, #F2BF5E); font-weight: 700; margin-left: 1px; }
.c710x-small { min-height: 40px !important; min-width: 40px; padding: 0 !important; }
.c710x-empty { color: var(--h-muted); font-size: .88rem; opacity: .75; }
/* the Q card's table of values */
.c710x-tab { width: 100%; border-collapse: collapse; margin: 6px 0 4px; font-size: .9rem; font-variant-numeric: tabular-nums; }
.c710x-tab th, .c710x-tab td { padding: 6px 8px; border-bottom: 1px solid var(--h-line); text-align: left; vertical-align: top; }
.c710x-tab thead th { color: var(--h-muted); font-weight: 600; font-size: .82rem; }
.c710x-tab tbody th, .c710x-tab td { font-weight: 600; white-space: nowrap; }
.c710x-tab td { font-weight: 400; }
@media (max-width: 760px) {
  .c710x-eq { padding: 8px 10px; } .c710x-eqn { font-size: .98rem; }
  .sl .c710x-val { font-size: 15px; } .sl .c710x-bt { font-size: 17px; } .sl .c710x-reg { font-size: 16px; }
  .c710x-tab th, .c710x-tab td { padding: 6px 5px; }
}
.c710x-qcard .xl-link, .c710x-claim .xl-link { min-height: 44px; }

/* ---------- Topic 7.11 Explore (ced-topic711-explore.js) ---------- */
/* Topic 7.11 Explore ("Saturate it"): the equation bar, chart text, the data table (merge into ced-topic-pages.css) */
.c711x-eq { display: grid; gap: 2px; padding: 10px 14px; border: 1px solid var(--h-line); border-radius: 12px; background: var(--h-panel-2); }
.c711x-eqn { margin: 0; font: 600 1.06rem/1.35 var(--h-sans); color: var(--h-text); font-variant-numeric: tabular-nums; }
.c711x-sub { margin: 0; font-size: .84rem; line-height: 1.4; color: var(--h-muted); }
.sl .c711x-val { fill: var(--h-muted); font: 12.5px var(--h-sans); }
.sl .c711x-bt { fill: var(--h-gold-1); font: 600 13px var(--h-sans); }
.c711x-table { width: 100%; border-collapse: collapse; font-size: .78rem; font-variant-numeric: tabular-nums; margin: 4px 0 8px; }
.c711x-table th, .c711x-table td { padding: 4px 4px; border-bottom: 1px solid var(--h-line); text-align: right; white-space: nowrap; }
.c711x-table th:first-child, .c711x-table thead th:first-child { text-align: left; }
.c711x-table thead th { color: var(--h-muted); font-weight: 600; }
@media (max-width: 760px) {
  .c711x-eq { padding: 8px 10px; } .c711x-eqn { font-size: .98rem; }
  .sl .c711x-val { font-size: 15px; } .sl .c711x-bt { font-size: 17px; }
}

/* ---------- Topic 7.12 Explore (ced-topic712-explore.js) ---------- */
/* Topic 7.12 Explore (the common-ion bench): the equation bar over the picture and the SVG value labels in the charts.
   Same look as 7.9's c79x rules; merge into ced-topic-pages.css. */
.c712x-eq { display: grid; gap: 2px; padding: 10px 14px; border: 1px solid var(--h-line); border-radius: 12px; background: var(--h-panel-2); }
.c712x-eqn { margin: 0; font: 600 1.06rem/1.35 var(--h-sans); color: var(--h-text); font-variant-numeric: tabular-nums; }
.c712x-sub { margin: 0; font-size: .84rem; line-height: 1.4; color: var(--h-muted); }
.sl .c712x-val { fill: var(--h-muted); font: 12.5px var(--h-sans); }
.c712x-table th, .c712x-table td { padding: 4px 6px; border-bottom: 1px solid var(--h-line); text-align: right; }
@media (max-width: 760px) {
  .c712x-eq { padding: 8px 10px; } .c712x-eqn { font-size: .98rem; }
  .sl .c712x-val { font-size: 15px; }
}

/* ---------- Topic 8.1 Learn (ced-topic81-learn.js) ---------- */
.c81-lesson [hidden]{display:none!important}
.c81-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c81-lesson .pes16-photo img,.c81-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
/* figures */
.c81-lesson .c81-svg{display:block;width:100%;height:auto;margin:0 auto}
.c81-lesson .c81-wat{min-width:460px;max-width:600px}
.c81-lesson .c81-scale{min-width:540px;max-width:740px}
.c81-lesson .c81-bars3{min-width:500px;max-width:680px}
.c81-lesson .c81-relsvg{min-width:440px;max-width:600px}
.c81-lesson .c81-nT{min-width:500px;max-width:680px}
.c81-lesson .c81-xsvg{min-width:500px;max-width:680px}
.c81-lesson .c81-meterfig{width:220px;max-width:100%;margin:0}
.c81-zoomfig{text-align:center}
.c81-pbox{display:block;width:100%;max-width:380px;height:auto;margin:0 auto}
.c81-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c81-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c81-legt{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif}
.c81-ring{fill:rgba(230,213,138,.08);stroke:var(--gold-light);stroke-width:2}
.c81-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c81-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c81-tick{fill:var(--text-secondary);font:13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c81-axl{fill:var(--text-secondary);font:600 13.5px 'Inter',system-ui,sans-serif}
.c81-ptitle{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.c81-small{fill:var(--text-secondary);font:13px 'Inter',system-ui,sans-serif}
.c81-ev{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c81-rowh{fill:var(--gold-light);font:700 13px 'Inter',system-ui,sans-serif}
.c81-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c81-lead{stroke:rgba(220,230,240,.45);stroke-width:1.2;stroke-dasharray:3 3}
.c81-gtitle{fill:var(--text-primary);font:700 14.5px 'Inter',system-ui,sans-serif}
.c81-bar{stroke:rgba(0,0,0,.35);stroke-width:1}
.c81-bv{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c81-blab{font:700 14px 'Inter',system-ui,sans-serif}
.c81-nline{stroke:#E6D58A;stroke-width:1.8;stroke-dasharray:6 4}
.c81-nlab{fill:#E6D58A;font:700 13px 'Inter',system-ui,sans-serif}
.c81-nmark{stroke:#E6D58A;stroke-width:3}
/* the water figure */
.c81-plus{fill:var(--text-secondary);font:700 22px 'Inter',system-ui,sans-serif}
.c81-eqarrow{fill:var(--text-primary);font:700 26px 'Inter',system-ui,sans-serif}
.c81-form{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif}
.c81-role{font:600 12.5px 'Inter',system-ui,sans-serif}
.c81-role.is-acid{fill:#F5A398}.c81-role.is-base{fill:#9CC8F2}.c81-role.is-h{fill:#F5A398}.c81-role.is-oh{fill:#9CC8F2}
.c81-hop{fill:none;stroke:var(--gold-light);stroke-width:2}
.c81-hop-h{fill:var(--gold-light)}
/* the relationship square */
.c81-rbox{stroke-width:2}.c81-rbox.is-h{fill:rgba(242,139,126,.12);stroke:#F28B7E}.c81-rbox.is-oh{fill:rgba(127,178,240,.12);stroke:#7FB2F0}
.c81-rtext{fill:var(--text-primary);font:700 19px 'Inter',system-ui,sans-serif}
.c81-rel{fill:var(--text-primary);font:700 13.5px 'Inter',system-ui,sans-serif}
.c81-arr{stroke:rgba(220,230,240,.75);stroke-width:2}
.c81-arr-h{fill:rgba(220,230,240,.75)}
/* neutral pH against temperature */
.c81-zone{stroke:none}.c81-zone.is-acid{fill:rgba(242,139,126,.08)}.c81-zone.is-base{fill:rgba(127,178,240,.08)}
.c81-zlab{font:600 13px 'Inter',system-ui,sans-serif}.c81-zlab.is-acid{fill:#F5A398}.c81-zlab.is-base{fill:#9CC8F2}
.c81-seven{stroke:rgba(220,230,240,.55);stroke-width:1.3;stroke-dasharray:5 4}
.c81-ncurve{fill:none;stroke:#E6D58A;stroke-width:3;stroke-linejoin:round}
.c81-npt{fill:#E6D58A;stroke:#15120F;stroke-width:1.4}.c81-npt.is-hi{fill:#FFE38A;stroke:#FFF3C4;stroke-width:2}
.c81-nval{fill:#E6D58A;font:700 13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c81-hiline{stroke:rgba(255,227,138,.6);stroke-width:1.4;stroke-dasharray:3 4}
.c81-spt{stroke:#15120F;stroke-width:1.4}.c81-spt.is-acidic{fill:#F28B7E}.c81-spt.is-basic{fill:#7FB2F0}.c81-spt.is-neutral{fill:#E6D58A}
.c81-sdia.is-acidic{fill:#F28B7E}.c81-sdia.is-basic{fill:#7FB2F0}.c81-sdia.is-neutral{fill:#E6D58A}
/* explorer pH + pOH bar */
.c81-seg-h{fill:#F28B7E;stroke:rgba(0,0,0,.35)}
.c81-seg-oh{fill:#7FB2F0;stroke:rgba(0,0,0,.35)}
.c81-pl{font:700 13.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c81-pl.is-h{fill:#F5A398}.c81-pl.is-oh{fill:#9CC8F2}.c81-pl.is-n{fill:#E6D58A}
.c81-ghost{stroke:rgba(220,230,240,.6);stroke-width:1.4;stroke-dasharray:4 4}
/* pH meter */
.c81-meter{fill:#2A2622;stroke:rgba(220,230,240,.5);stroke-width:2}
.c81-lcd{fill:#A9BFA0;stroke:#15120F;stroke-width:1.5}
.c81-lcdt{fill:#1B2418;font:700 34px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c81-lcds{fill:#1B2418;font:700 13px 'Inter',system-ui,sans-serif}
.c81-stim{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0}
.c81-stim .c81-tablewrap{margin:0;flex:0 1 auto}
/* text blocks */
.c81-rules{margin:10px 0 14px;padding-left:24px}.c81-rules li{margin-bottom:6px;line-height:1.6}
.c81-rule{padding:12px 14px;border:1px solid var(--v2-border);border-left:4px solid var(--gold);border-radius:10px;background:var(--v2-surface);margin:14px 0}
.c81-rule h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}
.c81-rule p{margin:0 0 8px;line-height:1.65}.c81-rule p:last-child{margin-bottom:0}
.c81-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;margin:14px 0}
.c81-card{border:1px solid var(--v2-border);border-left:4px solid var(--gold);border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c81-card h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c81-card p{margin:0;color:var(--text-secondary)}
.c81-card.is-acid{border-left-color:#F28B7E}.c81-card.is-base{border-left-color:#7FB2F0}.c81-card.is-neutral{border-left-color:#E6D58A}
html body .c81-lesson .c81-card.is-acid h3{color:#F5A398}html body .c81-lesson .c81-card.is-base h3{color:#9CC8F2}html body .c81-lesson .c81-card.is-neutral h3{color:#E6D58A}
.c81-src{margin:-6px 0 12px;font-size:.88rem;color:var(--text-secondary)}
/* tables (override the house minimum width) */
.c81-tablewrap{margin:12px 0 14px}
.c81-lesson table.c81-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c81-lesson table.c81-kwmini{width:auto}
.c81-table th,.c81-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:center;vertical-align:middle}
.c81-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c81-table tbody th{color:var(--gold-light);font-weight:650}
.c81-table td{white-space:nowrap}
.c81-table .c81-hirow td,.c81-table .c81-hirow th{background:rgba(110,200,140,.08)}
/* review */
.c81-choices{margin:6px 0 12px;padding-left:28px}.c81-choices li{margin-bottom:5px;line-height:1.55}
.c81-parts{margin:6px 0 10px;padding-left:28px}.c81-parts li{margin-bottom:6px;line-height:1.55}
.c81-fr details p{margin:0 0 8px}.c81-fr details p:last-child{margin-bottom:0}
.c81-inv{margin:14px 0;padding-left:26px}.c81-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c81-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c81-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c81-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c81-note{margin:-4px 0 10px;color:var(--text-secondary);font-size:.92rem}
.c81-lesson #c81-explorer .pes16-controls label{flex:1 1 240px}
.c81-lesson #c81-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c81-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c81-xfig{margin:0 0 10px}
.c81-row{display:block;margin-bottom:5px}
.c81-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c81-key.is-neutral{background:rgba(230,213,138,.1);border:1px solid #E6D58A}
.c81-key.is-acidic{background:rgba(242,139,126,.1);border:1px solid #F28B7E}
.c81-key.is-basic{background:rgba(127,178,240,.1);border:1px solid #7FB2F0}
@media(max-width:600px){
  .c81-seg .ced-topic-button{flex:1 1 auto}
  .c81-rule{padding:10px}
  .c81-choices,.c81-parts{padding-left:24px}
  .c81-table th,.c81-table td{padding:7px 4px}.c81-lesson table.c81-table{font-size:.9rem}
  .c81-pbox .c81-legt{font-size:15px}.c81-pbox .c81-boxt{font-size:16px}
  .c81-lesson #c81-explorer .pes16-controls label{flex-basis:100%}
}

/* ---------- Topic 8.2 Learn (ced-topic82-learn.js) ---------- */
.c82-lesson [hidden]{display:none!important}
/* figures */
.c82-lesson .c82-svg{display:block;width:100%;height:auto;margin:0 auto}
.c82-lesson .c82-ladder{min-width:540px;max-width:720px}
.c82-lesson .c82-strip{min-width:480px;max-width:680px}
.c82-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px}
.c82-quad{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px}
.c82-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c82-solo{max-width:400px;margin:10px auto;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c82-pbox{display:block;width:100%;max-width:380px;height:auto;margin:0 auto}
.c82-box{fill:rgba(111,178,230,.06);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c82-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c82-legt{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c82-q{font-weight:700}
.c82-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c82-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c82-tick{fill:var(--text-secondary);font:13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c82-tick2{fill:var(--text-secondary);font:12.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c82-axl{fill:var(--text-secondary);font:600 13.5px 'Inter',system-ui,sans-serif}
.c82-small{fill:var(--text-secondary);font:13px 'Inter',system-ui,sans-serif}
.c82-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c82-acidzone{fill:rgba(217,87,63,.06)}.c82-basezone{fill:rgba(78,127,214,.07)}
.c82-seven{stroke:rgba(230,213,138,.7);stroke-width:1.5;stroke-dasharray:6 5}
.c82-line{fill:none;stroke-width:3;stroke-linejoin:round}.c82-line.is-acid{stroke:#F28B7E}.c82-line.is-base{stroke:#7FB2F0}
.c82-dot{stroke:#171717;stroke-width:1.4}.c82-dot.is-acid{fill:#F28B7E}.c82-dot.is-base{fill:#7FB2F0}
.c82-pv{font:700 13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}.c82-pv.is-acid{fill:#F5A398}.c82-pv.is-base{fill:#9CC8F2}
.c82-cl{font:700 13.5px 'Inter',system-ui,sans-serif}.c82-cl.is-acid{fill:#F5A398}.c82-cl.is-base{fill:#9CC8F2}
.c82-mark{fill:var(--gold-light);stroke:#171717;stroke-width:1.2}
.c82-markl{stroke:var(--gold-light);stroke-width:2.4}
/* text blocks */
.c82-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin:14px 0}
.c82-card{border:1px solid var(--v2-border);border-left:4px solid var(--gold);border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c82-card h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c82-card p{margin:0;color:var(--text-secondary)}
.c82-card.is-str,.c82-card.is-g1{border-left-color:#F28B7E}.c82-card.is-conc,.c82-card.is-g2{border-left-color:#7FB2F0}
html body .c82-lesson .c82-card.is-str h3,html body .c82-lesson .c82-card.is-g1 h3{color:#F5A398}
html body .c82-lesson .c82-card.is-conc h3,html body .c82-lesson .c82-card.is-g2 h3{color:#9CC8F2}
.c82-callout{margin:16px 0;padding:12px 14px;border:1px solid var(--v2-border);border-left:4px solid var(--gold);border-radius:12px;background:var(--v2-surface)}
.c82-callout h3{margin:0 0 8px;font-size:1.05rem;color:var(--gold-light)}
.c82-callout p{margin:8px 0 0}
.c82-aside{padding:10px 14px;border:1px dashed rgba(230,213,138,.5);border-radius:10px;background:rgba(205,163,73,.05)}
/* tables (override the house minimum width) */
.c82-tablewrap{margin:12px 0 14px}
.c82-lesson table.c82-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c82-table th,.c82-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:center;vertical-align:middle}
.c82-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c82-table tbody th{color:var(--gold-light);font-weight:650;text-align:left;white-space:nowrap}
.c82-table caption{caption-side:top;text-align:left;font-weight:700;color:var(--text-primary);padding:2px 2px 8px}
.c82-xspec{padding:10px}
.c82-ph{margin:10px 0 0;font-weight:700;color:var(--gold-light);text-align:center;font-variant-numeric:tabular-nums}
/* review */
.c82-choices{margin:6px 0 12px;padding-left:28px}.c82-choices li{margin-bottom:5px;line-height:1.55}
.c82-mc .pes16-scroll{margin:10px 0}
.c82-parts{margin:6px 0 10px;padding-left:28px}.c82-parts li{margin-bottom:6px;line-height:1.55}
.c82-fr details p{margin:0 0 8px}.c82-fr details p:last-child{margin-bottom:0}
.c82-inv{margin:14px 0;padding-left:26px}.c82-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c82-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c82-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c82-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c82-seg .ced-topic-button:disabled{opacity:.45;cursor:not-allowed}
.c82-seglab{font-weight:650;color:var(--text-secondary);margin-right:2px;min-width:7.5em}
.c82-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light)}
.c82-note{margin:0 0 10px;color:var(--text-secondary)}
.c82-lesson #c82-explorer .pes16-controls label{flex:1 1 240px}
.c82-lesson #c82-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c82-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c82-xduo{margin-bottom:10px}
.c82-xfig{margin:0 0 10px}
.c82-row{display:block;margin-bottom:5px}
.c82-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c82-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c82-key.is-note{background:rgba(205,163,73,.08);border:1px solid rgba(205,163,73,.55)}
.c82-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c82-lesson .pes16-photo img,.c82-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:600px){
  .c82-seg .ced-topic-button{flex:1 1 auto}
  .c82-seglab{flex:1 1 100%}
  .c82-xeq,.c82-callout{padding:10px}
  .c82-choices,.c82-parts{padding-left:24px}
  .c82-table th,.c82-table td{padding:7px 4px}.c82-lesson table.c82-table{font-size:.9rem}
  .c82-pbox .c82-legt{font-size:15px}.c82-pbox .c82-boxt{font-size:16px}
}

/* ---------- Topic 8.3 Learn (ced-topic83-learn.js) ---------- */
.c83-lesson [hidden]{display:none!important}
/* figures */
.c83-lesson .c83-svg{display:block;width:100%;height:auto;margin:0 auto}
.c83-lesson .c83-chart{max-width:520px}
.c83-figwrap{max-width:560px;margin:0 auto}
.c83-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:10px}
.c83-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c83-pbox{display:block;width:100%;max-width:400px;height:auto;margin:0 auto}
.c83-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c83-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c83-legt{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c83-chg{fill:#fff;font:700 13px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:#15120F;stroke-width:3px;stroke-linejoin:round}
.c83-boxnote{margin:4px 8px 6px;color:var(--text-secondary);font-size:.92rem;line-height:1.5}
.c83-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c83-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c83-axisl{stroke:rgba(220,230,240,.7);stroke-width:1.4}
.c83-tk2{stroke:rgba(220,230,240,.45);stroke-width:1}
.c83-tick{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c83-axl{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif}
.c83-ptitle{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c83-small{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif}
.c83-ml{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c83-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c83-curve{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.c83-curve.is-pct{stroke:#7FB2F0}.c83-curve.is-ph{stroke:#F2B07E}
.c83-dot{fill:#7FB2F0;stroke:#171717;stroke-width:1.4}.c83-dot.is-ph{fill:#F2B07E}
.c83-five{stroke:var(--gold);stroke-width:1.6;stroke-dasharray:6 5}
/* stacked fractions */
.c83-frac{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;margin:0 .15em;line-height:1.3}
.c83-frac>.c83-num{border-bottom:1.5px solid currentColor;padding:0 .25em .1em}
.c83-frac>.c83-den{padding:.1em .25em 0}
.c83-eqn{line-height:2.1}
.c83-h3{margin:22px 0 8px;font-size:1.08rem;color:var(--gold-light)}
/* text blocks */
.c83-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c83-work p{margin:0 0 10px;line-height:1.7}.c83-work p:last-child{margin-bottom:0}
.c83-work .c83-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700}
/* tables (override the house minimum width) */
.c83-tablewrap{margin:12px 0 14px}
.c83-lesson table.c83-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c83-table th,.c83-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:center;vertical-align:middle}
.c83-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c83-table tbody th{color:var(--gold-light);font-weight:650;text-align:left}
.c83-table td{white-space:nowrap}
.c83-table .c83-num-row td,.c83-table .c83-num-row th{background:rgba(110,200,140,.08)}
.c83-table .c83-num-row td{color:var(--text-primary);font-weight:700}
/* a pH meter reading (review stimulus) */
.c83-meter{display:inline-flex;align-items:baseline;gap:10px;margin:8px 0 10px;padding:8px 16px;border:2px solid var(--v2-border);border-radius:10px;background:#0E1A14}
.c83-meter-lab{color:var(--text-secondary);font-weight:700}
.c83-meter-val{color:#8FE3A8;font:700 1.6rem 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em}
/* review */
.c83-choices{margin:6px 0 12px;padding-left:28px}.c83-choices li{margin-bottom:5px;line-height:1.55}
.c83-mc .pes16-scroll,.c83-mc .pes16-figure{margin:10px 0}
.c83-parts{margin:6px 0 10px;padding-left:28px}.c83-parts li{margin-bottom:6px;line-height:1.55}
.c83-fr details p{margin:0 0 8px}.c83-fr details p:last-child{margin-bottom:0}
.c83-inv{margin:14px 0;padding-left:26px}.c83-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c83-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c83-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c83-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c83-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light)}
.c83-note{margin:-4px 0 10px;color:var(--text-secondary);font-size:.95rem}
.c83-lesson #c83-explorer .pes16-controls label{flex:1 1 240px}
.c83-lesson #c83-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c83-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c83-lesson #c83-explorer .c83-duo{margin:0 0 10px}
.c83-row{display:block;margin-bottom:5px}
.c83-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c83-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c83-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c83-key.is-pct{background:rgba(127,178,240,.1);border:1px solid rgba(127,178,240,.6)}
.c83-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c83-lesson .pes16-photo img,.c83-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:600px){
  .c83-seg .ced-topic-button{flex:1 1 auto}
  .c83-work,.c83-xeq{padding:10px}
  .c83-choices,.c83-parts{padding-left:24px}
  .c83-table th,.c83-table td{padding:7px 4px}.c83-lesson table.c83-table{font-size:.9rem}
  .c83-pbox .c83-legt{font-size:15px}.c83-pbox .c83-boxt{font-size:16px}.c83-pbox .c83-chg{font-size:14px}
  .c83-chart .c83-tick,.c83-chart .c83-axl,.c83-chart .c83-small,.c83-chart .c83-ml{font-size:15px}
  .c83-cell{padding:4px 2px}
}

/* ---------- Topic 8.5 Learn (ced-topic85-learn.js) ---------- */
.c85-lesson [hidden]{display:none!important}
/* titration-curve figures */
.c85-lesson .c85-svg{display:block;width:100%;height:auto;margin:0 auto}
.c85-lesson .c85-fig{min-width:320px;max-width:600px}
.c85-grid{stroke:rgba(255,255,255,.09);stroke-width:1}
.c85-grid.is-minor{stroke:rgba(255,255,255,.045)}
.c85-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c85-tick{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c85-axl{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif}
.c85-curve{fill:none;stroke:#7FD0F0;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.c85-curve.is-cmp{stroke:#C9B9A6;stroke-width:2.2;stroke-dasharray:7 5;opacity:.85}
.c85-buf{fill:rgba(110,200,140,.11)}
.c85-buflab{fill:#8FD8A6;font:600 14.5px 'Inter',system-ui,sans-serif}
.c85-band{stroke:none}
.c85-bandlab{fill:var(--text-primary);font:600 13.5px 'Inter',system-ui,sans-serif}
.c85-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c85-mk{stroke:#15120F;stroke-width:1.6}
.c85-mk.is-half{fill:#7FB2F0}
.c85-mk.is-eq{fill:#E6C35C}
.c85-mk.is-end{fill:#F07AB4}
.c85-mk.is-tag{fill:#E6E0D2}
.c85-pt{fill:#7FD0F0;stroke:#15120F;stroke-width:1.2}
.c85-mlab{font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c85-mlab.is-half{fill:#9CC8F2}
.c85-mlab.is-eq{fill:#F0D27A}
.c85-mlab.is-end{fill:#F5A3CB}
.c85-mlab.is-tag{fill:var(--text-primary)}
.c85-lead{stroke:rgba(220,230,240,.55);stroke-width:1.2;stroke-dasharray:3 3}
.c85-cur{stroke:rgba(240,240,240,.55);stroke-width:1.4;stroke-dasharray:4 4}
.c85-curdot{fill:#fff;stroke:#15120F;stroke-width:2}
/* side-by-side figure and table */
.c85-figrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start}
.c85-figrow .pes16-figure{margin-top:0}
.c85-side .c85-tablewrap{margin-top:0}
/* particle boxes */
.c85-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}
.c85-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c85-solo{max-width:340px;margin:10px auto;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c85-pbox{display:block;width:100%;max-width:360px;height:auto;margin:0 auto}
.c85-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c85-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c85-legt{fill:var(--text-primary);font:600 15px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c85-legnote{fill:var(--text-secondary);font:13.5px 'Inter',system-ui,sans-serif}
.c85-chg{fill:#fff;font:700 16px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:#15120F;stroke-width:3px}
/* text blocks */
.c85-work,.c85-recipe{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c85-work p{margin:0 0 10px;line-height:1.7}.c85-work p:last-child{margin-bottom:0}
.c85-work .c85-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700}
.c85-recipe{padding-left:36px}.c85-recipe ol{margin:0;padding:0}.c85-recipe li{margin-bottom:6px;line-height:1.55}.c85-recipe li:last-child{margin-bottom:0}
.c85-rules{margin:10px 0 14px;padding-left:24px}.c85-rules li{margin-bottom:6px;line-height:1.6}
.c85-eqn{line-height:2}
.c85-small,.c85-note{color:var(--text-secondary)}
.c85-note{margin:10px 0;padding:10px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c85-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin:14px 0}
.c85-card{border:1px solid var(--v2-border);border-left:4px solid #C9B9A6;border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c85-card h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c85-card p{margin:0;color:var(--text-secondary)}
.c85-card.is-buf{border-left-color:#6EC88C}.c85-card.is-half{border-left-color:#7FB2F0}.c85-card.is-eq{border-left-color:#E6C35C}
html body .c85-lesson .c85-card.is-buf h3{color:#8FD8A6}html body .c85-lesson .c85-card.is-half h3{color:#9CC8F2}html body .c85-lesson .c85-card.is-eq h3{color:#F0D27A}
/* tables (override the house minimum width) */
.c85-tablewrap{margin:12px 0 14px}
.c85-lesson table.c85-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c85-table th,.c85-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c85-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c85-table tbody th{color:var(--gold-light);font-weight:650}
.c85-lesson table.c85-pts td,.c85-lesson table.c85-pts th{text-align:center;white-space:nowrap}
.c85-lesson table.c85-cmp-t{min-width:560px}
.c85-lesson table.c85-ind-t{min-width:440px}
/* review */
.c85-choices{margin:6px 0 12px;padding-left:28px}.c85-choices li{margin-bottom:5px;line-height:1.55}
.c85-mc .pes16-scroll,.c85-mc .pes16-figure{margin:10px 0}
.c85-parts{margin:6px 0 10px;padding-left:28px}.c85-parts li{margin-bottom:6px;line-height:1.55}
.c85-fr details p{margin:0 0 8px}.c85-fr details p:last-child{margin-bottom:0}
.c85-inv{margin:14px 0;padding-left:26px}.c85-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c85-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c85-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c85-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c85-seglab{font-weight:650;color:var(--text-secondary);margin-right:2px}
.c85-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c85-lesson #c85-explorer .pes16-controls label{flex:1 1 240px}
.c85-lesson #c85-explorer .pes16-controls label.c85-indsel{flex:0 1 220px}
.c85-lesson #c85-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c85-lesson #c85-explorer select{font-size:16px;min-height:44px}
.c85-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c85-xgrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px;align-items:start}
.c85-xside{min-width:0}
.c85-xside .pes16-readout{margin-top:10px}
.c85-xbox{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c85-xbox .c85-note{margin:4px;border:0;background:none}
.c85-row{display:block;margin-bottom:5px}
.c85-aside{font-weight:400;color:var(--text-secondary)}
.c85-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c85-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c85-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c85-indrow{display:flex;gap:10px;align-items:center;margin-top:10px;padding:8px 10px;border:1px solid var(--v2-border);border-radius:8px;background:var(--v2-surface)}
.c85-flask{flex:0 0 auto;width:52px;height:auto}
.c85-flaskglass{fill:none;stroke:rgba(230,236,242,.8);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.c85-flaskliq{stroke:none}
.c85-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c85-lesson .pes16-photo img,.c85-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:900px){
  .c85-xgrid{grid-template-columns:minmax(0,1fr)}
  .c85-figrow{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .c85-seg .ced-topic-button{flex:1 1 auto}
  .c85-work,.c85-xeq{padding:10px}.c85-recipe{padding:10px 10px 10px 30px}
  .c85-choices,.c85-parts{padding-left:24px}
  .c85-table th,.c85-table td{padding:7px 5px}.c85-lesson table.c85-table{font-size:.9rem}
  .c85-pbox .c85-legt{font-size:16px}.c85-pbox .c85-boxt{font-size:16px}
}

/* ---------- Topic 8.8 Learn (ced-topic88-learn.js) ---------- */
.c88-lesson [hidden]{display:none!important}
/* particle boxes */
.c88-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:10px}
.c88-single{max-width:420px;margin:0 auto}
.c88-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c88-pbox{display:block;width:100%;max-width:400px;height:auto;margin:0 auto}
.c88-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c88-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c88-boxs{fill:var(--text-secondary);font:13px 'Inter',system-ui,sans-serif}
.c88-legt{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c88-legn{fill:var(--text-secondary);font:13px 'Inter',system-ui,sans-serif}
.c88-chg{fill:#fff;font:700 13px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:#15120F;stroke-width:3px;stroke-linejoin:round}
.c88-bgw{opacity:.32}
.c88-ring{fill:none;stroke:var(--gold);stroke-width:2;stroke-dasharray:4 3}
.c88-stim{margin:10px 0}
/* equations, cards and the labeled ratio */
.c88-eqs span{display:block;margin:2px 0}
.c88-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px;margin:14px 0}
.c88-card{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:12px 14px}
.c88-card h3{margin:0 0 6px;font-size:1.05rem;color:var(--gold-light)}
.c88-card p{margin:0;line-height:1.6}
.c88-ratio{margin:12px 0;padding:10px 14px;border:1px dashed rgba(127,178,240,.7);border-radius:10px;background:rgba(127,178,240,.06)}
.c88-ratio p{margin:0;line-height:1.6}
.c88-ratio .c88-ratio-t{margin-bottom:4px;color:#9CC4F5;font-weight:700}
/* tables (override the house minimum width) */
.c88-tablewrap{margin:12px 0 14px}
.c88-lesson table.c88-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c88-table th,.c88-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:center;vertical-align:middle}
.c88-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c88-table tbody th{color:var(--gold-light);font-weight:650;text-align:left}
.c88-table td{white-space:nowrap}
.c88-table.c88-wrap td,.c88-table.c88-eqtab td{white-space:normal;min-width:7em}
.c88-table.c88-eqtab td:nth-child(2){min-width:14em;text-align:left}
.c88-lesson table.c88-eqtab{min-width:560px}
/* review */
.c88-choices{margin:6px 0 12px;padding-left:28px}.c88-choices li{margin-bottom:5px;line-height:1.55}
.c88-mc .pes16-scroll,.c88-mc .pes16-figure{margin:10px 0}
.c88-parts{margin:6px 0 10px;padding-left:28px}.c88-parts li{margin-bottom:6px;line-height:1.55}
.c88-fr details p{margin:0 0 8px}.c88-fr details p:last-child{margin-bottom:0}
.c88-inv{margin:14px 0;padding-left:26px}.c88-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c88-seg,.c88-btnrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c88-seg .ced-topic-button,.c88-btnrow .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c88-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c88-btnrow .c88-add.is-h{border-color:#F28B7E}
.c88-btnrow .c88-add.is-oh{border-color:#7FB2F0}
.c88-btnrow .ced-topic-button:disabled{opacity:.45;cursor:not-allowed}
.c88-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c88-xeq span{display:block}
.c88-lesson #c88-explorer .c88-duo{margin:0 0 10px}
.c88-row{display:block;margin-bottom:5px}
.c88-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c88-key.is-barely,.c88-key.is-none{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c88-key.is-some{background:rgba(230,213,138,.1);border:1px solid #E6D58A}
.c88-key.is-lot{background:rgba(224,122,106,.1);border:1px solid rgba(224,122,106,.75)}
.c88-ratio-line{display:block;margin-top:8px;padding:6px 10px;border:1px dashed rgba(127,178,240,.6);border-radius:8px;color:var(--text-secondary)}
.c88-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c88-lesson .pes16-photo img,.c88-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:600px){
  .c88-seg .ced-topic-button,.c88-btnrow .ced-topic-button{flex:1 1 auto}
  .c88-xeq,.c88-card{padding:10px}
  .c88-choices,.c88-parts{padding-left:24px}
  .c88-table th,.c88-table td{padding:7px 4px}.c88-lesson table.c88-table{font-size:.9rem}
  .c88-pbox .c88-legt{font-size:15px}.c88-pbox .c88-boxt{font-size:16px}
  .c88-cell{padding:4px 2px}
}

/* ---------- Topic 8.9 Learn (ced-topic89-learn.js) ---------- */
.c89-lesson [hidden]{display:none!important}
/* titration curve and explorer graph */
.c89-lesson .c89-svg{display:block;width:100%;height:auto;margin:0 auto}
.c89-lesson .c89-fig,.c89-lesson .c89-xsvg{min-width:340px;max-width:600px}
.c89-grid{stroke:rgba(255,255,255,.09);stroke-width:1}
.c89-grid.is-minor{stroke:rgba(255,255,255,.045)}
.c89-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c89-tick{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c89-axl{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif}
.c89-curve{fill:none;stroke:#7FD0F0;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.c89-buf,.c89-xband{fill:rgba(110,200,140,.11)}
.c89-buflab{fill:#8FD8A6;font:600 13.5px 'Inter',system-ui,sans-serif}
.c89-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c89-mk{stroke:#15120F;stroke-width:1.6}
.c89-mk.is-half{fill:#7FB2F0}
.c89-mk.is-eq{fill:#E6C35C}
.c89-mk.is-tag{fill:#E6E0D2}
.c89-pt{fill:#7FD0F0;stroke:#15120F;stroke-width:1.4}
.c89-mlab{font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c89-mlab.is-half{fill:#9CC8F2}
.c89-mlab.is-eq{fill:#F0D27A}
.c89-mlab.is-pt,.c89-mlab.is-tag{fill:var(--text-primary)}
.c89-lead{stroke:rgba(220,230,240,.55);stroke-width:1.2;stroke-dasharray:3 3}
.c89-line{stroke:rgba(200,190,175,.45);stroke-width:2;stroke-linecap:round}
.c89-line.is-on{stroke:#7FD0F0;stroke-width:3.4}
.c89-ll{fill:var(--text-secondary);font:600 13.5px 'Inter',system-ui,sans-serif}
.c89-ll.is-on{fill:#9FDDF5;font-weight:700}
.c89-target{stroke:#F0D27A;stroke-width:1.6;stroke-dasharray:6 5}
.c89-tlab{fill:#F0D27A;font:600 13.5px 'Inter',system-ui,sans-serif}
.c89-cur{fill:#fff;stroke:#15120F;stroke-width:2}
.c89-curlab{fill:#fff;font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
/* particle boxes */
.c89-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}
.c89-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c89-solo{max-width:340px;margin:10px auto;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c89-pbox{display:block;width:100%;max-width:360px;height:auto;margin:0 auto}
.c89-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c89-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c89-legt{fill:var(--text-primary);font:600 15px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c89-legnote{fill:var(--text-secondary);font:13.5px 'Inter',system-ui,sans-serif}
.c89-chg{fill:#fff;font:700 16px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:#15120F;stroke-width:3px}
/* text blocks */
.c89-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c89-work p{margin:0 0 10px;line-height:1.7}.c89-work p:last-child{margin-bottom:0}
.c89-work .c89-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700}
.c89-aside{margin:12px 0;padding:10px 14px;border:1px dashed var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c89-aside summary{min-height:40px;display:flex;align-items:center;cursor:pointer;font-weight:650;color:var(--gold-light)}
.c89-aside p{margin:8px 0}.c89-aside .c89-der{line-height:1.9;font-weight:650}
.c89-illus{margin:14px 0;padding:10px 14px;border:1px dashed rgba(224,180,106,.7);border-radius:10px;background:rgba(224,180,106,.05)}
.c89-illus .c89-illus-tag{margin:0 0 6px;font-weight:700;color:#F0C27A}
.c89-illus p{margin:8px 0 0}
.c89-rules{margin:10px 0 14px;padding-left:24px}.c89-rules li{margin-bottom:6px;line-height:1.6}
.c89-small{color:var(--text-secondary)}
.c89-note{margin:12px 0;padding:10px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c89-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;margin:14px 0}
.c89-card{border:1px solid var(--v2-border);border-left:4px solid #6EC88C;border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c89-card h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c89-card p{margin:0;color:var(--text-secondary)}
/* tables (override the house minimum width) */
.c89-tablewrap{margin:12px 0 14px}
.c89-lesson table.c89-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c89-table th,.c89-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c89-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c89-table tbody th{color:var(--gold-light);font-weight:650}
.c89-lesson table.c89-mid td{text-align:center}
.c89-lesson table.c89-pairs-t{min-width:480px}
.c89-lesson table.c89-illus-t{min-width:500px}
/* review */
.c89-choices{margin:6px 0 12px;padding-left:28px}.c89-choices li{margin-bottom:5px;line-height:1.55}
.c89-mc .pes16-scroll,.c89-mc .pes16-figure,.c89-fr .pes16-figure{margin:10px 0}
.c89-parts{margin:6px 0 10px;padding-left:28px}.c89-parts li{margin-bottom:6px;line-height:1.55}
.c89-fr details p{margin:0 0 8px}.c89-fr details p:last-child{margin-bottom:0}
.c89-inv{margin:14px 0;padding-left:26px}.c89-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c89-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c89-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c89-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c89-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c89-lesson #c89-explorer .pes16-controls label{flex:1 1 240px}
.c89-lesson #c89-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c89-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c89-xgrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px;align-items:start;margin-top:4px}
.c89-xside{min-width:0}
.c89-xside .pes16-readout{margin-top:10px}
.c89-xbox{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c89-row{display:block;margin-bottom:5px}
.c89-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c89-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c89-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c89-key.is-note{background:rgba(205,163,73,.08);border:1px solid rgba(205,163,73,.5)}
.c89-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c89-lesson .pes16-photo img,.c89-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:900px){
  .c89-xgrid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .c89-seg .ced-topic-button{flex:1 1 auto}
  .c89-work,.c89-xeq,.c89-aside,.c89-illus{padding:10px}
  .c89-choices,.c89-parts{padding-left:24px}
  .c89-table th,.c89-table td{padding:7px 5px}.c89-lesson table.c89-table{font-size:.9rem}
  .c89-pbox .c89-legt{font-size:16px}.c89-pbox .c89-boxt{font-size:16px}
}

/* ---------- Topic 8.6 Learn (ced-topic86-learn.js) ---------- */
.c86-lesson [hidden]{display:none!important}
/* figure cells: Lewis diagrams and potential maps */
.c86-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px;margin:0 0 8px}
.c86-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin:0 0 8px}
.c86-quad{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px;margin:0 0 8px;align-items:start}
.c86-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 6px 8px;min-width:0}
.c86-ct{margin:2px 4px 6px;color:var(--gold-light);font-weight:700;font-size:.98rem;line-height:1.4;text-align:center}
.c86-lesson .c86-lw{display:block;width:100%;max-width:340px;height:auto;margin:0 auto}
.c86-lesson .c86-epmsvg{display:block;width:100%;max-width:320px;height:auto;margin:0 auto}
.c86-hot{fill:rgba(242,191,94,.08);stroke:var(--gold);stroke-width:2.2}
.c86-hotepm{fill:none;stroke:#F2BF5E;stroke-width:2.6;stroke-dasharray:6 4}
.c86-tag{fill:#9CC3FF;font:700 17px 'Inter',system-ui,sans-serif}
.c86-al{fill:#fff;font-family:'Inter',system-ui,sans-serif;font-weight:700;paint-order:stroke;stroke:rgba(15,12,10,.75);stroke-width:3px;stroke-linejoin:round}
.c86-noart{margin:8px;color:var(--text-secondary);font-size:.95rem}
.c86-lesson .c86-legend{display:block;width:100%;max-width:400px;height:auto;margin:4px auto 2px}
.c86-small{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif}
.c86-schem{margin:0 auto 4px;max-width:400px;text-align:center;color:var(--text-secondary);font-size:.9rem;line-height:1.4}
/* resonance pair */
.c86-res{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;margin:0 0 8px}
.c86-arrow{text-align:center;font-size:2rem;color:var(--gold-light);padding:0 2px}
/* the pKa ladder */
.c86-ladwrap{margin:6px 0 10px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c86-lesson .c86-ladder{display:block;width:100%;max-width:560px;height:auto;margin:0 auto}
.c86-zone{fill:rgba(224,122,106,.18);stroke:rgba(224,122,106,.55);stroke-width:1}
.c86-axis{stroke:rgba(220,230,240,.7);stroke-width:1.6;fill:none}
.c86-tick{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c86-axl{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif}
.c86-lead{stroke:rgba(220,230,240,.35);stroke-width:1}
.c86-ldot{fill:#9AA3AE;stroke:#15120F;stroke-width:1.4}.c86-ldot.is-sel{fill:var(--gold)}
.c86-ll{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif}.c86-ll.is-sel{fill:var(--gold-light);font-weight:800}
/* tables */
.c86-tablewrap{margin:12px 0 14px}
.c86-lesson table.c86-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c86-table th,.c86-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:center;vertical-align:middle}
.c86-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c86-table tbody th{color:var(--gold-light);font-weight:650;text-align:left}
.c86-table td{white-space:nowrap}
.c86-table.c86-wide td{white-space:normal;text-align:left;min-width:7em}
/* text blocks */
.c86-cer{margin:14px 0;padding:12px 16px;border:1px solid rgba(205,163,73,.45);border-radius:10px;background:rgba(205,163,73,.06)}
.c86-cer h3{margin:0 0 6px;font-size:1.05rem;color:var(--gold-light)}
.c86-cer ol{margin:0;padding-left:24px}.c86-cer li{margin-bottom:6px;line-height:1.55}
.c86-beyond{margin:14px 0;padding:10px 14px;border:1px dashed rgba(156,195,255,.6);border-radius:10px;background:rgba(127,178,240,.06)}
.c86-beyond p{margin:0;line-height:1.6}
.c86-list{margin:8px 0 12px;padding-left:24px}.c86-list li{margin-bottom:8px;line-height:1.6}
.c86-figwrap{max-width:360px;margin:8px auto}
.c86-stim{margin:10px 0}
/* review */
.c86-choices{margin:6px 0 12px;padding-left:28px}.c86-choices li{margin-bottom:5px;line-height:1.55}
.c86-mc .pes16-scroll{margin:10px 0}
.c86-parts{margin:6px 0 10px;padding-left:28px}.c86-parts li{margin-bottom:6px;line-height:1.55}
.c86-fr details p{margin:0 0 8px}.c86-fr details p:last-child{margin-bottom:0}
.c86-inv{margin:14px 0;padding-left:26px}.c86-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c86-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c86-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c86-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c86-seglab{color:var(--text-secondary);font-weight:650}
.c86-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c86-lesson #c86-explorer .c86-xduo{margin:0 0 6px}
.c86-row{display:block;margin-bottom:6px}
.c86-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c86-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c86-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c86-key.is-mid{background:rgba(127,178,240,.1);border:1px solid rgba(127,178,240,.6)}
.c86-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c86-lesson .pes16-photo img,.c86-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:600px){
  .c86-seg .ced-topic-button{flex:1 1 auto}
  .c86-xeq,.c86-cer,.c86-beyond{padding:10px}
  .c86-choices,.c86-parts,.c86-cer ol,.c86-list{padding-left:22px}
  .c86-table th,.c86-table td{padding:7px 5px}.c86-lesson table.c86-table{font-size:.9rem}
  .c86-res{grid-template-columns:1fr}
  .c86-arrow{transform:rotate(90deg);line-height:1}
  .c86-cell{padding:4px 2px 6px}
}

/* ---------- Topic 8.11 Learn (ced-topic811-learn.js) ---------- */
.c811-lesson [hidden]{display:none!important}
/* figure grids */
.c811-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:10px}
.c811-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px}
.c811-quad{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px}
.c811-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
/* particle views */
.c811-pbox{display:block;width:100%;max-width:380px;height:auto;margin:0 auto}
.c811-box{fill:rgba(127,178,240,.07);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c811-solidband{fill:rgba(236,232,222,.16);stroke:rgba(236,232,222,.3);stroke-width:1}
.c811-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c811-legt{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif}
.c811-chg{fill:#fff;font:700 13px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:#15120F;stroke-width:3px;stroke-linejoin:round}
/* beakers */
.c811-bk,.c811-bkx{display:block;width:100%;height:auto;margin:0 auto}
.c811-bk{max-width:200px}.c811-bkx{max-width:380px}
.c811-bcell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 6px 8px;min-width:0}
.c811-bnote{margin:2px 4px 0;color:var(--text-secondary);font-size:.92rem;line-height:1.5;text-align:center}
.c811-liq{fill:rgba(150,195,235,.16)}
.c811-cloud{fill:rgba(240,238,230,.42)}
.c811-solid{fill:#EDEAE2;stroke:#A9A398;stroke-width:1}
.c811-bub{fill:rgba(255,255,255,.12);stroke:rgba(235,245,255,.85);stroke-width:1}
.c811-glass{fill:none;stroke:rgba(220,232,242,.8);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.c811-tick{stroke:rgba(220,232,242,.55);stroke-width:1.2}
.c811-cap{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.c811-q{fill:var(--gold-light);font:700 44px 'Inter',system-ui,sans-serif}
.c811-arr{stroke:var(--gold);stroke-width:2.4}.c811-arr-h{fill:var(--gold)}
/* tables */
.c811-tablewrap{margin:12px 0 14px}
.c811-lesson table.c811-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c811-table th,.c811-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:center;vertical-align:middle}
.c811-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c811-table tbody th{color:var(--gold-light);font-weight:650;text-align:left;white-space:nowrap}
/* review */
.c811-choices{margin:6px 0 12px;padding-left:28px}.c811-choices li{margin-bottom:5px;line-height:1.55}
.c811-mc .pes16-scroll,.c811-mc .pes16-figure{margin:10px 0}
.c811-parts{margin:6px 0 10px;padding-left:28px}.c811-parts li{margin-bottom:6px;line-height:1.55}
.c811-fr details p{margin:0 0 8px}.c811-fr details p:last-child{margin-bottom:0}
.c811-inv{margin:14px 0;padding-left:26px}.c811-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c811-seg{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin:0 0 12px}
.c811-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.25}
.c811-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c811-bsub{display:block;font-size:.8rem;font-weight:500;opacity:.85}
.c811-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light)}
.c811-lesson #c811-explorer .c811-bench{margin:0 0 4px}
.c811-rows{display:block;margin:8px 0}
.c811-row{display:block;margin-bottom:5px;overflow-wrap:anywhere}
.c811-see{margin-top:8px}
.c811-tag{display:inline-block;margin-left:6px;padding:0 8px;border-radius:999px;font-size:.85rem;font-weight:700;border:1px solid var(--v2-border);color:var(--text-secondary)}
.c811-tag.is-right{border-color:#6EC88C;color:#8FD8A6}.c811-tag.is-left{border-color:#E07A6A;color:#F2A496}
.c811-verdict{font-weight:700;color:var(--gold-light)}
.c811-predict{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.c811-predict .ced-topic-button{min-height:44px;margin:0;font-size:1rem}
.c811-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c811-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c811-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c811-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c811-lesson .pes16-photo img,.c811-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:600px){
  .c811-seg .ced-topic-button,.c811-predict .ced-topic-button{flex:1 1 40%}
  .c811-xeq{padding:8px 10px}
  .c811-choices,.c811-parts{padding-left:24px}
  .c811-table th,.c811-table td{padding:7px 5px}.c811-lesson table.c811-table{font-size:.9rem}
  .c811-pbox .c811-legt{font-size:15px}.c811-pbox .c811-boxt{font-size:16px}.c811-pbox .c811-chg{font-size:14px}
  .c811-cell{padding:4px 2px}
}

/* ---------- Topic 8.10 Learn (ced-topic810-learn.js) ---------- */
.c810-lesson [hidden]{display:none!important}
/* figures */
.c810-lesson .c810-svg{display:block;width:100%;height:auto;margin:0 auto}
.c810-lesson .c810-capfig,.c810-lesson .c810-titfig{min-width:300px;max-width:560px}
.c810-lesson .c810-barfig{max-width:480px}
.c810-figwrap{margin:0}
.c810-single{max-width:480px;margin:0 auto;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:8px 4px}
.c810-grid{stroke:rgba(255,255,255,.09);stroke-width:1}
.c810-grid.is-zero{stroke:rgba(230,236,242,.4);stroke-dasharray:3 3}
.c810-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c810-tick{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c810-sub{fill:var(--text-secondary);font:13.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c810-axl{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif}
.c810-leg{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif}
.c810-val{fill:var(--text-primary);font:700 13.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c810-curve{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.c810-curve.is-b1,.c810-curve.is-tit{stroke:#7FD0F0}
.c810-curve.is-b2{stroke:#E6C35C}
.c810-curve.is-pin{stroke:#C9B9A6;stroke-width:2.4}
.c810-curve.is-dash{stroke-dasharray:7 5}
.c810-dot{stroke:#15120F;stroke-width:1.6}
.c810-dot.is-b1{fill:#7FD0F0}.c810-dot.is-b2{fill:#E6C35C}
.c810-dot.is-hollow{fill:#15120F;stroke:#C9B9A6;stroke-width:2.2}
.c810-band{fill:rgba(110,200,140,.12)}
.c810-buf{fill:rgba(110,200,140,.11)}
.c810-buflab{fill:#8FD8A6;font:600 13.5px 'Inter',system-ui,sans-serif}
.c810-bar{stroke:none}
.c810-bar.is-acid{fill:#E89A6A}
.c810-bar.is-base{fill:#7FB2F0}
.c810-bar.is-ghost{fill:none;stroke-width:2.2;stroke-dasharray:5 3}
.c810-bar.is-acid.is-ghost{stroke:#E89A6A}.c810-bar.is-base.is-ghost{stroke:#7FB2F0}
.c810-bar.is-ghostkey{fill:none;stroke:#E6E0D2;stroke-width:2;stroke-dasharray:5 3}
.c810-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c810-mk{stroke:#15120F;stroke-width:1.6}
.c810-mk.is-half{fill:#7FB2F0}.c810-mk.is-eq{fill:#E6C35C}.c810-mk.is-pt{fill:#E6E0D2}
.c810-mlab{font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c810-mlab.is-half{fill:#9CC8F2}.c810-mlab.is-eq{fill:#F0D27A}.c810-mlab.is-pt{fill:var(--text-primary)}
.c810-subs{font-size:12px}
.c810-lead{stroke:rgba(220,230,240,.55);stroke-width:1.2;stroke-dasharray:3 3}
.c810-eqline{stroke:rgba(240,210,122,.6);stroke-width:1.4;stroke-dasharray:4 4}
.c810-drop{stroke:rgba(230,224,210,.55);stroke-width:1.3;stroke-dasharray:3 3}
.c810-arr{stroke:#E6E0D2;stroke-width:2}
.c810-arrhead{fill:#E6E0D2}
/* particle boxes */
.c810-trio,.c810-quad{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}
.c810-quad{grid-template-columns:repeat(2,minmax(0,1fr))}
.c810-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c810-solo{max-width:340px;margin:10px auto;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c810-pbox{display:block;width:100%;max-width:360px;height:auto;margin:0 auto}
.c810-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c810-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c810-legt{fill:var(--text-primary);font:600 15px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c810-legnote{fill:var(--text-secondary);font-weight:400}
.c810-chg{fill:#fff;font:700 16px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:#15120F;stroke-width:3px}
/* text blocks */
.c810-def{margin:14px 0;padding:12px 14px;border:1px solid rgba(205,163,73,.45);border-left:4px solid var(--gold);border-radius:10px;background:rgba(205,163,73,.07)}
.c810-def p{margin:0;line-height:1.65}
.c810-note{margin:14px 0;padding:12px 14px;border:1px solid var(--v2-border);border-left:4px solid #7FB2F0;border-radius:10px;background:var(--v2-surface)}
.c810-note p{margin:0;line-height:1.65}
.c810-rules{margin:10px 0 14px;padding-left:24px}.c810-rules li{margin-bottom:8px;line-height:1.6}
.c810-small{margin:6px 2px 0;color:var(--text-secondary);font-size:.92rem;line-height:1.5}
/* tables (override the house minimum width) */
.c810-tablewrap{margin:12px 0 14px}
.c810-lesson table.c810-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c810-table th,.c810-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c810-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c810-table tbody th{color:var(--gold-light);font-weight:650}
.c810-lesson table.c810-wide{min-width:600px}
.c810-lesson table.c810-err{min-width:560px}
/* review */
.c810-choices{margin:6px 0 12px;padding-left:28px}.c810-choices li{margin-bottom:5px;line-height:1.55}
.c810-mc .pes16-scroll,.c810-mc .pes16-figure{margin:10px 0}
.c810-parts{margin:6px 0 10px;padding-left:28px}.c810-parts li{margin-bottom:6px;line-height:1.55}
.c810-fr details p{margin:0 0 8px}.c810-fr details p:last-child{margin-bottom:0}
.c810-inv{margin:14px 0;padding-left:26px}.c810-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c810-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c810-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c810-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c810-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c810-lesson #c810-explorer .pes16-controls label{flex:1 1 240px}
.c810-lesson #c810-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c810-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c810-xgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;align-items:start}
.c810-xfig,.c810-xside{min-width:0}
.c810-xbars{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c810-xside .pes16-readout{margin-top:10px;overflow-wrap:anywhere}
.c810-row{display:block;margin-bottom:6px}
.c810-aside{font-weight:400;color:var(--text-secondary)}
.c810-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55;background:rgba(127,178,240,.1);border:1px solid rgba(127,178,240,.6)}
.c810-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c810-lesson .pes16-photo img,.c810-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:900px){
  .c810-xgrid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .c810-quad{grid-template-columns:minmax(0,1fr)}
  .c810-seg .ced-topic-button{flex:1 1 auto}
  .c810-xeq,.c810-def,.c810-note{padding:10px}
  .c810-choices,.c810-parts{padding-left:24px}
  .c810-table th,.c810-table td{padding:7px 5px}.c810-lesson table.c810-table{font-size:.9rem}
  .c810-pbox .c810-legt{font-size:16px}.c810-pbox .c810-boxt{font-size:16px}
}

/* ---------- Topic 8.7 Learn (ced-topic87-learn.js) ---------- */
.c87-lesson [hidden]{display:none!important}
/* figures */
.c87-lesson .c87-svg{display:block;width:100%;height:auto;margin:0 auto}
.c87-solo{max-width:520px;margin:0 auto}
.c87-solo.is-small{max-width:340px}
.c87-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:10px}
.c87-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c87-ptitle{margin:4px 8px 6px;color:var(--text-primary);font-weight:700;text-align:center}
.c87-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c87-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c87-axisl{stroke:rgba(220,230,240,.7);stroke-width:1.4}
.c87-tick{fill:var(--text-secondary);font:13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c87-axl{fill:var(--text-secondary);font:600 13px 'Inter',system-ui,sans-serif}
.c87-ann{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c87-clab{font:700 13px 'Inter',system-ui,sans-serif}
.c87-buflab{fill:#8FD8A6;font:600 12.5px 'Inter',system-ui,sans-serif}
.c87-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c87-curve{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.c87-tcurve{fill:none;stroke:#F2B07E;stroke-width:2.6;stroke-linejoin:round}
.c87-dot{stroke:#171717;stroke-width:1.4}
.c87-dot.is-cur{stroke:#fff;stroke-width:1.6}
.c87-pkline{stroke:var(--gold);stroke-width:1.4;stroke-dasharray:5 4}
.c87-cur{stroke:#fff;stroke-width:1.6;opacity:.75}
.c87-buf{fill:rgba(110,200,140,.08)}
.c87-band{stroke:none}
.c87-leader{stroke:rgba(235,240,245,.7);stroke-width:1.2}
.c87-hpt{fill:var(--gold);stroke:#171717;stroke-width:1.4}
.c87-ept{fill:#fff;stroke:var(--gold);stroke-width:2.4}
.c87-endmk{stroke:#171717;stroke-width:1.4}
/* indicator chart */
.c87-iname{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.c87-isub{fill:var(--text-secondary);font:13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c87-ibar{stroke:rgba(255,255,255,.28);stroke-width:1}
.c87-pkmk{fill:var(--gold)}
/* figure key under the titration panels */
.c87-key2{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 4px;margin:8px 0 0;color:var(--text-secondary);font-size:.92rem;line-height:1.5}
.c87-sw{display:inline-block;width:28px;height:12px;border-radius:3px;border:1px solid rgba(255,255,255,.3);vertical-align:middle;margin-right:4px}
.c87-mk{display:inline-block;width:12px;height:12px;vertical-align:middle;margin-right:4px}
.c87-mk.is-h{border-radius:50%;background:var(--gold);border:1px solid #171717}
.c87-mk.is-e{border-radius:50%;background:#fff;border:2px solid var(--gold)}
.c87-mk.is-d{width:10px;height:10px;transform:rotate(45deg);background:#F0A6C8;border:1px solid #171717;margin:0 6px 0 2px}
/* particle boxes */
.c87-pbox{display:block;width:100%;max-width:340px;height:auto;margin:0 auto}
.c87-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c87-chg{fill:#fff;font:700 14px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:#15120F;stroke-width:3px;stroke-linejoin:round}
.c87-five{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px}
.c87-fcell{flex:0 1 260px;min-width:220px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px}
.c87-ft{margin:0 0 6px;text-align:center;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}
.c87-ft span{display:block;font-weight:600;color:var(--gold-light);font-size:.92rem}
.c87-fn{margin:6px 0 0;text-align:center;color:var(--text-secondary);font-size:.9rem;line-height:1.45;font-variant-numeric:tabular-nums}
.c87-leg{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin:6px 4px 4px;color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums}
.c87-leg span{display:inline-flex;align-items:center;gap:4px}
.c87-ico{width:34px;height:28px;flex:none;vertical-align:middle}
.c87-leg.is-center{margin-top:10px}
/* tubes */
.c87-tubes{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;margin:6px 0}
.c87-tube{margin:0;flex:0 1 96px;min-width:84px;text-align:center}
.c87-tubesvg{display:block;width:44px;height:122px;margin:0 auto}
.c87-glass{fill:none;stroke:rgba(225,235,245,.75);stroke-width:2}
.c87-liq{stroke:none}
.c87-tube figcaption{margin-top:4px;font-size:.9rem;line-height:1.35;color:var(--text-secondary)}
.c87-tube figcaption b{display:block;color:var(--text-primary);font-weight:700}
.c87-tube figcaption span{display:block}
/* text blocks */
.c87-h3{margin:22px 0 8px;font-size:1.08rem;color:var(--gold-light)}
.c87-list{margin:8px 0 12px;padding-left:24px}.c87-list li{margin-bottom:6px;line-height:1.6}
.c87-note{margin:-4px 0 12px;color:var(--text-secondary);font-size:.92rem;line-height:1.55}
.c87-err{padding:10px 14px;border:1px solid rgba(224,122,106,.6);border-radius:10px;background:rgba(224,122,106,.08);line-height:1.65}
/* tables (override the house minimum width) */
.c87-tablewrap{margin:12px 0 14px}
.c87-lesson table.c87-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c87-table th,.c87-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:center;vertical-align:middle}
.c87-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c87-table tbody th{color:var(--gold-light);font-weight:650;text-align:left}
.c87-table td{white-space:nowrap}
.c87-ept-t td{white-space:normal;min-width:118px}
.c87-g{display:block;font-weight:700}
.c87-g.is-sharp{color:#8FE3A8}.c87-g.is-usable{color:var(--gold-light)}.c87-g.is-poor{color:#F0A08F}
.c87-tsub{display:block;font-size:.84rem;color:var(--text-secondary)}
/* a pH meter reading (review stimulus) */
.c87-meter{display:inline-flex;align-items:baseline;gap:10px;margin:8px 0 10px;padding:8px 16px;border:2px solid var(--v2-border);border-radius:10px;background:#0E1A14}
.c87-meter-lab{color:var(--text-secondary);font-weight:700}
.c87-meter-val{color:#8FE3A8;font:700 1.6rem 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em}
/* review */
.c87-choices{margin:6px 0 12px;padding-left:28px}.c87-choices li{margin-bottom:5px;line-height:1.55}
.c87-mc .pes16-scroll,.c87-mc .pes16-figure{margin:10px 0}
.c87-parts{margin:6px 0 10px;padding-left:28px}.c87-parts li{margin-bottom:6px;line-height:1.55}
.c87-fr details p{margin:0 0 8px}.c87-fr details p:last-child{margin-bottom:0}
.c87-inv{margin:14px 0;padding-left:26px}.c87-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c87-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c87-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c87-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c87-jumps .ced-topic-button{font-variant-numeric:tabular-nums}
.c87-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c87-lesson #c87-explorer .pes16-controls label{flex:1 1 240px}
.c87-lesson #c87-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c87-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c87-lesson #c87-explorer .c87-duo{margin:0 0 10px}
.c87-xtubes{margin:0 0 10px}
.c87-row{display:block;margin-bottom:5px}
.c87-key{display:block;margin:8px 0;padding:8px 10px;border-radius:8px;line-height:1.55}
.c87-key.is-ha{background:rgba(125,214,154,.1);border:1px solid rgba(125,214,154,.6)}
.c87-key.is-a{background:rgba(240,132,111,.1);border:1px solid rgba(240,132,111,.6)}
.c87-key.is-eq{background:rgba(205,163,73,.12);border:1px solid var(--gold)}
.c87-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c87-lesson .pes16-photo img,.c87-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:600px){
  .c87-seg .ced-topic-button{flex:1 1 auto}
  .c87-xeq{padding:10px}
  .c87-choices,.c87-parts,.c87-list{padding-left:24px}
  .c87-table th,.c87-table td{padding:7px 4px}.c87-lesson table.c87-table{font-size:.9rem}
  .c87-ept-t td{min-width:104px}
  .c87-fcell{flex:1 1 100%;max-width:340px;min-width:0;padding:4px}
  .c87-cell{padding:4px 2px}
  .c87-tube{flex-basis:84px;min-width:78px}
}

/* ---------- Topic 8.4 Learn (ced-topic84-learn.js) ---------- */
.c84-lesson [hidden]{display:none!important}
/* titration-curve figures (same look as Learn 8.5) */
.c84-lesson .c84-svg{display:block;width:100%;height:auto;margin:0 auto}
.c84-lesson .c84-fig{max-width:600px}
.c84-figwrap{max-width:600px;margin:0 auto}
.c84-grid{stroke:rgba(255,255,255,.09);stroke-width:1}
.c84-grid.is-minor{stroke:rgba(255,255,255,.045)}
.c84-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c84-tick{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c84-axl{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif}
.c84-ptitle{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c84-curve{fill:none;stroke:#7FD0F0;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.c84-buf{fill:rgba(110,200,140,.11)}
.c84-buflab{fill:#8FD8A6;font:600 13.5px 'Inter',system-ui,sans-serif}
.c84-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c84-mk{stroke:#15120F;stroke-width:1.6}
.c84-mk.is-half{fill:#7FB2F0}
.c84-mk.is-eq{fill:#E6C35C}
.c84-mk.is-tag{fill:#E6E0D2}
.c84-pt{fill:#7FD0F0;stroke:#15120F;stroke-width:1.2}
.c84-mlab{font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c84-mlab.is-half{fill:#9CC8F2}
.c84-mlab.is-eq{fill:#F0D27A}
.c84-mlab.is-tag{fill:var(--text-primary)}
.c84-lead{stroke:rgba(220,230,240,.55);stroke-width:1.2;stroke-dasharray:3 3}
.c84-cur{stroke:rgba(240,240,240,.55);stroke-width:1.4;stroke-dasharray:4 4}
.c84-curdot{fill:#fff;stroke:#15120F;stroke-width:2}
/* explorer legend swatches */
.c84-leg{margin:2px 8px 6px;color:var(--text-secondary);font-size:.92rem;line-height:1.6}
.c84-sw{display:inline-block;width:12px;height:12px;margin:0 4px 0 8px;border:1.5px solid #15120F;border-radius:50%;vertical-align:-1px}
.c84-sw.is-half{background:#7FB2F0;border-radius:2px;transform:rotate(45deg)}
.c84-sw.is-eq{background:#E6C35C}
.c84-sw.is-cur{background:#fff}
/* bars */
.c84-bar{stroke:#15120F;stroke-width:1.2}
.c84-bv{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c84-blab{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif}
/* particle boxes */
.c84-quad{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px}
.c84-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:10px}
.c84-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c84-solo{max-width:340px;margin:10px auto;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c84-pbox{display:block;width:100%;max-width:360px;height:auto;margin:0 auto}
.c84-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c84-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c84-legt{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c84-legnote{fill:var(--text-secondary);font:13px 'Inter',system-ui,sans-serif}
.c84-chg{fill:#fff;font:700 13px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:#15120F;stroke-width:3px;stroke-linejoin:round}
/* text blocks */
.c84-work,.c84-recipe{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c84-work p{margin:0 0 10px;line-height:1.7}.c84-work p:last-child{margin-bottom:0}
.c84-work .c84-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700}
.c84-recipe{padding-left:36px}.c84-recipe ol{margin:0;padding:0}.c84-recipe li{margin-bottom:6px;line-height:1.55}.c84-recipe li:last-child{margin-bottom:0}
.c84-rules{margin:10px 0 14px;padding-left:24px}.c84-rules li{margin-bottom:8px;line-height:1.6}
.c84-note,.c84-scope,.c84-aside{padding:10px 14px;border-radius:10px;line-height:1.65}
.c84-note{border-left:3px solid #E07A6A;background:rgba(224,122,106,.07)}
.c84-scope{border-left:3px solid #7FB2F0;background:rgba(127,178,240,.07)}
.c84-aside{border:1px dashed var(--v2-border);color:var(--text-secondary)}
.c84-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;margin:14px 0}
.c84-card{border:1px solid var(--v2-border);border-left:4px solid var(--gold);border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c84-card h3{margin:0 0 6px;font-size:1rem}.c84-card p{margin:0 0 8px;color:var(--text-secondary)}.c84-card p:last-child{margin-bottom:0}
.c84-card .c84-eqline{color:var(--text-primary);font-weight:700;text-align:center}
.c84-card.is-buf{border-left-color:#6EC88C}.c84-card.is-eq{border-left-color:#E6C35C}.c84-card.is-xs{border-left-color:#B9A4F2}
html body .c84-lesson .c84-card.is-buf h3{color:#8FD8A6}html body .c84-lesson .c84-card.is-eq h3{color:#F0D27A}html body .c84-lesson .c84-card.is-xs h3{color:#CDBEF7}
/* tables (override the house minimum width) */
.c84-tablewrap{margin:12px 0 14px}
.c84-lesson table.c84-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c84-table th,.c84-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:center;vertical-align:middle}
.c84-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c84-table tbody th{color:var(--gold-light);font-weight:650;text-align:left}
.c84-table td{white-space:nowrap}
.c84-table.c84-cases td{white-space:normal;text-align:left}
.c84-table .c84-num-row td,.c84-table .c84-num-row th{background:rgba(110,200,140,.08)}
.c84-table .c84-num-row td{color:var(--text-primary);font-weight:700}
/* review */
.c84-choices{margin:6px 0 12px;padding-left:28px}.c84-choices li{margin-bottom:5px;line-height:1.55}
.c84-mc .pes16-scroll,.c84-mc .pes16-figure{margin:10px 0}
.c84-parts{margin:6px 0 10px;padding-left:28px}.c84-parts li{margin-bottom:6px;line-height:1.55}
.c84-fr details p{margin:0 0 8px}.c84-fr details p:last-child{margin-bottom:0}
.c84-inv{margin:14px 0;padding-left:26px}.c84-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c84-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c84-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c84-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c84-seglab{color:var(--text-secondary);font-weight:650;margin-right:2px}
.c84-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c84-lesson #c84-explorer .pes16-controls label{flex:1 1 240px}
.c84-lesson #c84-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c84-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c84-lesson #c84-explorer .c84-duo{margin:0 0 10px}
.c84-row{display:block;margin-bottom:5px}
.c84-key{display:block;margin:8px 0;padding:8px 10px;border-radius:8px;line-height:1.55}
.c84-key.is-buf{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c84-key.is-eq{background:rgba(230,195,92,.1);border:1px solid #E6C35C}
.c84-key.is-xs{background:rgba(185,164,242,.1);border:1px solid #B9A4F2}
.c84-key.is-start{background:rgba(127,208,240,.08);border:1px solid rgba(127,208,240,.6)}
.c84-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c84-lesson .pes16-photo img,.c84-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:600px){
  .c84-seg .ced-topic-button{flex:1 1 auto}
  .c84-work,.c84-xeq,.c84-note,.c84-scope,.c84-aside{padding:10px}
  .c84-recipe{padding-left:30px}
  .c84-choices,.c84-parts{padding-left:24px}
  .c84-table th,.c84-table td{padding:7px 4px}.c84-lesson table.c84-table{font-size:.9rem}
  .c84-pbox .c84-legt{font-size:15px}.c84-pbox .c84-boxt{font-size:16px}
  .c84-cell{padding:4px 2px}
  .c84-lesson .c84-figwrap .c84-tick,.c84-lesson .c84-figwrap .c84-axl,.c84-lesson .c84-figwrap .c84-mlab{font-size:15px}
  .c84-lesson .c84-figwrap .c84-buflab{font-size:14.5px}
  .c84-lesson #c84-explorer .c84-duo .c84-cell{padding:2px 0}
  .c84-lesson #c84-explorer .c84-tick,.c84-lesson #c84-explorer .c84-axl,.c84-lesson #c84-explorer .c84-bv,.c84-lesson #c84-explorer .c84-blab{font-size:16px}
  .c84-lesson #c84-explorer .c84-ptitle{font-size:16.5px}
  .c84-lesson #c84-explorer .c84-buflab{font-size:15.5px}
}

/* ---------- Topic 9.1 Learn (ced-topic91-learn.js) ---------- */
.c91-lesson [hidden]{display:none!important}
/* figures */
.c91-lesson .c91-svg{display:block;width:100%;height:auto;margin:0 auto}
.c91-lesson .c91-kefig{min-width:320px;max-width:600px}
.c91-lesson .c91-rxfig{min-width:320px;max-width:560px}
.c91-lesson .c91-bulbs{min-width:320px;max-width:520px}
.c91-grid{stroke:rgba(255,255,255,.09);stroke-width:1}
.c91-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c91-tick{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c91-axl{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif}
.c91-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
/* kinetic-energy curves */
.c91-kc{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.c91-kc.is-a{stroke:#7FD0F0}
.c91-kc.is-b{stroke:#F09A5C}
.c91-kc.is-c{stroke:#9C8CF0}
.c91-kc.is-ref{stroke:#C9B9A6;stroke-width:2.2;stroke-dasharray:7 5}
.c91-leg{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.c91-small{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif}
.c91-rlab{font:600 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c91-rlab.is-a{fill:#9CDDF5}.c91-rlab.is-b{fill:#F5B486}.c91-rlab.is-c{fill:#B6AAF5}.c91-rlab.is-ref{fill:#D8CCBD}
.c91-rbar{stroke-width:5;stroke-linecap:butt}
.c91-rend{stroke-width:2}
.c91-rbar.is-a,.c91-rend.is-a{stroke:#7FD0F0}.c91-rbar.is-b,.c91-rend.is-b{stroke:#F09A5C}.c91-rbar.is-c,.c91-rend.is-c{stroke:#9C8CF0}.c91-rbar.is-ref,.c91-rend.is-ref{stroke:#C9B9A6}
/* particle boxes, bulbs and reaction panels */
.c91-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}
.c91-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px}
.c91-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c91-pbox{display:block;width:100%;max-width:360px;height:auto;margin:0 auto}
.c91-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c91-pool{fill:rgba(111,178,230,.14);stroke:none}
.c91-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c91-legt{fill:var(--text-primary);font:600 15px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c91-legs{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif}
.c91-legnote{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif}
.c91-trail{stroke:rgba(220,230,240,.35);stroke-width:3;stroke-linecap:round}
.c91-bulb{fill:rgba(255,255,255,.03);stroke:rgba(220,230,240,.6);stroke-width:2}
.c91-tube{fill:rgba(255,255,255,.04);stroke:rgba(220,230,240,.6);stroke-width:1.6}
.c91-cock{fill:#3A332C;stroke:rgba(220,230,240,.75);stroke-width:1.6}
.c91-handle{fill:var(--gold);stroke:#15120F;stroke-width:1}
.c91-vac{fill:var(--text-secondary);font:italic 15px 'Inter',system-ui,sans-serif}
.c91-arrow{fill:var(--gold-light);font:700 22px 'Inter',system-ui,sans-serif}
/* text blocks */
.c91-h3{margin:18px 0 6px;font-size:1.1rem;color:var(--gold-light)}
.c91-note{margin:12px 0;padding:10px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c91-note p{margin:0;line-height:1.6}
.c91-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;margin:14px 0}
.c91-card{border:1px solid var(--v2-border);border-left:4px solid #C9B9A6;border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c91-card h3{margin:0 0 6px;font-size:1.05rem}.c91-card p{margin:0;color:var(--text-secondary);line-height:1.6}
.c91-card.is-matter{border-left-color:#7FD0F0}.c91-card.is-energy{border-left-color:#F09A5C}
html body .c91-lesson .c91-card.is-matter h3{color:#9CDDF5}html body .c91-lesson .c91-card.is-energy h3{color:#F5B486}
/* tables (override the house minimum width) */
.c91-tablewrap{margin:12px 0 14px}
.c91-lesson table.c91-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c91-table th,.c91-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c91-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c91-table tbody th{color:var(--gold-light);font-weight:650}
.c91-lesson table.c91-rx-t{min-width:520px}
.c91-lesson table.c91-rx-t td:nth-child(2),.c91-lesson table.c91-rx-t td:nth-child(4){white-space:nowrap}
/* review */
.c91-choices{margin:6px 0 12px;padding-left:28px}.c91-choices li{margin-bottom:5px;line-height:1.55}
.c91-mc .pes16-scroll,.c91-mc .pes16-figure{margin:10px 0}
.c91-parts{margin:6px 0 10px;padding-left:28px}.c91-parts li{margin-bottom:6px;line-height:1.55}
.c91-fr details p{margin:0 0 8px}.c91-fr details p:last-child{margin-bottom:0}
.c91-inv{margin:14px 0;padding-left:26px}.c91-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c91-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c91-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c91-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c91-seglab{font-weight:650;color:var(--text-secondary);margin-right:2px}
.c91-ctl{margin:0 0 4px}
.c91-lesson #c91-explorer .pes16-controls{margin-bottom:10px}
.c91-lesson #c91-explorer .pes16-controls label{flex:1 1 260px}
.c91-lesson #c91-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c91-lesson #c91-explorer select{font-size:16px;min-height:44px;max-width:100%}
.c91-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c91-xgrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px;align-items:start}
.c91-xfig{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c91-xfig .c91-pbox{max-width:400px}
.c91-row{display:block;margin-bottom:5px}
.c91-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c91-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c91-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c91-key.is-info{background:rgba(127,178,240,.08);border:1px solid rgba(127,178,240,.55)}
.c91-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c91-lesson .pes16-photo img,.c91-lesson .ced13-lesson-intro .mole-lab-image img,.c91-lesson .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:900px){
  .c91-xgrid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .c91-seg .ced-topic-button{flex:1 1 auto}
  .c91-choices,.c91-parts{padding-left:24px}
  .c91-table th,.c91-table td{padding:7px 5px}.c91-lesson table.c91-table{font-size:.9rem}
  .c91-pbox .c91-legt,.c91-pbox .c91-boxt{font-size:16px}
}

/* ---------- Topic 9.2 Learn (ced-topic92-learn.js) ---------- */
.c92-lesson [hidden]{display:none!important}
/* figures */
.c92-lesson .c92-svg{display:block;width:100%;height:auto;margin:0 auto}
.c92-lesson .c92-fw .c92-svg{min-width:320px;max-width:600px}
.c92-lesson .c92-fw-sm .c92-svg{min-width:280px;max-width:420px}
.c92-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c92-zero{stroke:rgba(230,236,242,.75);stroke-width:1.6}
.c92-sep{stroke:rgba(230,236,242,.28);stroke-width:1;stroke-dasharray:3 4}
.c92-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c92-tick{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c92-axl{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif}
.c92-legt{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif}
.c92-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
/* the ledger (running total) */
.c92-bar{stroke:#15120F;stroke-width:1}
.c92-bar.is-add,.c92-lbar.is-add{fill:#6EC88C}
.c92-bar.is-sub,.c92-lbar.is-sub{fill:#E07A6A}
.c92-bar.is-tot{fill:#E6C35C}
.c92-bar.is-ok{fill:rgba(230,195,92,.12);stroke:#E6C35C;stroke-width:1.6;stroke-dasharray:5 3}
.c92-link{stroke:rgba(230,236,242,.6);stroke-width:1.3;stroke-dasharray:3 3}
.c92-rlab{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif}
.c92-rlab.is-add{fill:#8FD8A6}.c92-rlab.is-sub{fill:#F2A091}.c92-rlab.is-tot,.c92-rlab.is-ok{fill:#F0D27A}
.c92-rlab.is-off{opacity:.45}
.c92-rval{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c92-rval.is-add{fill:#8FD8A6}.c92-rval.is-sub{fill:#F2A091}.c92-rval.is-tot,.c92-rval.is-ok{fill:#F0D27A}.c92-rval.is-off{fill:var(--text-secondary)}
/* entropy against temperature (schematic) */
.c92-scurve{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.c92-scurve.is-s{stroke:#C9B9A6}.c92-scurve.is-l{stroke:#7FB2F0}.c92-scurve.is-g{stroke:#8FD8A6}
.c92-jump{stroke:#E6C35C;stroke-width:3;stroke-linecap:round}
.c92-guide{stroke:rgba(220,230,240,.35);stroke-width:1.2;stroke-dasharray:4 4}
.c92-zdot{fill:#fff;stroke:#15120F;stroke-width:2}
.c92-lead{stroke:rgba(220,230,240,.55);stroke-width:1.2;stroke-dasharray:3 3}
.c92-stl{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.c92-stl.is-s{fill:#DCCDB9}.c92-stl.is-l{fill:#9CC8F2}.c92-stl.is-g{fill:#8FD8A6}
/* S° bars colored by phase */
.c92-ph.is-s{fill:#C9B9A6}.c92-ph.is-l{fill:#7FB2F0}.c92-ph.is-g{fill:#8FD8A6}
.c92-bval{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c92-figrow{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr);gap:12px;align-items:start}
.c92-figrow .pes16-figure{margin-top:0}
/* particle boxes */
.c92-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px}
.c92-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c92-pbox{display:block;width:100%;max-width:360px;height:auto;margin:0 auto}
.c92-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c92-liq{fill:rgba(168,51,47,.16);stroke:rgba(214,120,110,.55);stroke-width:1.2}
.c92-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c92-legnote{fill:var(--text-secondary);font:13.5px 'Inter',system-ui,sans-serif}
/* the S° table as a grid of values */
.c92-stable{margin:12px 0;padding:10px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c92-sgh{margin:8px 0 6px;font-weight:700;color:var(--gold-light)}.c92-sgh:first-child{margin-top:0}
.c92-sgrid{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.c92-sgrid li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;min-width:0;padding:5px 9px;border:1px solid var(--v2-border);border-radius:7px;background:rgba(255,255,255,.02);font-variant-numeric:tabular-nums}
.c92-sgrid b{color:var(--gold-light);font-weight:650}
/* text blocks */
.c92-work,.c92-recipe{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c92-work p{margin:0 0 10px;line-height:1.7}.c92-work p:last-child{margin-bottom:0}
.c92-work .c92-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700}
.c92-recipe{padding-left:36px}.c92-recipe ol{margin:0;padding:0}.c92-recipe li{margin-bottom:6px;line-height:1.55}.c92-recipe li:last-child{margin-bottom:0}
.c92-rules{margin:10px 0 14px;padding-left:24px}.c92-rules li{margin-bottom:8px;line-height:1.6}
.c92-small{color:var(--text-secondary)}
.c92-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin:14px 0}
.c92-card{border:1px solid var(--v2-border);border-left:4px solid #C9B9A6;border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c92-card h3{margin:0 0 6px;font-size:1rem}.c92-card p{margin:0;color:var(--text-secondary)}
.c92-card.is-g{border-left-color:#8FD8A6}.c92-card.is-l{border-left-color:#7FB2F0}.c92-card.is-s{border-left-color:#C9B9A6}
html body .c92-lesson .c92-card.is-g h3{color:#8FD8A6}html body .c92-lesson .c92-card.is-l h3{color:#9CC8F2}html body .c92-lesson .c92-card.is-s h3{color:#DCCDB9}
/* tables (override the house minimum width) */
.c92-tablewrap{margin:12px 0 14px}
.c92-lesson table.c92-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c92-table th,.c92-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c92-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c92-table tbody th{color:var(--gold-light);font-weight:650}
.c92-lesson table.c92-el-t td,.c92-lesson table.c92-mini td{text-align:center}
.c92-lesson table.c92-mini{width:auto;min-width:260px}
.c92-lesson table.c92-pred-t{min-width:560px}
.c92-lesson table.c92-pred-t td:nth-child(n+3){text-align:center}
/* review */
.c92-choices{margin:6px 0 12px;padding-left:28px}.c92-choices li{margin-bottom:5px;line-height:1.55}
.c92-mc .pes16-scroll,.c92-mc .pes16-figure,.c92-fr .pes16-scroll{margin:10px 0}
.c92-parts{margin:6px 0 10px;padding-left:28px}.c92-parts li{margin-bottom:6px;line-height:1.55}
.c92-fr details p{margin:0 0 8px}.c92-fr details p:last-child{margin-bottom:0}
.c92-inv{margin:14px 0;padding-left:26px}.c92-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c92-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c92-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c92-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c92-seglab{font-weight:650;color:var(--text-secondary);margin-right:2px;font-variant-numeric:tabular-nums}
.c92-lesson #c92-explorer .pes16-controls label.c92-rxsel{flex:1 1 280px}
.c92-lesson #c92-explorer select{font-size:16px;min-height:44px;max-width:100%}
.c92-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c92-xgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;align-items:start}
.c92-xgrid .pes16-readout{margin-top:0}
.c92-row{display:block;margin-bottom:5px}
.c92-aside{font-weight:400;color:var(--text-secondary)}
.c92-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c92-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c92-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c92-key.is-note{background:rgba(230,195,92,.08);border:1px solid rgba(230,195,92,.6)}
.c92-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c92-lesson .pes16-photo img,.c92-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
.c92-lesson [data-c92-tab]{min-height:44px}
@media(max-width:900px){
  .c92-xgrid,.c92-figrow{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .c92-seg .ced-topic-button{flex:1 1 auto}
  .c92-work,.c92-xeq,.c92-stable{padding:10px}.c92-recipe{padding:10px 10px 10px 30px}
  .c92-choices,.c92-parts{padding-left:24px}
  .c92-sgrid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .c92-table th,.c92-table td{padding:7px 5px}.c92-lesson table.c92-table{font-size:.9rem}
  .c92-pbox .c92-legt{font-size:16px}.c92-pbox .c92-boxt{font-size:16px}
}

/* ---------- Topic 9.3 Learn (ced-topic93-learn.js) ---------- */
.c93-lesson [hidden]{display:none!important}
/* graphs and bars */
.c93-lesson .c93-svg{display:block;width:100%;height:auto;margin:0 auto}
.c93-lesson .c93-gfig{min-width:340px;max-width:600px}
.c93-lesson .c93-bfig{min-width:300px;max-width:440px}
.c93-lesson .c93-pfig{min-width:340px;max-width:620px}
.c93-grid{stroke:rgba(255,255,255,.09);stroke-width:1}
.c93-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c93-zero{stroke:rgba(235,240,245,.85);stroke-width:1.6}
.c93-tick{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c93-axl{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif}
.c93-fav{fill:rgba(110,200,140,.13)}
.c93-unf{fill:rgba(224,122,106,.09)}
.c93-sw{stroke:rgba(220,230,240,.5);stroke-width:1}
.c93-leg{fill:var(--text-secondary);font:600 13.5px 'Inter',system-ui,sans-serif}
.c93-gl{stroke:#7FD0F0;stroke-width:3.2;stroke-linecap:round}
.c93-tc{stroke:#F0D27A;stroke-width:1.6;stroke-dasharray:6 5}
.c93-tcd{fill:#F0D27A;stroke:#15120F;stroke-width:1.6}
.c93-tcl{fill:#F0D27A;font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c93-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c93-cur{fill:#fff;stroke:#15120F;stroke-width:2}
.c93-curlab{fill:#fff;font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c93-pt{fill:#7FD0F0;stroke:#15120F;stroke-width:1.4}
.c93-ptlab{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c93-bar{stroke:#15120F;stroke-width:1.2}
.c93-bar.is-h{fill:#E6A25C}
.c93-bar.is-s{fill:#7FB2F0}
.c93-bar.is-g.is-neg{fill:#6EC88C}
.c93-bar.is-g.is-pos{fill:#E07A6A}
.c93-conn{stroke:rgba(220,230,240,.6);stroke-width:1.2;stroke-dasharray:4 3}
.c93-btitle{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c93-bcat{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c93-bval{font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c93-bval.is-h{fill:#F0B878}.c93-bval.is-s{fill:#9CC8F2}.c93-bval.is-neg{fill:#8FD8A6}.c93-bval.is-pos{fill:#F09A8C}
.c93-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px}
.c93-duo .c93-figwrap{margin:0}
/* particle views */
.c93-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c93-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c93-hb{stroke:rgba(200,215,235,.7);stroke-width:1.6;stroke-dasharray:2 3}
.c93-arr{stroke:rgba(235,225,205,.85);stroke-width:2.4}
.c93-arrh{fill:rgba(235,225,205,.85)}
.c93-chg{fill:#fff;font:700 16px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:#15120F;stroke-width:3px}
.c93-figwrap{margin:10px 0}
/* text blocks */
.c93-h3{margin:20px 0 6px;font-size:1.08rem;color:var(--gold)}
.c93-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c93-work p{margin:0 0 10px;line-height:1.7}.c93-work p:last-child{margin-bottom:0}
.c93-work .c93-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700}
.c93-small{color:var(--text-secondary)}
.c93-rules-box{margin:14px 0;padding:10px 14px;border:1px solid var(--v2-border);border-left:4px solid var(--gold);border-radius:10px;background:var(--v2-surface)}
.c93-rules-h{margin:0 0 6px;font-weight:700;color:var(--gold-light)}
.c93-rules{margin:0;padding-left:24px}.c93-rules li{margin-bottom:6px;line-height:1.6}
.c93-trap{margin:14px 0;padding:10px 14px;border:1px dashed rgba(224,122,106,.7);border-radius:10px;background:rgba(224,122,106,.05)}
.c93-trap-h{margin:0 0 6px;font-weight:700;color:#F09A8C}
.c93-trap p{margin:6px 0 0;overflow-wrap:anywhere}
.c93-aside{margin:12px 0;padding:10px 14px;border:1px dashed var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c93-aside summary{min-height:40px;display:flex;align-items:center;cursor:pointer;font-weight:650;color:var(--gold-light)}
.c93-aside p{margin:8px 0}
.c93-tps{border-left:4px solid #6EC88C}
.c93-tps .c93-tps-eq{font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c93-tps-steps{margin:6px 0 10px;padding-left:26px}.c93-tps-steps li{margin-bottom:6px;line-height:1.55}
/* tables (override the house minimum width) */
.c93-tablewrap{margin:12px 0 14px}
.c93-lesson table.c93-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c93-table th,.c93-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c93-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c93-table tbody th{color:var(--gold-light);font-weight:650}
.c93-lesson table.c93-gf-t{max-width:560px}
.c93-lesson table.c93-drive-t{min-width:520px}
.c93-lesson table.c93-obs-t{min-width:460px}
.c93-lesson table.c93-cases-t{min-width:640px}
.c93-lesson table.c93-q5-t{min-width:460px}
/* review */
.c93-choices{margin:6px 0 12px;padding-left:28px}.c93-choices li{margin-bottom:5px;line-height:1.55}
.c93-mc .pes16-scroll,.c93-mc .pes16-figure,.c93-fr .pes16-figure{margin:10px 0}
.c93-parts{margin:6px 0 10px;padding-left:28px}.c93-parts li{margin-bottom:6px;line-height:1.55}
.c93-fr details p{margin:0 0 8px}.c93-fr details p:last-child{margin-bottom:0}
.c93-inv{margin:14px 0;padding-left:26px}.c93-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c93-quad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px}
.c93-qcell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:8px 10px;min-width:0}
.c93-qcell.is-all{border-top:3px solid #6EC88C}.c93-qcell.is-none{border-top:3px solid #E07A6A}
.c93-qcell.is-high,.c93-qcell.is-low{border-top:3px solid #F0D27A}
.c93-qh{margin:0 0 8px;font-weight:700;color:var(--gold-light);font-variant-numeric:tabular-nums}
.c93-qcell .c93-seg{margin:0}
.c93-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c93-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c93-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c93-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c93-lesson #c93-explorer .pes16-controls label{flex:1 1 240px}
.c93-lesson #c93-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c93-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c93-xgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;align-items:start;margin-top:4px}
.c93-xgrid .c93-figwrap{margin:0}
.c93-xside{min-width:0}
.c93-xbars{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;overflow-x:auto}
.c93-xside .pes16-readout{margin-top:10px;overflow-wrap:anywhere}
.c93-row{display:block;margin-bottom:5px}
.c93-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c93-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c93-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c93-key.is-note{background:rgba(205,163,73,.08);border:1px solid rgba(205,163,73,.5)}
.c93-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c93-lesson .pes16-photo img,.c93-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:900px){
  .c93-xgrid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .c93-quad{grid-template-columns:minmax(0,1fr)}
  .c93-seg .ced-topic-button{flex:1 1 auto}
  .c93-work,.c93-xeq,.c93-aside,.c93-trap,.c93-rules-box{padding:10px}
  .c93-choices,.c93-parts,.c93-tps-steps{padding-left:24px}
  .c93-table th,.c93-table td{padding:7px 5px}.c93-lesson table.c93-table{font-size:.9rem}
}

/* ---------- Topic 9.4 Learn (ced-topic94-learn.js) ---------- */
.c94-lesson [hidden]{display:none!important}
/* energy profiles and the fraction meter */
.c94-lesson .c94-svg{display:block;width:100%;height:auto;margin:0 auto}
.c94-lesson .c94-prof{min-width:340px;max-width:560px}
.c94-lesson .c94-meter{min-width:340px;max-width:560px}
.c94-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.c94-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c94-tick{fill:var(--text-secondary);font:13.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c94-axl{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif}
.c94-ref{stroke:rgba(220,230,240,.35);stroke-width:1.2;stroke-dasharray:4 4}
.c94-path{fill:none;stroke-width:3.2;stroke-linejoin:round;stroke-linecap:round}
.c94-path.is-main{stroke:#7FD0F0}
.c94-path.is-hot{stroke:#F2A65E}
.c94-path.is-cat{stroke:#E6C35C}
.c94-path.is-ghost{stroke:rgba(200,215,230,.5);stroke-width:2.2;stroke-dasharray:7 5}
.c94-ea{stroke:#E6E0D2;stroke-width:1.6}.c94-ea-h{fill:#E6E0D2}
.c94-ea.is-cat{stroke:#E6C35C}.c94-ea.is-cat-h{fill:#E6C35C}
.c94-ea.is-hot{stroke:#F2A65E}.c94-ea.is-hot-h{fill:#F2A65E}
.c94-ea.is-ghost{stroke:rgba(200,215,230,.55);stroke-dasharray:3 3}.c94-ea.is-ghost-h{fill:rgba(200,215,230,.55)}
.c94-dh{stroke:#9CC8F2;stroke-width:1.6}.c94-dh-h{fill:#9CC8F2}
.c94-eal{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c94-eal.is-cat{fill:#F0D27A}.c94-eal.is-hot{fill:#F6BE86}.c94-eal.is-ghost{fill:var(--text-secondary);font-weight:600}
.c94-dhl{fill:#9CC8F2;font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c94-lvl{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif}
.c94-top{fill:var(--gold-light);font:700 15px 'Inter',system-ui,sans-serif}
.c94-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c94-mtitle{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.c94-mtrack{fill:rgba(255,255,255,.05);stroke:rgba(220,230,240,.35);stroke-width:1.2}
.c94-mbar{fill:rgba(242,166,94,.55)}
.c94-mtick{stroke:rgba(220,230,240,.55);stroke-width:1.2}
.c94-mnow{fill:#F6BE86;stroke:#15120F;stroke-width:1.2}
.c94-mghost{fill:none;stroke:rgba(220,230,240,.8);stroke-width:1.6}
.c94-mval{fill:#F6BE86;font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c94-mleg{fill:var(--text-secondary);font:13.5px 'Inter',system-ui,sans-serif}
/* figure grids and particle boxes */
.c94-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:10px}
.c94-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}
.c94-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c94-ct{margin:2px 4px 2px;color:var(--gold-light);font-weight:700;font-size:.98rem;line-height:1.4;text-align:center}
.c94-duo .c94-prof{min-width:0}
.c94-pbox{display:block;width:100%;max-width:360px;height:auto;margin:0 auto}
.c94-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c94-box.is-hot{fill:rgba(242,166,94,.09);stroke:rgba(242,166,94,.7)}
.c94-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c94-legt{fill:var(--text-primary);font:600 15px 'Inter',system-ui,sans-serif}
/* text blocks */
.c94-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:10px;margin:14px 0}
.c94-card{border:1px solid var(--v2-border);border-left:4px solid #7FD0F0;border-radius:12px;padding:12px 14px;background:var(--v2-surface)}
.c94-card.is-kin,.c94-card.is-spark{border-left-color:#F2A65E}
.c94-card.is-cat{border-left-color:#E6C35C}
.c94-card h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.c94-card p{margin:0;color:var(--text-secondary)}
.c94-link{margin:12px 0;padding:10px 12px;border:1px dashed var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c94-small{color:var(--text-secondary)}
.c94-flow{display:grid;gap:8px;margin:14px 0}
.c94-step{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c94-step p{margin:0;line-height:1.6}
.c94-step.is-end{border-color:#6EC88C;background:rgba(110,200,140,.08)}
.c94-sn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(205,163,73,.18);color:var(--gold-light);font-weight:800}
/* tables (override the house minimum width) */
.c94-tablewrap{margin:12px 0 14px}
.c94-lesson table.c94-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c94-table th,.c94-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c94-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c94-table tbody th{color:var(--gold-light);font-weight:650}
.c94-lesson table.c94-fav-t{min-width:560px}
.c94-lesson table.c94-cmp-t{min-width:480px}
.c94-lesson table.c94-four-t{min-width:440px}
.c94-lesson table.c94-gf-t{max-width:360px}
.c94-table td:nth-child(2){white-space:nowrap}
.c94-lesson table.c94-cat-t td:nth-child(2),.c94-lesson table.c94-cmp-t td:nth-child(2){white-space:normal}
/* review */
.c94-choices{margin:6px 0 12px;padding-left:28px}.c94-choices li{margin-bottom:5px;line-height:1.55}
.c94-mc .pes16-scroll,.c94-mc .pes16-figure,.c94-fr .pes16-figure{margin:10px 0}
.c94-parts{margin:6px 0 10px;padding-left:28px}.c94-parts li{margin-bottom:6px;line-height:1.55}
.c94-fr details p{margin:0 0 8px}.c94-fr details p:last-child{margin-bottom:0}
.c94-inv{margin:14px 0;padding-left:26px}.c94-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c94-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c94-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c94-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c94-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c94-xgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;align-items:start;margin-top:4px}
.c94-xfigs{min-width:0;display:grid;gap:8px}
.c94-xfigs .c94-figwrap{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c94-lesson #c94-explorer .pes16-readout{margin-top:0}
.c94-row{display:block;margin-bottom:6px;overflow-wrap:anywhere}
.c94-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c94-key.is-stuck{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c94-key.is-go{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c94-key.is-eqm{background:rgba(127,178,240,.1);border:1px solid rgba(127,178,240,.6)}
.c94-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c94-lesson .pes16-photo img,.c94-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:900px){
  .c94-xgrid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .c94-seg .ced-topic-button{flex:1 1 auto}
  .c94-xeq,.c94-link{padding:8px 10px}
  .c94-choices,.c94-parts{padding-left:24px}
  .c94-table th,.c94-table td{padding:7px 5px}.c94-lesson table.c94-table{font-size:.9rem}
  .c94-pbox .c94-legt{font-size:16px}.c94-pbox .c94-boxt{font-size:16px}
  .c94-cell{padding:4px 2px}
  .c94-duo .c94-axl,.c94-duo .c94-eal,.c94-duo .c94-dhl,.c94-duo .c94-lvl{font-size:15px}.c94-duo .c94-top{font-size:16px}
  .c94-step{padding:8px 10px;gap:10px}
}

/* ---------- Topic 9.5 Learn (ced-topic95-learn.js) ---------- */
.c95-lesson [hidden]{display:none!important}
/* the ΔG° ↔ K scale */
.c95-lesson .c95-svg{display:block;width:100%;height:auto;margin:0 auto}
.c95-lesson .c95-scale{min-width:340px;max-width:620px}
.c95-zfav{fill:rgba(110,200,140,.30)}
.c95-zunf{fill:rgba(224,122,106,.26)}
.c95-zband{fill:rgba(240,210,122,.42)}
.c95-barline{fill:none;stroke:rgba(220,230,240,.6);stroke-width:1.4}
.c95-bandlab{fill:#15120F;font:700 13px 'Inter',system-ui,sans-serif}
.c95-tk{stroke:rgba(220,230,240,.75);stroke-width:1.4}
.c95-tk.is-minor{stroke:rgba(220,230,240,.4);stroke-width:1}
.c95-tick{fill:var(--text-secondary);font:13.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c95-axl{fill:var(--text-secondary);font:600 13.5px 'Inter',system-ui,sans-serif}
.c95-leg{font:600 13.5px 'Inter',system-ui,sans-serif}
.c95-leg.is-fav{fill:#8FD8A6}
.c95-leg.is-unf{fill:#F0A898}
.c95-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c95-dot{fill:#E6E0D2;stroke:#15120F;stroke-width:1.5}
.c95-lead{stroke:rgba(220,230,240,.55);stroke-width:1.2;stroke-dasharray:3 3}
.c95-mlab{fill:var(--text-primary);font:700 13.5px 'Inter',system-ui,sans-serif}
.c95-needle{stroke:#fff;stroke-width:2.4}
.c95-ndot{fill:#fff;stroke:#15120F;stroke-width:2}
.c95-nlab{fill:#fff;font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
/* particle boxes */
.c95-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px}
.c95-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c95-solo{max-width:340px;margin:10px auto;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c95-pbox{display:block;width:100%;max-width:360px;height:auto;margin:0 auto}
.c95-box{fill:rgba(255,255,255,.025);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c95-boxt{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c95-legt{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c95-legnote{fill:var(--text-secondary);font:13.5px 'Inter',system-ui,sans-serif}
/* text blocks */
.c95-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c95-work p{margin:0 0 10px;line-height:1.7}.c95-work p:last-child{margin-bottom:0}
.c95-work .c95-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700}
.c95-aside{margin:12px 0;padding:10px 14px;border:1px dashed var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c95-aside summary{min-height:40px;display:flex;align-items:center;cursor:pointer;font-weight:650;color:var(--gold-light)}
.c95-aside p{margin:8px 0}
.c95-rules{margin:10px 0 14px;padding-left:24px}.c95-rules li{margin-bottom:8px;line-height:1.6}
.c95-small{color:var(--text-secondary)}
/* tables (override the house minimum width) */
.c95-tablewrap{margin:12px 0 14px}
.c95-lesson table.c95-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c95-table th,.c95-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c95-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c95-table tbody th{color:var(--gold-light);font-weight:650}
.c95-lesson table.c95-mid td{text-align:center}
.c95-lesson table.c95-house-t{min-width:640px}
.c95-lesson table.c95-est-t{min-width:440px}
.c95-lesson table.c95-house-t td:nth-child(2),.c95-lesson table.c95-house-t td:nth-child(3){white-space:nowrap}
/* review */
.c95-choices{margin:6px 0 12px;padding-left:28px}.c95-choices li{margin-bottom:5px;line-height:1.55}
.c95-mc .pes16-scroll,.c95-mc .pes16-figure,.c95-fr .pes16-scroll{margin:10px 0}
.c95-parts{margin:6px 0 10px;padding-left:28px}.c95-parts li{margin-bottom:6px;line-height:1.55}
.c95-fr details p{margin:0 0 8px}.c95-fr details p:last-child{margin-bottom:0}
.c95-inv{margin:14px 0;padding-left:26px}.c95-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c95-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c95-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c95-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c95-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c95-lesson #c95-explorer .pes16-controls label{flex:1 1 240px}
.c95-lesson #c95-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c95-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c95-xgrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px;align-items:start;margin-top:4px}
.c95-xside{min-width:0}
.c95-xside .pes16-readout{margin-top:10px;overflow-wrap:anywhere}
.c95-xbox{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c95-row{display:block;margin-bottom:5px}
.c95-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c95-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c95-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c95-key.is-note{background:rgba(205,163,73,.08);border:1px solid rgba(205,163,73,.5)}
.c95-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c95-lesson .pes16-photo img,.c95-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:900px){
  .c95-xgrid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .c95-seg .ced-topic-button{flex:1 1 auto}
  .c95-work,.c95-xeq,.c95-aside{padding:10px}
  .c95-choices,.c95-parts{padding-left:24px}
  .c95-table th,.c95-table td{padding:7px 5px}.c95-lesson table.c95-table{font-size:.9rem}
  .c95-pbox .c95-legt{font-size:15px}.c95-pbox .c95-boxt{font-size:16px}
}

/* ---------- Topic 9.6 Learn (ced-topic96-learn.js) ---------- */
.c96-lesson [hidden]{display:none!important}
/* bars, model and particle figures */
.c96-lesson .c96-svg{display:block;width:100%;height:auto;margin:0 auto}
.c96-lesson .c96-bfig{min-width:300px;max-width:440px}
.c96-lesson .c96-mfig{min-width:340px;max-width:560px}
.c96-lesson .c96-pfig{min-width:340px;max-width:600px}
.c96-grid{stroke:rgba(255,255,255,.09);stroke-width:1}
.c96-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.6}
.c96-zero{stroke:rgba(235,240,245,.85);stroke-width:1.6}
.c96-tick{fill:var(--text-secondary);font:14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c96-axl{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif}
.c96-bar{stroke:#15120F;stroke-width:1.2}
.c96-bar.is-h{fill:#E6A25C}
.c96-bar.is-s{fill:#7FB2F0}
.c96-bar.is-g.is-neg{fill:#6EC88C}
.c96-bar.is-g.is-pos{fill:#E07A6A}
.c96-conn{stroke:rgba(220,230,240,.6);stroke-width:1.2;stroke-dasharray:4 3}
.c96-conn.is-off{opacity:.2}
.c96-btitle{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c96-bcat{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c96-bval{font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c96-bval.is-h{fill:#F0B878}.c96-bval.is-s{fill:#9CC8F2}.c96-bval.is-neg{fill:#8FD8A6}.c96-bval.is-pos{fill:#F09A8C}
.c96-mtitle{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c96-msub{fill:#F0D27A;font:600 13.5px 'Inter',system-ui,sans-serif}
.c96-mgt{fill:var(--gold-light);font:700 14px 'Inter',system-ui,sans-serif}
.c96-msep{stroke:rgba(220,230,240,.25);stroke-width:1;stroke-dasharray:3 4}
.c96-mbar{stroke:#15120F;stroke-width:1.2}
.c96-mbar.is-h{fill:#E6A25C}
.c96-mbar.is-s{fill:#7FB2F0}
.c96-mbar.is-off{fill:none;stroke:rgba(220,230,240,.35);stroke-dasharray:3 3}
.c96-mnet{stroke:#fff;stroke-width:2}
.c96-mcat{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.c96-msign{fill:var(--text-secondary);font:700 14px 'Inter',system-ui,sans-serif}
.c96-msign.is-up{fill:#F09A8C}.c96-msign.is-down{fill:#8FD8A6}
.c96-msign.is-off{fill:var(--text-secondary);opacity:.45}
.c96-stage{fill:var(--gold-light);font:700 15px 'Inter',system-ui,sans-serif}
.c96-box{fill:rgba(120,180,230,.05);stroke:rgba(220,230,240,.45);stroke-width:1.6}
.c96-box.is-dim{fill:rgba(255,255,255,.01);stroke-dasharray:5 5;stroke:rgba(220,230,240,.3)}
.c96-boxt{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.c96-gone{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif}
.c96-shellring{fill:rgba(240,210,122,.05);stroke:rgba(240,210,122,.55);stroke-width:1.2;stroke-dasharray:2 4}
.c96-hole{fill:rgba(255,255,255,.04);stroke:#F0D27A;stroke-width:1.6;stroke-dasharray:3 3}
.c96-chg{fill:#fff;font:700 14px 'Inter',system-ui,sans-serif;paint-order:stroke;stroke:#15120F;stroke-width:3px}
.c96-figwrap{margin:10px 0}
.c96-duo,.c96-quad{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:10px}
.c96-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px}
.c96-duo .c96-figwrap,.c96-quad .c96-figwrap,.c96-trio .c96-figwrap{margin:0}
/* text blocks */
.c96-h3{margin:20px 0 6px;font-size:1.08rem;color:var(--gold)}
.c96-link{padding-left:12px;border-left:3px solid rgba(205,163,73,.55)}
.c96-claim{margin:12px 0;padding:10px 14px;border:1px solid #7FB2F0;border-radius:10px;background:rgba(127,178,240,.07);font-weight:650}
.c96-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c96-work p{margin:0 0 10px;line-height:1.7}.c96-work p:last-child{margin-bottom:0}
.c96-work .c96-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700}
.c96-small{color:var(--text-secondary)}
.c96-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin:14px 0}
.c96-card{padding:10px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);min-width:0}
.c96-card.is-ok{border-top:3px solid #6EC88C}.c96-card.is-off{border-top:3px solid #E07A6A}
.c96-card h3{margin:4px 0 8px;font-size:1.02rem;color:var(--gold-light)}
.c96-card ul{margin:0;padding-left:22px}.c96-card li{margin-bottom:8px;line-height:1.6}
/* tables (override the house minimum width) */
.c96-tablewrap{margin:12px 0 14px}
.c96-lesson table.c96-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c96-table th,.c96-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c96-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c96-table tbody th{color:var(--gold-light);font-weight:650}
.c96-lesson table.c96-s-t,.c96-lesson table.c96-q1-t,.c96-lesson table.c96-q6-t{max-width:420px}
.c96-lesson table.c96-salts-t{min-width:700px}
.c96-lesson table.c96-steps-t{min-width:600px}
.c96-lesson table.c96-q5-t{min-width:440px}
/* review */
.c96-choices{margin:6px 0 12px;padding-left:28px}.c96-choices li{margin-bottom:5px;line-height:1.55}
.c96-mc .pes16-scroll,.c96-mc .pes16-figure,.c96-fr .pes16-scroll{margin:10px 0}
.c96-parts{margin:6px 0 10px;padding-left:28px}.c96-parts li{margin-bottom:6px;line-height:1.55}
.c96-fr details p{margin:0 0 8px}.c96-fr details p:last-child{margin-bottom:0}
.c96-inv{margin:14px 0;padding-left:26px}.c96-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c96-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c96-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c96-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c96-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c96-lesson #c96-explorer .pes16-controls label{flex:1 1 240px}
.c96-lesson #c96-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c96-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c96-xgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;margin-top:4px}
.c96-xgrid .c96-figwrap{margin:0}
.c96-xbars{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;overflow-x:auto}
.c96-xgrid .pes16-readout{margin:0;overflow-wrap:anywhere}
.c96-row{display:block;margin-bottom:5px}
.c96-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c96-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c96-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c96-key.is-note{background:rgba(205,163,73,.08);border:1px solid rgba(205,163,73,.5)}
.c96-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c96-lesson .pes16-photo img,.c96-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:900px){
  .c96-xgrid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .c96-seg .ced-topic-button{flex:1 1 auto}
  .c96-work,.c96-xeq,.c96-claim,.c96-card{padding:10px}
  .c96-choices,.c96-parts{padding-left:24px}
  .c96-table th,.c96-table td{padding:7px 5px}.c96-lesson table.c96-table{font-size:.9rem}
}

/* ---------- Topic 9.7 Learn (ced-topic97-learn.js) ---------- */
.c97-lesson [hidden]{display:none!important}
/* the energy ladder */
.c97-lesson .c97-svg{display:block;width:100%;height:auto;margin:0 auto}
.c97-lesson .c97-ladder{min-width:340px;max-width:560px}
.c97-grid{stroke:rgba(220,230,240,.12);stroke-width:1}
.c97-axis{fill:none;stroke:rgba(220,230,240,.7);stroke-width:1.4}
.c97-tick{fill:var(--text-secondary);font:13.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c97-axl{fill:var(--text-secondary);font:600 13.5px 'Inter',system-ui,sans-serif}
.c97-lv{stroke:#E6E0D2;stroke-width:3.2;stroke-linecap:round}
.c97-guide{stroke:rgba(230,224,210,.45);stroke-width:1.3;stroke-dasharray:4 4}
.c97-sp{fill:var(--text-primary);font:600 13.5px 'Inter',system-ui,sans-serif}
.c97-shl{fill:#F0C75E;font-weight:800}
.c97-ar{stroke-width:2.6;fill:none}
.c97-ar.is-up,.c97-ar.is-no{stroke:#E07A6A}
.c97-ar.is-no{stroke-dasharray:6 5}
.c97-ar.is-dn{stroke:#6EC88C}
.c97-ar.is-sum{stroke:#F0C75E;stroke-width:3.4}
.c97-ah.is-up,.c97-ah.is-no{fill:#E07A6A}
.c97-ah.is-dn{fill:#6EC88C}
.c97-ah.is-sum{fill:#F0C75E}
.c97-al{font:700 13.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c97-al.is-up,.c97-al.is-no{fill:#F0A898}
.c97-al.is-dn{fill:#8FD8A6}
.c97-al.is-sum{fill:#F0C75E}
.c97-wv{fill:none;stroke:#F0C75E;stroke-width:2.4;stroke-linejoin:round}
.c97-wvh{fill:#F0C75E}
.c97-note{fill:#F0A898;font:italic 600 13.5px 'Inter',system-ui,sans-serif}
.c97-srcl{fill:#F0C75E;font:700 13.5px 'Inter',system-ui,sans-serif}
.c97-frame{fill:rgba(255,255,255,.02);stroke:rgba(220,230,240,.4);stroke-width:1.4;stroke-dasharray:6 5}
.c97-ftl{fill:var(--text-secondary);font:700 13.5px 'Inter',system-ui,sans-serif}
.c97-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
/* equations with a cancelled intermediate */
.c97-x{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:#F0C75E}
.c97-ledger p{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;row-gap:2px}
.c97-lt{font-weight:700;color:var(--text-secondary);min-width:4.4em}
.c97-lg{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
/* text blocks */
.c97-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c97-work p{margin:0 0 10px;line-height:1.7}.c97-work p:last-child{margin-bottom:0}
.c97-work .c97-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700}
.c97-rules{margin:10px 0 14px;padding-left:24px}.c97-rules li{margin-bottom:8px;line-height:1.6}
.c97-small{color:var(--text-secondary)}
/* tables (override the house minimum width) */
.c97-tablewrap{margin:12px 0 14px}
.c97-lesson table.c97-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c97-table th,.c97-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c97-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c97-table tbody th{color:var(--gold-light);font-weight:650}
.c97-lesson table.c97-unf-t{min-width:520px}
.c97-lesson table.c97-unf-t td:nth-child(2){white-space:nowrap}
.c97-lesson table.c97-model-t{min-width:480px}
.c97-lesson table.c97-q-t td{white-space:nowrap}
/* review */
.c97-choices{margin:6px 0 12px;padding-left:28px}.c97-choices li{margin-bottom:5px;line-height:1.55}
.c97-mc .pes16-scroll,.c97-mc .pes16-figure,.c97-fr .pes16-scroll{margin:10px 0}
.c97-parts{margin:6px 0 10px;padding-left:28px}.c97-parts li{margin-bottom:6px;line-height:1.55}
.c97-fr details p{margin:0 0 8px}.c97-fr details p:last-child{margin-bottom:0}
.c97-inv{margin:14px 0;padding-left:26px}.c97-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c97-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c97-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c97-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c97-modes{padding-top:10px;border-top:1px solid var(--v2-border)}
.c97-lesson #c97-explorer .pes16-controls label{flex:1 1 240px}
.c97-lesson #c97-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c97-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c97-xgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;align-items:start;margin-top:4px}
.c97-xgrid .pes16-readout{margin:0;overflow-wrap:anywhere}
.c97-xgrid .c97-figwrap{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c97-row{display:block;margin-bottom:6px}
.c97-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c97-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c97-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c97-key.is-note{background:rgba(205,163,73,.08);border:1px solid rgba(205,163,73,.5)}
.c97-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c97-lesson .pes16-photo img,.c97-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:900px){
  .c97-xgrid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .c97-seg .ced-topic-button{flex:1 1 auto}
  .c97-work{padding:10px}
  .c97-lg{margin-left:0;white-space:normal}
  .c97-choices,.c97-parts{padding-left:24px}
  .c97-table th,.c97-table td{padding:7px 5px}.c97-lesson table.c97-table{font-size:.9rem}
}

/* ---------- Topic 9.10 Learn (ced-topic910-learn.js) ---------- */
.c910-lesson [hidden]{display:none!important}
/* figures */
.c910-lesson .c910-svg{display:block;width:100%;height:auto;margin:0 auto}
.c910-lesson .c910-cell,.c910-lesson .c910-nfig,.c910-lesson .c910-zoom{min-width:340px;max-width:620px}
.c910-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
/* the cell diagram */
.c910-meter{fill:#2A2622;stroke:rgba(220,230,240,.55);stroke-width:1.4}
.c910-disp{fill:#0E1A14;stroke:rgba(220,230,240,.35);stroke-width:1}
.c910-dtxt{fill:#8FE3A8;font:700 15px 'JetBrains Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}
.c910-mtag{fill:var(--text-secondary);font:600 13px 'Inter',system-ui,sans-serif}
.c910-note{fill:var(--text-secondary);font:italic 13px 'Inter',system-ui,sans-serif}
.c910-wire{fill:none;stroke:#E8C27A;stroke-width:2.4;stroke-linejoin:round}
.c910-earr{stroke:#7FC8FF;stroke-width:2.6}
.c910-earr-h{fill:#7FC8FF}
.c910-elab{fill:#7FC8FF;font:700 14px 'Inter',system-ui,sans-serif}
.c910-sol{stroke:none}
.c910-glass{fill:none;stroke:rgba(220,235,245,.75);stroke-width:2.2}
.c910-elec{stroke:rgba(0,0,0,.45);stroke-width:1}
.c910-zn{fill:#A9B0B8}
.c910-cu{fill:#C8783E}
.c910-ag{fill:#D4D6DC}
.c910-met{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.c910-role{fill:var(--text-primary);font:700 13.5px 'Inter',system-ui,sans-serif}
.c910-role.is-an{fill:#F0B37A}
.c910-role.is-cat{fill:#8FC8F0}
.c910-conc{fill:var(--text-secondary);font:600 13.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c910-bglass{fill:none;stroke:rgba(220,235,245,.7);stroke-width:18;stroke-linejoin:round}
.c910-bgel{fill:none;stroke:#3A4550;stroke-width:12;stroke-linejoin:round}
.c910-plug{fill:#EDEDE8}
.c910-blab{fill:var(--text-primary);font:600 13.5px 'Inter',system-ui,sans-serif}
.c910-ion{font:700 13.5px 'Inter',system-ui,sans-serif}
.c910-ion.is-an{fill:#F0B37A}
.c910-ion.is-cat{fill:#8FC8F0}
/* E against log Q */
.c910-ftitle{fill:var(--text-primary);font:700 13.5px 'Inter',system-ui,sans-serif}
.c910-rfar{fill:rgba(110,200,140,.16)}
.c910-rnear{fill:rgba(240,210,122,.10)}
.c910-rlab{fill:var(--text-secondary);font:600 13px 'Inter',system-ui,sans-serif}
.c910-grid{stroke:rgba(220,230,240,.12);stroke-width:1}
.c910-tk{stroke:rgba(220,230,240,.75);stroke-width:1.4}
.c910-tk.is-minor{stroke:rgba(220,230,240,.4);stroke-width:1}
.c910-tick{fill:var(--text-secondary);font:13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c910-axis{fill:none;stroke:rgba(220,230,240,.75);stroke-width:1.4}
.c910-axl{fill:var(--text-secondary);font:600 13.5px 'Inter',system-ui,sans-serif}
.c910-vmark{stroke:rgba(220,230,240,.55);stroke-width:1.3;stroke-dasharray:4 4}
.c910-vmark.is-k{stroke:#F0A898}
.c910-vlab{fill:var(--text-primary);font:700 13px 'Inter',system-ui,sans-serif}
.c910-vlab.is-k{fill:#F0A898}
.c910-nline{stroke:var(--gold-light);stroke-width:2.6}
.c910-pt{fill:#E6E0D2;stroke:#15120F;stroke-width:1.5}
.c910-lead{stroke:rgba(220,230,240,.55);stroke-width:1.2;stroke-dasharray:3 3}
.c910-lead.is-cur{stroke:rgba(255,255,255,.75)}
.c910-mlab{fill:var(--text-primary);font:700 13.5px 'Inter',system-ui,sans-serif}
.c910-runlab{fill:var(--text-secondary);font:italic 600 13.5px 'Inter',system-ui,sans-serif}
.c910-cur{fill:#fff;stroke:#15120F;stroke-width:2}
.c910-curlab{fill:#fff;font:700 14px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
/* particle zoom */
.c910-zbg{fill:rgba(38,112,232,.20)}
.c910-zbg.is-dil{fill:rgba(38,112,232,.07)}
.c910-zring{fill:none;stroke:rgba(220,230,240,.6);stroke-width:1.8}
.c910-zt{font:700 14px 'Inter',system-ui,sans-serif}
.c910-zt.is-an{fill:#F0B37A}
.c910-zt.is-cat{fill:#8FC8F0}
.c910-zarr{stroke:#fff;stroke-width:2.2}
.c910-zarr-h{fill:#fff}
.c910-ze{fill:#7FC8FF;font:700 13px 'Inter',system-ui,sans-serif}
.c910-zeq{fill:var(--text-primary);font:600 13.5px 'Inter',system-ui,sans-serif}
.c910-leg{fill:var(--text-secondary);font:600 13px 'Inter',system-ui,sans-serif}
/* text blocks */
.c910-aside{margin:12px 0;padding:10px 14px;border:1px dashed var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c910-aside summary{min-height:40px;display:flex;align-items:center;cursor:pointer;font-weight:650;color:var(--gold-light)}
.c910-aside p{margin:8px 0}
.c910-der{font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c910-rules{margin:10px 0 14px;padding-left:24px}.c910-rules li{margin-bottom:8px;line-height:1.6}
.c910-small{color:var(--text-secondary)}
/* tables (override the house minimum width) */
.c910-tablewrap{margin:12px 0 14px}
.c910-lesson table.c910-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c910-table th,.c910-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c910-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c910-table tbody th{color:var(--gold-light);font-weight:650}
.c910-lesson table.c910-nern-t{min-width:560px}
.c910-lesson table.c910-chg-t{min-width:600px}
/* review */
.c910-choices{margin:6px 0 12px;padding-left:28px}.c910-choices li{margin-bottom:5px;line-height:1.55}
.c910-mc .pes16-scroll,.c910-mc .pes16-figure,.c910-fr .pes16-scroll{margin:10px 0}
.c910-parts{margin:6px 0 10px;padding-left:28px}.c910-parts li{margin-bottom:6px;line-height:1.55}
.c910-fr details p{margin:0 0 8px}.c910-fr details p:last-child{margin-bottom:0}
.c910-inv{margin:14px 0;padding-left:26px}.c910-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c910-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c910-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c910-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c910-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c910-lesson #c910-explorer .pes16-controls label{flex:1 1 240px}
.c910-lesson #c910-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c910-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c910-xgrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px;align-items:start;margin-top:4px}
.c910-xfigs{min-width:0;display:grid;gap:10px}
.c910-xgrid .pes16-readout{margin:0;overflow-wrap:anywhere;min-width:0}
.c910-row{display:block;margin-bottom:5px}
.c910-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c910-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c910-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c910-key.is-note{background:rgba(205,163,73,.08);border:1px solid rgba(205,163,73,.5)}
.c910-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c910-lesson .pes16-photo img,.c910-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:900px){
  .c910-xgrid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .c910-seg .ced-topic-button{flex:1 1 auto}
  .c910-xeq,.c910-aside{padding:10px}
  .c910-choices,.c910-parts{padding-left:24px}
  .c910-table th,.c910-table td{padding:7px 5px}.c910-lesson table.c910-table{font-size:.9rem}
}

/* ---------- Topic 9.9 Learn (ced-topic99-learn.js) ---------- */
.c99-lesson [hidden]{display:none!important}
/* figures: cell diagram, surface zooms, potential ladder */
.c99-lesson .c99-svg{display:block;width:100%;height:auto;margin:0 auto}
.c99-lesson .c99-cell{min-width:340px;max-width:560px}
.c99-lesson .c99-ladder{min-width:220px;max-width:340px}
.c99-cellwrap,.c99-ladwrap{margin:0 0 8px}
.c99-zooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:440px;margin:6px auto 0}
.c99-zooms .c99-zoom{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:2px}
.c99-t{fill:var(--text-primary);font:13.5px 'Inter',system-ui,sans-serif}
.c99-role{font-weight:700;fill:var(--gold-light)}
.c99-e{font-weight:700;fill:#8FD0FF}
.c99-ion{font-weight:650;fill:#F2D58A}
.c99-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c99-glass{fill:none;stroke:rgba(220,230,240,.75);stroke-width:2.2;stroke-linejoin:round}
.c99-surf{stroke:rgba(220,235,250,.45);stroke-width:1.2}
.c99-elec{stroke:rgba(0,0,0,.55);stroke-width:1.2}
.c99-tube{fill:rgba(220,235,250,.10);stroke:rgba(220,230,240,.6);stroke-width:1.2}
.c99-bub{fill:rgba(235,245,255,.25);stroke:rgba(235,245,255,.8);stroke-width:1}
.c99-bridge-o{fill:none;stroke:rgba(220,230,240,.7);stroke-width:20;stroke-linecap:butt}
.c99-bridge-i{fill:none;stroke:#2A3A46;stroke-width:15;stroke-linecap:butt}
.c99-plug{fill:#E8E2D0;stroke:rgba(0,0,0,.4);stroke-width:1}
.c99-wire{fill:none;stroke:#D9A441;stroke-width:2.6;stroke-linejoin:round}
.c99-meter{fill:#2B2622;stroke:rgba(220,230,240,.6);stroke-width:1.6}
.c99-disp{fill:#0F1A14;stroke:rgba(140,220,170,.45);stroke-width:1}
.c99-dtxt{fill:#9BF0B8;font:700 15px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c99-earr{stroke:#8FD0FF;stroke-width:2.4}
.c99-earr-h{fill:#8FD0FF}
.c99-zsol{opacity:.9}
.c99-zring{fill:none;stroke:rgba(220,230,240,.7);stroke-width:2}
.c99-vac{fill:none;stroke:#F2D58A;stroke-width:1.6;stroke-dasharray:3 3}
.c99-new{fill:none;stroke:#F2D58A;stroke-width:2}
.c99-zarr{stroke:#F2D58A;stroke-width:2.2}
.c99-zarr-h{fill:#F2D58A}
.c99-zl{fill:var(--text-primary);font:600 12.5px 'Inter',system-ui,sans-serif}
.c99-zcap{fill:var(--text-primary);font:600 13px 'Inter',system-ui,sans-serif}
.c99-grid{stroke:rgba(220,230,240,.12);stroke-width:1}
.c99-tick{fill:var(--text-secondary);font:13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c99-axis{stroke:rgba(220,230,240,.75);stroke-width:1.6}
.c99-axl{fill:var(--text-secondary);font:600 13px 'Inter',system-ui,sans-serif}
.c99-mk{stroke:rgba(220,230,240,.55);stroke-width:1.4}
.c99-larr{stroke:#D9A441;stroke-width:3}
.c99-larr-h{fill:#D9A441}
.c99-larr.is-dn{stroke:#E07A6A}
.c99-larr-h.is-dn{fill:#E07A6A}
.c99-ldot{stroke:#15120F;stroke-width:1.5}
.c99-ldot.is-cat{fill:#D9A441}
.c99-ldot.is-an{fill:#8FD0FF}
.c99-ladfig .pes16-scroll{max-width:360px;margin-left:auto;margin-right:auto}
/* text blocks */
.c99-h3{margin:18px 0 8px}
.c99-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c99-work p{margin:0 0 10px;line-height:1.7}.c99-work p:last-child{margin-bottom:0}
.c99-work .c99-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700}
.c99-rules{margin:10px 0 14px;padding-left:24px}.c99-rules li{margin-bottom:8px;line-height:1.6}
.c99-small{color:var(--text-secondary)}
/* tables (override the house minimum width) */
.c99-tablewrap{margin:12px 0 14px}
.c99-lesson table.c99-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c99-table th,.c99-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c99-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c99-table tbody th{color:var(--gold-light);font-weight:650}
.c99-lesson table.c99-red-t,.c99-lesson table.c99-mini-t{max-width:520px}
.c99-lesson table.c99-red-t td,.c99-lesson table.c99-mini-t td{text-align:right;white-space:nowrap;width:5.5em}
.c99-lesson table.c99-three-t{min-width:440px}
.c99-lesson table.c99-three-t td{text-align:center;white-space:nowrap}
.c99-lesson table.c99-k-t{min-width:420px}
/* review */
.c99-choices{margin:6px 0 12px;padding-left:28px}.c99-choices li{margin-bottom:5px;line-height:1.55}
.c99-mc .pes16-scroll,.c99-mc .pes16-figure,.c99-fr .pes16-scroll{margin:10px 0}
.c99-parts{margin:6px 0 10px;padding-left:28px}.c99-parts li{margin-bottom:6px;line-height:1.55}
.c99-fr details p{margin:0 0 8px}.c99-fr details p:last-child{margin-bottom:0}
.c99-inv{margin:14px 0;padding-left:26px}.c99-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c99-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c99-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c99-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c99-seglab{font-weight:650;color:var(--text-secondary);margin-right:2px}
.c99-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c99-lesson #c99-explorer .pes16-controls label{flex:1 1 220px}
.c99-lesson #c99-explorer select{font-size:16px;min-height:44px;width:100%}
.c99-xgrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px;align-items:start;margin-top:4px}
.c99-xmain,.c99-xside{min-width:0}
.c99-xside .pes16-readout{margin-top:10px;overflow-wrap:anywhere}
.c99-row{display:block;margin-bottom:5px}
.c99-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c99-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c99-key.is-off{background:rgba(224,122,106,.08);border:1px solid rgba(224,122,106,.6)}
.c99-key.is-note{background:rgba(205,163,73,.08);border:1px solid rgba(205,163,73,.5)}
.c99-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c99-lesson .pes16-photo img,.c99-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:900px){
  .c99-xgrid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .c99-seg .ced-topic-button{flex:1 1 auto}
  .c99-work,.c99-xeq{padding:10px}
  .c99-choices,.c99-parts{padding-left:24px}
  .c99-table th,.c99-table td{padding:7px 5px}.c99-lesson table.c99-table{font-size:.9rem}
  .c99-lesson table.c99-red-t td,.c99-lesson table.c99-mini-t td{width:4.5em}
}
/* two zooms side by side would shrink their labels below 11 px on a phone: stack them */
@media(max-width:520px){
  .c99-zooms{grid-template-columns:minmax(0,1fr);max-width:250px}
}

/* ---------- Topic 9.11 Learn (ced-topic911-learn.js) ---------- */
.c911-lesson [hidden]{display:none!important}
/* figures */
.c911-lesson .c911-svg{display:block;width:100%;height:auto;margin:0 auto}
.c911-pair{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px;align-items:center}
.c911-cellbox{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c911-zbox .c911-zoomsvg{max-width:320px}
.c911-solo{max-width:560px;margin:10px auto;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px}
.c911-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}
.c911-cell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c911-csvg{max-width:320px}
/* the cell */
.c911-ps{fill:#2A2E35;stroke:rgba(220,230,240,.55);stroke-width:1.5}
.c911-pst{fill:var(--text-primary);font:700 15.5px 'Inter',system-ui,sans-serif}
.c911-disp{fill:#11161C;stroke:rgba(220,230,240,.35);stroke-width:1}
.c911-dispt{fill:#8FE3A8;font:700 15.5px 'JetBrains Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}
.c911-term{fill:#B9BEC6;stroke:#15120F;stroke-width:1.2}
.c911-wire{fill:none;stroke:#D9A441;stroke-width:2.6;stroke-linejoin:round}
.c911-earr{fill:#FFD54A;stroke:#15120F;stroke-width:1}
.c911-elab{fill:#FFD54A;font:700 15.5px 'Inter',system-ui,sans-serif}
.c911-sol-blue{fill:rgba(64,140,232,.42)}
.c911-sol-clear{fill:rgba(200,222,240,.10)}
.c911-sol-melt{fill:rgba(240,160,70,.30)}
.c911-surf{stroke:rgba(220,235,250,.55);stroke-width:1.2}
.c911-glass{fill:none;stroke:rgba(220,235,250,.7);stroke-width:2.4;stroke-linejoin:round}
.c911-crucible{fill:none;stroke:#B9A88E;stroke-width:5;stroke-linejoin:round}
.c911-el{stroke:rgba(15,18,15,.65);stroke-width:1}
.c911-coat{stroke:rgba(15,18,15,.5);stroke-width:.8}
.c911-bub{stroke:rgba(255,255,255,.55);stroke-width:1}
.c911-bub.is-cl2{fill:rgba(200,228,110,.75)}
.c911-bub.is-co2{fill:rgba(220,225,230,.45)}
.c911-ion{fill:var(--text-primary);font:700 15.5px 'Inter',system-ui,sans-serif}
.c911-mig{stroke:rgba(230,236,244,.85);stroke-width:2}
.c911-migh{fill:rgba(230,236,244,.85)}
.c911-bath{fill:var(--text-primary);font:600 15.5px 'Inter',system-ui,sans-serif}
.c911-dm{font:700 15.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c911-dm.is-gain{fill:#8FD8A6}
.c911-dm.is-loss{fill:#F0A898}
.c911-role{fill:var(--gold-light);font:700 15.5px 'Inter',system-ui,sans-serif}
.c911-lab{fill:var(--text-secondary);font:600 15.5px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
/* the zoom and the electron-count panels */
.c911-zmetal{fill:rgba(40,36,32,.55)}
.c911-zring{fill:none;stroke:rgba(220,230,240,.7);stroke-width:2}
.c911-zpath{fill:none;stroke:rgba(230,236,244,.75);stroke-width:1.8;stroke-dasharray:5 4}
.c911-edot{fill:#FFD54A;stroke:#15120F;stroke-width:1.2}
.c911-zt{fill:#FFD54A;font:700 14px 'Inter',system-ui,sans-serif}
.c911-zchg{fill:var(--text-primary);font:700 14px 'Inter',system-ui,sans-serif}
.c911-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c911-zlab{fill:var(--text-secondary);font:600 14px 'Inter',system-ui,sans-serif}
.c911-zeq{fill:var(--text-primary);font:700 15px 'Inter',system-ui,sans-serif}
.c911-pt{fill:var(--gold-light);font:700 15px 'Inter',system-ui,sans-serif}
.c911-et{fill:#15120F;font:700 12px 'Inter',system-ui,sans-serif}
.c911-arr{stroke:rgba(230,236,244,.8);stroke-width:2.2}
.c911-arrh{fill:rgba(230,236,244,.8)}
.c911-pl{fill:var(--text-primary);font:600 14px 'Inter',system-ui,sans-serif}
/* the routine */
.c911-road{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;margin:10px 0}
.c911-rbox{flex:1 1 120px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:8px 10px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);min-width:0;overflow-wrap:anywhere}
.c911-rbox.is-end{border-color:var(--gold);background:rgba(205,163,73,.1)}
.c911-rlab{font-weight:650;color:var(--gold-light);font-size:.92rem}
.c911-rval{font-variant-numeric:tabular-nums;font-weight:650}
.c911-rarr{flex:0 1 auto;align-self:center;display:flex;flex-direction:column;align-items:center;font-size:.86rem;color:var(--text-secondary);text-align:center;max-width:130px}
.c911-rarr::after{content:'→';font-size:1.3rem;line-height:1;color:var(--gold-light)}
/* text blocks */
.c911-work{padding:12px 14px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);margin:12px 0;overflow-wrap:anywhere}
.c911-work p{margin:0 0 10px;line-height:1.7}.c911-work p:last-child{margin-bottom:0}
.c911-work .c911-sum{padding-top:8px;border-top:1px solid var(--v2-border);color:var(--gold-light);font-weight:700}
.c911-rules{margin:10px 0 14px;padding-left:24px}.c911-rules li{margin-bottom:8px;line-height:1.6}
.c911-small{color:var(--text-secondary)}
/* tables (override the house minimum width) */
.c911-tablewrap{margin:12px 0 14px}
.c911-lesson table.c911-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.c911-table th,.c911-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c911-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c911-table tbody th{color:var(--gold-light);font-weight:650}
.c911-lesson table.c911-ion-t{min-width:640px}
.c911-lesson table.c911-ion-t td:nth-child(3){text-align:center}
.c911-lesson table.c911-pot-t{min-width:320px}
.c911-lesson table.c911-pot-t td:nth-child(2){white-space:nowrap;text-align:center}
/* review */
.c911-choices{margin:6px 0 12px;padding-left:28px}.c911-choices li{margin-bottom:5px;line-height:1.55}
.c911-mc .pes16-scroll,.c911-fr .pes16-figure,.c911-fr .pes16-scroll{margin:10px 0}
.c911-parts{margin:6px 0 10px;padding-left:28px}.c911-parts li{margin-bottom:6px;line-height:1.55}
.c911-fr details p{margin:0 0 8px}.c911-fr details p:last-child{margin-bottom:0}
.c911-inv{margin:14px 0;padding-left:26px}.c911-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c911-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c911-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c911-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c911-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c911-lesson #c911-explorer .pes16-controls label{flex:1 1 240px}
.c911-lesson #c911-explorer .pes16-controls b{color:var(--gold-light);font-variant-numeric:tabular-nums}
.c911-lesson input[type=range]{width:100%;min-width:160px;min-height:40px;accent-color:var(--gold)}
.c911-xgrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px;align-items:center;margin-top:4px}
.c911-lesson #c911-explorer .pes16-readout{margin-top:10px;overflow-wrap:anywhere}
.c911-row{display:block;margin-bottom:5px}
.c911-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c911-key.is-ok{background:rgba(110,200,140,.12);border:1px solid #6EC88C}
.c911-key.is-note{background:rgba(205,163,73,.08);border:1px solid rgba(205,163,73,.5)}
.c911-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c911-lesson .pes16-photo img,.c911-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
@media(max-width:900px){
  .c911-pair,.c911-xgrid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .c911-seg .ced-topic-button{flex:1 1 auto}
  .c911-work,.c911-xeq{padding:10px}
  .c911-choices,.c911-parts{padding-left:24px}
  .c911-table th,.c911-table td{padding:7px 5px}.c911-lesson table.c911-table{font-size:.9rem}
  .c911-road{flex-direction:column}
  .c911-rbox{flex:0 0 auto}
  .c911-rarr{max-width:none;flex-direction:row;gap:8px}
  .c911-rarr::after{content:'↓';order:-1}
}

/* phones: keep the cell figure's 15.5-unit labels at 11 px or more (scroll a little instead of shrinking) */
.c911-cellbox,.c911-solo{overflow-x:auto}
.c911-cellsvg{min-width:320px}

/* ---------- Topic 9.8 Learn (ced-topic98-learn.js) ---------- */
.c98-lesson [hidden]{display:none!important}
/* cell figures */
.c98-lesson .c98-svg{display:block;width:100%;height:auto;margin:0 auto}
.c98-lesson .c98-cellfig{min-width:330px;max-width:540px}
.c98-lesson .c98-zoomfig{max-width:300px}
.c98-t{fill:var(--text-primary);font:600 15px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.c98-t.is-b{font-weight:700}
.c98-t.is-s{fill:var(--text-secondary);font-weight:500;font-size:14.5px}
.c98-role{fill:var(--gold-light);font-weight:700}
.c98-half{font-weight:600}
.c98-read{fill:#9BF0B4;font:700 16px 'JetBrains Mono',ui-monospace,monospace}
.c98-elab{fill:#7FD3FF;font-weight:700}
.c98-anl{fill:#F5A3A3;font-weight:700}
.c98-cal{fill:#A9C4FF;font-weight:700}
.c98-chg{font-weight:800;font-size:15px}
.c98-halo{paint-order:stroke;stroke:#15120F;stroke-width:4px;stroke-linejoin:round}
.c98-glass{fill:none;stroke:rgba(220,230,240,.62);stroke-width:2.2;stroke-linejoin:round}
.c98-surf{stroke:rgba(220,230,240,.35);stroke-width:1.2}
.c98-liq{stroke:none}
.c98-wire{fill:none;stroke:#C9CDD3;stroke-width:2.4;stroke-linejoin:round}
.c98-hang{stroke:#C9CDD3;stroke-width:1.6}
.c98-clipr{fill:#2B2E33;stroke:#9AA0A8;stroke-width:1}
.c98-strip{stroke:rgba(0,0,0,.45);stroke-width:1}
.c98-strip.is-inert{stroke:rgba(255,255,255,.25)}
.c98-dep{stroke:rgba(0,0,0,.35);stroke-width:1;stroke-dasharray:2 2}
.c98-key{stroke:rgba(0,0,0,.5);stroke-width:1}
.c98-keyhole{fill:#15120F}
.c98-dev{fill:#24272C;stroke:rgba(220,230,240,.55);stroke-width:1.6}
.c98-disp{fill:#0E1A12;stroke:rgba(155,240,180,.35);stroke-width:1}
.c98-clock{fill:#F2F2EE;stroke:#9AA0A8;stroke-width:2}
.c98-tick{stroke:#30343A;stroke-width:1.4}
.c98-hand{stroke:#15120F;stroke-width:2;stroke-linecap:round}
.c98-bout{fill:none;stroke:rgba(220,230,240,.55);stroke-width:22;stroke-linejoin:round}
.c98-bin{fill:none;stroke-width:16;stroke-linejoin:round}
.c98-plug{fill:#F4F1EA;stroke:rgba(0,0,0,.25);stroke-width:1}
.c98-ppt{fill:rgba(245,245,240,.88);stroke:rgba(0,0,0,.2);stroke-width:1}
.c98-bub{stroke:rgba(255,255,255,.75);stroke-width:1}
.c98-na{fill:#D7DBE0;stroke:rgba(0,0,0,.35);stroke-width:.8}
.c98-ae{stroke:#7FD3FF;stroke-width:2.6}.c98-ae-h{fill:#7FD3FF}
.c98-aa{stroke:#F28C8C;stroke-width:2.6}.c98-aa-h{fill:#F28C8C}
.c98-ac{stroke:#8FB5FF;stroke-width:2.6}.c98-ac-h{fill:#8FB5FF}
.c98-az{stroke:#F0D27A;stroke-width:2.2}.c98-az-h{fill:#F0D27A}
.c98-fb{fill:#8A8F96;stroke:#15120F;stroke-width:.8}
/* particle zooms */
.c98-zbg{fill:rgba(160,205,240,.08)}
.c98-zc{fill:none;stroke:rgba(220,230,240,.6);stroke-width:2}
.c98-vac{fill:none;stroke:#F0D27A;stroke-width:1.6;stroke-dasharray:4 3}
.c98-new{fill:none;stroke:#F0D27A;stroke-width:2.2}
.c98-e{fill:#7FD3FF;stroke:#15120F;stroke-width:1}
.c98-inertz{fill:#4E535A}
.c98-steel{fill:#7D858E}
.c98-inertl{stroke:rgba(255,255,255,.12);stroke-width:1.2}
.c98-zooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px;margin:12px 0}
.c98-zcell{border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);padding:6px 4px;min-width:0}
.c98-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px}
.c98-pair .pes16-figure{margin-top:0}
/* text blocks */
.c98-h3{margin:22px 0 8px}
.c98-note{margin:10px 0;padding:10px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface)}
.c98-aside{margin:12px 0;padding:10px 14px;border:1px dashed var(--v2-border);border-radius:10px;background:var(--v2-surface);color:var(--text-secondary)}
.c98-rules{margin:10px 0 14px;padding-left:24px}.c98-rules li{margin-bottom:8px;line-height:1.6}
.c98-small{color:var(--text-secondary)}
/* tables (override the house minimum width) */
.c98-tablewrap{margin:12px 0 14px}
.c98-lesson table.c98-table{min-width:0;width:100%;border-collapse:collapse;font-size:.94rem}
.c98-table th,.c98-table td{padding:8px 10px;border:1px solid var(--v2-border);text-align:left;vertical-align:top}
.c98-table thead th{background:rgba(205,163,73,.1);color:var(--text-primary)}
.c98-table tbody th{color:var(--gold-light);font-weight:650}
.c98-lesson table.c98-eo{max-width:560px}
.c98-lesson table.c98-eo td{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.c98-lesson table.c98-parts-t,.c98-lesson table.c98-mod-t{min-width:560px}
.c98-lesson table.c98-cmp-t{min-width:480px}
/* review */
.c98-choices{margin:6px 0 12px;padding-left:28px}.c98-choices li{margin-bottom:5px;line-height:1.55}
.c98-mc .pes16-scroll,.c98-mc .pes16-figure,.c98-fr .pes16-scroll,.c98-fr .pes16-figure{margin:10px 0}
.c98-parts{margin:6px 0 10px;padding-left:28px}.c98-parts li{margin-bottom:6px;line-height:1.55}
.c98-fr details p{margin:0 0 8px}.c98-fr details p:last-child{margin-bottom:0}
.c98-inv{margin:14px 0;padding-left:26px}.c98-inv li{margin-bottom:8px;line-height:1.6}
/* explorer */
.c98-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.c98-seg .ced-topic-button{min-height:44px;font-size:1rem;margin:0}
.c98-seg .ced-topic-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700}
.c98-seglab{font-weight:650;color:var(--text-secondary);margin-right:2px}
.c98-lesson #c98-explorer .pes16-controls label{flex:1 1 200px;display:flex;flex-direction:column;gap:4px}
.c98-lesson #c98-explorer select{font-size:16px;min-height:44px}
.c98-chk{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin:0 0 10px;cursor:pointer;font-weight:600}
.c98-chk input{width:22px;height:22px;accent-color:var(--gold);margin:0}
.c98-xeq{margin:0 0 10px;padding:8px 12px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);font-weight:650;color:var(--gold-light);overflow-wrap:anywhere}
.c98-xgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;align-items:start;margin-top:4px}
.c98-xside{min-width:0}
.c98-xside .c98-zooms{margin:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.c98-zcell .c98-zoomfig{margin:0 auto}
.c98-lesson #c98-out{margin-top:12px;overflow-wrap:anywhere}
.c98-row{display:block;margin-bottom:6px;line-height:1.55}
.c98-key{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;line-height:1.55}
.c98-key.is-note{background:rgba(205,163,73,.08);border:1px solid rgba(205,163,73,.5)}
.c98-lesson .ced13-lesson-intro nav a{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
.c98-lesson .pes16-photo img,.c98-lesson .ced13-lesson-intro .mole-lab-image img{max-height:none;aspect-ratio:3/2}
.c98-lesson [data-c98-tab]{min-height:44px}
@media(max-width:900px){
  .c98-xgrid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .c98-seg .ced-topic-button{flex:1 1 auto}
  .c98-xeq,.c98-aside,.c98-note{padding:10px}
  .c98-choices,.c98-parts{padding-left:24px}
  .c98-table th,.c98-table td{padding:7px 5px}.c98-lesson table.c98-table{font-size:.9rem}
}

/* ---------- Topic 9.8 Explore (ced-topic98-explore.js) ---------- */
/* Topic 9.8 Explore (ced-topic98-explore.js): the cell builder's side cards and chip rows. The lead merges this. */
.c98x-card .xl-link { min-height: 44px; }
.c98x-card .xl-row { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.c98x-list { margin: 0; padding-left: 1.1em; display: grid; gap: 8px; font-size: .9rem; line-height: 1.45; }
.c98x-build .c98x-chips { display: grid; gap: 6px; }
.c98x-build .c98x-chips > .sl-k { margin-top: 4px; }
.c98x-card .c98x-chips { flex-wrap: wrap; }

/* ---------- Topic 9.1 Explore (ced-topic91-explore.js) ---------- */
/* Topic 9.1 Explore (ced-topic91-explore.js): the side cards and chip rows. The lead merges this. */
.c91x-card .xl-link { min-height: 44px; }
.c91x-card .xl-row { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.c91x-build .c91x-chips { display: grid; gap: 6px; }
.c91x-build .c91x-chips > .sl-k { margin-top: 4px; }
.c91x-build .c91x-chips .u3-chips { flex-wrap: wrap; }

/* ---------- Topic 9.10 Explore (ced-topic910-explore.js) ---------- */
/* Topic 9.10 Explore (ced-topic910-explore.js): "Run it down" side cards (predictions, Work out Q, claims) and chip rows. The lead merges this. */
.c910x-card .xl-link { min-height: 44px; }
.c910x-card .xl-row { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.c910x-list { margin: 0; padding-left: 1.1em; display: grid; gap: 8px; font-size: .9rem; line-height: 1.45; }
.c910x-build .c910x-chips { display: grid; gap: 6px; }
.c910x-build .c910x-chips > .sl-k { margin-top: 4px; }

/* ---------- Topic 9.9 Explore (ced-topic99-explore.js) ---------- */
/* Topic 9.9 Explore (ced-topic99-explore.js): the potential ladder's side cards, chip rows and printed-question table. The lead merges this. */
.c99x-card .xl-link { min-height: 44px; }
.c99x-card .xl-row { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.c99x-list { margin: 0; padding-left: 1.1em; display: grid; gap: 8px; font-size: .9rem; line-height: 1.45; }
.c99x-build .c99x-chips { display: grid; gap: 6px; }
.c99x-build .c99x-chips > .sl-k { margin-top: 4px; }
.c99x-build .u3-chip { min-height: 40px; }
.c99x-now { margin: 0; font-size: .88rem; line-height: 1.4; color: var(--h-text-2, #c9c2b6); }
.c99x-steps .u3-chip { min-width: 72px; }
.c99x-tabwrap { max-width: 100%; overflow-x: auto; }
.c99x-tab { border-collapse: collapse; margin: 4px 0 8px; font-size: .9rem; }
.c99x-tab th, .c99x-tab td { padding: 4px 10px 4px 0; text-align: left; font-weight: 400; white-space: nowrap; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.c99x-k { margin: 8px 0 4px; font-size: .9rem; line-height: 1.45; }
.c99x-k summary { cursor: pointer; min-height: 40px; display: flex; align-items: center; }

/* ---------- Topic 9.11 Explore (ced-topic911-explore.js) ---------- */
/* Topic 9.11 Explore (ced-topic911-explore.js): the plating shop's side cards, bath chips and plating table. The lead merges this. */
.c911x-card .xl-link { min-height: 44px; }
.c911x-card .xl-row { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.c911x-build .c911x-chips { display: grid; gap: 6px; }
.c911x-build .c911x-chips > .sl-k { margin-top: 4px; }
.c911x-card .c911x-chips { flex-wrap: wrap; margin: 6px 0; }
.c911x-tw { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.c911x-t { width: 100%; border-collapse: collapse; font-size: .88rem; font-variant-numeric: tabular-nums; }
.c911x-t th, .c911x-t td { padding: 5px 6px; text-align: right; border-bottom: 1px solid rgba(255, 255, 255, .08); white-space: nowrap; }
.c911x-t th:nth-child(2), .c911x-t td:nth-child(2) { text-align: left; white-space: normal; }
.c911x-t thead th { font-weight: 600; color: var(--muted, #b9b2a5); }

/* ---------- Topic 9.3 Explore (ced-topic93-explore.js) ---------- */
/* Topic 9.3 Explore (ced-topic93-explore.js): the favorability map's side cards ("Which term drives it?", claims, the ΔG° stepper) and chip rows. The lead merges this. */
.c93x-card .xl-link, .c93x-calc .xl-link { min-height: 44px; }
.c93x-card .xl-row, .c93x-calc .xl-row { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.c93x-build .c93x-chips { display: grid; gap: 6px; }
.c93x-build .c93x-chips > .sl-k { margin-top: 4px; }
.c93x-build .c93x-chips .u3-chips { flex-wrap: wrap; }
.c93x-build .u3-chip { min-height: 40px; }

/* ---------- Topic 9.2 Explore (ced-topic92-explore.js) ---------- */
/* Topic 9.2 Explore (ced-topic92-explore.js): the entropy ledger's chip rows (reaction, calculation, add-to, the S° shelf)
   and its side cards (the ΔS° stepper, claims). The lead merges this. */
.c92x-card .xl-link, .c92x-calc .xl-link { min-height: 44px; }
.c92x-card .xl-row, .c92x-calc .xl-row { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.c92x-build .c92x-chips { display: grid; gap: 6px; }
.c92x-build .c92x-chips > .sl-k { margin-top: 4px; }
.c92x-build .c92x-chips .u3-chips { flex-wrap: wrap; }
.c92x-build .u3-chip { min-height: 40px; }
/* the shelf: many small cards, each with its S°; keep them compact but tappable */
.c92x-build .c92x-shelf { gap: 4px; }
.c92x-build .c92x-shelf .u3-chip { padding-inline: 8px; font-variant-numeric: tabular-nums; }
/* the shelf folds into four groups (gases, liquids, solids, ions in water); a summary is a 40-px tap target */
.c92x-build .c92x-sg { border-top: 1px solid var(--h-line, rgba(255,255,255,.1)); }
.c92x-build .c92x-sg > summary { list-style: none; display: flex; align-items: center; gap: 8px; min-height: 40px; cursor: pointer; font: 600 .84rem/1.2 var(--h-sans); color: var(--h-text); }
.c92x-build .c92x-sg > summary::-webkit-details-marker { display: none; }
.c92x-build .c92x-sg > summary::before { content: '▸'; width: 1em; color: var(--h-gold-1); }
.c92x-build .c92x-sg[open] > summary::before { content: '▾'; }
.c92x-build .c92x-sg > summary span { font-weight: 400; color: var(--h-muted); font-variant-numeric: tabular-nums; }
.c92x-build .c92x-sg > summary:focus-visible { outline: 2px solid var(--h-gold-1); outline-offset: 2px; border-radius: 6px; }
.c92x-build .c92x-sg > .u3-chips { padding-bottom: 8px; }

/* ---------- Topic 9.5 Explore (ced-topic95-explore.js) ---------- */
/* Topic 9.5 Explore (ced-topic95-explore.js): the ΔG° ↔ K dial's side cards (claims, the K stepper) and chip rows. The lead merges this. */
.c95x-card .xl-link, .c95x-calc .xl-link { min-height: 44px; }
.c95x-card .xl-row, .c95x-calc .xl-row { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.c95x-build .c95x-chips { display: grid; gap: 6px; }
.c95x-build .c95x-chips > .sl-k { margin-top: 4px; }
.c95x-build .c95x-chips .u3-chips { flex-wrap: wrap; }
.c95x-build .u3-chip { min-height: 40px; }

/* ---------- Topic 9.6 Explore (ced-topic96-explore.js) ---------- */
/* Topic 9.6 Explore (ced-topic96-explore.js): the dissolving ledger's side cards (ledger table, row stepper, the call,
   claims) and chip rows. The lead merges this. */
.c96x-card .xl-link, .c96x-calc .xl-link { min-height: 44px; }
.c96x-card .xl-row, .c96x-calc .xl-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; }
.c96x-build .c96x-chips { display: grid; gap: 6px; }
.c96x-build .c96x-chips > .sl-k { margin-top: 4px; }
.c96x-build .c96x-chips .u3-chips { flex-wrap: wrap; }
.c96x-build .u3-chip { min-height: 40px; }
.c96x-scroll { max-width: 100%; overflow-x: auto; margin: 4px 0 6px; }
.c96x-table { width: 100%; border-collapse: collapse; font-size: .82rem; line-height: 1.3; font-variant-numeric: tabular-nums; }
.c96x-table th, .c96x-table td { padding: 5px 4px; text-align: right; border-bottom: 1px solid rgba(255, 255, 255, .1); white-space: nowrap; }
.c96x-table thead th { font-size: .72rem; font-weight: 600; white-space: normal; vertical-align: bottom; opacity: .85; }
.c96x-table th[scope="row"], .c96x-table thead th:first-child { text-align: left; }
.c96x-table td:last-child, .c96x-table thead th:last-child { text-align: left; padding-left: 8px; }
.c96x-table small { font-size: .7rem; opacity: .8; }
.c96x-table tr.is-now th, .c96x-table tr.is-now td { background: rgba(242, 191, 94, .10); }
.c96x-small { margin: 4px 0 8px; font-size: .8rem; line-height: 1.4; opacity: .8; }
@media (max-width: 420px) {
  .c96x-table { font-size: .76rem; }
  .c96x-table th, .c96x-table td { padding: 4px 3px; }
  .c96x-table td:last-child { white-space: normal; min-width: 4.6em; padding-left: 5px; }
}

/* ---------- Topic 9.4 Explore (ced-topic94-explore.js) ---------- */
/* Topic 9.4 Explore (ced-topic94-explore.js): the side cards (claims, the verdict card, the four cases) and the system chips. The lead merges this. */
.c94x-card .xl-link, .c94x-calc .xl-link { min-height: 44px; }
.c94x-card .xl-row, .c94x-calc .xl-row { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.c94x-list { margin: 0; padding-left: 1.1em; display: grid; gap: 8px; font-size: .9rem; line-height: 1.45; list-style: none; }
.c94x-build .c94x-chips { display: grid; gap: 6px; }
.c94x-build .c94x-chips > .sl-k { margin-top: 4px; }
.c94x-build .c94x-chips .u3-chips { flex-wrap: wrap; }
.c94x-build .u3-chip { min-height: 40px; }

/* ---------- Topic 9.7 Explore (ced-topic97-explore.js) ---------- */
/* Topic 9.7 Explore (ced-topic97-explore.js): the coupling bench's side cards ("Add the equations", "Energy from outside", claims) and chip rows. The lead merges this. */
.c97x-card .xl-link, .c97x-calc .xl-link { min-height: 44px; }
.c97x-card .xl-row, .c97x-calc .xl-row { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.c97x-build .c97x-chips { display: grid; gap: 6px; }
.c97x-build .c97x-chips > .sl-k { margin-top: 4px; }
.c97x-build .c97x-chips .u3-chips, .c97x-card .c97x-chips { flex-wrap: wrap; }
.c97x-build .u3-chip, .c97x-card .u3-chip { min-height: 40px; }
.c97x-eqs { display: grid; gap: 6px; margin: 4px 0 10px; font-size: .95rem; line-height: 1.45; overflow-wrap: anywhere; }
.c97x-eqs p { margin: 0; }
.c97x-eqs b { white-space: nowrap; margin-left: 4px; }
.c97x-tag { display: inline-block; min-width: 4.6em; font-size: .78rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; opacity: .75; }
.c97x-sum { padding-top: 6px; border-top: 1px solid rgba(255, 255, 255, .14); }
.c97x-x { text-decoration: line-through; text-decoration-color: #F2BF5E; text-decoration-thickness: 2px; opacity: .7; }
