:root{color-scheme:light;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f4f8ff;--tech-bg: #f4f8ff;--tech-panel: #ffffff;--tech-panel-soft: #f8fbff;--tech-line: #d6e8ff;--tech-blue: #1677ff;--tech-blue-deep: #0958d9;--tech-green: #16a34a;--tech-red: #ef4444}:root[data-theme=dark]{color-scheme:dark;background:#08111f;--tech-bg: #08111f;--tech-panel: #0f1d31;--tech-panel-soft: #13243b;--tech-line: #20456f;--tech-blue: #4096ff;--tech-blue-deep: #69b1ff;--tech-green: #4ade80;--tech-red: #f87171}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow:hidden}.app-shell{min-height:100vh}.titlebar{height:42px;line-height:42px;padding:0 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--tech-line);background:linear-gradient(90deg,var(--tech-panel),var(--tech-panel-soft));box-shadow:0 1px 8px #1677ff14}.brand,.title-actions,.user-chip{display:flex;align-items:center}.brand .anticon{color:var(--tech-blue)}.brand .ant-typography{color:var(--tech-blue-deep);font-size:24px;line-height:1}.version-link{height:24px;padding:0;text-decoration:underline}.title-divider{width:1px;height:22px;background:var(--tech-line);display:inline-block}.title-actions .ant-segmented-item-selected{color:var(--tech-blue-deep)!important;font-weight:700}.main-layout{height:calc(100vh - 42px)}.desktop-side{border-right:1px solid var(--tech-line);background:var(--tech-panel);transition:none!important;position:relative}.desktop-side.is-collapsed{border-right:1px solid var(--tech-line)}.side-resizer{width:6px;flex:0 0 6px;cursor:col-resize;background:linear-gradient(180deg,transparent,var(--tech-blue),transparent);opacity:.45}.side-resizer:hover,.side-resizer:focus-visible,.resizing-side .side-resizer{opacity:1;outline:none}.resizing-side,.resizing-subscriptions{cursor:col-resize;-webkit-user-select:none;user-select:none}.resizing-subscription-height{cursor:row-resize;-webkit-user-select:none;user-select:none}.side-collapsed{height:100%;display:flex;justify-content:center;align-items:flex-start;padding-top:10px;background:var(--tech-panel)}.side-collapsed .ant-btn{color:var(--tech-blue-deep)}.side-content{height:100%;padding:10px;overflow:hidden}.side-split-layout{display:grid;gap:0;overflow:hidden}.side-section-resizer{display:flex;align-items:center;justify-content:center;cursor:row-resize;-webkit-user-select:none;user-select:none}.side-section-resizer span{width:48px;height:3px;border-radius:99px;background:#1677ff47}.side-section-resizer:hover span,.side-section-resizer:focus-visible span,.resizing-side-section .side-section-resizer span{background:#1677ff80}.resizing-side-section{cursor:row-resize;-webkit-user-select:none;user-select:none}.side-section{min-height:0;display:flex;flex-direction:column;border:1px solid var(--tech-line);border-radius:8px;background:var(--tech-panel-soft);padding:8px;overflow:hidden}.side-section-components{padding-bottom:0}.side-component-palette-host{flex:1 1 auto;min-height:0;display:flex;overflow:auto;margin:0 -8px}.side-component-palette-host>.board-element-palette{flex:1 1 auto;height:100%}.side-component-palette-host:empty:before{content:"";display:block;height:100%}.side-section .ant-menu{flex:1 1 auto;min-height:0;overflow:auto}.side-section-boards .ant-empty{margin:auto 0}.board-side-list{flex:1 1 auto;min-height:0;overflow:auto}.board-side-card{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:8px;border:1px solid var(--tech-line);border-radius:8px;background:var(--tech-panel);cursor:pointer;text-align:left}.board-side-card.is-active{border-color:var(--tech-blue);box-shadow:0 0 0 1px #1677ff33}.board-side-card-main{min-width:0;display:flex;flex-direction:column;gap:4px}.board-side-card-title{color:var(--tech-blue-deep);font-weight:600}.board-side-card-remark{color:var(--tech-muted);font-size:12px;line-height:1.4;line-clamp:2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.side-title{margin-bottom:8px}.connection-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.connection-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-icon{font-size:15px;line-height:1}.status-icon.connected{color:var(--tech-green)}.status-icon.disconnected{color:var(--tech-red)}.connection-status-button{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.connection-status-button.connected{color:var(--tech-green)}.connection-status-button.disconnected,.connection-status-button.error{color:var(--tech-red)}.connection-status-button.connecting{color:var(--tech-blue)}.connection-status-button.connected:hover,.connection-status-button.connected:focus-visible{color:var(--tech-green)!important;background:#22c55e1a!important}.connection-status-button.disconnected:hover,.connection-status-button.disconnected:focus-visible,.connection-status-button.error:hover,.connection-status-button.error:focus-visible{color:var(--tech-red)!important;background:#ef444414!important}.workspace{padding:10px 12px;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--tech-bg)}.toolbar{margin-bottom:8px;padding:8px;background:var(--tech-panel)}.toolbar-status{display:inline-flex;align-items:center;gap:5px;height:24px;color:#64748b;font-size:13px;white-space:nowrap}.toolbar-status.connected{color:var(--tech-green)}.toolbar-status.disconnected,.toolbar-status.error{color:var(--tech-red)}.toolbar-status.connecting{color:var(--tech-blue-deep)}.main-tabs>.ant-tabs-nav{margin:0 0 4px;min-height:30px}.main-tabs>.ant-tabs-nav .ant-tabs-tab{padding:4px 0;line-height:20px}.main-tabs>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-left:18px}.main-tabs>.ant-tabs-nav .ant-tabs-tab-btn{line-height:20px}.main-tabs>.ant-tabs-nav .ant-tabs-ink-bar{height:2px}.main-tabs{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.main-tabs>.ant-tabs-content-holder{flex:1 1 auto;min-height:0;overflow:hidden}.main-tabs>.ant-tabs-content-holder>.ant-tabs-content{height:100%}.main-tabs>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane{height:100%;min-height:0;overflow:hidden}.main-tabs .compact-form{height:100%;overflow:auto}.disconnect-button{color:var(--tech-red)!important;border-color:var(--tech-red)!important;background:transparent}.disconnect-button:hover,.disconnect-button:focus-visible{color:var(--tech-red)!important;border-color:var(--tech-red)!important;background:#ef444414!important}.compact-form .ant-form-item{margin-bottom:10px}.field-label{display:inline-flex;align-items:center;gap:5px;min-width:0}.field-help-icon{color:var(--tech-blue);cursor:help;font-size:13px}.field-help-icon:hover,.field-help-icon:focus-visible{color:var(--tech-blue-deep)}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:0 10px}.wide-field{grid-column:span 2}.full{width:100%}.mini-select{width:54px;min-width:54px}.mini-select.ant-select .ant-select-selector{padding-inline:4px 14px!important}.mini-select.ant-select .ant-select-selection-item,.mini-select.ant-select .ant-select-selection-placeholder{padding-inline-end:0!important}.mini-select.ant-select .ant-select-arrow{inset-inline-end:2px!important}.mini-select.ant-select-sm{min-width:54px}.format-select,.subscribe-form .format-select.ant-select{width:118px;min-width:118px}.cache-limit-select{width:86px}.cache-limit-label{white-space:nowrap}.panel{min-height:0}.message-list-wrap>.panel{height:100%;display:flex;flex-direction:column;min-height:0}.panel-head{margin-bottom:8px}.message-row{border-left:3px solid transparent;padding-left:8px!important}.message-row.in{border-left-color:var(--tech-green)}.message-row.out{border-left-color:var(--tech-blue)}.message-row.sys{border-left-color:var(--tech-blue-deep)}.message-body{width:100%}.chat-list .ant-list-item{border-block-end:0;padding:6px 0!important}.message-chat-row{width:100%;display:flex;align-items:flex-start;gap:8px}.message-chat-row.in{justify-content:flex-start}.message-chat-row.out{justify-content:flex-end}.message-chat-row.sys{justify-content:center}.message-chat-row.out .ant-avatar{order:2}.message-bubble{max-width:min(76%,760px);padding:8px 10px;border:1px solid var(--tech-line);border-radius:8px;background:var(--tech-panel-soft);box-shadow:0 1px 4px #1677ff14}.message-chat-row.out .message-bubble{background:#eaf3ff;border-color:#b8d8ff}:root[data-theme=dark] .message-chat-row.out .message-bubble{background:#102f54;border-color:#276299}.message-chat-row.sys .message-bubble{max-width:86%;color:var(--tech-blue-deep);background:transparent;box-shadow:none}.message-meta,.qos-text,.qos-tag,.subscription-row{white-space:nowrap}.message-topic-chip{display:inline-flex;align-items:center;max-width:100%;padding:1px 8px;border-radius:999px;color:#fff;font-size:12px;font-weight:600;line-height:20px;box-shadow:inset 0 0 0 1px #ffffff2e;white-space:normal;word-break:break-word}.message-bubble .ant-typography-copy{white-space:pre-wrap;word-break:break-word}.json-highlight{margin:6px 0 0;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.timestamp-hints{margin-top:6px;font-size:12px}.timestamp-hints .ant-tag{margin-inline-end:0;white-space:normal;word-break:break-word}.subscribe-form{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:12px}.subscribe-form .ant-form-item{margin-inline-end:0}.subscribe-topic-item{flex:1 1 420px;min-width:320px}.subscribe-form .subscribe-topic-item.ant-form-item{flex:1 1 520px;min-width:420px}.subscribe-topic-item .ant-form-item-control-input-content,.subscribe-topic-item .ant-input{width:100%}.accent-select{width:96px}.swatch-label{display:inline-flex;align-items:center;gap:5px}.swatch-label i{width:10px;height:10px;border-radius:50%;display:inline-block}.export-options,.version-timeline{margin-top:14px}.relay-required-alert{margin-bottom:12px}.import-conflict-row{width:100%;padding:6px 8px;border:1px solid var(--tech-line);border-radius:6px;background:var(--tech-panel-soft)}.import-conflict-row .ant-typography{min-width:0;word-break:break-word}.import-conflict-select{width:128px;flex:0 0 128px}.connection-checkbox-list{display:grid;grid-template-columns:1fr;gap:8px;max-height:240px;overflow:auto;padding:8px;border:1px solid var(--tech-line);border-radius:6px;background:var(--tech-panel-soft)}.debug-panel{height:100%;min-height:0;display:flex;flex-direction:column;background:var(--tech-panel);overflow:hidden}.debug-section{min-height:150px;padding:10px;overflow:hidden;display:flex;flex-direction:column;background:var(--tech-panel)}.receive-section{flex:1 1 auto;min-height:0}.send-section{flex:0 0 auto;min-height:0;display:flex;flex-direction:column;background:var(--tech-panel-soft);overflow:hidden}.embedded-send-section{min-height:0;flex:1 1 auto;height:100%;display:flex;flex-direction:column;padding:8px;border-top:1px solid var(--tech-line)}.message-list-wrap{flex:1 1 0;min-height:0;height:100%;overflow-x:hidden;overflow-y:auto;border-top:1px solid var(--tech-line);padding-top:8px}.receive-split-layout{flex:1;min-height:0;display:flex;overflow:hidden;border-top:1px solid var(--tech-line)}.message-list-pane{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.message-list-pane .message-list-wrap{border-top:0;padding-top:8px}.subscription-splitter{width:8px;flex:0 0 8px;cursor:col-resize;background:linear-gradient(180deg,transparent,var(--tech-blue),transparent);opacity:.55}.subscription-splitter:hover,.subscription-splitter:focus-visible,.resizing-subscriptions .subscription-splitter{opacity:1;outline:none}.subscription-side-pane{flex:0 0 auto;min-width:260px;max-width:460px;height:100%;min-height:0;padding:8px 0 8px 10px;display:grid;overflow:hidden;background:var(--tech-panel)}.subscription-management-pane{min-height:0;display:flex;flex-direction:column;overflow:hidden}.subscription-send-splitter{position:relative;height:12px;cursor:row-resize;background:var(--tech-bg);border-top:1px solid var(--tech-line);border-bottom:1px solid var(--tech-line);opacity:.9;touch-action:none}.subscription-send-splitter:before{content:"";position:absolute;left:50%;top:50%;width:52px;height:3px;border-radius:999px;background:var(--tech-blue);transform:translate(-50%,-50%)}.subscription-send-splitter:hover,.subscription-send-splitter:focus-visible,.resizing-subscription-height .subscription-send-splitter{opacity:1;background:var(--tech-panel-soft);outline:none}.subscription-side-pane .embedded-send-section{min-height:0;border:1px solid var(--tech-line);border-radius:6px;overflow-y:auto;overflow-x:hidden}.subscription-side-pane .embedded-send-section .ant-form-item{margin-bottom:6px}.subscription-side-pane .panel,.ant-drawer-body .panel{min-height:0}.subscription-management-pane>.panel{height:100%;display:flex;flex-direction:column;min-height:0}.subscription-management-pane .subscription-card-list{flex:1 1 auto;min-height:0;overflow:auto;padding-inline-end:2px}.subscription-side-pane .subscribe-form,.ant-drawer-body .subscribe-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.subscription-side-pane .subscribe-topic-item,.subscription-side-pane .subscribe-form .subscribe-topic-item.ant-form-item,.ant-drawer-body .subscribe-topic-item,.ant-drawer-body .subscribe-form .subscribe-topic-item.ant-form-item{grid-column:1 / -1;min-width:0;flex-basis:auto}.subscription-side-pane .ant-list-item,.ant-drawer-body .ant-list-item{align-items:flex-start!important}.subscription-card-list .ant-list-item{border-block-end:0!important;padding:5px 0!important}.subscription-card{width:100%;padding:8px;border:1px solid var(--tech-line);border-radius:6px;background:var(--tech-panel-soft)}.subscription-card.is-hidden{opacity:.58;background:var(--tech-panel)}.subscription-card.is-paused{opacity:.6;border-style:dashed!important}.subscription-card-topic{display:flex;align-items:flex-start;gap:6px;margin-bottom:8px;min-width:0}.subscription-card-topic-text{min-width:0;display:flex;flex-direction:column;gap:2px}.subscription-card-topic .anticon{margin-top:3px;color:var(--tech-blue-deep);flex:0 0 auto}.topic-color-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;flex:0 0 10px;box-shadow:0 0 0 2px #ffffffd9}:root[data-theme=dark] .topic-color-dot{box-shadow:0 0 0 2px #08111fd9}.subscription-card-topic .ant-typography{min-width:0;display:block;white-space:normal;word-break:break-word}.floating-chart{position:fixed;z-index:1200;width:min(520px,calc(100vw - 16px));height:340px;min-width:360px;min-height:260px;max-width:calc(100vw - 16px);max-height:calc(100vh - 48px);display:flex;flex-direction:column;border:1px solid var(--tech-line);border-radius:8px;background:var(--tech-panel);box-shadow:0 12px 36px #0f1d313d;overflow:hidden;resize:both}.floating-chart-head{height:36px;flex:0 0 36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px 0 10px;border-bottom:1px solid var(--tech-line);background:var(--tech-panel-soft);cursor:move;-webkit-user-select:none;user-select:none}.floating-chart-head .ant-typography{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-chart-body{flex:1;min-height:0}.floating-chart-stats{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px;border-top:1px solid var(--tech-line);background:var(--tech-panel-soft)}.floating-chart-stat{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 6px;border-left:3px solid var(--tech-blue);border-radius:4px;background:var(--tech-panel);font-size:12px}.floating-chart-stat strong{color:var(--tech-text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-tabs,.board-tabs .ant-tabs-content-holder,.board-tabs .ant-tabs-content,.board-tabs .ant-tabs-tabpane{height:100%;min-height:0}.board-workspace{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px}.board-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--tech-line);border-radius:10px;background:linear-gradient(135deg,#1677ff14,#ffffffe6)}.board-topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}:root[data-theme=dark] .board-topbar{background:linear-gradient(135deg,#1677ff1f,#0f172aeb)}.board-remark{margin-left:8px}.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--tech-line);border-radius:10px;background:var(--tech-panel)}.board-toolbar-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.board-toolbar-icon-flip-y{transform:rotate(90deg)}.board-grid-preset-select{min-width:112px}.board-toolbar-label{color:var(--tech-muted);font-size:12px;padding-right:4px}.board-editor-shell{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:10px}.board-editor-shell.is-viewing{grid-template-columns:minmax(0,1fr)}.board-canvas-panel,.board-property-pane{min-height:0;border:1px solid var(--tech-line);border-radius:10px;background:var(--tech-panel);overflow:hidden}.board-canvas-panel{position:relative}.board-canvas{width:100%;height:100%;min-height:0;overflow:auto;background-position:center;background-repeat:no-repeat;background-size:cover}.board-grid-canvas{position:relative;display:grid;gap:10px;padding:10px;align-content:stretch}.board-grid-canvas.is-editing-canvas{background:radial-gradient(circle at top left,rgba(22,119,255,.06),transparent 52%),linear-gradient(180deg,rgba(22,119,255,.03),transparent 45%)}.board-grid-canvas.has-board-background{background-image:linear-gradient(#f8fbffd1,#f8fbffd1),var(--board-background-image);background-size:100% 100%,cover}.board-grid-canvas.has-board-background.is-editing-canvas{background-image:radial-gradient(circle at top left,rgba(22,119,255,.12),transparent 52%),linear-gradient(#f8fbffb8,#f8fbffb8),var(--board-background-image);background-size:100% 100%,100% 100%,cover}.board-grid-guide-cell{pointer-events:none;border:1px dashed rgba(22,119,255,.22);border-radius:10px;background:linear-gradient(180deg,#1677ff0d,#1677ff04);box-shadow:inset 0 0 0 1px #1677ff0a}.board-grid-canvas>.board-widget-card,.board-grid-canvas>.board-canvas-empty{position:relative;z-index:1}.board-grid-canvas .board-canvas-empty{grid-column:1 / -1;grid-row:1 / -1}.board-free-canvas{position:relative;min-height:100%;padding:10px;background-image:linear-gradient(rgba(22,119,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(22,119,255,.06) 1px,transparent 1px);background-size:24px 24px}.board-free-canvas.has-board-background{background-image:linear-gradient(rgba(22,119,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(22,119,255,.06) 1px,transparent 1px),linear-gradient(#f8fbffb3,#f8fbffb3),var(--board-background-image);background-size:24px 24px,24px 24px,100% 100%,cover}.board-free-canvas.is-editing-canvas{background-image:linear-gradient(rgba(22,119,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(22,119,255,.12) 1px,transparent 1px),radial-gradient(circle at top left,rgba(22,119,255,.06),transparent 58%);background-size:24px 24px,24px 24px,100% 100%}.board-free-canvas.has-board-background.is-editing-canvas{background-image:linear-gradient(rgba(22,119,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(22,119,255,.12) 1px,transparent 1px),radial-gradient(circle at top left,rgba(22,119,255,.08),transparent 58%),linear-gradient(#f8fbff9e,#f8fbff9e),var(--board-background-image);background-size:24px 24px,24px 24px,100% 100%,100% 100%,cover}.board-workspace:fullscreen{height:100vh;padding:12px;background:var(--tech-bg)}.board-workspace:fullscreen .board-editor-shell{grid-template-columns:minmax(0,1fr)}.board-workspace:fullscreen .board-property-pane{display:none}.board-canvas-empty,.board-empty-state{height:100%;min-height:240px;display:flex;align-items:center;justify-content:center}.board-widget-card{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid var(--tech-line);border-radius:10px;background:transparent;box-shadow:none;overflow:hidden}.board-free-canvas .board-widget-card{position:absolute}.board-widget-card.is-selected{border-color:var(--tech-blue);box-shadow:0 0 0 2px #1677ff38,0 16px 28px #0f1d311f}.board-widget-card.is-selected.is-editing{outline:1px dashed rgba(22,119,255,.35);outline-offset:-4px}.board-widget-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--tech-line);background:transparent;cursor:default}.board-free-canvas .board-widget-head{cursor:move}.board-grid-canvas .board-widget-card.is-editing .board-widget-head{cursor:grab}.board-grid-canvas .board-widget-card.is-dragging .board-widget-head{cursor:grabbing}.board-grid-canvas .board-widget-card.is-dragging{opacity:.78;box-shadow:0 0 0 2px #1677ff47,0 20px 34px #0f1d3129}.board-widget-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:8px;gap:8px}.board-chart-canvas{flex:1 1 auto;min-height:0}.board-chart-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.board-text-widget{margin:0;white-space:pre-wrap}.board-stat-widget{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:8px}.board-stat-value{font-size:clamp(28px,3vw,42px);font-weight:700;color:var(--tech-blue-deep);line-height:1}.board-stat-meta{color:var(--tech-muted);font-size:13px}.board-form-control,.board-form-control.ant-select,.board-form-control.ant-input,.board-form-control.ant-input-affix-wrapper{width:100%}.board-form-control.ant-select .ant-select-selector{color:inherit!important;background:inherit!important;border-color:inherit!important;border-width:inherit!important;border-style:inherit!important;border-radius:inherit!important}.board-form-control.ant-radio-group,.board-form-control.ant-checkbox-wrapper{color:inherit}.board-text-align-center,.board-text-align-center .ant-select-selector,.board-text-align-center .ant-select-selection-item{text-align:center}.board-text-align-right,.board-text-align-right .ant-select-selector,.board-text-align-right .ant-select-selection-item{text-align:right}.board-text-align-center.ant-checkbox-wrapper,.board-text-align-center.ant-radio-group{justify-content:center}.board-text-align-right.ant-checkbox-wrapper,.board-text-align-right.ant-radio-group{justify-content:flex-end}.board-form-image{width:100%;height:100%;min-height:120px;object-fit:contain;border-radius:6px;background:transparent}.board-image-widget{position:relative;width:100%;height:100%;min-height:inherit;display:flex;align-items:stretch;justify-content:stretch}.board-image-widget.is-flow:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;pointer-events:none;border:2px dashed var(--board-image-flow-color, #13c2c2);border-radius:6px;animation:board-image-flow 1s linear infinite}.board-image-widget.is-flow.is-reverse:after{animation-direction:reverse}@keyframes board-image-flow{0%{stroke-dashoffset:0;outline-offset:0;filter:hue-rotate(0deg)}to{stroke-dashoffset:-44;outline-offset:4px;filter:hue-rotate(60deg)}}.board-form-placeholder{height:100%;min-height:96px;display:flex;align-items:center;justify-content:center;border:1px dashed rgba(22,119,255,.28);border-radius:6px;color:var(--tech-muted)}.board-form-label{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:4px}.board-form-label .ant-typography{display:block;width:100%;text-align:inherit}.board-form-widget-panel .board-widget-body{padding:0}.board-form-panel-surface{position:relative;flex:1 1 auto;min-height:0;width:100%;height:100%;overflow:hidden;border-radius:0 0 10px 10px;background:linear-gradient(rgba(22,119,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(22,119,255,.12) 1px,transparent 1px),linear-gradient(180deg,#1677ff0d,#13a8a80a),repeating-linear-gradient(135deg,rgba(22,119,255,.05) 0 1px,transparent 1px 12px);background-size:12px 12px,12px 12px,auto,auto}.board-form-panel-surface.is-placement-target{cursor:crosshair;box-shadow:inset 0 0 0 2px #1677ff47}.board-panel-insert-preview{position:absolute;z-index:5;pointer-events:none;border:2px dashed var(--tech-blue);border-radius:6px;background:#1677ff1f}.board-panel-child{position:absolute;min-width:48px;min-height:32px;display:flex;align-items:stretch;justify-content:stretch;padding:6px;border:1px solid transparent;border-radius:6px;background:transparent;box-shadow:none}.board-panel-child.is-editing{cursor:move}.board-panel-child.is-drawing{padding:0;background:transparent;box-shadow:none}.board-panel-child.is-editing .board-panel-child-body,.board-panel-child.is-editing .board-panel-child-body *{pointer-events:none}:root[data-theme=dark] .board-panel-child{background:transparent}.board-panel-child.is-selected.is-editing{border-color:#1677ff9e;box-shadow:0 0 0 2px #1677ff24,0 8px 18px #0f1d311f}.board-panel-child.is-drawing.is-selected.is-editing{box-shadow:0 0 0 2px #1677ff2e}.board-panel-child-body{flex:1 1 auto;min-width:0;min-height:0;display:flex;align-items:center;justify-content:stretch}.board-panel-child-body>*{max-width:100%}.board-panel-child-delete{position:absolute;z-index:4;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(22,119,255,.28);border-radius:4px;color:var(--tech-blue);background:var(--tech-panel);opacity:0;transition:opacity .18s ease}.board-panel-child-delete{right:-7px;top:-7px;cursor:pointer}.board-panel-child.is-selected.is-editing .board-panel-child-delete{opacity:1}.board-drawing-widget{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transform-origin:center}.board-drawing-widget svg{width:100%;height:100%;overflow:visible}.board-industrial-widget{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#56616d}.board-industrial-widget svg{width:100%;height:100%;overflow:visible}.board-industrial-widget.is-gas svg{filter:saturate(.92) brightness(1.04)}.board-industrial-widget.is-solid svg{filter:saturate(1.12)}.board-drawing-endpoint-handle{position:absolute;z-index:5;width:12px;height:12px;padding:0;border:2px solid var(--tech-blue);border-radius:999px;background:var(--tech-panel);box-shadow:0 2px 8px #1677ff38;cursor:grab;transform:translate(-50%,-50%)}.board-drawing-endpoint-handle:active{cursor:grabbing}.board-drawing-endpoint-handle.is-end{background:var(--tech-blue)}.board-drawing-flow{stroke-linecap:round;stroke-dasharray:12 10;animation:board-drawing-flow 1s linear infinite}.board-drawing-flow.is-reverse{animation-direction:reverse}.board-drawing-blink{animation:board-drawing-blink .9s ease-in-out infinite;transform-origin:center}.board-drawing-rotate{animation:board-drawing-rotate 1.4s linear infinite;transform-origin:center;transform-box:fill-box}.board-drawing-rotate.is-reverse{animation-direction:reverse}.board-drawing-water-wave{transform-box:view-box}.board-industrial-flow{stroke-linecap:round;animation:board-industrial-flow 1.2s linear infinite}.board-industrial-flow.is-reverse{animation-direction:reverse}.board-industrial-swing{animation:board-industrial-swing 1.8s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:88px 72px}@keyframes board-drawing-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-44}}@keyframes board-drawing-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes board-drawing-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes board-industrial-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-30}}@keyframes board-industrial-swing{0%{transform:rotate(-5deg)}to{transform:rotate(9deg)}}.board-panel-child-resize{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-right:2px solid var(--tech-blue);border-bottom:2px solid var(--tech-blue);border-bottom-right-radius:5px;cursor:nwse-resize;background:#1677ff14}.board-widget-handle{position:absolute;z-index:3;opacity:0;transition:opacity .18s ease,background-color .18s ease}.board-widget-card.is-selected.is-editing .board-widget-handle{opacity:1}.board-widget-handle.is-n,.board-widget-handle.is-s{left:14px;right:14px;height:8px}.board-widget-handle.is-n{top:0;cursor:n-resize}.board-widget-handle.is-s{bottom:0;cursor:s-resize}.board-widget-handle.is-e,.board-widget-handle.is-w{top:14px;bottom:14px;width:8px}.board-widget-handle.is-e{right:0;cursor:e-resize}.board-widget-handle.is-w{left:0;cursor:w-resize}.board-widget-handle.is-ne,.board-widget-handle.is-nw,.board-widget-handle.is-se,.board-widget-handle.is-sw{width:14px;height:14px;border-radius:4px;background:#1677ff2e}.board-widget-handle.is-ne{top:0;right:0;cursor:nesw-resize}.board-widget-handle.is-nw{top:0;left:0;cursor:nwse-resize}.board-widget-handle.is-se{right:0;bottom:0;cursor:nwse-resize}.board-widget-handle.is-sw{left:0;bottom:0;cursor:nesw-resize}.board-widget-grid-resize{position:absolute;right:6px;bottom:6px;width:16px;height:16px;border-right:2px solid var(--tech-blue);border-bottom:2px solid var(--tech-blue);border-bottom-right-radius:4px;background:#1677ff14;cursor:nwse-resize;box-shadow:0 0 0 1px #1677ff24}.board-widget-card.is-selected.is-editing .board-widget-grid-resize{background:#1677ff2e}.board-property-pane{display:flex;flex-direction:column;gap:0;border:0;border-radius:0;background:transparent;overflow:hidden}.board-element-palette{min-height:0;display:flex;flex-direction:column;gap:10px;padding:10px;overflow:auto}.board-element-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.board-palette-card{min-width:0;height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border:1px solid rgba(22,119,255,.16);border-radius:8px;background:#ffffffc7;color:var(--tech-text);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.board-palette-card:hover,.board-palette-card.is-active{border-color:var(--tech-blue);background:#e8f4ffeb;box-shadow:0 8px 18px #1677ff1f}.board-palette-card[draggable=true]{cursor:grab}.board-palette-card[draggable=true]:active{cursor:grabbing}.board-palette-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--tech-blue);font-size:28px;line-height:1}.board-palette-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.board-drawing-shape-icon{position:relative;width:30px;height:30px;display:inline-block}.board-drawing-shape-icon:before,.board-drawing-shape-icon:after{content:"";position:absolute;box-sizing:border-box}.board-drawing-shape-icon.is-line:before{left:2px;right:2px;top:14px;height:3px;border-radius:999px;background:var(--tech-blue);transform:rotate(-22deg)}.board-drawing-shape-icon.is-curve:before{left:2px;top:7px;width:26px;height:16px;border:3px solid var(--tech-blue);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-12deg)}.board-drawing-shape-icon.is-circle:before{top:4px;right:4px;bottom:4px;left:4px;border:3px solid var(--tech-blue);border-radius:50%}.board-drawing-shape-icon.is-ellipse:before{left:2px;right:2px;top:6px;bottom:6px;border:3px solid var(--tech-blue);border-radius:50%}.board-drawing-shape-icon.is-rect:before{left:3px;right:3px;top:8px;bottom:8px;border:3px solid var(--tech-blue);border-radius:3px}.board-drawing-shape-icon.is-square:before{top:5px;right:5px;bottom:5px;left:5px;border:3px solid var(--tech-blue);border-radius:3px}.board-drawing-shape-icon.is-triangle:before{left:4px;top:4px;width:22px;height:22px;background:var(--tech-blue);clip-path:polygon(50% 0%,100% 100%,0% 100%)}.board-drawing-shape-icon.is-hexagon:before{left:3px;top:4px;width:24px;height:22px;background:var(--tech-blue);clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}.board-drawing-shape-icon.is-polygon:before{left:4px;top:4px;width:22px;height:22px;background:var(--tech-blue);clip-path:polygon(50% 0%,95% 35%,78% 100%,22% 100%,5% 35%)}.board-industrial-icon{width:34px;height:24px;display:block}.board-property-card{min-height:0;display:flex;flex-direction:column;border:1px solid var(--tech-line);border-radius:10px;background:var(--tech-panel);overflow:hidden}.board-components-card{flex:0 0 auto;min-height:150px}.board-details-card{flex:1 1 auto}.board-property-card-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:8px 10px;border-bottom:1px solid var(--tech-line);background:var(--tech-panel-soft)}.board-property-card-body{flex:1 1 auto;min-height:0;overflow:auto}.board-property-splitter{flex:0 0 10px;display:flex;align-items:center;justify-content:center;cursor:row-resize}.board-property-splitter span{width:48px;height:3px;border-radius:99px;background:#1677ff47}.board-property-splitter:hover span{background:#1677ff80}.board-property-pane.is-embedded{border:0;border-radius:0;background:transparent}.board-property-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:10px}.board-property-group{display:flex;flex-direction:column;gap:10px}.board-image-source-editor{gap:10px}.board-image-source-preview{width:100%;min-height:88px;max-height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px dashed rgba(22,119,255,.24);border-radius:6px;background:#ffffff8c}.board-image-source-preview img{max-width:100%;max-height:176px;object-fit:contain}.board-property-field{display:flex;flex-direction:column;gap:4px;min-width:0;color:var(--tech-muted);font-size:12px}.board-property-field>span{line-height:18px;color:var(--tech-muted)}.board-property-label{display:inline-flex;align-items:center;gap:6px}.board-property-help-btn{width:16px;height:16px;padding:0;border:1px solid rgba(22,119,255,.35);border-radius:999px;background:#1677ff0f;color:var(--tech-blue);cursor:pointer;font-size:11px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.board-property-help-btn:hover{background:#1677ff29}.board-property-help-content p{margin:0 0 8px;color:#1f2937}.board-property-help-content p:last-child{margin-bottom:0}.board-property-field .ant-select,.board-property-field .ant-input,.board-property-field .ant-input-number,.board-property-field .ant-input-affix-wrapper{width:100%}.board-property-subgroup{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid var(--tech-line);border-radius:8px;background:#1677ff09}.board-event-action-card{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid rgba(22,119,255,.16);border-radius:8px;background:var(--tech-panel)}.board-property-group .ant-select,.board-property-group .ant-input-number{width:100%}.board-frame-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.board-mobile-sidebar{display:flex;flex-direction:column;min-height:0;gap:8px}.board-mobile-list-item{padding-bottom:8px}.board-frame-grid label{display:flex;flex-direction:column;gap:4px;color:var(--tech-muted);font-size:12px}.board-property-empty{padding-top:6px}@media (max-width: 980px){.board-editor-shell{grid-template-columns:minmax(0,1fr)}.board-property-pane{min-height:280px}}@media (max-width: 760px){.side-split-layout{grid-template-rows:auto auto auto!important;gap:10px;overflow:auto}.side-section-resizer{display:none}.board-topbar{align-items:flex-start;flex-direction:column}.board-topbar-actions{width:100%;justify-content:flex-end}.board-toolbar{align-items:stretch}.board-toolbar-group{width:100%}.board-grid-preset-select{flex:1 1 132px}.board-chart-stats,.floating-chart-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.message-list-wrap .ant-list{flex:1 1 auto;min-height:0;height:100%;overflow:auto}.send-section .ant-form-item{margin-bottom:8px}.embedded-send-section .publish-form{display:flex;flex-direction:column;flex:1 1 auto;width:100%;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;padding-inline-end:2px}.embedded-send-section>.panel-head{flex:0 0 auto}.embedded-send-section .publish-form>.ant-form-item{flex:0 0 auto;width:100%;min-width:0}.embedded-send-section .publish-form .payload-editor-item{flex:1 1 auto;width:100%;min-width:0;min-height:0;display:flex;flex-direction:column}.embedded-send-section .publish-form .payload-editor-item .ant-form-item-row,.embedded-send-section .publish-form .payload-editor-item .ant-form-item-control,.embedded-send-section .publish-form .payload-editor-item .ant-form-item-control-input,.embedded-send-section .publish-form .payload-editor-item .ant-form-item-control-input-content{display:flex;flex-direction:column;flex:1 1 auto;width:100%;min-width:0;min-height:0}.publish-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.publish-action-row .inline-form-item{display:inline-flex;align-items:center;margin-bottom:0;white-space:nowrap}.publish-action-row .inline-form-item .ant-form-item-row,.publish-action-row .inline-form-item .ant-form-item-control-input-content{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap}.publish-action-row .inline-form-item .ant-form-item-row{flex-direction:row}.publish-action-row .inline-form-item .ant-form-item-label{padding:0;white-space:nowrap}.publish-action-row .inline-form-item .ant-form-item-control{flex:none}.send-section textarea{min-height:92px}.payload-format-item{margin-bottom:6px!important}.payload-heading-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap;width:100%}.payload-heading-row>span:first-child{flex:0 0 auto;white-space:nowrap}.payload-heading-spacer{flex:1 1 auto;min-width:12px}.common-message-select{flex:0 0 220px;width:220px;min-width:0;max-width:220px}.publish-action-row>.ant-space:first-child{flex:0 0 auto}.publish-action-row>.ant-space:last-child{flex:0 0 auto}.common-message-option{display:flex;align-items:center;gap:8px;min-width:0}.common-message-option-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.common-message-option .ant-tag{margin-inline-end:0}.payload-tools{margin:-2px 0 8px}.publish-payload-editor{position:relative;flex:1 1 auto;width:100%;min-width:0;min-height:0}.publish-payload-highlight{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;padding:5px 12px;overflow:hidden;border:1px solid transparent;border-radius:6px;box-sizing:border-box;pointer-events:none}.publish-payload-highlight .json-highlight{margin:0;font-size:14px;line-height:1.5715;white-space:pre-wrap;word-break:break-word}.publish-payload-textarea{height:100%!important;width:100%;min-height:160px;resize:none}.publish-payload-textarea.is-highlighted{position:relative;z-index:2;width:100%;background:transparent!important;color:transparent;caret-color:var(--tech-text);-webkit-text-fill-color:transparent}.publish-payload-textarea.is-highlighted:hover,.publish-payload-textarea.is-highlighted:focus{background:transparent!important}.publish-payload-textarea.is-highlighted::selection{background:#1677ff3d}.publish-payload-editor .ant-input-textarea,.publish-payload-editor .ant-input-data-count,.publish-payload-editor .ant-input{height:100%;width:100%;min-width:0}.base64-preview{min-height:96px;max-height:240px;margin:8px 0 0;padding:8px 10px;overflow:auto;border:1px solid var(--tech-line);border-radius:6px;background:var(--tech-panel);font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.json-key{color:var(--tech-blue-deep)}.json-string{color:var(--tech-green)}.json-number{color:#b45309}.json-boolean,.json-null{color:var(--tech-red)}.mobile-only{display:none}:root[data-mobile=true] .desktop-side{display:none}:root[data-mobile=true] .mobile-only{display:inline-flex}:root[data-mobile=true] .titlebar{height:40px;line-height:40px;padding:0 8px}:root[data-mobile=true] .title-action-command{width:30px;padding-inline:0}:root[data-mobile=true] .title-action-command .title-action-text{display:none}:root[data-mobile=true] .main-layout{height:calc(100vh - 40px)}:root[data-mobile=true] .workspace{padding:8px}:root[data-mobile=true] .accent-select{display:none}:root[data-mobile=true] .user-chip .ant-typography{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-mobile=true] .form-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}:root[data-mobile=true] .wide-field{grid-column:1 / -1}:root[data-mobile=true] .subscribe-form{display:grid;grid-template-columns:86px 118px auto;gap:8px}:root[data-mobile=true] .subscribe-topic-item{grid-column:1 / -1;min-width:0}:root[data-mobile=true] .subscribe-form .subscribe-topic-item.ant-form-item{min-width:0}@media (max-width: 760px){.titlebar{height:40px;line-height:40px;padding:0 8px}.main-layout{height:calc(100vh - 40px)}.desktop-side{display:none}.mobile-only{display:inline-flex}.title-actions{gap:4px!important}.title-action-command{width:30px;padding-inline:0}.title-action-command .title-action-text,.accent-select{display:none}.user-chip .ant-typography{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace{padding:8px}.form-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.wide-field{grid-column:1 / -1}.subscribe-form{display:grid;grid-template-columns:86px 118px auto;gap:8px}.subscribe-topic-item{grid-column:1 / -1;min-width:0}.subscribe-form .subscribe-topic-item.ant-form-item{min-width:0}.debug-panel{height:calc(100vh - 132px);min-height:0}.receive-split-layout{display:block}.message-list-pane{height:100%}.message-list-wrap{height:auto}.embedded-send-section{margin-top:8px}}@media (max-width: 480px){.brand .ant-typography{display:none}.form-grid{grid-template-columns:1fr}.common-message-select{flex:0 0 190px;width:190px;max-width:190px}}
