/* Multi-cycle CPU specific: state panel, internal registers, FSM control table, datapath. */
.mc-state-card{flex:none;display:flex;flex-direction:column;padding:6px 7px;min-height:0}
.mc-state-card .card-head{margin-bottom:4px}
.mc-state-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 6px;font-family:var(--mono);font-size:11px;line-height:1.25}
.mc-state-grid .k{color:#8b9aaa;white-space:nowrap}
.mc-state-grid .v{color:#1f3347;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-state-grid .v.hot{color:#b9770e}
.mc-irfields{margin-top:4px;padding-top:3px;border-top:1px dashed #e2eaf2;font-family:var(--mono);font-size:10px;color:#61758a;line-height:1.35}
.mc-irfields b{color:#33495e}
.mc-irfields .f{color:#8b9aaa}

.mc-control-card{flex:none;height:clamp(140px,20dvh,210px);padding:5px 8px 6px}
.mc-control-head{flex:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px}
.mc-control-head .mc-state-title{font-family:var(--mono);font-size:12px;color:#33495e;font-weight:700}
.mc-control-head .mc-note{font-size:10.5px;color:#8b9aaa}
.mc-seq{flex:none;display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:4px}
.mc-seq .pill{font-family:var(--mono);font-size:10.5px;padding:1px 6px;border:1px solid #dce8f3;border-radius:999px;color:#7b8fa1;background:#fbfcfe;white-space:nowrap}
.mc-seq .pill.cur{color:#9a5b00;border-color:#f0c36b;background:#fff7e8;font-weight:700}
.mc-seq .pill.done{color:#2e7d5b;border-color:#cfe7db;background:#f2fbf7}
.mc-ctable{font-size:11px;line-height:1.25}
.mc-ctable th{font-weight:600;font-size:10px;text-align:center;padding:3px 4px}
.mc-ctable td{text-align:center;padding:2px 4px;border-bottom:1px solid #f0f5fa}
.mc-ctable td.st{text-align:left;color:#33495e;font-weight:600}
.mc-ctable tr.cur td{background:#fff7e8;color:#7a4a00}
.mc-ctable tr.cur td.st{color:#a05a00}
.mc-ctable .z{color:#b8c5d2}
.mc-ctable .a{color:#2471a3;font-weight:700}
.mc-ctable .hotv{color:#b9770e;font-weight:700}

/* datapath */
.mc-dp-wrap{padding:2px 2px 0}
.mc-svg{width:100%;height:100%;display:block;overflow:hidden}
.mc-svg .wire{fill:none;stroke:#52677a;stroke-width:1.25;stroke-linejoin:round;stroke-linecap:butt}
.mc-svg .wire.ctl{stroke:#7f8fa0;stroke-dasharray:3 2.5;stroke-width:1.1}
.mc-svg .lbl{font-family:'Times New Roman','Nimbus Roman','Liberation Serif',serif;font-size:10px;fill:#52677a}
.mc-svg .lbl.small{font-size:8.4px;fill:#7b8fa1}
.mc-svg .lbl.bit{font-family:var(--mono);font-size:8.2px;fill:#61758a}
.mc-svg .comp rect,.mc-svg .comp path{fill:#fbfdff;stroke:#33526e;stroke-width:1.55}
.mc-svg .comp .title{font-size:13px;font-weight:700;fill:#20364a}
.mc-svg .comp .val{font-family:var(--mono);font-size:8.8px;fill:#2471a3}
.mc-svg .comp .sub{font-size:9.4px;fill:#7b8fa1}
.mc-svg .comp.active rect,.mc-svg .comp.active path{fill:#fff1dc;stroke:#d97706;stroke-width:2.4}
.mc-svg .comp.active .title{fill:#a05a00}
.mc-svg .comp.active .val{fill:#b9770e}
.mc-svg .ctlbox rect{fill:#f7fbff;stroke:#7d9ab5;stroke-width:1.3;stroke-dasharray:4 3}
.mc-svg .ctlbox.active rect{fill:#fff8ed;stroke:#d97706;stroke-width:1.8}
.mc-svg .ctlbox text{font-family:'Times New Roman','Nimbus Roman','Liberation Serif',serif;font-size:10px;fill:#3e556b}
.mc-svg .ctlbox .ctitle{font-size:13px;font-weight:700;fill:#20364a}
.mc-svg .mux path{fill:#fbfdff;stroke:#33526e;stroke-width:1.5}
.mc-svg .mux.active path{fill:#fff8ed;stroke:#d97706;stroke-width:2.1}
.mc-svg .mux text{font-family:var(--mono);font-size:8.4px;fill:#61758a}
.mc-svg .mux.active text{fill:#b9770e}
.mc-svg .mc-state-label{font-size:11px;font-weight:700;fill:#a05a00}
.mc-svg .mc-legend{font-family:var(--mono);font-size:7.6px;fill:#8b9aaa}

.mc-state-strip{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:2px 7px;background:#f8fbfe;border:1px solid var(--line);border-radius:7px;padding:3px 9px;font-family:var(--mono);font-size:10.5px;color:#51677d;line-height:1.3;min-height:23px}
.mc-state-strip .g{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.mc-state-strip .k{color:#8b9aaa;font-size:9.5px}
.mc-state-strip .v{color:#1f3347;font-weight:600}
.mc-state-strip .v.hot{color:#b9770e}
.mc-state-strip .sep{width:1px;height:10px;background:#e2eaf2;flex:none}
.mc-state-strip .irf{flex-wrap:wrap;gap:2px 5px}
.mc-state-strip .irf .fk{color:#8b9aaa;font-size:9px}

.mc-ctl-values{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;padding:2px 4px 3px;font-family:var(--mono);font-size:10px;color:#51677d;line-height:1.25;border-bottom:1px solid #eef3f8}
.mc-ctl-values .k{color:#8b9aaa;font-size:9.5px}
.mc-ctl-values .g{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}
.mc-ctl-values b{color:#2471a3;font-weight:700}

.mc-svg text.mc-hot{fill:#d97706 !important}
.mc-ctl-values .parts{color:#b9770e}
.mc-ctl-values .sep{width:1px;height:10px;background:#e2eaf2;flex:none}

/* 所有原理图连线、器件轮廓、门电路统一线宽。 */
#mc-svg .mc-hot-line{stroke:#d97706 !important}

#mc-svg .mc-hot-mux{stroke:#d97706 !important}
#mc-svg .mc-dots circle{fill:#111}
/* One stroke width for every schematic line/outline. */
#mc-svg line,#mc-svg path,#mc-svg polyline{stroke-width:0.943px !important}

