:root{--header-height: 56px;--panel-width-left: 60px;font-family:PingFang SC,Microsoft YaHei,-apple-system,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";color:var(--color-text);background:var(--color-bg);color-scheme:dark}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{font-size:14px;line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#app{width:100%;height:100%}.ant-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:500;letter-spacing:.01em;border-radius:var(--radius-md)!important;transition:all var(--transition-base)}.ant-btn-primary{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:var(--color-text-on-primary)!important;font-weight:600;box-shadow:0 0 0 0 var(--color-primary-glow)}.ant-btn-primary:hover,.ant-btn-primary:focus{background:var(--color-primary-hover)!important;border-color:var(--color-primary-hover)!important;box-shadow:var(--shadow-glow-xs)!important;transform:translateY(-1px)}.ant-btn-primary:active{background:var(--color-primary-active)!important;border-color:var(--color-primary-active)!important;transform:translateY(0)}.ant-btn-default{border-color:var(--color-border-secondary)!important;color:var(--color-text)!important;background:transparent!important}.ant-btn-default:hover,.ant-btn-default:focus{border-color:var(--color-primary)!important;color:var(--color-primary)!important;background:var(--color-primary-light)!important}.ant-btn-text{color:var(--color-text-secondary)!important}.ant-btn-text:hover{color:var(--color-text)!important;background:var(--color-bg-tertiary)!important}.ant-btn-link{color:var(--color-primary)!important}.ant-btn-link:hover{color:var(--color-primary-hover)!important}.ant-input,.ant-input-number,.ant-input-affix-wrapper,.ant-textarea{background:var(--color-bg-tertiary)!important;border-color:var(--color-border-secondary)!important;border-radius:var(--radius-md)!important;color:var(--color-text)!important;transition:all var(--transition-base)}.ant-input::placeholder,.ant-input-number::placeholder,.ant-input-affix-wrapper::placeholder,.ant-textarea::placeholder{color:var(--color-text-tertiary)!important}.ant-input:hover,.ant-input-number:hover,.ant-input-affix-wrapper:hover,.ant-textarea:hover{border-color:#ffffff2e!important}.ant-input:focus,.ant-input-number:focus,.ant-input-affix-wrapper:focus,.ant-textarea:focus,.ant-input.ant-input-focused,.ant-input-number.ant-input-focused,.ant-input-affix-wrapper.ant-input-focused,.ant-textarea.ant-input-focused,.ant-input.ant-input-affix-wrapper-focused,.ant-input-number.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper.ant-input-affix-wrapper-focused,.ant-textarea.ant-input-affix-wrapper-focused{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px var(--color-primary-light)!important;background:var(--color-bg-elevated)!important}.ant-select-selector{background:var(--color-bg-tertiary)!important;border-color:var(--color-border-secondary)!important;border-radius:var(--radius-md)!important;transition:all var(--transition-base)}.ant-select-selector:hover{border-color:#ffffff2e!important}.ant-select-focused .ant-select-selector{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px var(--color-primary-light)!important}.ant-select-dropdown{background:var(--color-bg-elevated)!important;border:1px solid var(--color-border-secondary)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-xl)!important;padding:4px!important}.ant-select-item{border-radius:var(--radius-sm)!important;color:var(--color-text-secondary)!important;font-size:13px!important;transition:all var(--transition-fast)}.ant-select-item-option-active,.ant-select-item-option:hover{background:var(--color-bg-tertiary)!important;color:var(--color-text)!important}.ant-select-item-option-selected{background:var(--color-primary-light)!important;color:var(--color-primary)!important;font-weight:500!important}.ant-modal-content{background:var(--color-bg-secondary)!important;border:1px solid var(--color-border-secondary)!important;border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-xl)!important;overflow:hidden}.ant-modal-header{background:transparent!important;border-bottom:1px solid var(--color-border)!important;padding:20px 24px 16px!important}.ant-modal-title{font-size:16px!important;font-weight:600!important;color:var(--color-text)!important}.ant-modal-body{padding:20px 24px!important}.ant-modal-footer{border-top:1px solid var(--color-border)!important;padding:14px 24px!important}.ant-modal-close{color:var(--color-text-tertiary)!important}.ant-modal-close:hover{color:var(--color-text)!important;background:var(--color-bg-tertiary)!important}.ant-dropdown-menu{background:var(--color-bg-elevated)!important;border:1px solid var(--color-border-secondary)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-xl)!important;padding:4px!important}.ant-dropdown-menu-item{border-radius:var(--radius-sm)!important;color:var(--color-text-secondary)!important;font-size:13px!important;transition:all var(--transition-fast)}.ant-dropdown-menu-item:hover{background:var(--color-bg-tertiary)!important;color:var(--color-text)!important}.ant-dropdown-menu-item-danger{color:var(--color-error)!important}.ant-dropdown-menu-item-danger:hover{background:#ef44441a!important}.ant-dropdown-menu-item-divider{background:var(--color-border)!important;margin:4px 0!important}.ant-tooltip-inner{background:var(--color-bg-elevated)!important;border:1px solid var(--color-border-secondary)!important;border-radius:var(--radius-sm)!important;font-size:12px!important;padding:5px 10px!important;box-shadow:var(--shadow-md)!important}.ant-tooltip-arrow:before{background:var(--color-bg-elevated)!important}.ant-message-notice-content{background:var(--color-bg-elevated)!important;border:1px solid var(--color-border-secondary)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important;color:var(--color-text)!important;font-size:13px!important}.ant-progress-bg{background:var(--color-primary)!important}.ant-progress-inner{background:var(--color-bg-tertiary)!important}.ant-divider{border-color:var(--color-border)!important}.ant-tag{border-radius:var(--radius-xs)!important;font-size:11px!important;font-weight:500!important;padding:1px 7px!important}.ant-spin-dot-item{background:var(--color-primary)!important}.ant-empty-description{color:var(--color-text-tertiary)!important}.ant-tabs-tab{transition:color var(--transition-base)!important}.ant-tabs-tab:hover{color:var(--color-text-secondary)!important}.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--color-text)!important;font-weight:600!important}.ant-tabs-ink-bar{background:var(--color-primary)!important;border-radius:var(--radius-full)!important}.ant-tabs-nav:before{border-bottom-color:var(--color-border)!important}.ant-badge-count{box-shadow:0 0 0 2px var(--color-bg-secondary)!important}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}.vue-flow{background:var(--color-canvas-bg)}.vue-flow__background{background-color:var(--color-canvas-bg)}.vue-flow__controls{left:20px!important;bottom:20px!important;display:flex!important;flex-direction:column;gap:4px;padding:6px!important;background:var(--color-bg-secondary)!important;border:1px solid var(--color-border-secondary)!important;border-radius:14px!important;box-shadow:var(--shadow-lg)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden}.vue-flow__controls-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent!important;border:none!important;border-radius:10px;color:var(--color-text-secondary)!important;transition:all var(--transition-fast)}.vue-flow__controls-button:hover{background:var(--color-bg-tertiary)!important;color:var(--color-primary)!important}.vue-flow__controls-button svg{width:16px;height:16px;stroke:currentColor!important;fill:none!important;stroke-width:1.8;overflow:visible}.vue-flow__controls-button path,.vue-flow__controls-button line,.vue-flow__controls-button polyline,.vue-flow__controls-button rect,.vue-flow__controls-button circle{stroke:currentColor!important}.vue-flow__controls-button:last-child{margin-bottom:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-base)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all var(--transition-base)}.slide-up-enter-from{opacity:0;transform:translateY(16px)}.slide-up-leave-to{opacity:0;transform:translateY(-8px)}
