/* Palette, node hierarchy and side inspector follow the W18 August ontology viewer. */
.mo-workspace{--mo-blue:#1d4ed8;background:#d8e4f4;border:1px solid #c6d7ec;border-radius:12px;overflow:hidden;color:#1e293b}.mo-header{padding:20px 23px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(255,255,255,.4);border-bottom:1px solid #c4d2e3}.mo-kicker{font:10px/1.5 Consolas,monospace;letter-spacing:1.8px;color:#64748b;margin-bottom:5px}.mo-header h1{font-size:23px;margin:0;display:flex;align-items:center;gap:15px}.mo-header h1 span{font-size:11px;font-weight:500;background:#dce8ff;color:#1d4ed8;border-radius:20px;padding:5px 9px}.mo-modes,.mo-layouts{display:flex;padding:3px;border:1px solid #b8cce6;border-radius:8px;background:#ffffff70;flex-shrink:0}.mo-modes button,.mo-layouts button{border:0;background:transparent;padding:7px 11px;font-size:12px;color:#64748b;border-radius:5px}.mo-modes button.active,.mo-layouts button.active{background:#e4edff;color:#1d4ed8;box-shadow:inset 0 0 0 1px #a9c4ef}.mo-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:12px 18px;background:#ffffff50;border-bottom:1px solid #c8d9ee}.mo-toolbar input,.mo-toolbar select{margin:0;width:auto;min-height:34px;padding:7px 9px;font-size:12px;background:#f5f9ff;border:1px solid #c5d5ea;border-radius:6px}.mo-toolbar input{width:230px}.mo-toolbar select{max-width:220px}.mo-toolbar-spacer{flex:1}.mo-layouts button{padding:6px 9px;font-size:11px}.mo-body{display:grid;grid-template-columns:minmax(0,1fr) 290px;min-height:600px}.mo-canvas-wrap{position:relative;min-width:0;background:#f0f6ff;min-height:600px}.mo-canvas-wrap svg{display:block;width:100%;height:100%;min-height:600px;touch-action:none;cursor:grab}.mo-canvas-wrap svg:active{cursor:grabbing}.mo-node{cursor:pointer;outline:none}.mo-dot{fill:#1d4ed8}.mo-type-LinkType .mo-dot{fill:#60a5fa}.mo-type-ActionType .mo-dot{fill:#db2777}.mo-type-InterfaceType .mo-dot{fill:#7c3aed}.mo-ring{fill:#bfdbfe;opacity:0}.mo-node:hover .mo-ring,.mo-node:focus .mo-ring{opacity:.65}.mo-node.selected .mo-ring{opacity:1;fill:#bfdbfe;stroke:#1d4ed8;stroke-width:1.3}.mo-node text{font:12px 'Microsoft YaHei','PingFang SC',sans-serif;fill:#1e293b;paint-order:stroke;stroke:#f0f6ff;stroke-width:4px;stroke-linejoin:round;pointer-events:none}.mo-node.selected text{fill:#1d4ed8;font-weight:700}.mo-edge path{stroke:#64748b;stroke-width:1;opacity:.6;fill:none}.mo-edge text{font:9px 'Microsoft YaHei',sans-serif;fill:#64748b;paint-order:stroke;stroke:#f0f6ff;stroke-width:3px;text-anchor:middle;pointer-events:none}.mo-dim{opacity:.12}.mo-edge.mo-dim{opacity:.035}.mo-canvas-note{position:absolute;top:17px;left:18px;font-size:10px;line-height:1.9;color:#64748b;pointer-events:none}.mo-zoom{position:absolute;bottom:16px;left:17px;display:flex;border:1px solid #b9cde6;background:#fff;border-radius:7px;overflow:hidden}.mo-zoom button{border:0;border-right:1px solid #d6e2f0;border-radius:0;background:transparent;padding:7px 11px;font-size:12px}.mo-zoom button:last-child{border:0}.mo-empty{position:absolute;left:15%;right:15%;top:42%;text-align:center;font-size:13px;color:#64748b;pointer-events:none}.mo-detail{border-left:1px solid #c8d9ee;background:#ffffffa6;padding:22px 19px;overflow-y:auto;max-height:710px;min-width:0}.mo-detail h2{font-size:20px;line-height:1.6;margin:14px 0 10px;overflow-wrap:anywhere}.mo-detail h3{font-size:12px;color:#475569;margin:23px 0 10px}.mo-detail h3 span{color:#94a3b8;margin-left:7px}.mo-detail p{font-size:12px;color:#64748b;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.mo-detail-kicker{font-size:11px;color:#1d4ed8}.mo-help{padding:14px;background:#e7effb;border-radius:7px;margin:23px 0}.mo-help b{font-size:12px}.mo-help p{margin:5px 0 0}.mo-detail dl{margin:20px 0}.mo-detail dt{font-size:10px;color:#64748b;margin:13px 0 4px}.mo-detail dd{font-size:12px;color:#334155;margin:0;overflow-wrap:anywhere;line-height:1.7}.mo-detail-top{display:flex;align-items:center;justify-content:space-between}.mo-detail-top button{font-size:19px;color:#64748b;background:none;border:0;padding:0 5px}.mo-badge{font-size:10px;border-radius:4px;padding:4px 7px;background:#dce8ff;color:#1d4ed8}.mo-badge.mo-type-ActionType{background:#fce7f3;color:#be185d}.mo-badge.mo-type-InterfaceType{background:#ede9fe;color:#7c3aed}.mo-connections{display:grid;gap:6px}.mo-connections button{text-align:left;border:1px solid #cfdeef;background:#ffffff80;padding:8px 10px;display:flex;flex-wrap:wrap;gap:5px 9px;align-items:center;font-size:11px}.mo-connections span{color:#64748b;font-size:10px}.mo-connections b{color:#1d4ed8;font-weight:500}.mo-detail .mo-primary{width:100%;margin-top:20px;background:#1d4ed8;color:#fff;border:1px solid #1d4ed8;font-size:12px;padding:10px}.mo-detail .mo-footnote{font-size:10px;margin-top:23px;border-top:1px solid #d4dfed;padding-top:13px;color:#7c8b9e}.mo-footer{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid #c8d9ee;font-size:10px;color:#64748b;flex-wrap:wrap}.mo-legend{display:flex;gap:16px}.mo-legend span{display:flex;align-items:center;gap:5px}.mo-legend i{width:7px;height:7px;border-radius:50%;background:#1d4ed8}.mo-legend .mo-legend-LinkType i{background:#60a5fa}.mo-legend .mo-legend-ActionType i{background:#db2777}.mo-legend .mo-legend-InterfaceType i{background:#7c3aed}main:has(.mo-workspace){padding:23px 24px}.body:has(.mo-workspace){min-width:0}
@media(min-width:1600px){.mo-body,.mo-canvas-wrap,.mo-canvas-wrap svg{min-height:690px}.mo-detail{max-height:800px}}@media(max-width:1100px){.mo-body{grid-template-columns:minmax(0,1fr) 245px}.mo-header{padding:16px}.mo-toolbar-spacer{display:none}.mo-header h1{font-size:20px;gap:9px}.mo-header h1 span{font-size:10px}}@media(max-width:760px){main:has(.mo-workspace){padding:14px 10px}.mo-header{align-items:flex-start;flex-direction:column;gap:12px}.mo-header h1{font-size:21px}.mo-toolbar{padding:10px;gap:7px}.mo-toolbar input{width:100%}.mo-toolbar select{flex:1;max-width:100%;min-width:0}.mo-layouts{width:100%;justify-content:space-between}.mo-layouts button{flex:1}.mo-body{display:flex;flex-direction:column;min-height:0}.mo-canvas-wrap,.mo-canvas-wrap svg{min-height:400px;height:400px}.mo-detail{border-left:0;border-top:1px solid #c8d9ee;max-height:420px;padding:18px}.mo-canvas-note{font-size:9px;left:12px;top:10px}.mo-footer{padding:12px}.mo-legend{gap:10px;flex-wrap:wrap}.mo-detail h2{margin-top:9px}.mo-workspace{border-radius:9px}} 
