*{box-sizing:border-box}html,body,#app{color:#111;width:100%;height:100%;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:13px;overflow:hidden}.app{background:#c8cdd1;flex-direction:column;height:100vh;display:flex}.titlebar{color:#fff;white-space:nowrap;background:#1f5b91;height:22px;padding:3px 8px;font-weight:700}.menubar{background:#e7e6df;border-bottom:1px solid #9c9c96;align-items:center;height:24px;padding:0 6px;display:flex}.menuitem{cursor:pointer;text-underline-offset:2px;background:0 0;border:0;height:23px;padding:0 9px;font:13px Arial;text-decoration:underline}.menuitem:hover{color:#fff;background:#1f5b91}.toolbar{background:#d6d6ce;border-bottom:1px solid #8a8a82;align-items:center;gap:4px;height:36px;padding:4px 8px;display:flex}.toolbar button,.toolbar select,.tree-actions button,.objects button{cursor:pointer;background:#eee;border:1px solid #868686;min-width:31px;height:26px;box-shadow:inset 1px 1px #fff}.toolbar button.on{background:#bdd7ee;border-color:#1f5b91;box-shadow:inset 0 0 0 1px #1f5b91}.toolbar .sep{background:#999;width:1px;height:23px;margin:0 5px}.toolbtn{justify-content:center;align-items:center;gap:2px;display:inline-flex}.toolbtn .ico{font-size:12px;line-height:1}.toolbtn.idef{font-weight:700}.toolbtn.idef span{color:#333;font-size:11px}.toolbtn.danger{color:#8b0000}.boxico{font-size:18px!important}.zoomlabel{color:#333;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.toolbar select{min-width:72px;height:26px}.mainrow{flex:1;min-height:0;display:flex}.explorer{background:#e5e8ea;border-right:1px solid #777;flex-direction:column;width:250px;min-width:210px;display:flex}.explorer h3{margin:6px 8px 4px;font-size:13px}.explorer select{height:25px;margin:0 6px 4px}.tree-actions{gap:4px;padding:0 6px 4px;display:flex}.tree{border-top:1px solid #aaa;border-bottom:1px solid #aaa;min-height:180px;margin:0;padding:4px 6px;list-style:none;overflow:auto}.tree li{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;padding:3px 2px;overflow:hidden}.tree li.active{color:#fff;background:#174c91}.sq{vertical-align:-2px;border:1px solid #777;width:12px;height:12px;margin-right:4px;display:inline-block}.sq.red{background:#e23b3b}.sq.green{background:#7bd572}.tabs{border-top:1px solid #999;margin-top:auto;display:flex}.tabs button{text-align:center;cursor:pointer;background:#ddd;border:0;border-right:1px solid #999;flex:1;padding:6px 0;font-weight:700}.tabs button.active{background:#f6f6ef;border-bottom:2px solid #1f5b91}.objects{height:280px;padding:6px;overflow:auto}.obj{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#f8f8f8;border:1px solid #b8c0c8;border-radius:2px;margin:4px 0;padding:5px;overflow:hidden}.obj.sel{background:#dbeaff;border-color:#1f5b91}.obj .code{text-align:center;background:#e9e28f;border:1px solid #98924a;min-width:22px;margin-right:4px;display:inline-block}.arrow-obj{font-size:12px}.workspace{background:#bcc3c9;flex:1;padding:0;overflow:auto}.paper-wrap{background:#fff;margin:0;position:relative}.idef-svg{background:#fff;display:block}.frame rect,.frame line{fill:none;stroke:#111;stroke-width:1px}.frame text{fill:#111;font-size:16px}.footer-big{font-size:30px}.footer-title{font-size:24px;font-weight:700}.activity rect{fill:#f4f4f4;stroke:#111;stroke-width:1.4px}.activity.selected rect{stroke:#1c5da8;stroke-width:2px}.block-text{pointer-events:none}.num{pointer-events:none;font-size:15px;font-weight:700}.resize rect{fill:#fff;stroke:#1c5da8;cursor:nwse-resize}.ports circle{fill:#fff;stroke:#1c5da8;stroke-width:1.5px;cursor:crosshair}.arrow .line{fill:none;stroke:#111;stroke-width:1.4px}.arrow .hit{fill:none;stroke:#0000;stroke-width:14px;cursor:pointer}.arrow .head{fill:#111}.arrow.selected .line{stroke:#1c5da8;stroke-width:2px}.arrow.selected .head{fill:#1c5da8}.arrow.tunneled .arrow-label text:before{content:"("}.preview{stroke:#1c5da8;stroke-width:1.5px;fill:none;stroke-dasharray:5 4}.arrow-label{cursor:move}.arrow-label text{fill:#111;-webkit-user-select:none;user-select:none;font-family:Arial}.label-bg{fill:#fff;opacity:.88;stroke:none}.arrow-handles circle{fill:#fff;stroke:#1c5da8}.arrow-handles rect{fill:#fff;stroke:#1c5da8;cursor:move}.inline{resize:none;background:#fff;border:1px solid #1c5da8;width:100%;height:100%;font:13px Arial}.ctx{z-index:50;background:#f0f0ea;border:1px solid #777;min-width:180px;padding:3px;position:fixed;box-shadow:2px 2px 4px #0005}.ctx button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:5px 12px;display:block}.ctx button:hover{color:#fff;background:#1f5b91}.ctx .danger{color:#a60000}.ctx hr{border:0;border-top:1px solid #aaa;margin:3px 0}.status{background:#e4e4dc;border-top:1px solid #888;justify-content:space-between;align-items:center;height:24px;padding:0 10px;display:flex}.modal-bg{z-index:80;background:#0005;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:#efefe9;border:1px solid #555;width:520px;max-height:90vh;padding:14px;overflow:auto;box-shadow:4px 4px 10px #0007}.dialog.small{width:420px}.dialog h3{margin:0 0 10px}.form{grid-template-columns:1fr 1fr;gap:8px;display:grid}.form label{flex-direction:column;gap:3px;font-weight:700;display:flex}.form input,.form textarea,.form select{background:#fff;border:1px solid #999;padding:5px;font:13px Arial}.form textarea{grid-column:auto;min-height:70px}.dialog-actions{text-align:right;margin-top:12px}.dialog-actions button{padding:5px 14px}@media (width<=900px){.explorer{width:210px}.frame text{font-size:14px}}.sq.yellow{background:#ead35b}.tree li.child{font-size:12px}.obj.decomposed{border-left:4px solid #1f5b91}.obj.unresolved{border-style:dashed}.childmark{float:right;color:#1f5b91;background:#e7f0ff;border:1px solid #b7cff2;border-radius:2px;padding:1px 4px;font-size:11px}.snap-preview{fill:#fff;stroke:#1c5da8;stroke-width:2px;pointer-events:none}.activity .ports circle:hover{fill:#bdd7ee}.arrow.unresolved .label-bg{stroke:none;opacity:.88}.workspace{cursor:default}.toolbar button[title]{position:relative}.toolbar button:disabled{opacity:.45;cursor:default;color:#777}.bp-ports path{fill:#fff;stroke:#111;stroke-width:1.2px;cursor:crosshair;filter:drop-shadow(0 1px #fff)}.bp-ports path.hot,.bp-ports path:hover{fill:#111;stroke:#111}.activity .bp-ports{pointer-events:auto}.frame .header-bg,.frame .footer-bg{fill:#fbfaf3;stroke:none}.modal-backdrop{z-index:90;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#efefe9;border:1px solid #555;width:620px;padding:14px;box-shadow:4px 4px 10px #0008}.modal.wide{width:min(880px,92vw)}.modal h3{margin:0 0 8px}.modal .hint{color:#333;margin:0 0 10px}.dslbox{resize:vertical;background:#fff;border:1px solid #888;width:100%;height:360px;padding:8px;font:13px Consolas,monospace}.modal-actions{text-align:right;justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.modal-actions button{cursor:pointer;background:#eee;border:1px solid #777;padding:5px 12px;box-shadow:inset 1px 1px #fff}.modal-actions .primary{background:#dbeaff;border-color:#1f5b91}.boundary-icom-ports path{fill:#fff;stroke:#111;stroke-width:1.3px;cursor:crosshair}.boundary-icom-ports g:hover path{fill:#111}.boundary-icom-ports text{fill:#111;pointer-events:none;font:700 12px Arial}.menuitem.disabled{opacity:.55;cursor:default;text-decoration:none}.menuitem.disabled:hover{color:#111;background:0 0}.menuitem.lang{margin-left:auto}.dialog.widecheck{width:min(920px,92vw)}.check-table{border-collapse:collapse;background:#fff;width:100%}.check-table th,.check-table td{vertical-align:top;border:1px solid #b7b7b7;padding:6px}.check-table th{text-align:left;background:#deded8}.check-table tr.error td{background:#fff1f1}.check-table tr.warn td{background:#fffbe8}.check-table button{cursor:pointer;background:#eee;border:1px solid #777;padding:3px 8px}.form input[readonly]{color:#444;background:#eee}.arrow.unresolved .line{stroke-dasharray:none}.arrow.tunneled .line{stroke-dasharray:3 4}.arrow.tunneled .label-bg{stroke:#111;stroke-dasharray:3 3}.objects-title{color:#333;border-top:1px solid #c0c5ca;margin:8px 0 3px;padding-top:5px;font-weight:700}.frame .context-node{fill:#111;font-size:14px}.context-mini rect{shape-rendering:crispedges}.context-parent-block{fill:#fff;stroke:#111;stroke-width:1px}.context-current{fill:#111;stroke:#111;stroke-width:1px}.context-link{fill:none;stroke:#111;stroke-width:1px}.ctx button:disabled{color:#777;cursor:default}.ctx button:disabled:hover{color:#777;background:0 0}.boundary-port-hotzones rect{fill:#0000;stroke:none;cursor:crosshair;pointer-events:all}.boundary-icom-ports{pointer-events:all}.frame .header-meta{fill:#111;font-size:15px}.frame .header-meta tspan{font-size:15px}
