:root{--ink:#182c28;--muted:#52665f;--green:#215e50;--line:#d4ddd5;--paper:#f3f4ef;--white:#fff;--alert:#b82d2c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);padding:8px 12px;transition:background .15s}button:hover{background:#e5ede6}button:disabled{cursor:default;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #be833b;outline-offset:3px}::selection{background:#c8e4d7}header{height:78px;background:#fff;display:flex;align-items:center;gap:14px;padding:0 26px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;min-width:244px;color:var(--green)}.brand strong{font-size:17px;line-height:1.4}.brand span{display:block;font-weight:400;font-size:12px;letter-spacing:2px}.topnote{flex:1;color:var(--muted)}header button{font-size:12px}header button span{margin-left:8px}.layout{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 78px)}.sidebar{background:#173e37;color:#e7f0eb;padding:24px 14px;display:flex;flex-direction:column;max-height:calc(100vh - 78px);position:sticky;top:0}.navheading{display:flex;justify-content:space-between;align-items:center;margin:0 12px 18px}.navheading h2{margin:0;font-size:17px}.navheading span{color:#b6d0c4;font-size:12px}.search{display:block;padding:0 10px 20px}.search span{font-size:12px;color:#c1d3c9}.search input{width:100%;margin-top:8px;background:#244e45;color:#fff;border:1px solid #53776b;border-radius:4px;padding:9px;font-size:12px}.search input::placeholder{color:#c1d3c9}nav{overflow-y:auto;flex:1}nav button{display:block;text-align:left;width:100%;border:0;border-radius:4px;background:transparent;color:#ecf3ef;padding:12px;margin:2px 0}nav button:hover{background:#2d584e}nav button.active{background:#e1eee4;color:#173e37}nav button small{display:block;color:#b6cec1;font-size:11px;margin-top:3px}nav button.active small{color:#466454}footer{font-size:11px;color:#bed0c6;margin:20px 10px 0;border-top:1px solid #426258;padding-top:16px}main{min-width:0;padding:28px 30px}.devicehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:10px}h1{font-size:26px;font-weight:650;line-height:1.3;margin:0 0 8px}h2{font-size:15px;font-weight:600}p{margin:8px 0 18px}.devicehead p{margin:0;color:var(--muted);font-size:13px}.tag{font-size:11px;color:#52665f;border:1px solid #c3d0c4;padding:4px 8px;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px}.viewer{position:relative;min-height:570px;background:#e7ece5;border:1px solid #cfd9ce;overflow:hidden;border-radius:6px}.viewtools{position:absolute;left:14px;top:14px;right:14px;display:flex;gap:6px;flex-wrap:wrap;z-index:2}.viewtools button{padding:6px 9px;font-size:11px;background:#fafcf8}.viewtools button[aria-pressed=true]{background:var(--green);color:white}#scene{width:100%;height:100%;position:absolute;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}.partlabel{position:absolute;bottom:104px;left:20px;right:20px;max-width:450px;background:#fbfcf8eF;border:1px solid #ccd6cc;padding:8px 12px;font-size:12px;pointer-events:none}.viewhint{position:absolute;bottom:77px;left:21px;font-size:11px;color:#50645a}.statebar{position:absolute;bottom:0;left:0;right:0;height:63px;background:#fafbf7;border-top:1px solid #ced8cc;display:flex;gap:30px;padding:10px 20px}.statebar span{font-size:11px;color:var(--muted)}.statebar strong{font-size:14px;display:block;color:var(--ink);font-variant-numeric:tabular-nums}.statebar #timer{font-size:22px;color:var(--alert);margin-left:auto}.training{background:white;border:1px solid var(--line);border-radius:6px;padding:0 20px 20px;max-height:660px;overflow:auto}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:3}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;padding:16px 0;color:var(--muted)}.tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green);font-weight:600}.modebar{display:flex;justify-content:space-between;align-items:center;margin:18px 0;font-size:12px}select{padding:5px;border:1px solid var(--line);border-radius:4px;color:var(--green);background:#fff}#summary{font-size:12px;line-height:1.8;color:var(--muted)}.lessonheading{display:flex;align-items:center;justify-content:space-between}.lessonheading button{padding:3px 6px;font-size:11px}.step{display:flex;gap:10px;margin:0;padding:10px 0;border-bottom:1px solid #e7ece5;font-size:12px;color:var(--muted)}.step .num{flex:none;width:22px;height:22px;text-align:center;border:1px solid #bdcbbf;border-radius:50%;font-size:11px;line-height:20px}.step.current{color:var(--green);font-weight:600}.step.current .num,.step.done .num{background:var(--green);color:#fff;border-color:var(--green)}.step.done{color:#526d60}#actions{display:grid;gap:8px;margin-top:18px}#actions button{background:var(--green);color:white;border-color:var(--green);text-align:left;padding:11px 13px;font-size:13px}#actions button:hover{background:#17483c}.emergency{width:100%;background:#b82d2c;color:#fff;margin-top:12px;border:0}#feedback{margin-top:16px;font-size:12px;line-height:1.8;padding:10px;background:#eff4ed;min-height:48px}#feedback.error{background:#fff0e5;color:#893c0d}#finished{padding:14px 0;color:var(--green);font-weight:600}#parts{display:flex;gap:6px;flex-wrap:wrap}#parts button{font-size:12px}#partsPanel{font-size:12px}a{color:var(--green);text-underline-offset:3px;overflow-wrap:anywhere}.muted{color:var(--muted)}.record{margin-top:22px;border-top:1px solid #cbd7cd;padding-top:8px}.record>div{display:flex;align-items:center;justify-content:space-between}.record span{color:var(--muted);font-size:12px}.record ol{padding:0;margin:0;list-style:none;max-height:180px;overflow:auto}.record li{padding:7px 0;border-bottom:1px solid #e0e6dd;font-size:12px}.record time{color:#607569;margin-right:14px;font-variant-numeric:tabular-nums}dialog{border:1px solid var(--line);border-radius:8px;width:min(900px,92vw);max-height:85vh;padding:26px;color:var(--ink)}dialog::backdrop{background:#122e2870}.dialoghead{display:flex;align-items:center;justify-content:space-between}.dialoghead h2{font-size:22px;margin:0}dialog p{font-size:12px;color:var(--muted)}dialog input{padding:10px;width:100%;border:1px solid var(--line);margin-bottom:15px}#catalogList{max-height:55vh;overflow:auto}.catalogrow{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.catalogrow a{flex:1}.catalogrow span{color:var(--muted);white-space:nowrap}.catalogrow button{font-size:11px}#modelError{position:absolute;top:110px;left:25px;right:25px;background:#fff0e5;padding:25px}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:#8ca899;border-radius:4px}::-webkit-scrollbar-track{background:transparent}[hidden]{display:none!important}@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 400px}.viewer{min-height:650px}.training{max-height:730px}}@media(max-width:1200px){.layout{grid-template-columns:220px 1fr}main{padding:22px 18px}.workspace{grid-template-columns:minmax(0,1fr) 310px;gap:12px}.topnote{display:none}.brand{flex:1}.viewer{min-height:600px}h1{font-size:23px}.training{padding:0 14px 15px}}@media(max-width:950px){.layout{grid-template-columns:190px 1fr}.workspace{grid-template-columns:1fr}.viewer{height:500px;min-height:500px}.training{max-height:none}.sidebar{padding:18px 8px}.tag{display:none}}@media(max-width:620px){header{height:auto;min-height:76px;padding:12px;gap:8px;flex-wrap:wrap}.brand{min-width:190px}header button{padding:5px 8px}.layout{display:block}.sidebar{position:relative;max-height:none;padding:14px}.navheading{margin-bottom:10px}.search{padding:0}.search span,footer{display:none}nav{display:flex;overflow-x:auto;margin-top:12px}nav button{min-width:165px;width:auto;margin-right:6px}nav small{white-space:nowrap}main{padding:22px 12px}.viewer{height:440px;min-height:440px}.devicehead{margin-bottom:15px}h1{font-size:22px}.training{padding:0 16px 16px}.statebar{gap:16px}.catalogrow{flex-wrap:wrap}.catalogrow a{flex-basis:100%}}

.emergency:hover{background:#962823;color:#fff}.viewtools button[aria-pressed=true]:hover{background:#17483c;color:#fff}
/* Detailed equipment inspection and operation */
.viewer{min-height:680px}.viewtools{gap:5px}.viewtools button{font-size:12px}.demoControls{display:flex;gap:6px;margin:12px 0}.demoControls button{font-size:12px;flex:1}.demoControls button[aria-pressed=true]{background:#215e50;color:#fff}.demoControls button[aria-pressed=true]:hover{background:#17483c}.hotspot{position:absolute;left:0;top:0;z-index:4;width:26px;height:26px;border-radius:50%;padding:0;margin:-13px 0 0 -13px;background:#fafcf4;border:1px solid #536b5c;color:#243f31;font-size:11px;box-shadow:0 2px 5px #20372826}.hotspot.next{background:#f5cc7c;border-color:#825817;color:#50370e}.hotspot.selected{background:#215e50;color:#fff;border-color:#fff}.hotspot:hover{background:#dce8d8;z-index:5;color:#173e37}#hotspots{position:absolute;inset:0;pointer-events:none}#hotspots button{pointer-events:auto}#modelAction{position:absolute;z-index:5;right:14px;bottom:157px;max-width:310px;background:#fffdf2;border:1px solid #b6c6b4;padding:10px 12px;box-shadow:0 5px 16px #14332218;font-size:12px}#selectedPartName{display:block;font-weight:600;margin-bottom:5px}#operatePart{background:#215e50;color:#fff;font-size:12px;border-color:#215e50}#operatePart:hover{background:#17483c}#flowLegend{position:absolute;left:18px;right:12px;bottom:91px;display:flex;gap:7px 13px;flex-wrap:wrap;font-size:11px;pointer-events:none}#flowLegend span:before{content:'';display:inline-block;width:15px;height:3px;vertical-align:middle;margin-right:5px;background:currentColor}.water{color:#126697}.control{color:#14716d}.air{color:#8f601a}.alarm{color:#70508c}.partlabel{bottom:118px;max-width:calc(100% - 38px);font-size:12px;line-height:1.7}.viewhint{bottom:69px}.statebar{height:60px}#mechanismPanel{margin-top:22px;border:1px solid #cbd8cc;border-radius:6px;background:#fafbf6;padding:16px 22px 22px}.mechanismHead{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #d5dfd2;padding-bottom:10px}.mechanismHead h2{font-size:17px;margin:0}.mechanismHead>span{font-size:11px;color:#5f6d5c}.mechanismGrid{display:grid;grid-template-columns:1.5fr 1fr;gap:26px;padding-top:16px}#schematic svg{display:block;width:100%;height:auto;max-height:390px}#schematic text{font:13px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;fill:#3a5144}#schematic .diagram-title{font-size:16px;font-weight:600}#schematic .diagram-note{font-size:11px;fill:#617262}.diagram-flow{fill:none;stroke-width:4;stroke-dasharray:10 7;animation:flowDirection .8s linear infinite;transition:opacity .3s}.waterline{stroke:#168bd0}.controlline{stroke:#148f8c}.airline{stroke:#b88024}#diagram-valve{transition:transform .6s}.mechanismText h3{font-size:16px;margin:0 0 10px}.mechanismText p{font-size:13px;line-height:1.9;color:#4e6253}.mechanismText a{font-size:12px;display:inline-block;margin-top:14px}#valveStates{display:grid;grid-template-columns:1fr 1fr;gap:6px 15px}#valveStates>div{display:flex;justify-content:space-between;gap:8px;font-size:12px;border-bottom:1px solid #dde6d9;padding:5px 0}#valveStates strong{font-weight:500}.open{color:#176b56}.closed{color:#6e6652}#steps{max-height:300px;overflow:auto}.training{max-height:740px}#actions{position:sticky;bottom:0;background:#fff;padding:8px 0;margin-top:10px}.training #feedback{margin-top:5px}#mechanismPanel [hidden]{display:none!important}@keyframes flowDirection{to{stroke-dashoffset:-34}}@media(min-width:1600px){.viewer{min-height:750px}}@media(max-width:950px){.viewer{height:600px;min-height:600px}.mechanismGrid{grid-template-columns:1fr}.training{max-height:none}}@media(max-width:620px){.viewer{height:560px;min-height:560px}.viewtools button{font-size:11px;padding:6px 8px}.mechanismHead{display:block}.mechanismHead>span{display:block;margin-top:5px}#mechanismPanel{padding:14px 10px}.mechanismGrid{gap:10px}#flowLegend{font-size:11px;bottom:91px;gap:3px 8px}.partlabel{bottom:135px;font-size:11px}#modelAction{bottom:192px;max-width:260px}#steps{max-height:260px}}@media(prefers-reduced-motion:reduce){.diagram-flow{animation:none}#diagram-valve{transition:none}}

.referenceCompare{margin-top:14px;border-top:1px solid #d5dfd2;padding-top:10px;font-size:12px}.referenceCompare summary{cursor:pointer}.referenceCompare img{display:block;width:100%;max-height:500px;object-fit:contain;background:#fff}.referenceCompare a{display:block}

.sitePhotoLink{font-size:12px;white-space:nowrap}@media(max-width:620px){.sitePhotoLink{margin-left:0}}

#modelModeControl{display:flex;gap:10px;align-items:center;font-size:12px;margin-top:12px;color:#52665f}#modelModeControl select{font-size:12px;padding:5px 10px}.modelSourceNote{font-size:12px;color:#50634c;background:#f2f5eb;border:1px solid #d6dfcc;padding:10px 12px;margin-top:14px;line-height:1.8}

.hotspot.siteMapped{width:auto;min-width:26px;height:26px;padding:0 7px;border-radius:4px;white-space:nowrap;background:#fffef5;font-size:11px}.hotspot.siteMapped.next{background:#f6ce80}.hotspot.siteMapped.selected{background:#215e50;color:#fff}.hotspotLeaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.hotspotLeaders line{stroke:#708a74;stroke-width:1;vector-effect:non-scaling-stroke}.partBasis{font-size:12px;background:#f0f4e9;padding:10px 12px;border:1px solid #d7dfce;margin-top:14px;line-height:1.8}@media(max-width:620px){.hotspot.siteMapped{font-size:11px;padding:0 4px;height:24px}.partlabel{font-size:11px}}
.viewSwitch{display:flex;gap:6px;margin-bottom:24px}.viewSwitch button{padding:9px 18px}.viewSwitch button[aria-pressed=true]{background:#215e50;color:#fff;border-color:#215e50}.viewSwitch button[aria-pressed=true]:hover{background:#17483c}.system-mode main>.devicehead,.system-mode main>.workspace,.system-mode main>#mechanismPanel,.system-mode main>.record{display:none!important}.chainHeading{display:flex;justify-content:space-between;gap:20px;align-items:center}.chainHeading p{font-size:13px;color:#52665f;margin-bottom:0}.chainControl{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:22px 0 16px}.chainControl label{display:flex;align-items:center;gap:7px;font-size:12px}.chainControl button{font-size:12px}#chainPlay{background:#215e50;color:#fff;border-color:#215e50;min-width:95px}#chainPlay:hover{background:#17483c}.chainChapters{display:flex;gap:6px;flex-wrap:wrap}.chainChapters button{font-size:11px;padding:7px 9px}.chainChapters button[aria-current=step]{background:#dbe9d9;border-color:#819d7f;color:#234b35;font-weight:600}.chainStage{min-height:91px;padding:16px 0 12px}.chainStage h2{margin:0 0 5px;font-size:17px}.chainStage p{margin:0;color:#52665f;font-size:12px;line-height:1.8;max-width:100ch}.chainViewer{height:590px;position:relative;background:#e6ece3;border:1px solid #c9d5c5;border-radius:6px;overflow:hidden}.chainViewer canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.chainViewTools{position:absolute;left:14px;right:14px;top:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;z-index:3}.chainViewTools button{font-size:11px;padding:6px 10px;background:#fbfcf7}.chainViewTools label{font-size:12px;display:flex;align-items:center;gap:5px}.chainViewTools>span{margin-left:auto;font-size:12px;color:#405e42;background:#f9fcf3;padding:5px 9px;border:1px solid #c2d0bb}.chainLegend{position:absolute;bottom:0;left:0;right:0;display:flex;gap:12px;flex-wrap:wrap;background:#f9fcf4eF;border-top:1px solid #cbd8c5;padding:10px 14px;font-size:11px;color:#4d624a;pointer-events:none}.chainLegend span:before{content:'';display:inline-block;width:13px;height:3px;margin-right:5px;vertical-align:middle;background:currentColor}.chainLegend span:last-child:before{display:none}#chainLabels{position:absolute;inset:0;pointer-events:none}.chainLabel{position:absolute;left:0;top:0;pointer-events:auto;white-space:nowrap;font-size:11px;padding:4px 7px;background:#f9fbf1eE;border:1px solid #afc1a7;color:#304e36;box-shadow:0 2px 6px #2c402e16}.chainTimeline{display:flex;align-items:center;gap:15px;padding:14px 0;font-size:12px}.chainTimeline input{flex:1;accent-color:#215e50}.chainTimeline strong{width:42px;font-variant-numeric:tabular-nums;color:#215e50}.chainRoute{background:#e3eddc;border:1px solid #bdcfb3;padding:12px 16px;font-size:13px}.chainRoute p{margin:4px 0 0;color:#405c3b}.chainDetails{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:23px}.chainDetails>section{border-top:1px solid #cbd8c5;padding-top:5px}.chainDetails h2{font-size:16px}.chainDetails ol{padding-left:18px;font-size:12px;color:#4d624a;line-height:2}.chainDetails ol:empty:after{content:'开始演示后显示信号、阀组及防护区动作。';color:#64775e}#chainStates>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid #dbe4d5;font-size:12px}#chainStates span{color:#5d7056}#chainStates strong{font-weight:500;text-align:right}.chainFaultControl{display:flex;gap:7px;align-items:center;font-size:12px;margin-top:18px}#chainFaultNotice{font-size:12px;color:#82501b;background:#fcf2de;border:1px solid #e5cda2;padding:10px}.chainEvidence{margin-top:25px;padding:14px 0;border-top:1px solid #cbd8c5;font-size:12px;color:#5a6f53}.chainEvidence summary{cursor:pointer;color:#294e33}.chainEvidence p{max-width:100ch;line-height:1.9;margin:12px 0}.chainEvidence a{color:#215e50}input[type=checkbox]{accent-color:#215e50}@media(min-width:1600px){.chainViewer{height:680px}}@media(max-width:900px){.chainHeading{display:block}.chainHeading .tag{display:inline-block;margin-top:12px}.chainViewer{height:530px}.chainViewTools>span{margin-left:0}.chainDetails{grid-template-columns:1fr}}@media(max-width:620px){.chainViewer{height:470px}.viewSwitch{margin-bottom:20px}.viewSwitch button{flex:1;padding:8px}.chainHeading h1{font-size:21px}.chainControl{gap:8px}.chainControl select{max-width:150px}.chainChapters{max-height:100px;overflow:auto}.chainStage{min-height:125px}.chainViewTools{left:8px;right:8px;top:8px;gap:5px}.chainViewTools button{padding:5px 7px}.chainViewTools>span{font-size:11px}.chainLabel{font-size:11px;padding:3px 4px}.chainLegend{font-size:11px;padding:7px;gap:3px 8px}.chainDetails{gap:15px}.chainRoute{font-size:12px}.chainStage p{font-size:12px}}
.chainVoice{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:12px 15px;margin:0 0 14px;background:#f6f8ef;border:1px solid #cbd8c5;border-left:3px solid #42755b;border-radius:4px}.chainVoice button{font-size:12px}.chainVoice button[aria-pressed=true]{background:#215e50;color:white}.chainVoice>span{font-size:12px;color:#52665f}.chainVoice p{width:100%;font-size:12px;line-height:1.8;color:#405c48;margin:0}.chainScenarioControls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;margin:12px 0}.chainScenarioControls label{display:flex;align-items:center;gap:6px}.chainScenarioControls [hidden]{display:none!important}#chainEmergencyStop{background:#a13d30;color:#fff;border-color:#a13d30}#chainEmergencyStop:disabled{opacity:.45;cursor:not-allowed}#chainScenarioMessage{flex-basis:100%;margin:0;padding:10px;background:#fcf2de;color:#82501b;border:1px solid #e5cda2}#chainSystemSelect{max-width:330px}.chainControl{align-items:flex-end}.chainDetails ol:empty:after{content:'开始演示后显示输入、现场动作与状态核对。'}@media(max-width:620px){#chainSystemSelect{max-width:245px}.chainControl label:first-child{flex-basis:100%}.chainVoice{padding:10px}.chainVoice>span{flex-basis:100%}.chainScenarioControls{font-size:12px}}
.chainAlarmIndicator{position:absolute;right:14px;top:91px;max-width:calc(100% - 28px);padding:9px 12px;border:1px solid #ba6945;background:#fff0d9;color:#873419;font-size:12px;font-weight:600;pointer-events:none;z-index:4}.chainAlarmIndicator:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:#c74726;margin-right:7px}.chainLabel.alarmActive{background:#fff0d9;color:#873419;border-color:#bd704e;font-weight:600}.chainAlarmIndicator[hidden]{display:none}@media(max-width:620px){.chainAlarmIndicator{top:113px;right:8px;font-size:11px;padding:7px 9px}}
.chainAlarmPanel{margin-top:20px;padding:15px 0;border-top:1px solid #cbd8c5}.chainAlarmPanel h2{font-size:16px;margin:0 0 10px}.chainAlarmPanel p{font-size:12px;line-height:1.85;margin:8px 0;max-width:110ch}.chainAlarmOutputs{font-size:12px;padding:10px 12px;background:#f7f1dd;border:1px solid #d8c8a5;line-height:1.8;color:#72512a}.chainAlarmControls{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:14px 0;font-size:12px}.chainAlarmControls label{display:flex;align-items:center;gap:6px}.chainAlarmControls [hidden]{display:none!important}.chainAlarmControls button{font-size:12px}.chainAlarmControls button[aria-pressed=true]{background:#215e50;color:white}#chainAlarmSources a{color:#215e50}#chainAlarmSources p{color:#61745c;font-size:11px}.chainAlarmIndicator{max-width:min(550px,calc(100% - 28px));line-height:1.8}@media(max-width:620px){.chainAlarmControls label{align-items:flex-start}.chainAlarmIndicator{max-width:calc(100% - 16px);font-size:11px}.chainAlarmPanel p{font-size:12px}}
.chainLabel{max-width:min(260px,calc(100% - 20px));white-space:normal;line-height:1.45;text-align:left;z-index:1}.chainLabelLeaders{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.chainLabelLeaders line{stroke:#6e8870;stroke-width:1;stroke-opacity:.75;vector-effect:non-scaling-stroke}.chainLabel:focus-visible{outline:2px solid #215e50;outline-offset:2px}
.sidebar nav>details{border-bottom:1px solid #ffffff21;padding:9px 0}.sidebar summary{cursor:pointer;line-height:1.7;font-size:13px;color:#edf4e9;padding:6px 8px}.sidebar summary small{float:right;color:#b8cec1;font-size:11px}.sidebar details details{margin-left:9px}.sidebar details details>summary{font-size:12px;color:#c4dbce}.sidebar nav .directoryItem button{padding:10px 12px;margin:4px 0;width:100%;text-align:left}.directoryItem small{overflow-wrap:anywhere}.directoryStatus{font-size:10px!important;opacity:.8;margin-top:5px}.sidebar .directoryMissing span{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.sidebar .directoryMissing small{color:#bfd1bc}.componentOwnership{font-size:12px;color:#52665f;margin:0 0 12px}.system-mode #componentOwnership,.system-mode #componentEmptyPanel{display:none!important}.componentEmptyPanel{padding:28px;background:#fafbf6;border:1px solid #c7d2c2;min-height:340px}.componentEmptyPanel h2{font-size:20px;margin-top:0}.componentEmptyPanel p{font-size:13px;line-height:1.9;max-width:85ch}.componentEmptyPanel a,.componentSourceBasis{color:#215e50;font-size:12px;line-height:1.8}.component-empty .workspace,.component-empty #mechanismPanel,.component-empty .record{display:none!important}#catalogSystem{display:block;margin:12px 0;max-width:100%}.component-empty #modelSourceNote{display:none}.componentOwnership:empty{display:none}@media(max-width:900px){.sidebar nav>details{min-width:240px;max-width:330px;flex:0 0 280px}.sidebar details details{margin-left:0}.componentEmptyPanel{padding:18px}} 
.devicehead h1,.devicehead p,.componentOwnership{overflow-wrap:anywhere}.componentReference{margin-top:18px;font-size:12px}.componentReference summary{cursor:pointer;color:#215e50}.componentReference img{display:block;max-width:100%;height:auto;margin-top:12px;border:1px solid #ccd8c7}
:root .chainSiteNote{padding:12px 16px;background:#fff3dc;color:#593b13;border:1px solid #d5ad65;border-radius:8px;line-height:1.7;max-width:85ch}
:root .chainSiteNote[hidden]{display:none}

/* The animation and its controls form one viewing surface at every width. */
.chainPlayback{scroll-margin-top:12px;margin:18px 0}
.chainPlayback .chainControl{margin:0 0 10px;align-items:center}
.chainPlaybackStatus{margin:0 0 10px;min-height:24px;font-size:13px;line-height:1.6;color:#36594b;font-variant-numeric:tabular-nums}
.chainPlaybackStatus[data-state=playing]{color:#174b3c;font-weight:600}
.chainPlayback .chainScenarioControls{margin:8px 0}
@media(max-width:620px){.chainPlayback .chainViewer{height:min(470px,calc(100svh - 210px));min-height:260px}.chainPlayback{scroll-margin-top:8px}.chainPlaybackStatus{font-size:12px}.chainPlayback .chainControl{gap:8px}.chainPlayback .chainControl select{max-width:230px}}

.factoryControls{display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap;padding:10px 0;font-size:12px}.factoryControls label{display:flex;align-items:center;gap:6px}.factoryControls select{max-width:300px}.factoryControls a{color:#215e50;text-underline-offset:3px}.factoryControls[hidden]{display:none!important}@media(max-width:620px){.factoryControls{gap:8px}.factoryControls select{max-width:240px}}

/* Strong emphasis belongs to the current lesson step, not every latched alarm. */
.chainLabel.alarmActive:not(.stepCurrent){background:#eef4e8;color:#304e36;border-color:#8ea68b;font-weight:400}
.chainLabel.stepCurrent{background:#fff0ca;color:#59330a;border-color:#aa6c16;font-weight:700;box-shadow:0 2px 7px #6a481b24;z-index:2}
.chainLabel.stepCurrent:before{content:'本步 · ';font-weight:700}
.chainLabelLeaders line.stepCurrent{stroke:#b27a1b;stroke-width:2;stroke-opacity:1}
.chainAlarmIndicator{background:#f5f8ef;color:#405c49;border-color:#b8c8b2;font-weight:400}
.chainAlarmIndicator:before{background:#6a876f}
.chainAlarmIndicator.stepAlarmFocus{background:#fff0ca;color:#59330a;border-color:#aa6c16;font-weight:600}
.chainAlarmIndicator.stepAlarmFocus:before{background:#b27a1b}
.chainLegend .stepKey{color:#80540f}
.chainLegend .stepKey:before{background:#dca539}
