.course-diagram #graphWrap.graph-wrap .mermaid svg .label{font-family:"Muli","Microsoft YaHei","微软雅黑","Arial","Microsoft YaHei-Bold","PingFang SC","PingFangSC",sans-serif}.course-diagram #graphWrap.graph-wrap .mermaid svg .nodes g.node,.course-diagram #graphWrap.graph-wrap .mermaid svg .edges path.flowchart-link{transition:opacity .25s,fill .25s,stroke .25s}.course-diagram #graphWrap.graph-wrap .mermaid svg .nodes g.node{cursor:pointer}.course-diagram #graphWrap.graph-wrap .mermaid svg .nodes g.node:not([data-course]){cursor:initial}.course-diagram #graphWrap.graph-wrap .mermaid svg .nodes g.node.highlighted rect{fill:#a8823f !important;stroke:#9f7937 !important;stroke-width:1px !important}.course-diagram #graphWrap.graph-wrap .mermaid svg .nodes g.node.highlighted .nodeLabel{color:#fff !important}.course-diagram #graphWrap.graph-wrap .mermaid svg .edges path.flowchart-link.highlighted{stroke:#a8823f !important;stroke-width:2px !important}.course-diagram #graphWrap.graph-wrap .mermaid svg.dimmed .edgeLabels,.course-diagram #graphWrap.graph-wrap .mermaid svg.dimmed .subgraphs .subgraph,.course-diagram #graphWrap.graph-wrap .mermaid svg.dimmed .nodes g.node,.course-diagram #graphWrap.graph-wrap .mermaid svg.dimmed .edges path.flowchart-link{opacity:.15}.course-diagram #graphWrap.graph-wrap .mermaid svg.dimmed .edgeLabels.highlighted,.course-diagram #graphWrap.graph-wrap .mermaid svg.dimmed .subgraphs .subgraph.highlighted,.course-diagram #graphWrap.graph-wrap .mermaid svg.dimmed .nodes g.node.highlighted,.course-diagram #graphWrap.graph-wrap .mermaid svg.dimmed .edges path.flowchart-link.highlighted{opacity:1 !important}.course-diagram #overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:none;z-index:998}.course-diagram .graph-wrap{position:relative;width:100%;height:calc(100vh - var(--navBarHeight));overflow:hidden;touch-action:none;background-color:#f7fbfb;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='30'><rect width='4' height='4' fill='%23E4E7E7'/></svg>");background-repeat:repeat}.course-diagram .graph-wrap .mermaid{position:relative;width:100%;height:100%;cursor:grab}.course-diagram .graph-wrap .mermaid:active{cursor:grabbing}.course-diagram .graph-wrap .loading{display:block;top:28%;width:60px;height:60px}.course-diagram .toolbar{position:fixed;top:calc(var(--navBarHeight, 76px) + 20px);right:20px;z-index:10;display:flex;align-items:center;gap:8px;padding:4px;border-radius:8px;background:#fff;border:1px solid rgba(0,0,0,.0392156863);border-radius:8px}.course-diagram .toolbar .btn{display:flex;align-items:center;justify-content:center;width:42px;height:44px;border-radius:8px;font-size:18px;color:#333;cursor:pointer;border:0;outline:none;background-color:rgba(0,0,0,0)}.course-diagram .toolbar .btn:active{background-color:rgba(228,231,231,.5)}.course-diagram .toolbar .btn:hover{background-color:rgba(228,231,231,.5)}.course-diagram .toolbar .zoom-val{padding-right:12px;color:rgba(0,0,0,.4509803922);font-variant-numeric:tabular-nums}.course-diagram .graph-wrap .mermaid.show,.course-diagram .toolbar.show{opacity:1;visibility:visible;pointer-events:initial}.course-diagram .loading.hiden{display:none}.course-diagram .course-modal{display:none;position:fixed;top:50%;left:50%;z-index:999;transform:translate(-50%, -50%);width:94%;max-height:80%;max-width:768px;padding-bottom:72px}.course-diagram .course-modal .wrapper{height:100%;overflow:auto;padding-bottom:40px;box-shadow:0 8px 18px rgba(0,0,0,.1);background:#fff;font-size:14px;border-radius:8px}.course-diagram .course-modal .c-title{padding:18px 20px 19px 20px;margin-bottom:40px;background:#69aec0;border-radius:8px 8px 0 0;font-size:1.2857em;line-height:1.277;font-weight:700;color:#fff}.course-diagram .course-modal .close{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;margin:32px auto 0;cursor:pointer;font-size:38px;color:#fff;border:0;outline:none;background-color:rgba(0,0,0,0)}.course-diagram .course-modal .label{color:rgba(0,0,0,.4509803922);margin-bottom:8px}.course-diagram .course-modal .value{font-size:1.2857em;font-weight:500;color:rgba(0,0,0,.8509803922);overflow:auto}.course-diagram .course-modal .infos{display:flex;flex-wrap:wrap;gap:22px 14px;margin-bottom:26px;padding:0 40px}.course-diagram .course-modal .infos .info{width:calc((100% - 42px)/4)}.course-diagram .course-modal .infos .value{max-height:60px}.course-diagram .course-modal .description{padding:0 40px}.course-diagram .course-modal .description .value{font-weight:300;line-height:1.27777;max-height:100px}.course-diagram .course-modal.legend .c-title{margin-bottom:20px;color:#1b3664;background:#f7fbfb}.course-diagram .course-modal.legend .wrapper{padding-bottom:70px}.course-diagram .course-modal.legend .wrapper .sub-title{margin-bottom:20px;color:rgba(0,0,0,.8509803922);font-weight:600;font-size:1.2857em}.course-diagram .course-modal.legend .wrapper .small-title{margin-bottom:15px;color:rgba(0,0,0,.8509803922);font-weight:400}.course-diagram .course-modal.legend .legend-block{margin-top:46px;padding:0 20px}.course-diagram .course-modal.legend .legend-block.sub-block{margin-top:60px}.course-diagram .course-modal.legend .legend-block:first-child{margin-top:0}.course-diagram .course-modal.legend .legend-block .list{display:flex;flex-wrap:wrap;gap:11px 22px}.course-diagram .course-modal.legend .legend-block .item{display:flex;align-items:center;gap:10px;width:calc((100% - 44px)/3)}.course-diagram .course-modal.legend .legend-block .name{flex:1}.course-diagram .course-modal.legend .legend-block .graph{width:56px;height:32px;border-radius:6px;background:var(--legend-color, #F5F5F5);border:1px solid var(--legend-border-color, #CDCDCD)}.course-diagram .course-modal.legend .legend-block .fundamental{--legend-color: #F5F5F5;--legend-border-color: #CDCDCD}.course-diagram .course-modal.legend .legend-block .required{--legend-color: #003A72;--legend-border-color: #002854}.course-diagram .course-modal.legend .legend-block .cs{--legend-color: #E6EFFA;--legend-border-color: #C8D8EC}.course-diagram .course-modal.legend .legend-block .cda{--legend-color: #E4F4F7;--legend-border-color: #CBE9EF}.course-diagram .course-modal.legend .legend-block .d-sci{--legend-color: #E2F7EF;--legend-border-color: #C0E5D7}.course-diagram .course-modal.legend .legend-block .d-sys{--legend-color: #F5EAF2;--legend-border-color: #F2DDEC}.course-diagram .course-modal.legend .legend-block .ai{--legend-color: #EAEDFA;--legend-border-color: #D1D7F4}.course-diagram .course-modal.legend .legend-block .theory{--legend-color: #FCF1EB;--legend-border-color: #F1DED3}.course-diagram .course-modal.legend .legend-block .lines{position:relative;background:unset;border:unset}.course-diagram .course-modal.legend .legend-block .lines::before,.course-diagram .course-modal.legend .legend-block .lines::after{content:"";display:block;position:absolute;top:50%;transform:translateY(-50%)}.course-diagram .course-modal.legend .legend-block .lines::before{left:0;width:100%;border-top:2px solid #000}.course-diagram .course-modal.legend .legend-block .lines::after{right:-6px;border:5px solid rgba(0,0,0,0);border-left-color:#000}.course-diagram .course-modal.legend .legend-block .lines.or::before{border-top-style:dashed}@media(max-width: 790px){.course-diagram .course-modal{height:80%;max-height:650px}.course-diagram .course-modal .infos,.course-diagram .course-modal .description{padding:0 20px}.course-diagram .course-modal .infos .info{flex:1 1 100%}.course-diagram .course-modal.legend .legend-block .item{flex:1 1 100%}.course-diagram .toolbar .btn{width:36px;height:36px;font-size:16px}.course-diagram .graph-wrap .loading{width:42px;height:42px}}.message-container{position:fixed;top:calc(var(--navBarHeight) + 20px);left:50%;transform:translateX(-50%);z-index:9999}.message-container .message{margin-top:10px;padding:12px 20px;border-radius:4px;color:#333;font-size:14px;box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:200px;text-align:center;opacity:0;transform:translateY(-20px);transition:opacity .3s,transform .4s;background-color:#fff}.message-container .message.show{opacity:1;transform:translateY(0)}.message-container .message.success{background:#52c41a}.message-container .message.error{display:flex;align-items:center;gap:12px}.message-container .message.error::before{content:"!";display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid #ff4d4f;color:#ff4d4f;font-size:12px;font-weight:600;line-height:1}.message-container .message.info{background:#1890ff}.message-container .message.warning{background:#faad14}