:root{--bg-primary: #09090b;--bg-secondary: #0f0f12;--bg-elevated: #18181b;--bg-surface: #1e1e22;--bg-hover: #27272a;--border-default: #2e2e33;--border-strong: #3f3f46;--text-primary: #e4e4e7;--text-secondary: #a1a1aa;--text-tertiary: #52525b;--accent: #6366f1;--accent-subtle: rgba(99, 102, 241, .15);--success: #4ade80;--error: #fb7185;--warning: #fbbf24;--info: #38bdf8;--node-trigger: #4ade80;--node-control: #818cf8;--node-logic: #fbbf24;--node-data: #38bdf8;--node-integration: #a78bfa;--node-ai: #f472b6;--node-utility: #94a3b8;--node-end: #fb7185;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-mono: 12px;--font-weight-regular: 400;--font-weight-medium: 500;--font-mono: "JetBrains Mono", "Fira Code", monospace;--space-xxs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--duration-fast: .1s;--duration-normal: .15s;--duration-slow: .25s;--easing: cubic-bezier(.16, 1, .3, 1);--ui-bg-primary: var(--bg-secondary);--ui-bg-secondary: var(--bg-elevated);--ui-bg-surface: var(--bg-surface);--ui-text-primary: var(--text-primary);--ui-text-secondary: var(--text-secondary);--ui-text-muted: var(--text-tertiary);--ui-border-default: var(--border-default);--ui-border-accent: var(--accent);--ui-accent: var(--accent);--ui-accent-hover: #818cf8;--ui-success: var(--success);--ui-warning: var(--warning);--ui-error: var(--error);--ui-radius-sm: var(--radius-sm);--ui-radius-control: var(--radius-md);--ui-radius-md: var(--radius-lg);--ui-radius-lg: var(--radius-xl)}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:0;border:none;background:transparent;width:auto;font-size:inherit;color:inherit;text-align:inherit;border-radius:0;box-shadow:none}.warning-trigger [data-handleid=trigger-in],.warning-trigger [data-handleid^=trigger-]{background:#f59e0b!important}.unreachable-node{opacity:.6}.error-node{animation:error-pulse 2s ease-in-out infinite}@keyframes error-pulse{0%,to{outline-color:#f59e0b}50%{outline-color:#f59e0b88}}@keyframes port-reject-flash{0%{background:#ef4444;box-shadow:0 0 8px #ef4444}to{background:inherit;box-shadow:none}}.port-reject-flash{animation:port-reject-flash .5s ease-out}.json-warning-line{background:#f59e0b14!important;border-left:3px solid #f59e0b!important}.json-warning-glyph{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ctext x='2' y='13' font-size='12'%3E%E2%9A%A0%3C/text%3E%3C/svg%3E") center center / 14px no-repeat}.react-flow__handle{transition:background .15s,border-color .15s}.react-flow__handle:hover{background:var(--handle-color)!important}.react-flow__handle[data-handleid^=trigger-]{--handle-color: #888}.react-flow__handle[data-handleid^=data-]{--handle-color: #ffb86c}.incompatible-flash-handle{background:#ef4444!important;border-color:#ef4444!important;animation:flash-pulse .5s ease-out}@keyframes flash-pulse{0%{transform:scale(1.5)}to{transform:scale(1)}}.node-executing{outline:2px solid #eab308;outline-offset:2px;animation:exec-pulse 1s infinite}.node-success{outline:2px solid #22c55e;outline-offset:2px}.node-error{outline:2px solid #ef4444;outline-offset:2px}.node-skipped{outline:2px solid #555;outline-offset:2px;opacity:.6}@keyframes exec-pulse{0%,to{outline-color:#eab308;box-shadow:0 0 8px #eab30866}50%{outline-color:#eab30888;box-shadow:0 0 2px #eab30833}}.node-palette{background:var(--ui-bg-secondary, #1e1e1e);border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;height:100%;width:0;overflow:hidden;transition:width .25s ease;flex-shrink:0}.node-palette--open{width:280px}.node-palette__body{flex:1;overflow-y:auto;padding:0 0 8px;display:flex;flex-direction:column;gap:8px}.node-palette__generate-fallback{margin-top:12px}@keyframes palette-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.palette-shimmer{background:linear-gradient(90deg,var(--bg-surface) 0%,rgba(255,255,255,.04) 50%,var(--bg-surface) 100%);background-size:200% 100%;animation:palette-shimmer 1.5s ease-in-out infinite;border-radius:4px}@media(prefers-reduced-motion:reduce){.palette-shimmer{animation:none}}.ndp{container-type:inline-size;container-name:ndp;height:100%;background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden}.ndp--centered{align-items:center;justify-content:center}.ndp__scroll{flex:1;overflow-y:auto;overflow-x:hidden}.ndp-header{position:relative;padding:14px 16px;border-bottom:1px solid var(--ui-border-default);background:var(--ui-bg-secondary)}.ndp-header__actions{position:absolute;top:8px;right:8px;display:flex;gap:2px;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}.ndp-header__actions--visible{opacity:1;visibility:visible}.ndp-header__top{display:flex;align-items:center;justify-content:space-between}.ndp-header__name{font-size:15px;font-weight:600;color:var(--ui-text-primary);cursor:text;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndp-header__name-input{font-size:15px;font-weight:600;color:var(--ui-text-primary);background:transparent;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-sm);padding:2px 4px;outline:none;width:100%}.ndp-header__name-input:focus{border-color:var(--ui-accent)}.ndp-header__meta{display:flex;align-items:center;gap:6px;margin-top:2px}.ndp-header__type{font-size:12px;color:var(--ui-text-muted);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndp-header__badge{font-size:10px;font-weight:500;padding:2px 7px;border-radius:10px;letter-spacing:.02em;flex-shrink:0}.ndp-more-btn{width:24px;height:24px;border-radius:var(--ui-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--ui-text-muted);font-size:16px;cursor:pointer;background:none;border:none;transition:color .15s,background .15s;padding:0;flex-shrink:0}.ndp-more-btn:hover{color:var(--ui-text-primary);background:#ffffff0f}.ndp-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--ui-bg-secondary);border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-md);overflow:hidden;z-index:100;min-width:160px;box-shadow:0 8px 24px #00000080}.ndp-menu__item{padding:8px 12px;font-size:14px;color:var(--ui-text-secondary);cursor:pointer;display:flex;align-items:center;gap:8px;background:none;border:none;width:100%;text-align:left;font-family:inherit;transition:background .15s}.ndp-menu__item:hover{background:#ffffff0a}.ndp-menu__item--danger{color:var(--ui-error)}.ndp-menu__divider{height:1px;background:var(--ui-border-default)}.ndp-section{border-bottom:1px solid rgba(255,255,255,.05)}.ndp-section__header{display:flex;align-items:center;gap:4px;padding:8px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.ndp-section__caret{display:inline-flex;color:var(--ui-text-muted);transition:transform .15s ease;flex-shrink:0}.ndp-section__caret--closed{transform:rotate(-90deg)}.ndp-section__label{font-size:12px;font-weight:400;color:var(--text-tertiary)}.ndp-section__label--spaced{margin-top:8px}.ndp-section__count{font-size:11px;color:var(--text-tertiary);margin-left:2px}.ndp-section__collapse{display:grid;grid-template-rows:1fr;transition:grid-template-rows .15s ease}.ndp-section__collapse--closed{grid-template-rows:0fr}.ndp-section__collapse-inner{overflow:hidden}.ndp-section__body{padding:0 16px 14px;display:flex;flex-direction:column;gap:8px}.ndp-conn-summary{padding:0 16px 10px 26px;display:flex;flex-wrap:wrap;gap:4px}.ndp-conn-badge{font-size:12px;color:var(--ui-text-secondary);background:#ffffff0a;padding:2px 6px;border-radius:var(--ui-radius-sm)}.ndp-conn-row{display:flex;align-items:center;height:34px;padding:2px 8px;background:#ffffff08;border-radius:var(--ui-radius-sm);gap:8px}.ndp-conn-row__name{font-size:13px;color:var(--ui-text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndp-conn-row__delete{display:none;background:none;border:none;color:var(--ui-text-muted);cursor:pointer;padding:0;line-height:1;flex-shrink:0;transition:color .15s}.ndp-conn-row:hover .ndp-conn-row__delete{display:flex}.ndp-conn-row__delete:hover{color:var(--ui-error)}.ndp-conn-empty{display:flex;align-items:center;height:32px;padding:0 8px;background:#ffffff0a;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-sm);font-size:13px;color:var(--ui-text-muted);font-style:italic}.ndp-field{display:flex;align-items:center;gap:8px}.ndp-field--stacked{flex-direction:column;align-items:stretch;gap:4px}.ndp-field__label{font-size:13px;color:var(--ui-text-secondary);min-width:55px;flex-shrink:0}.ndp-field--stacked .ndp-field__label{min-width:unset}.ndp-field__hint{font-size:11px;color:var(--ui-text-muted);font-style:italic;margin-left:4px}.ndp-field__content{flex:1;min-width:0}.ndp-input{width:100%;padding:6px 10px;font-size:13px;color:var(--ui-text-primary);background:#ffffff0a;border:1px solid transparent;border-radius:var(--ui-radius-sm);outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.ndp-input:hover{border-color:#ffffff1a}.ndp-input:focus{border-color:#6366f166;box-shadow:0 0 0 2px #6366f11f}.ndp-input::placeholder{color:var(--ui-text-muted)}.ndp-input--mono{font-family:SF Mono,Fira Code,monospace}.ndp-textarea{width:100%;padding:8px 10px;font-size:13px;color:var(--ui-text-primary);background:#ffffff0a;border:1px solid transparent;border-radius:var(--ui-radius-sm);outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s;resize:vertical;min-height:40px;box-sizing:border-box;display:block}.ndp-textarea:hover{border-color:#ffffff1a}.ndp-textarea:focus{border-color:#6366f166;box-shadow:0 0 0 2px #6366f11f}.ndp-textarea::placeholder{color:var(--ui-text-muted)}.ndp-textarea--mono{font-family:SF Mono,Fira Code,monospace}.ndp-select{width:100%;padding:6px 10px;font-size:13px;color:var(--ui-text-primary);background:#ffffff0a;border:1px solid transparent;border-radius:var(--ui-radius-sm);outline:none;font-family:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box}.ndp-select:hover{border-color:#ffffff1a}.ndp-select:focus{border-color:#6366f166;box-shadow:0 0 0 2px #6366f11f}.ndp-toggle{display:flex;gap:2px;background:#ffffff0a;border-radius:var(--ui-radius-sm);padding:2px}.ndp-toggle__btn{flex:1;text-align:center;padding:6px 10px;font-size:13px;border:none;border-radius:3px;cursor:pointer;font-family:inherit;font-weight:500;transition:background .15s,color .15s;background:transparent;color:var(--ui-text-secondary)}.ndp-toggle__btn:hover{color:var(--ui-text-primary)}.ndp-toggle__btn--active{background:var(--ui-accent);color:var(--text-primary)}.ndp-output-row{display:flex;align-items:center;height:32px;padding:0 8px;background:#ffffff08;border-radius:var(--ui-radius-sm);gap:8px}.ndp-output-row__name{font-size:13px;font-weight:500;color:var(--ui-success);cursor:text;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndp-output-row__name-input{font-size:13px;font-weight:500;color:var(--ui-success);background:transparent;border:1px solid var(--ui-border-default);border-radius:3px;padding:2px 4px;outline:none;width:80px}.ndp-output-row__type{font-size:11px;padding:1px 6px;border-radius:3px;flex-shrink:0}.ndp-footer{padding:10px 16px;border-top:1px solid var(--ui-border-default)}.ndp-footer__btn{width:100%;background:#ffffff0a;border:1px solid var(--ui-border-default);color:var(--ui-text-secondary);font-size:13px;padding:6px 0;border-radius:var(--ui-radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:border-color .15s;font-family:inherit}.ndp-footer__btn:hover{border-color:#ffffff1a}.ndp-data-refs{margin-top:8px;padding:8px;background:#ffb86c0f;border-radius:var(--ui-radius-control);border-left:3px solid var(--warning)}.ndp-data-refs__title{font-size:11px;color:var(--ui-text-muted);font-weight:400;margin-bottom:6px}.ndp-data-refs__item{font-size:13px;font-family:monospace;color:var(--warning);padding:4px 6px;background:#ffb86c14;border-radius:var(--ui-radius-sm);margin-bottom:4px;display:flex;align-items:center;gap:6px;overflow:hidden}.ndp-data-refs__source{color:var(--ui-text-secondary);font-size:12px;flex-shrink:0}.ndp-data-refs__ref{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndp-body{display:flex;flex-direction:column;gap:10px}.ndp-card{background:#ffffff0a;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-md);padding:10px;display:flex;flex-direction:column;gap:8px}.ndp-card__header{display:flex;justify-content:space-between;align-items:center}.ndp-card__title{font-size:13px;font-weight:600;color:var(--ui-text-secondary)}.ndp-remove-btn{background:transparent;border:none;color:var(--ui-text-muted);font-size:18px;line-height:1;cursor:pointer;padding:0 4px;opacity:.5;transition:opacity .15s,color .15s}.ndp-remove-btn:hover{opacity:1;color:var(--ui-error)}.ndp-add-btn{background:#ffffff0a;border:1px dashed var(--ui-border-default);border-radius:var(--ui-radius-sm);color:var(--ui-text-secondary);font-size:13px;padding:6px 12px;cursor:pointer;font-family:inherit;transition:border-color .15s}.ndp-add-btn:hover{border-color:#ffffff26}.ndp-add-btn:disabled{color:var(--ui-text-muted);cursor:not-allowed}.ndp-kv-row{display:flex;align-items:center;gap:4px}.ndp-error{font-size:12px;color:var(--ui-error);font-weight:600}.ndp-warning{font-size:12px;color:var(--warning);font-style:italic}.ndp-hint-text{font-size:12px;color:var(--ui-text-muted);font-style:italic}.ndp-case-row{display:flex;align-items:center;gap:8px;background:#ffffff0a;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-md);padding:6px 10px}.ndp-case-row__key{font-size:14px;font-weight:600;color:var(--warning);min-width:50px;flex-shrink:0}.ndp-case-row__arrow{font-size:13px;color:var(--ui-text-muted);flex-shrink:0}.ndp-method-group{display:inline-flex;background:#ffffff0a;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-sm);overflow:hidden}.ndp-method-btn{background:transparent;border:none;border-right:1px solid var(--ui-border-default);color:var(--ui-text-secondary);font-size:13px;font-weight:500;padding:5px 10px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.ndp-method-btn:last-child{border-right:none}.ndp-method-btn:hover{color:var(--ui-text-primary)}.ndp-method-btn--active{font-weight:700;color:var(--ui-bg-primary)}.ndp-used-data-item{display:flex;align-items:center;justify-content:space-between;background:#ffffff0a;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-sm);padding:5px 10px}.ndp-used-data-item__name{font-size:14px;color:var(--ui-text-primary)}.ndp-array-ref-row{display:flex;align-items:center;gap:8px}.ndp-array-ref-row__index{font-size:13px;font-weight:600;color:var(--ui-text-muted);min-width:24px}.ndp-body__grid{display:grid;grid-template-columns:1fr;gap:8px}.ndp-event-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#7c3aed1a;border:1px solid rgba(124,58,237,.25);border-radius:var(--ui-radius-sm);font-size:13px;font-family:monospace;color:var(--node-integration);cursor:pointer;transition:background .15s}.ndp-event-chip:hover{background:#7c3aed33}.ndp-computed{font-size:13px;font-weight:600;font-family:monospace;padding:4px 8px;background:#ffffff0a;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-sm)}.ndp-type-toggle{display:flex;gap:8px;flex-wrap:wrap}.ndp-type-toggle__option{flex:1;min-width:120px;background:#ffffff0a;border:2px solid var(--ui-border-default);border-radius:var(--ui-radius-md);padding:10px;cursor:pointer;transition:all .15s}.ndp-type-toggle__option--wide{min-width:140px}.ndp-type-toggle__option--active{background:#6366f114;border-color:var(--ui-accent)}.ndp-type-toggle__label{font-size:15px;font-weight:600;color:var(--ui-text-primary)}.ndp-type-toggle__option--active .ndp-type-toggle__label{color:var(--ui-accent-hover)}.ndp-type-toggle__subtitle{font-size:12px;color:var(--ui-text-muted);margin-top:3px}.ndp-formula-preview{font-size:13px;font-family:monospace;padding:6px 8px;background:#ffffff0a;border-radius:var(--ui-radius-sm)}.ndp-ds-trigger{background:#ffffff0a;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-sm);padding:5px 8px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .15s}.ndp-ds-trigger--disabled{background:var(--ui-bg-secondary);cursor:not-allowed;opacity:.5}.ndp-ds-trigger--selected{background:#6366f114;border-color:var(--ui-accent)}.ndp-ds-trigger__text{font-size:13px;color:var(--ui-text-muted)}.ndp-ds-trigger--selected .ndp-ds-trigger__text{color:var(--ui-accent-hover)}.ndp-ds-trigger__actions{display:flex;gap:4px;align-items:center}.ndp-ds-popup{background:var(--ui-bg-secondary);border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-md);overflow:hidden;box-shadow:0 8px 24px #00000080;max-height:240px;display:flex;flex-direction:column}.ndp-ds-popup__search{padding:6px}.ndp-ds-popup__search-wrap{position:relative}.ndp-ds-popup__search-icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--ui-text-muted)}.ndp-ds-popup__list{overflow-y:auto;flex:1}.ndp-ds-popup__empty{padding:12px;font-size:13px;color:var(--ui-text-muted);text-align:center}.ndp-ds-item{padding:6px 10px;font-size:13px;color:var(--ui-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ui-border-default);transition:background .15s}.ndp-ds-item:hover{background:#ffffff0a}.ndp-ds-item--selected{color:var(--ui-accent-hover);background:#6366f114}.ndp-ds-item--selected:hover{background:#6366f114}.ndp-ds-item__info{display:flex;align-items:center;gap:6px}.ndp-ds-item__details{display:flex;flex-direction:column;gap:1px}.ndp-ds-item__sub{font-size:12px;color:var(--ui-text-muted)}.ndp-info-row{display:flex;justify-content:space-between;align-items:center}.ndp-info-row__label{font-size:13px;color:var(--ui-text-muted)}.ndp-info-row__value{font-size:13px;color:var(--ui-text-primary);font-weight:600}.ndp-config-panel{padding-top:8px;border-top:1px solid var(--ui-border-default);display:flex;flex-direction:column;gap:8px}.ndp-slider-row{display:flex;align-items:center;gap:8px}.ndp-slider-row__input{flex:1;accent-color:var(--ui-accent)}.ndp-slider-row__value{font-size:13px;color:var(--ui-text-secondary);min-width:24px}.ndp-context-chip{display:flex;align-items:center;gap:4px;background:#6366f114;border:1px solid rgba(99,102,241,.25);border-radius:var(--ui-radius-sm);padding:2px 6px;font-size:13px;color:var(--ui-accent-hover)}.ndp-chip-list{display:flex;flex-wrap:wrap;gap:4px}.ndp-var-chip{font-size:12px;padding:2px 6px;border-radius:10px;background:#6366f11a;color:var(--ui-accent-hover);border:1px solid rgba(99,102,241,.25);font-family:monospace}.ndp-msg-preview__sender{font-size:12px;color:var(--ui-accent);font-weight:600}.ndp-msg-preview__text{font-size:13px;color:var(--ui-text-primary);line-height:1.4;word-break:break-word}.ndp-conn-wrapper{position:relative;flex:1}.ndp-conn-trigger{display:flex;align-items:center;height:30px;padding:0 12px;background:var(--ui-bg-primary);border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-md);box-sizing:border-box;cursor:pointer;font-size:13px;color:var(--ui-text-primary);transition:border-color .15s}.ndp-conn-trigger:hover{border-color:#ffffff26}.ndp-conn-trigger--empty{color:var(--ui-text-muted);font-style:italic}.ndp-conn-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--ui-bg-secondary);border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-md);box-shadow:0 4px 16px #0006;z-index:1000;overflow:hidden}.ndp-conn-dropdown__search-wrap{padding:8px;border-bottom:1px solid var(--ui-border-default)}.ndp-conn-dropdown__search-inner{position:relative}.ndp-conn-dropdown__search-icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--ui-text-muted);pointer-events:none}.ndp-conn-dropdown__search{width:100%;padding:8px 12px 8px 30px;background:var(--ui-bg-primary);border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-sm);color:var(--ui-text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s;box-sizing:border-box}.ndp-conn-dropdown__search:focus{border-color:var(--ui-accent)}.ndp-conn-dropdown__list{max-height:200px;overflow-y:auto;padding:4px}.ndp-conn-option{padding:10px 12px;border-radius:var(--ui-radius-sm);cursor:pointer;font-size:13px;color:var(--ui-text-primary);transition:background .15s}.ndp-conn-option:hover{background:#ffffff0a}.ndp-conn-option--current{padding:10px 12px;background:#7c3aed1f;border-radius:var(--ui-radius-sm);font-size:13px;margin-bottom:4px;display:flex;align-items:center;gap:8px}.ndp-conn-option--current__label{flex:1;display:flex;align-items:center;gap:8px;color:var(--ui-accent);cursor:pointer}.ndp-conn-option--current__disconnect{background:transparent;border:none;cursor:pointer;color:var(--ui-text-muted);padding:2px 4px;transition:color .15s;display:flex;align-items:center}.ndp-conn-option--current__disconnect:hover{color:var(--ui-error)}.ndp-conn-dropdown__empty{padding:16px;text-align:center;font-size:13px;color:var(--ui-text-muted);font-style:italic}.ndp-storage-badge{font-size:11px;font-weight:600;color:var(--text-primary);background:var(--warning);padding:2px 8px;border-radius:3px;display:inline-block}.ndp-storage-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.ndp-storage-row__info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.ndp-storage-row__icon{font-size:14px;color:var(--warning);flex-shrink:0}.ndp-storage-row__name{font-size:15px;font-weight:600;color:var(--ui-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndp-change-btn{height:30px;padding:0 12px;background:#ffffff0a;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-sm);color:var(--ui-text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s;font-family:inherit;flex-shrink:0}.ndp-change-btn:hover{border-color:#7c3aed4d}.ndp-browse-btn{margin-top:8px;width:100%;height:34px;background:#ffb86c14;border:1px solid rgba(255,184,108,.25);border-radius:var(--ui-radius-sm);color:var(--warning);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center;gap:6px;font-family:inherit}.ndp-browse-btn:hover{background:#ffb86c2e}.ndp-type-badge{font-size:11px;font-weight:600;padding:2px 5px;border-radius:3px}.ndp-mode-desc{margin-top:8px;font-size:13px;color:var(--ui-text-secondary);line-height:1.4}.ndp-mode-toggle{display:flex;gap:6px}.ndp-mode-toggle__btn{flex:1;height:38px;border:2px solid var(--ui-border-default);border-radius:var(--ui-radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,color .15s;display:flex;align-items:center;justify-content:center;gap:4px;background:transparent;color:var(--ui-text-secondary);font-family:inherit}.ndp-mode-toggle__btn:hover{color:var(--ui-text-primary)}.ndp-mode-toggle__btn--read{background:var(--success);border-color:var(--success);color:var(--bg-primary)}.ndp-mode-toggle__btn--write{background:var(--info, #38bdf8);border-color:var(--info, #38bdf8);color:var(--bg-primary)}.ndp-mode-toggle__btn--delete{background:var(--error);border-color:var(--error);color:var(--bg-primary)}.ndp-current-value{font-size:13px;color:var(--ui-text-secondary)}@container ndp (max-width: 359px){.ndp-field{flex-direction:column;align-items:stretch;gap:2px}.ndp-field__label{min-width:unset}.ndp-section__body{padding:0 12px 10px}.ndp-header{padding:10px 12px}.ndp-header__name{font-size:14px}.ndp-section__header{padding:8px 12px}.ndp-conn-summary{padding:0 12px 10px 22px}.ndp-footer{padding:10px 12px}.ndp-input,.ndp-textarea,.ndp-select,.ndp-toggle__btn,.ndp-field__label{font-size:12px}}@container ndp (min-width: 480px){.ndp-body__grid{grid-template-columns:1fr 1fr}.ndp-body__grid .ndp-field--stacked{grid-column:1 / -1}}.ai-chat-panel{--chat-bg: #0d0d14;--chat-bg-secondary: #111118;--chat-bg-surface: #1a1a2e;--chat-bg-surface-hover: #22223a;--chat-bg-elevated: #1e1e34;--chat-text-primary: #e0e0e0;--chat-text-secondary: #999;--chat-text-muted: #666;--chat-accent: #6c63ff;--chat-accent-subtle: rgba(108, 99, 255, .08);--chat-accent-border: rgba(108, 99, 255, .2);--chat-accent-text: #8b83ff;--chat-success: #22c55e;--chat-error: #f7768e;--chat-tool-accept: #9ece6a;--chat-tool-reject: #f7768e;--chat-stop: #ef4444;--chat-border: rgba(255, 255, 255, .06);--chat-border-strong: rgba(255, 255, 255, .1);--chat-gap: 14px;--chat-bubble-px: 16px;--chat-bubble-py: 12px;--chat-bubble-radius: 18px;--chat-bubble-tail: 4px;--chat-header-h: 48px;--chat-toolbar-py: 10px;--chat-font-msg: 13.5px;--chat-line-height: 1.6;--chat-font-small: 11px;--chat-font-label: 12px;--chat-shadow-bubble: 0 2px 12px rgba(0, 0, 0, .25);--chat-shadow-accent: 0 2px 8px rgba(108, 99, 255, .3);--chat-shadow-dropdown: 0 4px 16px rgba(0, 0, 0, .5);--chat-transition-fast: .15s ease;--chat-transition-normal: .2s ease}@keyframes chatSlideInLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes chatSlideInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes chatCursorPulse{0%,to{opacity:1;color:var(--chat-accent)}50%{opacity:.4;color:var(--chat-accent-text)}}@keyframes chatDotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}.ai-chat-panel{display:flex;flex-direction:column;height:100%;background:var(--chat-bg);color:var(--chat-text-primary);border-left:1px solid var(--chat-border)}.chat-header__container{position:relative}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--chat-border);background:var(--chat-bg-secondary);min-height:var(--chat-header-h)}.chat-header__title-row{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.chat-header__title{color:var(--chat-text-primary);font-weight:600;font-size:14px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header__switcher-btn{display:inline-flex;align-items:center;gap:6px;background:var(--chat-accent-subtle);border:1px solid var(--chat-accent-border);border-radius:8px;color:var(--chat-accent-text);font-size:var(--chat-font-small);font-weight:500;padding:5px 12px;cursor:pointer;white-space:nowrap;transition:background var(--chat-transition-fast),border-color var(--chat-transition-fast)}.chat-header__switcher-btn:hover{background:#6c63ff26;border-color:#6c63ff59}.chat-header__actions{display:flex;gap:8px;align-items:center}.chat-header__icon-btn{width:30px;height:30px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;color:var(--chat-text-secondary);transition:background var(--chat-transition-fast)}.chat-header__icon-btn:hover{background:#ffffff14}.chat-header__new-btn{height:30px;background:linear-gradient(135deg,#6c63ff,#5a52e0);color:#fff;border:none;border-radius:8px;padding:0 14px;font-size:var(--chat-font-small);font-weight:500;cursor:pointer;white-space:nowrap;box-shadow:var(--chat-shadow-accent);transition:filter var(--chat-transition-fast);display:flex;align-items:center}.chat-header__new-btn:hover{filter:brightness(1.1)}.chat-header__dropdown{position:absolute;top:100%;left:0;right:0;background:var(--chat-bg-surface);border:1px solid var(--chat-border-strong);border-radius:8px;margin-top:4px;z-index:100;max-height:240px;overflow-y:auto;box-shadow:var(--chat-shadow-dropdown)}.chat-header__dropdown-item{padding:8px 14px;color:var(--chat-text-primary);font-size:13px;cursor:pointer;border-bottom:1px solid var(--chat-border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--chat-transition-fast)}.chat-header__dropdown-item:hover{background:var(--chat-bg-surface-hover)}.chat-header__dropdown-item:last-child{border-bottom:none}.chat-message-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:var(--chat-gap)}.chat-message-list--empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--chat-text-muted);font-size:14px;font-style:italic}.chat-user-msg{display:flex;justify-content:flex-end;padding:4px 0;animation:chatSlideInRight .3s ease-out}.chat-user-msg__bubble{background:linear-gradient(135deg,#6c63ff,#5a52e0);color:#fff;border-radius:var(--chat-bubble-radius) var(--chat-bubble-radius) var(--chat-bubble-tail) var(--chat-bubble-radius);padding:var(--chat-bubble-py) var(--chat-bubble-px);max-width:80%;font-size:var(--chat-font-msg);line-height:var(--chat-line-height);word-break:break-word;box-shadow:var(--chat-shadow-accent);transition:box-shadow var(--chat-transition-normal)}.chat-user-msg__bubble:hover{box-shadow:0 4px 16px #6c63ff59}.chat-user-msg__attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chat-user-msg__attachment{display:flex;align-items:center;gap:4px;background:#ffffff1f;border-radius:4px;padding:3px 8px;font-size:var(--chat-font-small);color:#ffffffb3}.chat-assistant-msg{display:flex;justify-content:flex-start;padding:4px 0;animation:chatSlideInLeft .3s ease-out}.chat-assistant-msg__bubble{background:linear-gradient(135deg,#1a1a2e,#1e1e34);color:var(--chat-text-primary);border:1px solid var(--chat-border);border-radius:var(--chat-bubble-radius) var(--chat-bubble-radius) var(--chat-bubble-radius) var(--chat-bubble-tail);padding:var(--chat-bubble-py) var(--chat-bubble-px);max-width:85%;font-size:var(--chat-font-msg);line-height:var(--chat-line-height);word-break:break-word;box-shadow:var(--chat-shadow-bubble);transition:box-shadow var(--chat-transition-normal)}.chat-assistant-msg__bubble:hover{box-shadow:0 4px 16px #00000059}.chat-assistant-msg__markdown{overflow:hidden}.chat-assistant-msg__cursor{display:inline-block;color:var(--chat-accent);animation:chatCursorPulse 1s ease-in-out infinite;margin-left:2px}.chat-thinking{margin-bottom:8px;border-radius:12px;border:1px solid #3a2a5e;background:#12102a;overflow:hidden}.chat-thinking__toggle{width:100%;display:flex;align-items:center;gap:8px;padding:6px 10px;background:transparent;border:none;cursor:pointer;color:#9080d0;font-size:var(--chat-font-label);text-align:left;transition:background var(--chat-transition-fast)}.chat-thinking__toggle:hover{background:#9080d014}.chat-thinking__icon{font-size:14px}.chat-thinking__title{font-weight:600}.chat-thinking__chevron{margin-left:auto;opacity:.6}.chat-thinking__dots{display:inline-flex;gap:3px;margin-left:auto}.chat-thinking__dot{width:5px;height:5px;border-radius:50%;background:var(--chat-accent);animation:chatDotPulse 1.2s ease-in-out infinite}.chat-thinking__dot:nth-child(2){animation-delay:.15s}.chat-thinking__dot:nth-child(3){animation-delay:.3s}.chat-thinking__content{padding:8px 12px;border-top:1px solid #3a2a5e;color:#a090c0;font-size:var(--chat-font-label);line-height:1.7;font-family:monospace;white-space:pre-wrap;max-height:300px;overflow-y:auto}.chat-toolbar{padding:var(--chat-toolbar-py) 14px;border-top:1px solid var(--chat-border);background:var(--chat-bg-secondary)}.chat-toolbar__pill-bar{display:flex;flex-direction:column;gap:8px;background:#ffffff08;border:1px solid var(--chat-border-strong);border-radius:12px;padding:8px 10px}.chat-toolbar__row-input{display:flex;align-items:flex-start;gap:8px}.chat-toolbar__row-controls{display:flex;align-items:center;gap:8px}.chat-toolbar__pill-bar--dragging{outline:2px dashed var(--chat-accent)}.chat-toolbar__divider{width:1px;height:18px;background:#ffffff14;flex-shrink:0}.chat-toolbar__selector{position:relative}.chat-toolbar__selector-trigger{display:inline-flex;align-items:center;gap:6px;background:var(--chat-accent-subtle);border:1px solid var(--chat-accent-border);border-radius:8px;padding:6px 10px;height:30px;box-sizing:border-box;cursor:pointer;transition:background var(--chat-transition-fast),border-color var(--chat-transition-fast)}.chat-toolbar__selector-trigger:hover{background:#6c63ff26;border-color:#6c63ff59}.chat-toolbar__selector-trigger:disabled{opacity:.5;cursor:not-allowed}.chat-toolbar__selector-trigger--active{background:#6c63ff26;border-color:#6c63ff4d}.chat-toolbar__selector-dot{width:5px;height:5px;border-radius:50%;background:var(--chat-accent);flex-shrink:0}.chat-toolbar__selector-icon{display:flex;align-items:center;flex-shrink:0;color:var(--chat-text-primary)}.chat-toolbar__selector-label{color:var(--chat-accent-text);font-size:var(--chat-font-small);font-weight:500;white-space:nowrap}.chat-toolbar__selector-chevron{color:var(--chat-text-secondary);display:flex;align-items:center}.chat-toolbar__selector-dropdown{position:absolute;bottom:100%;left:0;min-width:100%;background:var(--chat-bg-surface);border:1px solid var(--chat-border-strong);border-radius:8px;margin-bottom:4px;z-index:100;box-shadow:var(--chat-shadow-dropdown);overflow:hidden}.chat-toolbar__selector-option{padding:8px 12px;color:var(--chat-text-primary);font-size:var(--chat-font-label);cursor:pointer;transition:background var(--chat-transition-fast);white-space:nowrap}.chat-toolbar__selector-option:hover{background:var(--chat-bg-surface-hover)}.chat-toolbar__selector-option--selected{color:var(--chat-accent-text);background:var(--chat-accent-subtle)}.chat-toolbar__icon-btn{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;background:#ffffff0a;border:none;color:var(--chat-text-secondary);transition:background var(--chat-transition-fast);flex-shrink:0}.chat-toolbar__icon-btn:hover{background:#ffffff14}.chat-toolbar__icon-btn:disabled{opacity:.4;cursor:not-allowed}.chat-toolbar__textarea{flex:1;background:transparent;border:none;outline:none;color:var(--chat-text-primary);font-size:13px;line-height:20px;font-family:inherit;padding:4px 0;resize:none;min-height:20px;max-height:120px;overflow:auto}.chat-toolbar__send-btn{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#6c63ff,#5a52e0);display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;box-shadow:var(--chat-shadow-accent);flex-shrink:0;transition:filter var(--chat-transition-fast),opacity var(--chat-transition-fast)}.chat-toolbar__send-btn:hover{filter:brightness(1.1)}.chat-toolbar__send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-toolbar__send-btn--stop{background:var(--chat-stop);box-shadow:0 2px 8px #ef44444d}.chat-toolbar__send-icon{color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center}.chat-toolbar__attachment-bar{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding:0 10px}.chat-toolbar__attachment-chip{display:flex;align-items:center;gap:4px;background:var(--chat-bg-elevated);border:1px solid var(--chat-border);border-radius:6px;padding:3px 8px;font-size:var(--chat-font-label);color:var(--chat-text-secondary)}.chat-toolbar__attachment-remove{background:none;border:none;color:var(--chat-error);cursor:pointer;font-size:14px;padding:0 2px;line-height:1;transition:filter var(--chat-transition-fast)}.chat-toolbar__attachment-remove:hover{filter:brightness(1.3)}.chat-bar{display:flex;align-items:center;padding:8px 16px;gap:10px;border-top:1px solid var(--chat-border)}.chat-bar--accept{background:#6c63ff0f}.chat-bar--resolved{background:#12102a}.chat-bar__text{font-size:var(--chat-font-label);flex:1}.chat-bar--accept .chat-bar__text{color:#b0a0e0}.chat-bar--resolved .chat-bar__text{color:#9080d0}.chat-bar__accept-btn{padding:5px 14px;border-radius:8px;border:none;background:linear-gradient(135deg,#22c55e,#1ea751);color:#fff;font-weight:600;font-size:var(--chat-font-label);cursor:pointer;white-space:nowrap;box-shadow:0 2px 8px #22c55e4d;transition:filter var(--chat-transition-fast)}.chat-bar__accept-btn:hover{filter:brightness(1.1)}.chat-bar__continue-btn{padding:5px 14px;border-radius:8px;border:none;background:linear-gradient(135deg,#6c63ff,#5a52e0);color:#fff;font-weight:600;font-size:var(--chat-font-label);cursor:pointer;white-space:nowrap;box-shadow:var(--chat-shadow-accent);transition:filter var(--chat-transition-fast)}.chat-bar__continue-btn:hover{filter:brightness(1.1)}.chat-bar__close-btn{padding:5px 10px;border-radius:8px;border:1px solid var(--chat-border-strong);background:transparent;color:var(--chat-text-muted);font-size:var(--chat-font-label);cursor:pointer;transition:background var(--chat-transition-fast)}.chat-bar__close-btn:hover{background:#ffffff0a}.chat-auto-accept{display:flex;align-items:center;padding:6px 16px;border-top:1px solid var(--chat-border);gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.chat-auto-accept__label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:var(--chat-font-small);-webkit-user-select:none;user-select:none}.chat-auto-accept__label--on{color:#22c55ecc}.chat-auto-accept__label--off{color:var(--chat-text-muted)}.chat-auto-accept__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.chat-auto-accept__dot--on{background:var(--chat-success);box-shadow:0 0 6px #22c55e66}.chat-auto-accept__dot--off{background:var(--chat-text-muted)}.chat-auto-accept__track{width:28px;height:16px;border-radius:8px;position:relative;cursor:pointer;transition:background var(--chat-transition-fast);flex-shrink:0}.chat-auto-accept__track--on{background:#22c55e4d}.chat-auto-accept__track--off{background:#ffffff1a}.chat-auto-accept__thumb{width:12px;height:12px;border-radius:50%;position:absolute;top:2px;transition:left var(--chat-transition-fast),background var(--chat-transition-fast)}.chat-auto-accept__thumb--on{left:14px;background:var(--chat-success)}.chat-auto-accept__thumb--off{left:2px;background:var(--chat-text-secondary)}.chat-tool-card{background:linear-gradient(135deg,var(--chat-bg-surface) 0%,var(--chat-bg-elevated) 100%);border:1px solid var(--chat-border-strong);border-radius:14px;padding:10px 14px;margin-top:8px;font-size:13px;box-shadow:var(--chat-shadow-bubble)}.chat-tool-card__name-row{display:flex;align-items:center;gap:8px}.chat-tool-card__dot{width:6px;height:6px;border-radius:50%;background:var(--chat-tool-accept);flex-shrink:0}.chat-tool-card__name{color:var(--chat-accent-text);font-weight:600;font-family:monospace;font-size:13px}.chat-tool-card__summary{color:var(--chat-text-secondary);font-size:12px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.chat-tool-card__actions{display:flex;gap:8px;margin-top:8px}.chat-tool-card__accept-btn{padding:4px 12px;border-radius:8px;border:1px solid rgba(158,206,106,.3);background:#9ece6a26;color:var(--chat-tool-accept);font-weight:600;font-size:12px;cursor:pointer;transition:filter var(--chat-transition-fast)}.chat-tool-card__accept-btn:hover{filter:brightness(1.2)}.chat-tool-card__reject-btn{padding:4px 12px;border-radius:8px;border:1px solid rgba(247,118,142,.2);background:#f7768e1a;color:var(--chat-tool-reject);font-weight:600;font-size:12px;cursor:pointer;transition:filter var(--chat-transition-fast)}.chat-tool-card__reject-btn:hover{filter:brightness(1.2)}.chat-tool-card__badge{display:inline-block;margin-top:8px;padding:2px 10px;border-radius:8px;font-size:12px;font-weight:600}.chat-tool-card__badge--accepted{background:#9ece6a26;color:var(--chat-tool-accept);border:1px solid rgba(158,206,106,.3)}.chat-tool-card__badge--rejected{background:#f7768e1a;color:var(--chat-tool-reject);border:1px solid rgba(247,118,142,.2)}.debug-panel__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:9999;display:flex;align-items:center;justify-content:center}.debug-panel__modal{background:var(--chat-bg-secondary);border:1px solid var(--chat-border-strong);border-radius:10px;width:80vw;max-width:900px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.debug-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--chat-border-strong);background:var(--chat-bg)}.debug-panel__title{display:flex;align-items:center;gap:6px;color:var(--chat-text-primary);font-weight:700;font-size:15px}.debug-panel__close-btn{display:flex;align-items:center;gap:4px;background:transparent;border:1px solid var(--chat-border-strong);border-radius:6px;color:var(--chat-text-secondary);font-size:13px;padding:4px 12px;cursor:pointer;transition:background var(--chat-transition-fast)}.debug-panel__close-btn:hover{background:#ffffff0a}.debug-panel__tabs{display:flex;gap:8px;padding:8px 16px;border-bottom:1px solid var(--chat-border-strong);background:var(--chat-bg)}.debug-panel__tab{display:flex;align-items:center;gap:4px;padding:4px 12px;border-radius:4px;font-size:13px;font-weight:400;color:var(--chat-text-secondary);background:transparent;border:1px solid transparent;cursor:pointer;transition:background var(--chat-transition-fast),color var(--chat-transition-fast)}.debug-panel__tab:hover{background:#ffffff0a}.debug-panel__tab--active{font-weight:700;color:var(--chat-accent-text);background:var(--chat-bg-surface);border-color:var(--chat-accent-border)}.debug-panel__content{flex:1;overflow:auto;padding:16px}.debug-panel__section{margin-bottom:16px}.debug-panel__section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.debug-panel__section-title{color:var(--chat-accent);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.debug-panel__section-subtitle{font-weight:400;text-transform:none;letter-spacing:0;color:var(--chat-text-secondary)}.debug-panel__pre{background:var(--chat-bg);border:1px solid var(--chat-border-strong);border-radius:6px;padding:12px;color:#a0e0a0;font-size:12px;font-family:monospace;white-space:pre-wrap;word-break:break-word;margin:0}.debug-panel__pre--muted{color:var(--chat-text-secondary)}.debug-panel__edit-btn{display:flex;align-items:center;gap:4px;background:var(--chat-bg-surface);border:1px solid var(--chat-accent-border);border-radius:6px;color:var(--chat-accent);font-size:12px;padding:6px 14px;cursor:pointer;font-weight:600;transition:background var(--chat-transition-fast)}.debug-panel__edit-btn:hover{background:#6c63ff26}.debug-panel__info-row{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap}.debug-panel__info-badge{background:var(--chat-bg-surface);border:1px solid var(--chat-border-strong);border-radius:4px;padding:4px 10px;font-size:11px;color:var(--chat-text-primary)}.debug-panel__source-row{margin-bottom:6px}.debug-panel__badge-list{margin-bottom:12px}.debug-panel__badge{display:inline-block;background:var(--chat-bg-surface);border:1px solid #3a2a4a;border-radius:4px;padding:2px 8px;font-size:11px;color:#c080ff;margin-right:6px;margin-bottom:4px}.debug-panel__badge--readonly{border-color:#2a4a2a;color:#80c080}.debug-panel__muted{color:var(--chat-text-muted);font-size:12px}.debug-panel__token-grid{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.debug-panel__token-card{background:var(--chat-bg-surface);border:1px solid var(--chat-border-strong);border-radius:6px;padding:8px 12px;min-width:120px}.debug-panel__token-label{color:var(--chat-text-secondary);font-size:11px;margin-bottom:2px}.debug-panel__token-value{color:var(--chat-text-primary);font-size:16px;font-weight:700;font-family:monospace}.json-tree{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.6}.json-tree__row{display:flex;align-items:baseline;gap:2px;padding:0 2px;border-radius:var(--radius-sm)}.json-tree__row:hover{background:var(--bg-hover)}.json-tree__toggle{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:0;border-radius:var(--radius-sm)}.json-tree__toggle:hover{color:var(--text-primary)}.json-tree__spacer{display:inline-block;width:16px;flex-shrink:0}.json-tree__children{padding-left:16px}.json-tree__key{color:var(--accent)}.json-tree__colon{color:var(--text-tertiary)}.json-tree__summary{color:var(--text-tertiary);font-style:italic}.json-tree__string{color:var(--success)}.json-tree__number,.json-tree__boolean{color:var(--warning)}.json-tree__null{color:var(--text-tertiary);font-style:italic}.execution-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.execution-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border-default);flex-shrink:0}.execution-panel__title{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--text-primary)}.execution-panel__summary-bar{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border-default);flex-shrink:0;font-size:var(--text-sm)}.execution-panel__status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.execution-panel__status-dot--completed{background:var(--success)}.execution-panel__status-dot--error{background:var(--error)}.execution-panel__status-dot--running{background:var(--info);animation:execution-pulse 1.5s ease-in-out infinite}.execution-panel__status-dot--skipped{background:var(--text-tertiary)}.execution-panel__summary-label{font-weight:var(--font-weight-medium)}.execution-panel__summary-label--completed{color:var(--success)}.execution-panel__summary-label--error{color:var(--error)}.execution-panel__summary-label--running{color:var(--info)}.execution-panel__summary-label--skipped,.execution-panel__summary-separator{color:var(--text-tertiary)}.execution-panel__summary-count{color:var(--text-secondary)}.execution-panel__summary-duration{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary)}.execution-panel__clear{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-xxs);border-radius:var(--radius-sm);flex-shrink:0;transition:color var(--duration-normal) var(--easing),background var(--duration-normal) var(--easing)}.execution-panel__clear:hover{color:var(--text-primary);background:var(--bg-hover)}.execution-panel__error{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);color:var(--error);background:#fb718514;border-bottom:1px solid var(--border-default)}.execution-panel__empty{padding:var(--space-lg) var(--space-sm);text-align:center;font-size:var(--text-base);color:var(--text-tertiary)}.execution-panel__loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-sm);font-size:var(--text-base);color:var(--info)}.execution-panel__icon--info{color:var(--info)}.execution-panel__timeline{flex:1;overflow-y:auto;scrollbar-width:thin;padding:var(--space-xs) 0}.execution-panel__timeline-item{display:flex;padding:0 var(--space-sm)}.execution-panel__timeline-item--selected{background:var(--accent-subtle)}.execution-panel__timeline-gutter{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:28px;padding-top:2px}.execution-panel__status-circle{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;flex-shrink:0}.execution-panel__status-circle--success{background:#4ade8026;color:var(--success)}.execution-panel__status-circle--error{background:#fb718526;color:var(--error)}.execution-panel__status-circle--executing{background:#38bdf826;color:var(--info)}.execution-panel__status-circle--skipped{background:#52525b4d;color:var(--text-tertiary)}.execution-panel__timeline-connector{width:1px;flex:1;min-height:8px;background:var(--border-default)}.execution-panel__timeline-content{flex:1;min-width:0;padding-bottom:var(--space-xs)}.execution-panel__timeline-row{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer;padding:2px 0}.execution-panel__timeline-row:hover .execution-panel__timeline-name{color:var(--text-primary)}.execution-panel__timeline-name{flex:1;font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--duration-fast) var(--easing)}.execution-panel__timeline-duration{font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary);flex-shrink:0}.execution-panel__timeline-subtitle{display:block;font-size:var(--text-xs);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.execution-panel__step-error{display:block;font-size:var(--text-xs);color:var(--error);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px;margin-top:2px}.execution-panel__step-chevron{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:2px;border-radius:var(--radius-sm);flex-shrink:0;transition:color var(--duration-fast) var(--easing),background var(--duration-fast) var(--easing)}.execution-panel__step-chevron:hover{color:var(--text-primary);background:var(--bg-hover)}.execution-panel__step-body{padding:var(--space-xxs) 0 var(--space-xs);font-size:var(--text-sm)}.execution-panel__step-message{font-style:italic;color:var(--text-secondary);margin-bottom:var(--space-xxs)}.execution-panel__step-section-label{font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-top:var(--space-xxs);margin-bottom:2px}.execution-panel__step-output{background:var(--bg-surface);border-radius:var(--radius-sm);padding:6px var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;overflow-x:auto;max-height:200px;overflow-y:auto;margin-bottom:var(--space-xxs)}.execution-panel__step-pre{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.execution-panel__step-error-full{background:#fb718514;border-radius:var(--radius-sm);padding:6px var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--error);white-space:pre-wrap;word-break:break-all;margin-bottom:var(--space-xxs)}.execution-panel__step-no-output{font-size:var(--text-xs);color:var(--text-tertiary);font-style:italic}.execution-panel__result{border-top:1px solid var(--border-default);flex-shrink:0}.execution-panel__result-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast) var(--easing)}.execution-panel__result-header:hover{background:var(--bg-hover)}.execution-panel__result-body{padding:0 var(--space-sm) var(--space-xs)}.execution-panel__result-json{background:var(--bg-surface);border-radius:var(--radius-sm);padding:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;overflow-x:auto;max-height:300px;overflow-y:auto}@keyframes execution-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.execution-panel__spin{animation:execution-spin 1s linear infinite}@keyframes execution-pulse{0%,to{opacity:1}50%{opacity:.4}}.right-dock{--dock-width: 380px;display:flex;flex-direction:column;background:var(--bg-secondary);border-left:1px solid var(--border-default);height:100%;overflow:hidden;width:0;transition:width var(--duration-slow) var(--easing);flex-shrink:0}.right-dock--open{width:var(--dock-width)}.right-dock__tabs{display:flex;background:var(--bg-primary);border-bottom:1px solid var(--border-default);min-height:40px;overflow-x:auto;scrollbar-width:none;flex-shrink:0}.right-dock__tabs::-webkit-scrollbar{display:none}.right-dock__tab{padding:9px 6px 9px 12px;font-size:var(--text-sm);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:6px;cursor:pointer;border:none;border-bottom:2px solid transparent;background:none;white-space:nowrap;color:var(--text-tertiary);font-family:inherit;transition:color var(--duration-normal) var(--easing),border-color var(--duration-normal) var(--easing)}.right-dock__tab:hover{color:var(--text-secondary)}.right-dock__tab--active{color:var(--text-primary);border-bottom-color:var(--accent)}.right-dock__tab-close{display:flex;align-items:center;justify-content:center;margin-left:2px;padding:2px;border-radius:var(--radius-sm);opacity:0;color:var(--text-tertiary);transition:opacity var(--duration-normal) var(--easing),color var(--duration-normal) var(--easing),background var(--duration-normal) var(--easing)}.right-dock__tab:hover .right-dock__tab-close{opacity:1}.right-dock__tab-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.right-dock__content{flex:1;overflow:hidden;display:flex;flex-direction:column}.right-dock__content .ai-chat-panel{border-left:none}.right-dock-wrapper{position:relative;flex-shrink:0;height:100%}.panel-toggle{position:absolute;top:50%;transform:translateY(-50%);width:16px;height:40px;background:#252530;border:1px solid rgba(255,255,255,.08);cursor:pointer;color:#ffffff59;display:flex;align-items:center;justify-content:center;z-index:10;transition:color .15s,background .15s,border-color .15s;padding:0;font-family:inherit}.panel-toggle:hover{color:#fff;background:#6c63ff;border-color:#6c63ff}.panel-toggle--left{border-radius:0 4px 4px 0;right:-9px}.panel-toggle--left-collapsed{right:auto;left:0}.panel-toggle--right{border-radius:4px 0 0 4px;left:-9px}.panel-toggle--right-collapsed{left:-17px}.dock-resize-handle{width:4px;background:var(--bg-primary);cursor:col-resize;flex-shrink:0;transition:background var(--duration-normal) var(--easing)}.dock-resize-handle:hover{background:var(--accent)}@media(max-width:767px){.right-dock{position:fixed;bottom:0;left:0;right:0;width:auto!important;height:85vh;border-radius:16px 16px 0 0;border-left:none;z-index:800;transform:translateY(100%);opacity:0;transition:transform .25s ease-out,opacity .25s ease-out}.right-dock--open{width:auto!important;transform:translateY(0);opacity:1}.right-dock--closing{transform:translateY(100%);opacity:0;transition:transform .2s ease-in,opacity .2s ease-in}.right-dock__mobile-header{display:flex;align-items:center;justify-content:center;padding:6px 12px 2px;position:relative;flex-shrink:0;background:var(--bg-primary)}.right-dock__drag-handle{width:36px;height:4px;background:var(--text-tertiary);border-radius:2px}.right-dock__close-btn{position:absolute;top:4px;right:8px;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:color var(--duration-normal) var(--easing),background var(--duration-normal) var(--easing)}.right-dock__close-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.dock-resize-handle{display:none}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes aurora-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.header-aurora-btn{height:32px;padding:0 16px;border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:7px;position:relative;background:linear-gradient(135deg,#06b6d4,#8b5cf6,#ec4899,#06b6d4);background-size:300% 300%;animation:aurora-shift 4s ease infinite;box-shadow:0 0 14px #8b5cf64d,0 0 4px #06b6d433;transition:transform .2s,box-shadow .2s,opacity .2s}.header-aurora-btn:hover:not(:disabled){box-shadow:0 0 22px #8b5cf680,0 0 8px #ec48994d;transform:translateY(-1px)}.header-aurora-btn--disabled{opacity:.4;cursor:default;animation-play-state:paused}.header-aurora-btn__badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:9px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}.floating-run-button{position:absolute;bottom:24px;left:0;right:0;width:fit-content;margin:0 auto;display:flex;align-items:center;gap:8px;padding:10px 24px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-md);font-weight:600;cursor:pointer;z-index:10;box-shadow:0 4px 16px var(--accent-subtle);transition:background .15s}.floating-run-button:hover{background:color-mix(in srgb,var(--accent) 85%,black)}.floating-run-button:active{background:color-mix(in srgb,var(--accent) 75%,black)}
