/* Fixed teaching stage; information lives in one on-demand drawer. */
html,body{height:100%;overflow:hidden}body{height:100dvh;display:flex;flex-direction:column}.appbar{height:58px;flex:none;padding:7px 20px}.brand small,.prototype,.teacher,.route-head,.footer,#scene-subtitle{display:none!important}.brand-mark{font-size:27px}.header-actions{gap:7px}.header-actions button{font-size:14px;min-height:36px;padding:6px 11px}.workspace{width:100%;flex:1;min-height:0;max-width:none;display:flex!important;position:relative}.teaching{flex:1;min-width:0;min-height:0;padding:12px 18px;display:flex;flex-direction:column;gap:7px}.lesson-head{min-height:0;flex:none;align-items:center}.lesson-head h1{font-size:clamp(20px,1.8vw,30px);margin:3px 0;letter-spacing:-.02em}.eyebrow{font-size:12px}.scene-toolbar{margin:0;flex:none;flex-wrap:nowrap}.segmented button,.contexts button{font-size:14px;min-height:32px;padding:5px 11px}.model-switch{margin:0;position:absolute;z-index:3;top:126px;left:32px;background:#0c2334;border-radius:7px}.model-switch button{font-size:12px;min-height:25px;padding:3px 8px}.stages{flex:1;min-height:0;grid-template-rows:minmax(0,1fr)}.stages.compare,.ontology-layout.compare{grid-template-columns:1.05fr 1fr}.stage{display:flex;flex-direction:column;min-height:0}.stage-top{height:35px;flex:none;font-size:14px;padding:5px 12px}.stage-bottom{height:24px;flex:none;font-size:12px}.stage-bottom span:last-child:not(:first-child){display:none}#world,#diagram,.ontology-layout #diagram,.ontology-layout.compare .world-stage #world,.audience .stage #world,.audience #diagram{height:auto!important;min-height:0!important;flex:1;width:100%;overflow:hidden}#diagram{padding:3px 8px}.ontology-pair{height:calc(100% - 25px);min-height:0;gap:6px}.ontology-half{display:flex;flex-direction:column;min-height:0}.ontology-half+section{padding-left:6px}.ontology-half h3{font-size:12px}.ontology-half p{font-size:12px}.ontology-half svg,.ontology-layout .ontology-half svg,.audience .ontology-layout .ontology-half svg{height:0!important;min-height:0;flex:1}.ontology-caption{font-size:12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selection{min-height:0;padding:0;font-size:14px;flex:none}.selection:empty{display:none}.reveal{flex:none;min-height:0;padding:7px 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center}.reveal-label{font-size:14px}#step-copy{font-size:16px;line-height:1.35;margin:0;max-width:none}#step-actions{grid-column:2;flex-wrap:nowrap}#step-actions button{font-size:14px;min-height:32px;padding:5px 9px}#feedback{display:none}.simulation-controls{padding:0;flex:none;flex-wrap:nowrap}.simulation-controls button{min-height:30px;padding:4px 9px}.navigation{padding:2px 0;flex:none;flex-wrap:nowrap;gap:8px}.navigation button{min-height:34px;padding:5px 12px;font-size:14px}.step-dots{justify-content:center;margin:auto}.step-dots button{min-height:8px;height:8px}.navigation #next-scene{display:none}#filmstrip{flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:96px;gap:9px}.scene-card{position:relative;display:flex;flex-direction:column}.scene-card .thumb{flex:1;min-height:0;overflow:hidden;background:#0b1d2a;display:flex;align-items:center;justify-content:center}.thumb img{width:100%;height:100%;object-fit:cover}.thumb svg{height:100%;width:100%;pointer-events:none}.thumb .ontology-pair{height:100%;width:100%}.thumb .ontology-half h3,.thumb .ontology-half p,.thumb .ontology-caption{display:none}.scene-card strong{font-size:14px;padding:4px 9px;flex:none}.desk-rail{width:70px;flex:none;border-left:1px solid var(--line);display:flex;flex-direction:column;padding:12px 5px;gap:8px;background:#0a1c2c}.desk-rail button{font-size:12px;min-height:54px;padding:6px 2px;background:transparent}.desk-rail button span{display:block;font-size:20px;color:var(--cyan);margin-bottom:2px}.desk-drawer{width:330px;flex:none;border-left:1px solid var(--line);background:linear-gradient(150deg,#102b40,#0a1a29);padding:17px;display:flex;flex-direction:column;gap:12px;min-height:0}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.drawer-head h2{font-size:20px;font-weight:550;margin:0}.drawer-head button{font-size:24px;padding:0 8px;min-height:30px}.drawer-body{min-height:0;flex:1;display:flex;flex-direction:column;gap:12px}.drawer-body p{font-size:16px;line-height:1.5;margin:0}.drawer-body h3{font-size:17px;margin:0}.drawer-body .muted{color:var(--muted);font-size:14px}.drawer-body .card{padding:14px;border:1px solid var(--line);border-radius:10px;background:#112b3e}.drawer-body .card p{font-size:15px}.drawer-body button{text-align:left;font-size:14px}.drawer-body .pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.drawer-body .tabs{display:flex;gap:4px;flex-wrap:wrap}.drawer-body .tabs button{font-size:14px;padding:5px 8px;min-height:32px}.drawer-body input,.drawer-body textarea{width:100%;padding:10px;background:#091d2e;color:var(--ink);border:1px solid #3b5c70;border-radius:7px;font:inherit}.drawer-body textarea{height:160px;resize:none}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.catalog-grid button{min-height:92px;padding:12px}.catalog-grid small{display:block;color:var(--muted);margin-top:8px;font-size:13px}.related-card{display:flex;flex-direction:column;gap:9px}.related-card>div{display:flex;gap:6px}.related-card p{color:var(--muted)}.live-status{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--cyan)}.live-status.paused{color:var(--amber)}.live-status button{font-size:13px;min-height:32px}.trainer-badge{color:var(--amber);font-size:12px;letter-spacing:.08em}.desk-focus #filmstrip,.desk-focus .desk-drawer{display:none}.desk-focus .desk-rail{display:flex}.parallel-stage{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.parallel-card{min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;padding:12px;background:#0e2538}.parallel-card h3{margin:0 0 6px;font-size:19px}.parallel-card p{font-size:14px;line-height:1.4;margin:0 0 7px;color:var(--muted)}.parallel-diagram{flex:1;min-height:0}.parallel-diagram>svg{width:100%;height:100%}.parallel-diagram .ontology-pair{height:100%}.parallel-diagram .ontology-caption{display:none}.parallel-diagram [role=button]{pointer-events:none}.audience .desk-rail,.audience .desk-drawer,.audience #live-controls,.audience #concepts-open,.audience #ontology-world-mode,.audience .selection,.audience .simulation-controls,.audience .stage-bottom,.audience .reveal-label{display:none!important}.audience .teaching{width:100%;max-width:none;padding:20px 30px}.audience .appbar{height:52px}.audience .lesson-head{margin-bottom:8px}.audience .reveal{display:block;padding:16px 0}.audience #step-copy{font-size:22px}.audience #step-actions{margin-top:10px}.audience #step-actions button[aria-pressed=true]{background:#12293c;border-color:var(--line);color:var(--ink)}.audience #world-labels{pointer-events:none}.audience .world-label{pointer-events:none}.audience #world canvas{pointer-events:none}.audience .parallel-card p{font-size:18px}.drawer-body .footlinks{margin-top:auto;font-size:13px;line-height:1.8}.drawer-body .lesson-return{width:100%}
@media(max-height:800px){.appbar{height:50px}.teaching{padding:8px 12px;gap:5px}#filmstrip{height:76px}.lesson-head h1{font-size:22px}.stage-top{height:30px}.stage-bottom{height:20px}.desk-drawer{padding:12px;gap:8px}.drawer-body{gap:9px}.drawer-body .card{padding:10px}.model-switch{top:112px;left:24px}.world-label{font-size:12px;padding:4px 7px}.flow-label{font-size:12px}.reveal{padding-top:5px}.catalog-grid button{min-height:74px}.related-card{gap:5px}.drawer-body p{line-height:1.4}}
@media(max-width:1200px){.desk-drawer{width:300px}.desk-rail{width:62px}.stage-top .tiny{display:none}.header-actions #guide{display:none}.brand{font-size:14px}.parallel-card{padding:8px}.ontology-half h3{font-size:12px}.stages.compare,.ontology-layout.compare{grid-template-columns:1fr 1fr}.contexts button,.segmented button{padding:4px 7px}.stage-top{font-size:13px}}
@media(max-width:850px){.desk-drawer{position:absolute;right:62px;top:0;bottom:0;z-index:10;box-shadow:-15px 0 45px #0008}.brand span small{display:none}.header-actions #guide{display:none}.header-actions button{font-size:12px}.teaching{padding:8px}.lesson-head h1{font-size:19px}.live-status>span{display:none}.stage-bottom{display:none}.world-label{max-width:100px}.reveal{display:block}#step-copy{font-size:14px}#step-actions{margin-top:4px}.ontology-pair{grid-template-columns:1fr 1fr}.ontology-half+section{border-top:0;border-left:1px solid var(--line);padding-top:0}.navigation .step-dots{order:0;width:auto;margin:auto}.segmented{width:auto}.scene-toolbar{gap:3px}.scene-card strong{font-size:12px}.stages.compare{grid-template-columns:1fr 1fr}}

.audience #exit-parallel{display:none}.desk-focus #focus-mode{border-color:var(--cyan)}.drawer-body label{display:block;font-size:14px;margin-bottom:8px}.parallel-stage[hidden]{display:none}.scene-toolbar #exit-parallel{font-size:13px;min-height:30px;padding:4px 8px}.drawer-body #trainer-content{display:flex;flex-direction:column;gap:10px}.audience #live-controls{display:none}.audience .parallel-stage{width:100%}
/* 0.5: concept navigation belongs beside its top-left trigger. */
.catalog-left #desk-drawer{order:-1;border-left:0;border-right:1px solid var(--line)}
#concepts-open[aria-expanded=true]{border-color:var(--cyan);background:#193c48}
.step-dots{gap:8px}.step-dots button{height:32px;min-height:32px;width:34px;border:1px solid var(--line);border-radius:7px;font-size:14px;background:#112a3e;color:var(--muted)}.step-dots button[aria-current=true]{background:#254e56;color:#e0fff9;border-color:var(--cyan)}
.diagram-edge.disabled{stroke:#e69a91;stroke-dasharray:5 6;opacity:.5}
#schema-input{width:125px;min-width:70px;background:#091d2e;border:1px solid #4a6a7d;border-radius:7px;padding:6px 9px;color:var(--ink);font-size:16px}.simulation-controls label{font-size:14px}.simulation-controls .state-current{font-size:14px;margin-right:0}.navigation{border-top:1px solid var(--line);padding:8px 0 0;margin-top:2px}
@media(max-width:850px){.catalog-left #desk-drawer{left:0;right:auto;box-shadow:15px 0 45px #0008}.simulation-controls{flex-wrap:wrap}.step-dots button{width:28px;height:30px;min-height:30px}}
/* Short, scene-specific contrasts; the stage remains the primary surface. */
#decision-value{width:105px;min-width:65px;background:#091d2e;border:1px solid #4a6a7d;border-radius:7px;padding:6px 9px;color:var(--ink);font-size:16px}.experiment-result{font-size:14px;color:var(--muted);line-height:1.35;flex:1;min-width:140px}.simulation-controls input[aria-invalid=true]{border-color:#e79b91}.diagram-node.missing rect{stroke:#dc998e;stroke-dasharray:5 4;fill:#30242a}.diagram-node.missing text{fill:#e6b1a7}.stage-bottom{white-space:normal}.simulation-controls .outline{max-width:55%;white-space:normal;text-align:left}
.world-label.missing{background:#352930;color:#edb3a6;border-style:dashed;border-color:#dd9c90}
.numeric-diagram{font-family:inherit}.numeric-node{cursor:pointer}.numeric-node:focus{outline:none}.numeric-node:focus-visible circle{stroke:#fff;stroke-width:3}.source-links{display:flex;flex-direction:column;gap:7px;font-size:14px}.reveal #feedback:not(:empty){display:block;grid-column:2;font-size:14px;line-height:1.3;margin:0}.catalog-left .footlinks{font-size:13px;line-height:1.5}
@media(max-height:760px){.catalog-left .footlinks{display:none}.catalog-left .drawer-body{gap:8px}.catalog-left .catalog-grid button{min-height:68px}}

.v25-node{cursor:pointer}.v25-node:focus-visible{outline:none}.v25-node:focus-visible rect{stroke:#6be4dc;stroke-width:3}
