/* M-86: the elementary graph is scoped to the teacher network view. */
.net-stage{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--panel)}
.net-stage a{min-height:34px;padding:7px 12px;border-radius:var(--r-xs);color:var(--muted);font-size:var(--fs-sm);font-weight:600;text-decoration:none;white-space:nowrap}
.net-stage a.on{background:var(--pri-s);color:var(--pri-t)}
.net-stage a:focus-visible,.pmn button:focus-visible,.pmn input:focus-visible,.pmn select:focus-visible,.pmn a:focus-visible,.pmn-node:focus-visible,.pmn-graph svg:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.pmn{--pmn-school:var(--pri);--pmn-handout:var(--purple);--pmn-shuangsi:var(--ok);flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--panel);box-shadow:var(--sh)}
.pmn-tools,.pmn-sources{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line)}
.pmn-filters,.pmn-camera,.pmn-sources{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.pmn-filters label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--fs-sm);white-space:nowrap}
.pmn-filters select,.pmn-filters input{height:38px;max-width:185px;padding:0 10px;border:1px solid var(--line2);border-radius:var(--r-xs);background:var(--panel);color:var(--ink);font:inherit;font-size:var(--fs-sm)}
.pmn-filters .pmn-search{flex:1;min-width:210px}.pmn-filters .pmn-search input{flex:1;max-width:260px;min-width:125px}
.pmn-camera button,.pmn-sources button{min-height:38px;padding:7px 11px;border:1px solid var(--line2);border-radius:var(--r-xs);background:var(--panel);color:var(--ink);font-size:var(--fs-sm)}
.pmn-camera button:hover,.pmn-sources button:hover{background:var(--soft)}
.pmn-camera [data-spin][aria-pressed="true"],.pmn-sources button[aria-pressed="true"]{border-color:var(--pri-b);background:var(--pri-s);color:var(--pri-t);font-weight:600}
.pmn-sources{justify-content:flex-start;gap:6px;padding-block:8px}.pmn-count{margin-left:auto;color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}
.pmn-alert{padding:8px 16px;background:var(--amber-0);border-bottom:1px solid var(--amber-b);color:var(--amber-d);font-size:var(--fs-sm)}
.pmn-alert[hidden]{display:none}
.pmn-body{flex:1;min-height:430px;display:grid;grid-template-columns:minmax(0,1fr) 300px}
.pmn-graph{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--soft)}
.pmn-graph-title{padding:14px 18px 0;font-size:var(--fs-ui);font-weight:700;color:var(--ink)}
.pmn-graph-title small{display:block;margin-top:3px;color:var(--muted);font-size:var(--fs-xs);font-weight:400}
.pmn-viewport{flex:1;min-height:350px;overflow:auto;background:radial-gradient(circle at 52% 44%,var(--panel),var(--soft) 72%)}
.pmn-viewport svg{display:block;width:100%;min-width:760px;height:100%;min-height:350px;touch-action:none;cursor:grab}
.pmn-viewport svg.dragging{cursor:grabbing}
.pmn [data-guides] path{fill:none;stroke:var(--line2);stroke-width:1;stroke-dasharray:2 8}
.pmn [data-ring="small"]{stroke:var(--line)}
.pmn-edge{fill:none;stroke:var(--dim);stroke-width:1.3;stroke-linecap:round}
.pmn-edge.candidate{stroke:var(--ok-m);stroke-dasharray:5 6}
.pmn-edge.on{stroke:var(--pri);stroke-width:2}
.pmn-node{cursor:pointer}.pmn-node circle{stroke:var(--panel);stroke-width:2;filter:drop-shadow(0 2px 4px rgba(18,42,56,.18))}
.pmn-node.school circle{fill:var(--pmn-school)}.pmn-node.handout circle{fill:var(--pmn-handout)}.pmn-node.shuangsi circle{fill:var(--pmn-shuangsi)}
.pmn-node.on circle{stroke:var(--ink);stroke-width:2.5}.pmn-node text{fill:var(--ink);font-size:13px;font-weight:600;paint-order:stroke;stroke:var(--panel);stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.pmn-node .pmn-label-box{fill:var(--panel);stroke:var(--line2);stroke-width:1;filter:drop-shadow(0 2px 4px rgba(18,42,56,.1));pointer-events:none}.pmn-node.on .pmn-label-box{stroke:var(--pri-m)}
.pmn-hub circle{fill:var(--pri-t);stroke:var(--panel);stroke-width:5}.pmn-hub text{fill:var(--panel);font-size:14px;font-weight:700}
.pmn-foot{display:flex;justify-content:space-between;gap:12px;padding:8px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-xs)}
.pmn-detail{min-width:0;min-height:0;display:flex;flex-direction:column;padding:17px 16px;background:var(--panel)}
.pmn-detail>small{color:var(--faint);font-size:var(--fs-xs);letter-spacing:.09em}.pmn-detail [data-kind]{align-self:flex-start;margin-top:14px;padding:4px 8px;border-radius:var(--r-xs);background:var(--pri-s);color:var(--pri-t);font-size:var(--fs-xs);font-weight:600}
.pmn-detail [data-kind="handout"]{background:var(--purple-s);color:var(--purple)}.pmn-detail [data-kind="shuangsi"]{background:var(--ok-s);color:var(--ok)}
.pmn-detail h2{margin:10px 0 6px;font-size:var(--fs-title);line-height:1.3;overflow-wrap:anywhere}.pmn-detail p{margin:4px 0 12px;color:var(--muted);font-size:var(--fs-md);line-height:1.6}
.pmn-provenance{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;padding:12px 0;border-top:1px solid var(--line);font-size:var(--fs-sm)}
.pmn-provenance b{color:var(--muted);font-weight:500}.pmn-provenance span{overflow-wrap:anywhere}
.pmn-detail [data-open]{align-self:flex-start;margin-bottom:14px;color:var(--pri-t);font-size:var(--fs-md);font-weight:600}.pmn-detail [data-open][hidden]{display:none}
.pmn-results{flex:1;min-height:120px;overflow:auto;border-top:1px solid var(--line)}.pmn-results h3{margin:12px 0 8px;font-size:var(--fs-sm);color:var(--muted)}
.pmn-result{display:block;width:100%;padding:8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.pmn-result:hover{background:var(--soft)}
.pmn-result b{display:block;font-size:var(--fs-md);font-weight:600}.pmn-result small{display:block;margin-top:2px;color:var(--muted);font-size:var(--fs-xs)}.pmn-more{font-size:var(--fs-xs)}
.pmn-disclosure{margin:0;padding:9px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-xs);line-height:1.55}
@media(max-width:1100px){.pmn-tools{align-items:flex-start;flex-direction:column}.pmn-body{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:760px){.pmn{min-height:0;overflow-y:auto;overflow-x:hidden}.pmn-body{flex:none;display:flex;flex-direction:column;min-height:0}.pmn-graph{flex:none;min-height:0;border-right:0}.pmn-viewport{flex:none;height:410px;min-height:0}.pmn-viewport svg{height:410px;min-height:0}.pmn-detail{flex:none;min-height:0;border-top:1px solid var(--line)}.pmn-results{flex:none;max-height:220px}.pmn-tools,.pmn-sources{flex-shrink:0;padding-inline:10px}.pmn-filters{width:100%}.pmn-filters .pmn-search{width:100%}.pmn-filters .pmn-search input{max-width:none}.pmn-camera button,.pmn-sources button{min-height:44px}.pmn-count{width:100%;margin-left:0}.pmn-foot{flex-direction:column;gap:2px}}
@media(prefers-reduced-motion:reduce){.pmn *{animation:none!important;transition:none!important}}

/* M-91: textbook-first view keeps the existing teacher-workspace tokens. */
.pmg-root{--pmg-book:var(--pri);--pmg-knowledge:var(--ok);--pmg-extra:var(--purple);--pmg-grade-1:#276f98;--pmg-grade-2:#2a7776;--pmg-grade-3:#426d9d;--pmg-grade-4:#745f99;--pmg-grade-5:#84634c;--pmg-grade-6:#68688f;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--sh)}
.pmg-root button,.pmg-root select,.pmg-root input{font:inherit}
.pmg-root button:focus-visible,.pmg-root select:focus-visible,.pmg-root input:focus-visible,.pmg-root canvas:focus-visible,.pmg-root a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.pmg-toolbar,.pmg-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid var(--line)}
.pmg-views,.pmg-camera{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.pmg-toolbar button,.pmg-filters button{min-height:38px;padding:7px 10px;border:1px solid var(--line2);border-radius:var(--r-xs);background:var(--panel);color:var(--ink);font-size:var(--fs-sm);cursor:pointer}
.pmg-toolbar button:hover,.pmg-filters button:hover{background:var(--soft)}
.pmg-toolbar button[aria-pressed="true"],.pmg-filters button[aria-pressed="true"]{border-color:var(--pri-b);background:var(--pri-s);color:var(--pri-t);font-weight:600}
.pmg-filters{justify-content:flex-start;flex-wrap:wrap;gap:8px 12px}
.pmg-filters label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--fs-sm);white-space:nowrap}
.pmg-filters select,.pmg-filters input{height:38px;padding:0 10px;border:1px solid var(--line2);border-radius:var(--r-xs);background:var(--panel);color:var(--ink);font-size:var(--fs-sm)}
.pmg-filters select{max-width:160px}.pmg-search{flex:1;min-width:205px}.pmg-search input{flex:1;min-width:120px;max-width:320px}
.pmg-count{margin-left:auto;color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}
.pmg-alert{padding:8px 14px;border-bottom:1px solid var(--amber-b);background:var(--amber-0);color:var(--amber-d);font-size:var(--fs-sm)}.pmg-alert[hidden]{display:none}
.pmg-main{flex:1;min-height:430px;display:grid;grid-template-columns:minmax(0,1fr) 308px}
.pmg-stage{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--soft)}
.pmg-stage-head{display:flex;align-items:baseline;gap:12px;padding:13px 17px 9px}.pmg-stage-head strong{color:var(--ink);font-size:var(--fs-ui)}.pmg-stage-head span{color:var(--muted);font-size:var(--fs-xs)}
.pmg-canvas-wrap{flex:1;min-height:340px;overflow:hidden;background:radial-gradient(circle at 50% 42%,var(--panel),var(--soft) 76%)}
.pmg-canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.pmg-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 18px;padding:8px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-xs)}
.pmg-legend span{display:inline-flex;align-items:center;gap:5px}.pmg-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--pmg-book)}.pmg-legend [data-legend="knowledge"]{background:var(--pmg-knowledge)}.pmg-legend [data-legend="extra"]{background:var(--pmg-extra)}.pmg-legend [data-legend="suggestion"]{width:16px;height:0;border-top:2px dashed var(--amber-d);border-radius:0;background:none}
.pmg-detail{min-width:0;min-height:0;display:flex;flex-direction:column;padding:15px 16px;background:var(--panel)}
.pmg-detail h2{margin:2px 0 8px;color:var(--ink);font-size:var(--fs-title);line-height:1.3;overflow-wrap:anywhere}.pmg-detail>p{margin:0 0 10px;color:var(--muted);font-size:var(--fs-sm);line-height:1.55}
.pmg-detail dl{display:grid;grid-template-columns:68px minmax(0,1fr);gap:6px 9px;margin:0;padding:9px 0;border-top:1px solid var(--line);font-size:var(--fs-sm)}
.pmg-detail dt{color:var(--muted)}.pmg-detail dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.pmg-detail [data-relations]{max-height:145px;overflow:auto}.pmg-relation{margin:4px 0;padding:5px 8px;border-radius:var(--r-xs);background:var(--soft);color:var(--ink);font-size:var(--fs-xs);line-height:1.45}.pmg-relation.suggestion{border:1px dashed var(--amber-b);background:var(--amber-0);color:var(--amber-d)}
.pmg-detail [data-open]{align-self:flex-start;margin:8px 0;color:var(--pri-t);font-size:var(--fs-sm);font-weight:600}.pmg-detail [data-open][hidden]{display:none}
.pmg-results{flex:1;min-height:120px;overflow:auto;margin-top:7px;border-top:1px solid var(--line)}.pmg-results h3{margin:9px 0 6px;color:var(--muted);font-size:var(--fs-sm)}
.pmg-result{display:block;width:100%;padding:7px 5px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font-size:var(--fs-sm);text-align:left;cursor:pointer}.pmg-result:hover{background:var(--soft)}
.pmg-disclosure{margin:0;padding:8px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-xs);line-height:1.5}
@media(max-width:1100px){.pmg-toolbar{align-items:flex-start;flex-direction:column}.pmg-main{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:760px){.pmg-root{overflow:auto}.pmg-main{flex:none;display:flex;flex-direction:column;min-height:0}.pmg-stage{flex:none;border-right:0}.pmg-canvas-wrap{flex:none;height:365px;min-height:0}.pmg-detail{flex:none;border-top:1px solid var(--line)}.pmg-results{max-height:210px}.pmg-result{min-height:44px}.pmg-toolbar,.pmg-filters{padding-inline:10px}.pmg-toolbar button,.pmg-filters button{min-height:44px}.pmg-search{flex-basis:100%;min-width:0}.pmg-search input{max-width:none}.pmg-count{width:100%;margin-left:0}.pmg-stage-head{flex-direction:column;gap:2px}}
@media(prefers-reduced-motion:reduce){.pmg-root *{animation:none!important;transition:none!important}}

/* Draft knowledge cards are deliberately separate from textbook coverage. */
.pmg-main[hidden],.pmg-pilot[hidden],.pmg-filters[hidden],.pmg-camera[hidden],.pmg-disclosure[hidden]{display:none}
.pmg-pilot{flex:1;min-height:0;display:flex;flex-direction:column;color:var(--ink);background:var(--panel)}
.pmk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:16px 24px;border-bottom:1px solid var(--line);background:var(--soft)}
.pmk-head h2{margin:4px 0 8px;font-size:var(--fs-title)}.pmk-head p{margin:0;font-size:var(--fs-sm);line-height:1.6}
.pmk-head [data-pilot-summary]{max-width:240px;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
.pmk-status{color:var(--amber-d);font-weight:600}
.pmk-controls{display:flex;flex-wrap:wrap;gap:16px;padding:12px 24px;border-bottom:1px solid var(--line)}
.pmk-controls label{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--muted)}
.pmk-controls input,.pmk-controls select{min-height:44px;min-width:0;padding:8px 12px;border:1px solid var(--line2);border-radius:var(--r-xs);background:var(--panel);color:var(--ink)}
.pmk-controls input{width:240px}.pmk-layout{flex:1;min-height:0;display:grid;grid-template-columns:240px minmax(0,1fr)}
.pmk-index{min-height:0;overflow:auto;border-right:1px solid var(--line);padding:12px}
.pmk-index [data-pilot-count]{margin:0 8px 12px;color:var(--muted);font-size:var(--fs-sm)}
.pmk-index button{display:block;width:100%;min-height:48px;padding:8px 12px;border:0;border-left:3px solid transparent;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.pmk-index button small{display:block;margin-top:4px;color:var(--muted);font-size:var(--fs-xs)}
.pmk-index button:hover{background:var(--soft)}.pmk-index button[aria-pressed="true"]{border-left-color:var(--pri);background:var(--pri-s);color:var(--pri-t)}
.pmk-card{min-width:0;min-height:0;overflow:auto;padding:24px 32px;line-height:1.7;font-size:var(--fs-ui);overflow-wrap:anywhere}
.pmk-card>h2{margin:0 0 12px;font-size:var(--fs-title);line-height:1.4}.pmk-card>p{margin:0 0 12px;max-width:640px}
.pmk-kind,.pmk-muted{font-size:var(--fs-sm);color:var(--muted)}.pmk-card section{max-width:720px;margin:24px 0}
.pmk-card h3{margin:0 0 12px;font-size:var(--fs-ui);font-weight:600}.pmk-card h4{margin:8px 0;font-size:var(--fs-ui);font-weight:500}
.pmk-card ol,.pmk-card ul{padding-left:24px;margin:8px 0}.pmk-card li+li{margin-top:8px}
.pmk-notice{padding:8px 12px;background:var(--amber-0);color:var(--amber-d);font-size:var(--fs-sm)}
.pmk-relation{padding:8px 0;border-bottom:1px solid var(--line)}.pmk-relation button{min-height:44px;padding:4px 8px 4px 0;border:0;background:transparent;color:var(--pri-t);text-align:left;text-decoration:underline;cursor:pointer}
.pmk-relation>span{display:block}.pmk-relation p{margin:4px 0;font-size:var(--fs-sm)}
.pmk-check{padding:12px 0;border-top:1px solid var(--line)}.pmk-check p{margin:8px 0}.pmk-check summary{min-height:44px;padding:8px 0;box-sizing:border-box;color:var(--pri-t);cursor:pointer;font-size:var(--fs-sm)}
.pmk-check details>p{padding-left:16px;font-size:var(--fs-sm)}.pmk-resource{margin:8px 0}.pmk-resource a{color:var(--pri-t)}.pmk-resource small{display:block;color:var(--muted);font-size:var(--fs-sm)}
@media(max-width:1100px){.pmk-layout{grid-template-columns:220px minmax(0,1fr)}.pmk-card{padding:20px 24px}}
@media(max-width:760px){.pmg-pilot{flex:none}.pmk-head{flex-direction:column;gap:12px;padding:16px}.pmk-head [data-pilot-summary]{max-width:none;text-align:left}.pmk-controls{padding:12px 16px;gap:12px}.pmk-controls label{width:100%;justify-content:space-between}.pmk-controls input{width:min(240px,65%)}.pmk-layout{display:flex;flex-direction:column}.pmk-index{flex:none;max-height:200px;border-right:0;border-bottom:1px solid var(--line)}.pmk-card{overflow:visible;padding:20px 16px}.pmk-card section{margin:24px 0}}
