/* The classroom owns this theme. Reading surfaces have their own color tokens. */
:root{color-scheme:dark;--ink:#f3f7ff;--paper:#102439;--muted:#b8c8da;--line:#405976;--accent:#68e0ed;--soft:#1d3851;--warm:#ffb59d;--button-bg:#182e46;--reading:#f4f7fa;--shadow:0 14px 30px #020b1945,0 2px 5px #020b1920}
body{background:radial-gradient(ellipse at 12% 5%,#173d59 0,transparent 45%),#091321;color:var(--ink)}
button{border-radius:12px;background:var(--button-bg);color:var(--ink);border-color:var(--line)}
button:focus-visible,a:focus-visible,summary:focus-visible,pre:focus-visible{outline-color:#ffc975}
.cs-main{max-width:1480px;padding:22px 22px 50px}.cs-deck{margin-bottom:30px}
.cs-stage{height:min(calc(100svh - 44px),940px);border:1px solid #45617c;border-radius:24px;background:var(--paper);box-shadow:0 25px 70px #01091660}
.cs-canvas-zone{background:radial-gradient(ellipse at 85% 0,#1d3f58 0,transparent 48%),var(--paper)}
.cs-slide{background:transparent}.cs-slide h2{font-weight:760;letter-spacing:-.035em}
.cs-slide footer{font-size:14px;color:var(--muted)}.cs-slide footer a{color:var(--accent)}
.cs-player-top{background:#0d1d30;border-color:#36516a;padding-inline:14px;gap:12px}
.cs-half-switch{background:#071626;border:1px solid #344f68;border-radius:12px;padding:1px;gap:2px}
.cs-half-switch button{color:#b8c8da;border-radius:9px}
.cs-half-switch button[aria-pressed=true]{color:#dbfbff;background:#22445b;box-shadow:inset 0 1px #ffffff25}
.cs-page-toggle{color:#d9fbff;background:#1d3b52;border-color:#518799}
.cs-player-top [data-notes-toggle]{background:transparent;color:#d7e8f5;border-color:#405976}
.cs-controls{background:#0d1d30;border-top:1px solid #36516a}.cs-controls button{border-color:#4b6880;color:#e6f2ff}
.cs-controls [data-next]{background:#a4eaf0;border-color:#a4eaf0;color:#112c3c;box-shadow:0 2px 8px #0003}
.cs-bottom-label{color:#b8c8da}.cs-progress{background:#213a50}.cs-progress span{background:#68e0ed}
.cs-scroll-hint{background:#e9f9fb;color:#173848;border-color:#b8d9e1;border-radius:10px}
/* An opaque reading plane. Descendants inherit the correct ink, even inside a dark stage. */
:is(.cs-sheet,.cs-angles>div,.cs-angles article,.cs-launch-path section,.cs-free-route section,.cs-practice-grid>div,.cs-file-card,.cs-purpose-modules section,.cs-editing-result,.cs-task,.cs-rubric-key,.cs-panel,.tm-download-prompt){--ink:#172b3a;--muted:#45576a;--accent:#075d73;--line:#cadbe5;--soft:#e2eef4;--paper:#f4f7fa;--warm:#9a4022;--button-bg:#fff;color:var(--ink);background:var(--paper);border-color:var(--line)}
:is(.cs-sheet,.cs-angles>div,.cs-angles article,.cs-launch-path section,.cs-free-route section,.cs-practice-grid>div,.cs-file-card,.cs-purpose-modules section,.cs-editing-result){border:1px solid #d5e3ec;border-radius:20px;box-shadow:var(--shadow),inset 0 1px #fff}
.cs-task,.cs-rubric-key{border-radius:14px;border-left:3px solid #087f83}
.cs-purpose-modules section{padding:12px 18px}.cs-file-card{margin:10px 0}
.cs-angles .selected{background:#d8f4f5;color:#123a43;border:2px solid #087f83}
.cs-facts{--ink:#172b3a;--accent:#075d73;--line:#cadbe5;--muted:#45576a;background:#f4f7fa;color:var(--ink);border-radius:18px;border-collapse:separate;border-spacing:0;padding:8px 10px;overflow:hidden}
.cs-facts th{color:#075d73}.cs-facts td,.cs-facts th{border-color:#cadbe5}
.cs-list{border-radius:14px}.cs-list li{border-color:var(--line)}
.cs-prompt{background:#0c182a;color:#f3f7ff;border:1px solid #47738b;border-radius:20px;box-shadow:var(--shadow)}.cs-prompt em{color:#a4eaf0}
.cs-slide [data-copy-direct]{background:#a4eaf0;color:#123044;border:1px solid #baf9ff;border-radius:12px;min-height:44px}
.cs-photo,.cs-photo.tall,.cs-ui img,.cs-film-purpose img,.cs-video,.cs-video-intro .cs-video,.cs-dm,.cs-poster-preview,.cs-case-compare>div>img{border-radius:24px;box-shadow:var(--shadow)}
.cs-ui img{background:#f4f7fa;border:1px solid #b4cad9;object-fit:contain}
.cs-dm{overflow:hidden}.cs-dm img{border-radius:0;box-shadow:none}
.cs-cover-dm{transform:none}.cs-cover-dm img{border-radius:22px;box-shadow:0 22px 40px #020b1980,0 1px 0 #ffffff70;transform:perspective(1000px) rotateY(5deg);border:1px solid #9db9ca}
.cs-cover-film img{border-radius:20px;border:1px solid #7197ad;box-shadow:0 12px 24px #020b1955}
.cs-cover-art{position:relative;gap:26px}.cs-cover-art:before{content:"";position:absolute;inset:10% 0;background:radial-gradient(ellipse,#62d5e52a,transparent 65%);filter:blur(25px);pointer-events:none;z-index:-1}
.cs-cover-facts{border-color:#68e0ed}.cs-cover-facts:before{background:#68e0ed}.cs-cover-art span{color:#edf7ff}.cs-cover-art small{color:#b8c8da}
.cs-evidence blockquote{border-color:#68e0ed}.cs-evidence .cs-sheet strong{color:#075d73}
.cs-timebar{gap:7px}.cs-timebar>div{border-radius:14px;background:#dbeaf3;color:#15384b;box-shadow:inset 0 1px #fff}.cs-timebar>div:nth-child(2),.cs-timebar>div:nth-child(3){background:#265269;color:#f3f7ff}
.cs-editing-materials{color:#c3d7e7}.cs-case-note,.cs-paper-note,.cs-caption,.cs-ui-hint{color:var(--muted)}
.cs-slide .cs-inline-copy{min-height:44px}.cs-inline-copy [role=status]{color:var(--accent)}
/* Named concepts: identity -> one causal diagram -> application. Text stays on a flat plane. */
.cs-public-concept{gap:10px}.cs-public-concept .lead{font-size:21px;color:#9cebf1;font-weight:650}
.cs-public-concept .cs-body{justify-content:center;gap:14px}
.cs-expert{display:flex;align-items:center;gap:13px;min-height:56px;color:#eef7ff}
.cs-expert img{width:56px;height:56px;object-fit:cover;flex:none;border-radius:18px;border:1px solid #8aafc0;box-shadow:0 4px 12px #020b1940}
.cs-expert>div{min-width:0;display:grid;gap:3px}.cs-expert strong{font-size:20px}.cs-expert span{font-size:14px;line-height:1.4;color:#bdcede}
.cs-expert .cs-method-tag{margin-left:auto;border:1px solid #4d738b;border-radius:20px;padding:7px 12px;color:#ccecf5;white-space:nowrap}
.cs-idea-diagram{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;position:relative}
.cs-idea-node{--ink:#172b3a;--muted:#45576a;--accent:#075d73;position:relative;color:var(--ink);background:linear-gradient(160deg,#fff,#e9f1f6);border:1px solid #d1e3ed;border-radius:20px;padding:16px 18px;display:flex;flex-direction:column;gap:7px;min-height:148px;box-shadow:0 12px 20px #020b1938,inset 0 2px #fff}
.cs-idea-node:not(:last-child):after{content:"→";position:absolute;right:-23px;top:45%;font-size:24px;color:#9beaf2;z-index:1}
.cs-idea-number{position:absolute;right:14px;top:12px;font-size:14px;font-weight:650;color:#567084}.cs-idea-node>b{font-size:16px;color:#075d73;padding-right:22px}.cs-idea-node>strong{font-size:23px;line-height:1.35}.cs-idea-node>small{font-size:16px;color:#45576a;line-height:1.4}
.cs-idea-planning .cs-idea-node:nth-child(2){border-top:4px solid #cb8b38;padding-top:13px}.cs-idea-planning .cs-idea-node:last-child>small{background:#fff1d6;color:#61400c;border-radius:7px;padding:3px 7px;align-self:flex-start}.cs-idea-judgement .cs-idea-node:nth-child(2){border-top:4px solid #9281c9;padding-top:13px}
.cs-codex-application{background:#1d3b51;border:1px solid #416781;border-radius:14px;padding:11px 16px;display:flex;align-items:center;gap:18px;color:#e5f3ff;font-size:18px;line-height:1.5}.cs-codex-application>b{font-size:15px;white-space:nowrap;color:#a4eaf0}
.cs-public-concept footer{align-items:center}.cs-public-concept footer a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.cs-plan-wait,.is-waiting{opacity:1}.cs-plan-wait{border-style:dashed;color:var(--ink)}
.cs-panel{border-radius:20px;box-shadow:0 0 0 100vmax #020c1ce0,0 20px 60px #0006}.cs-panel-heading{background:#f4f7fa;border-color:#cadbe5}.cs-panel-heading h2{color:#172b3a}
.cs-notes-content{color:#172b3a}.cs-notes-content pre{background:#e7eef4;color:#172b3a;border-radius:14px}.cs-notes-content .cs-caption{color:#45576a}.cs-notes-content .cs-scholar{display:flex;gap:12px;flex-wrap:wrap;background:#e3edf5;border-radius:16px;padding:16px;margin-block:16px}.cs-scholar-mark{font-weight:750;color:#075d73}.cs-scholar strong,.cs-scholar span{display:block}
.cs-notes-content [data-copy],.cs-notes-content [data-copy-advanced],.cs-notes-content [data-copy-free]{background:#075d73;color:white}
.cs-skill-download{background:linear-gradient(130deg,#142b41,#102236);border:1px solid #456580;border-radius:24px;box-shadow:var(--shadow)}
.cs-platform-downloads a{border-radius:16px;background:#1a354d;color:#eef7ff;border-color:#54718a;box-shadow:0 5px 12px #020b1920}.cs-platform-downloads a:first-child{background:#a4eaf0;color:#123044;border-color:#a4eaf0}
.cs-download-center,.cs-preparation,.cs-lesson-tools{color:#edf7ff}.cs-download-center>p,.cs-preparation>p,.cs-skill-download p{color:#bdd1e2}.cs-download-note a,.cs-preparation a,.cs-lesson-tools a{color:#a4eaf0}.cs-section-label{color:#a4eaf0}.cs-back-to-lesson{color:#dff9ff;border-color:#6a9ab0}.cs-member-status{color:var(--ink);border-radius:12px}
.cs-stage:is(:fullscreen,.is-presenting){border-radius:0;border:0;box-shadow:none}
@media(max-width:959px),(max-height:539px){.cs-stage[data-layout=flow] .cs-public-concept{padding:18px;gap:8px}.cs-stage[data-layout=flow] .cs-public-concept .cs-body{gap:10px}.cs-stage[data-layout=flow] .cs-public-concept h2{font-size:28px;line-height:1.18}.cs-stage[data-layout=flow] .cs-public-concept .lead{font-size:18px}.cs-public-concept .cs-teaching-label{display:none}.cs-expert{gap:10px;min-height:48px}.cs-expert img{width:46px;height:46px;border-radius:15px}.cs-expert strong{font-size:17px}.cs-expert span{font-size:14px}.cs-expert .cs-method-tag{display:none}.cs-idea-diagram{gap:9px}.cs-idea-node{padding:12px 7px;min-height:130px;border-radius:16px;gap:7px}.cs-idea-number{position:static;font-size:13px}.cs-idea-node>b{font-size:15px;padding:0}.cs-idea-node>strong{font-size:18px;line-height:1.4}.cs-idea-node>small{font-size:14px;line-height:1.4}.cs-idea-node:not(:last-child):after{right:-13px;top:46%;font-size:18px}.cs-idea-planning .cs-idea-node:nth-child(2),.cs-idea-judgement .cs-idea-node:nth-child(2){padding-top:9px}.cs-codex-application{display:block;padding:10px 12px;font-size:18px;line-height:1.45}.cs-codex-application>b{display:block;font-size:14px;margin-bottom:4px}.cs-stage[data-layout=flow] .cs-public-concept footer{margin-top:0;gap:0;align-items:stretch}.cs-public-concept footer>span:last-child{display:none}.cs-cover-dm img{transform:none}.cs-stage[data-layout=flow] .cs-facts td:first-child{white-space:normal}.cs-stage[data-layout=flow] .cs-case-compare img{max-height:none}.cs-stage[data-layout=flow] .cs-review-posters{grid-template-columns:1fr}.cs-stage[data-layout=flow] .cs-review-posters .cs-dm{width:215px}.cs-stage[data-layout=flow] .cs-review-posters .cs-dm .dm-top h3{font-size:23px}.cs-stage[data-layout=flow] .cs-review-posters .cs-dm .dm-bottom p{font-size:11px}.cs-stage[data-layout=flow] .cs-review-posters .cs-dm .dm-bottom strong{font-size:18px}.cs-stage[data-layout=flow] .cs-review-posters figcaption{font-size:16px}}
@media(max-width:680px){.cs-main{padding:0 0 32px}.cs-stage{height:100svh;border:0;border-radius:0;box-shadow:none}.cs-player-top{padding-inline:6px;gap:5px}.cs-player-top .cs-half-switch{border:0}.cs-player-top button{padding-inline:8px}.cs-cover-art{gap:16px}.cs-cover-film img{border-radius:18px}.cs-public-concept .cs-codex-application{font-size:18px}.cs-download-center,.cs-preparation,.cs-lesson-tools{margin-inline:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* The improved teaching example must keep the headline clear of its product facts. */
.cs-review-posters figure:nth-child(2) .cs-dm .dm-top h3{font-size:19px;line-height:1.3;margin-top:8px}
@media(max-width:959px),(max-height:539px){.cs-stage[data-layout=flow] .cs-review-posters figure:nth-child(2) .cs-dm .dm-top h3{font-size:23px;line-height:1.3;margin-top:8px}}

.cs-cover-dm img{height:auto;aspect-ratio:4/5;width:100%;object-fit:contain}

.cs-mobile-material{display:none}
@media(max-width:959px),(max-height:539px){.cs-stage[data-layout=flow] .cs-timebar>div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:3px 14px}.cs-mobile-material{display:block;grid-column:2;font-size:14px;line-height:1.4;color:inherit}}
/* Canvas scaling must leave the named-concept source legible and touchable. */
.cs-public-concept footer a{font-size:16px;min-height:48px}
.cs-expert>div>span{font-size:16px}
@media(max-width:959px),(max-height:539px){.cs-public-concept footer a{font-size:14px;min-height:44px}.cs-expert>div>span{font-size:14px}}

.cs-zoom-trigger{display:block;width:100%;padding:0;border:0;border-radius:24px;background:transparent;line-height:0;cursor:zoom-in;color:inherit}.cs-zoom-trigger img{width:100%;margin:0}.cs-zoom-trigger:focus-visible{outline:3px solid #ffc975;outline-offset:4px}
.cs-ui figcaption{font-size:15px}
/* Reading-mode source links use the same readable floor as concept sources. */
.cs-stage[data-layout=flow] .cs-slide footer{font-size:14px}
.cs-stage[data-layout=flow] .cs-slide footer a{display:inline-flex;align-items:center;font-size:14px;min-height:44px}
/* Clip the outer storyboard mount as well as the image itself. */
.cs-cover-film figure{border-radius:24px;overflow:hidden;border-color:#476b83;background:#15384c}
