:root{--om-primary: #605bff;--om-primary-hover: #7a73ff;--om-primary-weak: #f4f4ff;--om-primary-lighter: #f8f8ff;--om-secondary-blue: #409eff;--om-canvas: #f8f8fe;--om-scrollbar: #c9c6f4;--om-border: #e5e6eb;--om-text: #3d3d3d;--om-text-secondary: #666666;--om-text-tertiary: #777a7e;--om-font-family: "Noto Sans CJK SC", "Source Han Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", -apple-system, "Helvetica Neue", Arial, sans-serif;--om-radius-lg: 12px;--om-radius-md: 8px;--om-radius-sm: 6px;--om-shadow-card: 0 2px 8px rgba(96, 91, 255, .08)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--om-font-family);color:var(--om-text);background-color:var(--om-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#root{min-height:100vh}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}::-webkit-scrollbar-thumb{background:var(--om-scrollbar);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--om-primary)}.app-root{height:100vh;display:flex;flex-direction:column;background:var(--om-canvas)}.app-body{flex:1;min-height:0;background:var(--om-canvas);display:flex;flex-direction:row}.app-content{flex:1;min-height:0;overflow:auto;background:var(--om-canvas)}.app-header{display:flex;align-items:center;justify-content:space-between;height:56px!important;line-height:56px!important;padding:0 24px 0 16px!important;background:#fff!important;border-radius:0 0 10px 10px;box-shadow:0 4px 10px #605bff14;z-index:2}.app-header-left{display:flex;align-items:center;gap:14px;min-width:0}.app-header-logo{flex-shrink:0;width:34px;height:34px;border-radius:8px;background:var(--om-primary);color:#fff;font-weight:600;font-size:17px;display:flex;align-items:center;justify-content:center}.app-header-title{font-size:17px;font-weight:500;color:var(--om-primary);white-space:nowrap}.app-header-sep{color:#d9d9d9;font-size:15px}.app-header-sub{font-size:13px;color:var(--om-text-secondary);white-space:nowrap}.app-header-user{display:flex;align-items:center;gap:10px;padding:4px 6px;border-radius:var(--om-radius-md);cursor:pointer;transition:background .2s}.app-header-user:hover{background:var(--om-primary-weak)}.app-header-username{font-size:14px;color:var(--om-text);white-space:nowrap}.sider-toggle{height:32px;margin:8px 8px 2px;display:flex;align-items:center;justify-content:center;border-radius:var(--om-radius-md);color:var(--om-text-secondary);cursor:pointer;transition:all .2s}.sider-toggle:hover{background:var(--om-primary-weak);color:var(--om-primary)}.layout-sider{background:#fff!important;border:none!important;box-shadow:0 2px 12px #605bff0f}.layout-sider .ant-layout-sider-children{display:flex;flex-direction:column}.layout-sider .ant-menu{border-right:0!important;flex:1;font-family:var(--om-font-family);font-size:13px;font-weight:500;padding:4px 0}.layout-sider .ant-menu-item{height:34px;line-height:34px;margin-block:2px;padding-inline:8px!important;justify-content:center}.layout-sider .ant-menu-item .ant-menu-title-content{flex:none}.layout-sider .ant-menu-item-selected{font-weight:500}.sider-user{border-top:1px solid #eceef4;padding:8px 8px 10px}.sider-user-inner{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--om-radius-md);cursor:pointer;transition:background .2s}.sider-user-inner:hover{background:var(--om-primary-weak)}.sider-user-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--om-text-secondary)}.page-card{background:#fff;border-radius:var(--om-radius-lg);box-shadow:var(--om-shadow-card);padding:20px 24px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--om-canvas)}.login-card{width:100%;max-width:420px;border-radius:var(--om-radius-lg);box-shadow:0 20px 60px #605bff24}.chat-container{display:flex;flex-direction:column;height:100%}.chat-header{padding:12px 24px;border-bottom:1px solid #eceef4;background:#fff;display:flex;align-items:center;gap:16px}.chat-messages{flex:1;overflow-y:auto;padding:28px 24px;background:var(--om-canvas)}.chat-input-area{padding:16px 24px;border-top:1px solid #eceef4;background:#fff}.message-row{display:flex;gap:12px;margin-bottom:24px;align-items:flex-start}.message-row-user{flex-direction:row-reverse}.message-row-user>div{display:flex;flex-direction:column;align-items:flex-end}.message-row-assistant>div{max-width:85%}.message-row-user>div{max-width:70%}.message-time{font-size:11px;color:#a0aec0;margin-top:6px;padding:0 4px}.message-bubble{max-width:100%;padding:14px 18px;border-radius:16px;line-height:1.7;white-space:pre-wrap;word-break:break-word;font-size:14px}.message-user{background:#fff;color:#1a202c;border:1px solid #e5e6eb;border-bottom-right-radius:6px;box-shadow:var(--om-shadow-card)}.message-assistant{background:#fff;color:#1a202c;border-bottom-left-radius:6px;border:1px solid #e5e6eb;box-shadow:var(--om-shadow-card)}.markdown-body{white-space:normal;font-size:14px;color:#2d3748}.markdown-body>*:first-child{margin-top:0}.markdown-body>*:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:20px 0 10px;font-weight:600;color:#1a202c;line-height:1.4}.markdown-body h1{font-size:1.4em}.markdown-body h2{font-size:1.25em}.markdown-body h3{font-size:1.1em}.markdown-body p{margin:0 0 10px;line-height:1.8}.markdown-body pre{background:#1e1e2e;color:#cdd6f4;padding:16px;border-radius:10px;overflow-x:auto;margin:12px 0;font-size:13px}.markdown-body code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px}.markdown-body pre code{white-space:pre-wrap;word-break:break-word}.markdown-body :not(pre)>code{background:#605bff14;color:var(--om-primary);padding:2px 6px;border-radius:4px;font-size:.9em}.markdown-body ul,.markdown-body ol{padding-left:22px;margin:10px 0}.markdown-body li{margin-bottom:4px;line-height:1.7}.markdown-body table{border-collapse:collapse;margin:14px 0;width:100%;border-radius:var(--om-radius-md);overflow:hidden;border:1px solid #e2e8f0;font-size:13px}.markdown-body th{background:var(--om-primary-lighter);font-weight:600;color:var(--om-primary);text-align:left}.markdown-body th,.markdown-body td{border:1px solid #e2e8f0;padding:10px 14px}.markdown-body tr:nth-child(2n) td{background:#f8fafe}.markdown-body blockquote{border-left:4px solid var(--om-primary);padding:8px 16px;color:#4a5568;margin:12px 0;background:#605bff0a;border-radius:0 8px 8px 0}.markdown-body hr{border:none;border-top:1px solid #e2e8f0;margin:16px 0}.markdown-body strong{color:#1a202c;font-weight:600}.task-canvas{width:100%;height:100%}.node-card{padding:12px 16px;border-radius:var(--om-radius-md);border:2px solid #e5e7eb;background:#fff;min-width:180px;cursor:pointer;transition:all .2s}.node-card:hover{border-color:var(--om-primary);box-shadow:0 4px 12px #605bff26}.node-card.running{border-color:#f59e0b}.node-card.success{border-color:#10b981}.node-card.failed{border-color:#ef4444}.node-card.review{border-color:#9d9aff}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;padding:24px}.asset-card{border-radius:var(--om-radius-lg);overflow:hidden;border:1px solid #eceef4;transition:all .2s}.asset-card:hover{box-shadow:0 8px 24px #605bff1a;transform:translateY(-2px)}@media (max-width: 768px){.chat-header{padding:12px 16px;flex-wrap:wrap}.chat-messages{padding:16px}.chat-input-area{padding:12px 16px}.message-bubble{max-width:100%}.message-row-assistant>div,.message-row-user>div{max-width:90%}}.ws-console{min-height:100%;display:flex;flex-direction:column;padding:14px 12px 18px;background:radial-gradient(120% 90% at 100% 0%,rgba(124,92,255,.22),transparent 55%),radial-gradient(80% 70% at 0% 100%,rgba(56,189,248,.1),transparent 60%),linear-gradient(160deg,#12132b,#1b1d40);color:#e8eaff;font-family:var(--om-font-family)}.ws-head{padding:2px 2px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.ws-title{display:flex;align-items:center;gap:10px}.ws-id{font-family:JetBrains Mono,SF Mono,Consolas,Liberation Mono,monospace;font-weight:700;font-size:15px;letter-spacing:.5px;color:#fff}.ws-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:3px 10px;border-radius:999px;border:1px solid}.ws-pulse{width:7px;height:7px;border-radius:50%;background:currentColor;margin:0;flex-shrink:0}.ws-pulse.on{animation:ws-pulse 1.4s ease-in-out infinite}.ws-toggle{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:22px;height:48px;border-radius:8px;background:#fff;border:1px solid rgba(96,91,255,.28);box-shadow:0 2px 10px #605bff29;display:flex;align-items:center;justify-content:center;color:#605bff;cursor:pointer;transition:all .2s ease}.ws-toggle:hover{background:#f4f4ff;border-color:#605bff;color:#7a70ff;box-shadow:0 4px 14px #605bff47}.ws-toggle .anticon{font-size:12px}@keyframes ws-pulse{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}50%{box-shadow:0 0 0 6px transparent;opacity:.55}}.ws-desc{margin-top:8px;font-size:12px;color:#9ba1c9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-progress{padding:12px 2px;border-bottom:1px solid rgba(255,255,255,.08)}.ws-progress-meta{display:flex;align-items:center;gap:14px;font-size:12px;color:#9ba1c9}.ws-stat b{font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:13px;margin-left:3px;color:#e8eaff}.ws-stat-total b{color:#c4b5fd}.ws-stat-done b{color:#4ade80}.ws-stat-run b{color:#38bdf8}.ws-stat-err b{color:#f87171}.ws-percent{margin-left:auto;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:12px;color:#a78bfa}.ws-bar{margin-top:9px;height:5px;background:#ffffff14;border-radius:999px;overflow:hidden}.ws-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#605bff,#a78bfa 55%,#38bdf8);box-shadow:0 0 12px #7c5cff8c;transition:width .4s ease}.ws-controls{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0 4px}.ws-controls .ant-btn{background:#ffffff0f!important;border:1px solid rgba(255,255,255,.16)!important;color:#e8eaff!important;border-radius:8px!important;box-shadow:none!important;font-weight:400}.ws-controls .ant-btn:hover{background:#ffffff1f!important;color:#fff!important;border-color:#ffffff4d!important}.ws-controls .ant-btn-primary{background:#605bff!important;border-color:#605bff!important;color:#fff!important;box-shadow:0 2px 10px #7c5cff66!important}.ws-controls .ant-btn-primary:hover{background:#7a70ff!important;border-color:#7a70ff!important}.ws-controls .ant-btn-dangerous{color:#f87171!important;border-color:#f8717180!important;background:#f8717114!important}.ws-controls .ant-btn-dangerous:hover{color:#fff!important;border-color:#f87171!important;background:#f8717133!important}.ws-filters{display:flex;gap:8px;flex-wrap:wrap;padding:6px 0 14px}.ws-filters .ant-input,.ws-filters .ant-input-affix-wrapper,.ws-filters .ant-select-selector{background:#ffffff0f!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:8px!important;box-shadow:none!important}.ws-filters .ant-input,.ws-filters .ant-input-affix-wrapper .ant-input{color:#e8eaff!important}.ws-filters .ant-input::placeholder{color:#6b7296!important}.ws-filters .ant-select-selection-item,.ws-filters .ant-select-selection-placeholder,.ws-filters .ant-select-suffix .anticon{color:#e8eaff!important}.ws-filters .ant-select-arrow,.ws-filters .ant-btn-text{color:#9ba1c9!important}.ws-filters .ant-btn-text:hover{color:#c4b5fd!important;background:#ffffff0f!important}.ws-tree{display:flex;flex-direction:column;gap:6px}.ws-tree .ant-collapse-header{color:#e8eaff!important;align-items:center;padding:0!important}.ws-tree .ant-collapse-arrow{margin-inline-end:6px;display:none!important}.ws-node-toggle{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;color:#9ba1c9;font-size:10px;flex-shrink:0;transition:color .2s}.ws-node-toggle:hover{color:#c4b5fd}.ws-tree .ant-collapse-expand-icon,.ws-tree .ant-collapse-arrow{color:#8a90ba!important}.ws-tree .ant-collapse-content{background:transparent!important;color:#d6daf5!important}.ws-node-card{border:1px solid rgba(255,255,255,.09);background:#ffffff0a;border-radius:10px;padding:9px 12px;transition:all .2s}.ws-node-card:hover{background:#ffffff0f;border-color:#7c5cff66}.ws-node-row{display:flex;align-items:center;gap:8px;width:100%}.ws-rail{width:3px;height:18px;border-radius:999px;flex-shrink:0}.ws-node-name{flex:1;min-width:0;font-weight:500;font-size:13px;color:#e8eaff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.ws-node-name:hover{color:#c4b5fd}.ws-agent{font-size:11px;color:#9ba1c9;flex-shrink:0}.ws-chip{flex-shrink:0;font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid;white-space:nowrap}.ws-node-actions{display:flex;gap:2px;flex-shrink:0}.ws-node-actions .ant-btn-text{color:#9ba1c9!important}.ws-node-actions .ant-btn-text:hover{color:#c4b5fd!important}.ws-sub{display:flex;align-items:center;gap:8px;padding:7px 10px 7px 14px;margin-left:16px;border-left:1px solid rgba(255,255,255,.08);border-radius:8px;background:#0003;margin-top:4px}.ws-sub:hover{background:#0000004d}.ws-sub-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.ws-sub-name{flex:1;min-width:0;font-size:12.5px;color:#d6daf5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-sub-agent{font-size:10.5px;color:#8a90ba;flex-shrink:0}.ws-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#9ba1c9;min-height:220px}.ws-empty .ant-empty-description{color:#9ba1c9!important}@keyframes blink{50%{opacity:0}}
