@import url('/css/site.css');
:root{--panel:var(--bg-elev);--text:var(--ink);--muted:var(--ink-2);--accent:var(--teal);--gold:var(--amber)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 var(--sans)}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:#192d39;border:1px solid #324956;border-radius:8px;padding:8px 12px}button:hover{border-color:var(--accent);background:#203e49}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);line-height:1.3}h1{font-size:27px;letter-spacing:-1px;margin:12px 0}h2{font-size:24px;font-weight:600;letter-spacing:-.6px}h3{font-size:18px;margin-top:24px}.top{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);gap:16px}.brand{display:flex;gap:12px;align-items:center;color:var(--text);font-size:21px;letter-spacing:2px}.brand b{font-weight:400;color:var(--accent)}.brand small{display:block;font-size:9px;letter-spacing:2.1px;color:var(--muted)}.brand-icon{border:1px solid #49756e;border-radius:12px;background:linear-gradient(135deg,#264d4a,#132b35);color:var(--accent);padding:3px 14px;font:32px Georgia,serif}.preview{font-size:10px;letter-spacing:1.5px;color:var(--gold);padding:5px 10px;border:1px solid #695a37;border-radius:30px}.top nav{display:flex;gap:22px;align-items:center;font-size:12px}.top nav a{color:#c2d1d8}.top nav button{font-size:12px}.workspace{display:grid;grid-template-columns:260px minmax(380px,1fr) 310px;min-height:calc(100dvh - 125px)}.rail{padding:28px 22px;border-right:1px solid var(--line);background:linear-gradient(160deg,#122530,#0c1a23)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--accent)}.muted{color:var(--muted)}.small{font-size:11px}.rail>p{font-size:12px;line-height:1.7;margin-bottom:25px}label{display:block;color:#c0d1db;font-size:11px;margin:12px 0 7px}select,input{width:100%;border:1px solid #38515f;border-radius:8px;background:#0c1a24;color:var(--text);padding:11px;min-width:0}select{font-size:12px;max-width:100%}.lecture-meta{font-size:10px;color:var(--muted);margin-top:10px}.rail-heading{margin:30px 0 14px;font-size:10px;letter-spacing:1.7px;color:var(--muted);display:flex;justify-content:space-between}.scene-button{display:block;width:100%;border:1px solid transparent;background:transparent;text-align:left;padding:12px 10px;margin:5px 0;line-height:1.45;display:flex;gap:11px}.scene-button .number{font-size:10px;color:var(--muted);padding-top:2px}.scene-button .scene-name{font-size:12px;display:block}.scene-button small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.scene-button.active{background:#1a373d;border-color:#416b64}.scene-button.active .number{color:var(--accent)}.rail-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:18px;font-size:11px}.rail-bottom p{font-size:10px;color:var(--muted);margin-top:8px}.dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:var(--accent);margin-right:6px}main{padding:25px 24px;min-width:0}.scene-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:21px}.scene-header .eyebrow{color:var(--muted);margin-bottom:7px}.scene-header button{font-size:11px;white-space:nowrap;background:#173c3e;color:var(--accent);border-color:#355f5b}.stage-tabs{display:flex;align-items:center;gap:8px;margin:0 0 12px;flex-wrap:wrap}.stage-tabs button{font-size:11px;border:0;background:transparent;color:var(--muted);padding:6px 9px}.stage-tabs button.active{background:#223f48;color:#e3f8f1}.stage-tabs span{font-size:10px;color:var(--muted);margin-left:auto}.stage{height:570px;max-height:68dvh;min-height:390px;border:1px solid #314651;border-radius:18px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#293c48 0,#142632 50%,#0d1c27 100%)}#canvas-host{position:absolute;inset:0;z-index:2;touch-action:none}canvas{display:block;width:100%;height:100%}.stage-grid{position:absolute;bottom:0;left:0;right:0;height:90px;background-image:linear-gradient(#6c8d9c0a 1px,transparent 1px),linear-gradient(90deg,#6c8d9c0a 1px,transparent 1px);background-size:35px 25px;transform:perspective(200px) rotateX(40deg);pointer-events:none}.status{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:6;background:#102330e8;color:var(--muted);gap:18px;text-align:center;padding:35px}.status[hidden]{display:none}.spinner{height:30px;width:30px;border:2px solid #334b58;border-top-color:var(--accent);border-radius:100%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.camera-tools{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:5;display:flex;background:#10202cdd;border:1px solid #38505d;padding:4px;border-radius:10px;gap:2px;backdrop-filter:blur(8px)}.camera-tools button{padding:5px 8px;font-size:10px;border:0;background:transparent}.camera-tools span{border-left:1px solid var(--line);margin:4px}.stage-corner{position:absolute;left:18px;top:16px;z-index:3;color:#b3c4cc;font-size:8px;letter-spacing:1.4px;pointer-events:none}.stage-corner small{display:block;color:#7d98a7;font-size:8px;letter-spacing:0;margin-top:3px}.selection-label{color:#f5fffc;font-weight:600;text-shadow:0 1px 1px #000;position:absolute;z-index:4;padding:5px 9px;background:#082c32e6;border:1px solid #6cd2b9;border-radius:6px;font-size:12px;line-height:1.4;pointer-events:none;max-width:min(240px,calc(100% - 16px));transform:translate(-50%,-110%)}.practice-prompt{position:absolute;left:15%;right:15%;top:60px;background:#122d3aee;z-index:5;border:1px solid #6b948c;padding:12px;border-radius:10px;text-align:center;font-size:12px}.practice-prompt button{font-size:10px;padding:3px 7px;margin-left:10px}.below-stage{padding:15px 0}.layer-bar{display:flex;gap:6px;flex-wrap:wrap}.layer-bar button{font-size:10px;padding:5px 9px;background:transparent}.layer-bar button.on{background:#203c47;border-color:#466671}.layer-bar i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px}.view-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.view-actions button{font-size:10px;padding:5px 9px}.interaction{font-size:10px;color:var(--muted);margin-top:10px}.scope-note{border-top:1px solid #4d4a3c;padding-top:16px;color:var(--gold);font-size:11px}.scope-note strong{letter-spacing:.3px}.scope-note p{color:#acb6b7;line-height:1.8;margin-top:7px}.details{padding:30px 23px;border-left:1px solid var(--line);background:#101e28}.details h2{font-size:21px;margin-top:13px;margin-bottom:16px}.details>p{font-size:12px;line-height:1.9;color:#c0cdd4}.detail-divider{height:1px;background:var(--line);margin:25px 0 18px}.structure-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.structure-list button{font-size:10px;padding:6px 9px;text-align:left;background:#172d38}.structure-list button.selected{background:#225147;border-color:var(--accent)}.search-label{margin-top:22px}.details input{font-size:11px}.ref{margin-top:17px;padding-bottom:13px;border-bottom:1px solid #243946}.ref strong{font-size:11px;display:block;color:#d7e5e9}.ref p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:5px}.ref code{display:block;font-size:9px;color:#8ca6b5;overflow-wrap:anywhere}.study-link{display:block;font-size:12px;margin:20px 0 8px}footer{display:flex;gap:16px;padding:12px 30px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}footer span{flex:1}dialog{color:var(--text);background:#122530;border:1px solid #46616e;border-radius:18px;max-width:850px;width:90vw;max-height:85dvh;padding:28px}dialog::backdrop{background:#020b13b8;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.dialog-head h2{margin-top:8px}dialog p{font-size:12px;color:#b8ccd5;line-height:1.8;margin:12px 0}.audit-summary{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:15px 0;color:var(--accent)}.audit-item{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.audit-item small{display:block;color:var(--muted);font-size:10px}.audit-item .badge{display:inline-block;font-size:9px;border:1px solid #50626b;border-radius:20px;padding:2px 8px;margin:5px 0}.audit-item button{font-size:10px;margin-left:10px;padding:3px 8px}#diagram{position:absolute;inset:0;z-index:3;padding:55px 25px 75px;background:radial-gradient(ellipse,#203746,#102431)}#diagram[hidden]{display:none}#diagram svg{width:100%;height:75%;min-height:190px}#diagram button{font-size:10px;margin:4px;padding:5px 8px}#diagram .diagram-caption{font-size:11px;color:#c0d2db;max-width:530px;margin:8px auto;text-align:center}#diagram .diagram-label{text-align:center;font-size:9px;color:var(--gold);letter-spacing:1px}#diagram .diagram-buttons{text-align:center}.stage-tabs button[hidden]{display:none}
@media(min-width:1650px){.workspace{grid-template-columns:290px minmax(450px,1fr) 355px}.stage{height:700px}.rail{padding:32px 28px}.details{padding:32px 28px}}@media(max-width:1150px){.workspace{grid-template-columns:220px minmax(340px,1fr)}.details{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:block}.details>p{max-width:850px}.top{padding:0 20px}.preview{display:none}.stage{height:560px}.details .structure-list{max-width:900px}}@media(max-width:680px){.top{height:auto;min-height:76px;padding:14px 16px;flex-wrap:wrap}.brand{font-size:18px}.top nav{gap:12px}.top nav a{display:none}.workspace{display:block}.rail{padding:20px 16px;border-right:0;border-bottom:1px solid var(--line)}.rail h1{font-size:23px}.rail>p,.rail-bottom,.lecture-meta,.rail-heading{display:none}.rail label{margin-top:15px}.scenes{display:flex;overflow-x:auto;gap:8px;margin-top:12px;padding-bottom:5px}.scene-button{min-width:170px;width:170px;margin:0;flex-shrink:0;padding:10px}.scene-button small{font-size:9px}main{padding:20px 12px}.scene-header h2{font-size:21px}.scene-header button{max-width:105px;white-space:normal;font-size:10px;padding:7px}.stage{height:480px;min-height:400px;max-height:none}.stage-tabs span{width:100%;margin:0}.camera-tools button{padding:6px}.stage-corner{font-size:7px;left:12px}.camera-tools{bottom:12px}.details{padding:24px 18px}.practice-prompt{left:10px;right:10px}.scene-button.active{border-color:#568b7e}footer{padding:14px 16px;flex-wrap:wrap}footer span{flex-basis:100%}dialog{padding:20px;width:95vw}#diagram{padding:60px 14px 70px}#diagram svg{height:65%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

.teaching-steps{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:14px 0 0}.teaching-steps[hidden]{display:none}.teaching-steps>span{width:100%;letter-spacing:.06em}.teaching-steps button[aria-pressed="true"]{background:#28575b;border-color:#72bab2;color:#fff}.teaching-steps button{font-size:12px}

.fact-grid{margin:0}.fact-grid dt{color:#8dccbe;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-top:18px}.fact-grid dd{margin:7px 0 0;line-height:1.6;font-size:13px}#structure-facts{border-top:1px solid #29404a;margin-top:20px;padding-top:4px}#structure-facts h3{font-size:13px;margin-top:22px}.quiz-panel{margin:0 0 16px;padding:16px;background:#18323d;border:1px solid #4b777b;border-radius:14px}.quiz-panel[hidden]{display:none}.quiz-toolbar,.quiz-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.quiz-toolbar select{min-width:0;max-width:100%;width:auto;padding:8px}.quiz-toolbar label{margin:0}.quiz-panel input{width:100%;margin:8px 0;padding:12px;font:inherit;color:#edf6f7;background:#10232d;border:1px solid #567984;border-radius:8px}.quiz-panel input[hidden]{display:none}.quiz-panel p{font-size:13px;line-height:1.6}.quiz-actions span{font-size:12px;color:#acd1cc}#quiz-feedback{margin-top:12px}.quiz-mask{display:none}.quiz-active:not(.quiz-reviewed) .details>:not(.quiz-mask){visibility:hidden}.quiz-active:not(.quiz-reviewed) .quiz-mask{display:block;color:#bad5d5;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:680px){.quiz-toolbar select{width:100%}}

#branch-map{border-block:1px solid #35515b;padding:12px 0;margin:20px 0}#branch-map h3{font-size:16px;line-height:1.5}.branch-tree,.branch-tree ul{list-style:none;padding-left:12px;margin:8px 0;border-left:1px solid #46636a}.branch-tree{padding-left:0;border:0}.branch-tree li{margin:8px 0}.branch-node{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;font-size:12px;padding:8px}.branch-node small{font-size:9px;color:#9dc9c5;flex-shrink:0}.branch-node[aria-pressed="true"]{background:#285952;border-color:#8bc5b6}#branch-map summary{cursor:pointer;font-size:11px;color:#a0c3c5;margin:8px 0}.branch-info{border-top:1px solid #46636a;margin-top:12px}.branch-info:empty{display:none}.branch-info p{line-height:1.6;overflow-wrap:anywhere}

/* Use the site's typography, surfaces and OS theme; the 3D stage stays dark. */
body{color:var(--ink);background:var(--bg)}.workspace{min-height:0}.module-tools{display:flex;justify-content:flex-end;padding:8px 0;border-bottom:1px solid var(--line)}.rail,.details{background:var(--bg)}.lecture-heading{font-size:20px;margin:8px 0 16px;letter-spacing:0}button,select,input{background:var(--bg-elev);border-color:var(--line);color:var(--ink)}button:hover{background:var(--bg-soft)}.scene-button{background:transparent}.scene-button.active,.teaching-steps button[aria-pressed="true"],.branch-node[aria-pressed="true"]{background:var(--teal-soft);border-color:var(--teal);color:var(--ink)}.scene-header button,.stage-tabs button.active{background:var(--teal-soft);color:var(--teal);border-color:var(--line)}.stage-tabs span,label,.ref,.ref p,.ref strong,.small,.fact-grid dd{color:var(--ink-2)}.fact-grid dt{color:var(--teal)}.stage-tabs button{color:var(--ink-2)}.details h2,.details h3,.details h4{color:var(--navy)}.branch-node small,#branch-map summary{color:var(--teal)}.quiz-panel{background:var(--bg-soft);border-color:var(--line)}.quiz-toolbar select,.quiz-panel input{background:var(--bg-elev);color:var(--ink);border-color:var(--line)}.quiz-actions span{color:var(--ink-2)}.camera-tools button{color:#e7eef1;background:transparent}.stage,.stage *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.stage canvas{touch-action:none}.stage-tabs,.camera-tools{user-select:none;-webkit-user-select:none}.scope-note,footer,#branch-map,#structure-facts,.detail-divider{border-color:var(--line)}dialog{background:var(--bg-elev);color:var(--ink)}.scene-button small{color:var(--ink-3)}

.details>p,.scope-note p{color:var(--ink-2)}.ref code{color:var(--ink-3)}

/* Teaching content uses the site surface; the viewer remains a dark work area. */
.lesson-focus{padding:14px 16px;margin:0 0 16px;border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:10px;background:var(--bg-elev)}
.focus-tags{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.focus-tag{font-size:11px;font-weight:700;color:var(--teal)}.focus-goal{font-size:15px;line-height:1.55;margin:8px 0}.source-shortcut{padding:2px 0;border:0;font-size:11px;color:var(--teal);background:none}
.learning-guide{margin:20px 0;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--bg-elev)}.learning-guide h3{margin:0;font-size:22px}.guide-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}.learning-guide h4{font-size:13px;margin:20px 0 10px;color:var(--teal)}.learning-guide ol{padding-left:22px;margin:0}.learning-guide li{padding:5px 0}.learning-guide p,.learning-guide li{line-height:1.7}.recall-card,.objective-card{border:1px solid var(--line);border-radius:9px;padding:12px 14px;margin:9px 0}.recall-card summary,.objective-card summary,.guide-limits summary,.lecture-checklist>details>summary{cursor:pointer;line-height:1.6;font-weight:600}.recall-card>p{margin:12px 0}.recall-refs{border-top:1px solid var(--line);padding-top:8px}.guide-limits{padding:14px 0;margin-top:16px;border-block:1px solid var(--line)}.guide-limits p{margin:10px 0}.guide-actions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 12px}.guide-actions button{font-size:12px;flex:1;min-width:105px}.guide-primary{border-color:var(--teal);background:var(--teal-soft)}
.lecture-checklist{padding:18px 0;margin:15px 0;border-block:1px solid var(--line)}.lecture-checklist>details>summary{font-size:17px}.lecture-checklist p{margin:10px 0;line-height:1.6}.checklist-tools{display:grid;grid-template-columns:auto minmax(160px,1fr) 2fr;gap:9px;align-items:center;margin:14px 0}.checklist-tools label{margin:0}.objective-list{max-height:560px;overflow:auto;padding-right:4px}.objective-answer{padding:10px;background:var(--bg-soft);border-radius:7px}.objective-answer summary{color:var(--teal);font-size:12px}.source-note{border-left:2px solid var(--amber);padding-left:10px;font-size:12px}
#diagram.concept-panel{overflow:auto;padding:24px 22px 75px;color:#eef6f7}#diagram.concept-panel h3{margin:12px 0;font-size:24px;text-align:center;color:#eef6f7}#diagram.concept-panel .diagram-caption{margin:10px auto 18px}#diagram.concept-panel .concept-tabs{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}.concept-tabs button{color:#d6e5eb;background:#16303d;border-color:#4c6976}.concept-tabs button[aria-pressed="true"]{background:#29615d;color:#fff;border-color:#8ad6c8}.concept-body{max-width:600px;margin:15px auto;padding:16px 20px;border:1px solid #50717d;border-radius:12px;background:#17303e}.concept-body h4{font-size:17px;color:#9ddccc;margin:0 0 10px}.concept-body ul{margin:0;padding-left:20px}.concept-body li{margin:9px 0;font-size:14px;line-height:1.6}
.quiz-active:not(.quiz-reviewed) #lesson-focus,.quiz-active:not(.quiz-reviewed) #learning-guide,.quiz-active:not(.quiz-reviewed) #lecture-checklist{display:none}.quiz-active:not(.quiz-reviewed) #teaching-steps{visibility:hidden}
@media(max-width:680px){.lesson-focus{padding:12px}.focus-goal{font-size:14px}.learning-guide{padding:15px 12px}.guide-heading{display:block}.guide-heading>.small{display:block;margin-top:7px}.checklist-tools{grid-template-columns:1fr}.checklist-tools label{display:none}.guide-actions button{font-size:11px;min-width:85px}.concept-body{padding:12px}#diagram.concept-panel{padding:18px 12px 70px}.concept-body li{font-size:13px}.rail #scene-search{font-size:12px}.rail>label[for="scene-search"]{margin-top:10px}.scene-header h2{overflow-wrap:anywhere}}

body.diagram-mode .camera-tools,body.diagram-mode .below-stage,body.diagram-mode #teaching-steps{display:none}.stage.diagram-mode{height:auto;min-height:360px;max-height:none}.stage.diagram-mode #diagram{position:relative;min-height:360px;padding-bottom:25px}.stage.diagram-mode .stage-grid{display:none}

#objective-search-results h3{font-size:14px;margin:20px 0 10px}.objective-search-hit{display:block;text-align:left;width:100%;font-size:12px;margin:7px 0}.objective-search-hit small{display:block;font-size:10px;color:var(--ink-3);margin-top:5px}

.quiz-active:not(.quiz-reviewed) #schematic{display:none}
