:root,[data-theme=light]{--ne-bg: #f8f9fb;--ne-bg-elevated: #ffffff;--ne-bg-hover: #eef1f6;--ne-bg-active: #e3e8f0;--ne-bg-muted: #f0f2f5;--ne-border: #d0d4dc;--ne-border-hover: #a0a8b8;--ne-border-active: #5a6acf;--ne-text: #333;--ne-text-secondary: #666;--ne-text-muted: #999;--ne-text-accent: #5a6acf;--ne-circle-bg: #ffffff;--ne-circle-border: #c0c4d0;--ne-circle-active-bg: #e8ecf8;--ne-circle-active-border: #5a6acf;--ne-circle-active-shadow: rgba(90, 106, 207, .2);--ne-circle-match: #4caf50;--ne-circle-no-match: #ef5350;--ne-circle-parent-bg: #f5f5f5;--ne-circle-child-bg: #ffffff;--ne-circle-child-hover: #6ac48c;--ne-circle-highlighted-border: #f0a020;--ne-circle-highlighted-bg: #fef8e8;--ne-badge-axis-bg: #e8ecf3;--ne-badge-axis-color: #667;--ne-badge-count-ok-bg: #e8f5e9;--ne-badge-count-ok-color: #2e7d32;--ne-badge-count-zero-bg: #ffebee;--ne-badge-count-zero-color: #c62828;--ne-badge-children-bg: #eef0f5;--ne-badge-children-color: #777;--ne-connector-color: #c0c4d0;--ne-connector-match: #8cd98c;--ne-connector-no-match: #e8a0a0;--ne-connector-label: #6677aa;--ne-connector-plus-bg: #eef0f5;--ne-connector-plus-border: #c0c4d0;--ne-connector-plus-hover: #5a6acf;--ne-btn-bg: #f0f2f6;--ne-btn-border: #c0c4d0;--ne-btn-text: #555;--ne-btn-hover-bg: #e0e4ee;--ne-btn-hover-border: #5a6acf;--ne-btn-hover-text: #333;--ne-btn-parent-text: #4a7bb8;--ne-btn-ancestor-text: #7a5caa;--ne-cancel-bg: #fdf0f0;--ne-cancel-border: #e0a0a0;--ne-cancel-color: #c44;--ne-cancel-hover: #f5e0e0;--ne-remove-bg: #c62828;--ne-remove-color: #fff;--ne-pill-bg: #eef0f5;--ne-pill-border: #c0c8d8;--ne-pill-text: #556;--ne-picker-bg: #ffffff;--ne-picker-border: #d0d4dc;--ne-picker-shadow: rgba(0, 0, 0, .12);--ne-picker-item-hover: #f0f2f6;--ne-picker-header-border: #e8e8e8;--ne-scrollbar-track: transparent;--ne-scrollbar-thumb: #c0c4d0;--ne-scrollbar-thumb-hover: #a0a8b8;--ne-scroll-fade-top: rgba(248, 249, 251, .9);--ne-scroll-fade-bottom: rgba(248, 249, 251, .9);--ne-hint-color: #888;--ne-multi-hint: #999;--ne-leaf-hint: #888;--ne-connector-line-label: #888;--ne-surface: var(--ne-bg);--ne-circle-glow: var(--ne-circle-active-shadow);--ne-circle-active-glow: var(--ne-circle-active-shadow);--ne-circle-match-border: var(--ne-circle-match);--ne-circle-nomatch-border: var(--ne-circle-no-match);--ne-circle-child-border: var(--ne-circle-border);--ne-badge-axis-text: var(--ne-badge-axis-color);--ne-badge-ok-bg: var(--ne-badge-count-ok-bg);--ne-badge-ok-text: var(--ne-badge-count-ok-color);--ne-badge-zero-bg: var(--ne-badge-count-zero-bg);--ne-badge-zero-text: var(--ne-badge-count-zero-color);--ne-badge-children-text: var(--ne-badge-children-color);--ne-remove-text: var(--ne-remove-color);--ne-connector-stroke: var(--ne-connector-color);--ne-connector-nomatch: var(--ne-connector-no-match);--ne-hint: var(--ne-hint-color);--ne-cancel-text: var(--ne-cancel-color);--ne-cancel-hover-bg: var(--ne-cancel-hover);--ne-ancestor-bg: var(--ne-picker-bg);--ne-ancestor-border: var(--ne-picker-border);--ne-ancestor-header-bg: var(--ne-bg-hover);--ne-ancestor-item-hover: var(--ne-picker-item-hover);--t-bg-page: #f5f5f5;--t-bg-surface: #ffffff;--t-bg-elevated: #f5f5f5;--t-bg-muted: #fafafa;--t-bg-hover: #f0f6ff;--t-bg-input: #ffffff;--t-bg-input-focus: #fffff8;--t-text: #333333;--t-text-secondary: #555555;--t-text-muted: #888888;--t-text-faint: #999999;--t-text-heading: #444444;--t-code-tag: #881280;--t-code-attr: #994500;--t-code-value: #1a7f37;--t-code-token: #8e44ad;--t-code-inline-bg: #f0f0f0;--t-code-inline-text: #d14;--t-border: #e0e0e0;--t-border-subtle: #eeeeee;--t-border-input: #cccccc;--t-border-strong: #d0d0d0;--t-border-focus: #4a90d9;--t-accent: #4a90d9;--t-accent-hover: #357abd;--t-accent-bg: #f0f6ff;--t-accent-ring: rgba(74, 144, 217, .2);--t-purple: #8e44ad;--t-purple-hover: #7d3c98;--t-purple-bg: #f5eefa;--t-purple-border: #d4b8e8;--t-purple-bg-subtle: #faf5fd;--t-success: #27ae60;--t-success-hover: #219a52;--t-success-text: #155724;--t-success-bg: #d4edda;--t-success-match: #28a745;--t-danger: #dc3545;--t-danger-hover: #c82333;--t-danger-bg: #ffeeee;--t-warning-bg: #fff3cd;--t-warning-border: #ffe082;--t-warning-text: #6d4c00;--t-warning-bg-subtle: #fff8e1;--t-toolbar-bg: #2c3e50;--t-toolbar-text: #ffffff;--t-toolbar-border: #2c3e50;--t-btn-secondary-bg: #e0e0e0;--t-btn-secondary-hover: #cccccc;--t-btn-toggle-bg: #3498db;--t-btn-toggle-hover: #2980b9;--t-chip-input-bg: #f0f6ff;--t-chip-input-border: #b0cde8;--t-chip-input-badge-bg: #d0e3f7;--t-chip-input-badge-text: #2c6faa;--t-chip-output-bg: #faf5fd;--t-chip-output-border: #d4b8e8;--t-chip-output-badge-bg: #e8d5f5;--t-chip-output-badge-text: #7d3c98;--t-chip-transform-bg: #e8f0fe;--t-chip-transform-border: #c4d9f2;--t-chip-transform-text: #1a73e8;--t-chip-func-bg: #eef7ed;--t-chip-func-border: #d5e8d4;--t-chip-func-text: #2e7d32;--t-help-bg: #fffef5;--t-help-border: #ede0a8;--t-token-bag-bg: #f4f6f9;--t-token-bag-header-bg: #e8ecf1;--t-badge-none-bg: #f0f0f0;--t-badge-none-text: #888888;--t-separator: #999999;--t-shadow: rgba(0, 0, 0, .1);--t-match-border: #8cd98c;--t-match-bg: #e8f5e8;--t-no-match-border: #e8a0a0;--t-no-match-bg: #fdeaea;--t-selected-bg: #cce5ff;--t-selected-match-bg: #b8d4e3}[data-theme=dark]{--ne-bg: #1a1a2e;--ne-bg-elevated: #22223a;--ne-bg-hover: #2a2a4a;--ne-bg-active: #2a2a50;--ne-bg-muted: #1e1e32;--ne-border: #3a3a5c;--ne-border-hover: #5a5a8a;--ne-border-active: #5a6acf;--ne-text: #e0e0e0;--ne-text-secondary: #aab;--ne-text-muted: #666;--ne-text-accent: #7a8bc9;--ne-circle-bg: #22223a;--ne-circle-border: #3a3a5c;--ne-circle-active-bg: #2a2a50;--ne-circle-active-border: #5a6acf;--ne-circle-active-shadow: rgba(90, 106, 207, .35);--ne-circle-match: #4caf50;--ne-circle-no-match: #ef5350;--ne-circle-parent-bg: #22223a;--ne-circle-child-bg: #22223a;--ne-circle-child-hover: #6ac48c;--ne-circle-highlighted-border: #ffc107;--ne-circle-highlighted-bg: #2d2a1e;--ne-badge-axis-bg: #3f3f6a;--ne-badge-axis-color: #aab;--ne-badge-count-ok-bg: #2e7d32;--ne-badge-count-ok-color: #c8e6c9;--ne-badge-count-zero-bg: #c62828;--ne-badge-count-zero-color: #ffcdd2;--ne-badge-children-bg: #37375a;--ne-badge-children-color: #8888aa;--ne-connector-color: #4a4a6c;--ne-connector-match: #6aaa6a;--ne-connector-no-match: #c07070;--ne-connector-label: #8899cc;--ne-connector-plus-bg: #333360;--ne-connector-plus-border: #5a5a8a;--ne-connector-plus-hover: #5a6acf;--ne-btn-bg: #22223a;--ne-btn-border: #3a3a5c;--ne-btn-text: #aab;--ne-btn-hover-bg: #2e2e50;--ne-btn-hover-border: #5a6acf;--ne-btn-hover-text: #dde;--ne-btn-parent-text: #99bbee;--ne-btn-ancestor-text: #bbaaee;--ne-cancel-bg: #2e1e1e;--ne-cancel-border: #663333;--ne-cancel-color: #e88;--ne-cancel-hover: #442222;--ne-remove-bg: #c62828;--ne-remove-color: #fff;--ne-pill-bg: #2a2a50;--ne-pill-border: #4a4a6a;--ne-pill-text: #aab;--ne-picker-bg: #1e1e36;--ne-picker-border: #3a3a5c;--ne-picker-shadow: rgba(0, 0, 0, .5);--ne-picker-item-hover: #2a2a50;--ne-picker-header-border: #2a2a4a;--ne-scrollbar-track: transparent;--ne-scrollbar-thumb: #2a2a4a;--ne-scrollbar-thumb-hover: #3a3a6a;--ne-scroll-fade-top: rgba(26, 26, 46, .9);--ne-scroll-fade-bottom: rgba(26, 26, 46, .9);--ne-hint-color: #888;--ne-multi-hint: #666;--ne-leaf-hint: #666;--ne-connector-line-label: #666;--ne-surface: var(--ne-bg);--ne-circle-glow: var(--ne-circle-active-shadow);--ne-circle-active-glow: var(--ne-circle-active-shadow);--ne-circle-match-border: var(--ne-circle-match);--ne-circle-nomatch-border: var(--ne-circle-no-match);--ne-circle-child-border: var(--ne-circle-border);--ne-badge-axis-text: var(--ne-badge-axis-color);--ne-badge-ok-bg: var(--ne-badge-count-ok-bg);--ne-badge-ok-text: var(--ne-badge-count-ok-color);--ne-badge-zero-bg: var(--ne-badge-count-zero-bg);--ne-badge-zero-text: var(--ne-badge-count-zero-color);--ne-badge-children-text: var(--ne-badge-children-color);--ne-remove-text: var(--ne-remove-color);--ne-connector-stroke: var(--ne-connector-color);--ne-connector-nomatch: var(--ne-connector-no-match);--ne-hint: var(--ne-hint-color);--ne-cancel-text: var(--ne-cancel-color);--ne-cancel-hover-bg: var(--ne-cancel-hover);--ne-ancestor-bg: var(--ne-picker-bg);--ne-ancestor-border: var(--ne-picker-border);--ne-ancestor-header-bg: var(--ne-bg-hover);--ne-ancestor-item-hover: var(--ne-picker-item-hover);--t-bg-page: #121220;--t-bg-surface: #1e1e32;--t-bg-elevated: #22223a;--t-bg-muted: #1e1e32;--t-bg-hover: #2a2a4a;--t-bg-input: #1a1a30;--t-bg-input-focus: #1e1e35;--t-text: #e0e0e0;--t-text-secondary: #aaaabb;--t-text-muted: #777777;--t-text-faint: #666666;--t-text-heading: #cccccc;--t-code-tag: #d87ce8;--t-code-attr: #d4a060;--t-code-value: #6cc88a;--t-code-token: #b87dd8;--t-code-inline-bg: #2a2a4a;--t-code-inline-text: #e88;--t-border: #3a3a5c;--t-border-subtle: #2a2a4a;--t-border-input: #4a4a6c;--t-border-strong: #4a4a6c;--t-border-focus: #5a8cc9;--t-accent: #5a8cc9;--t-accent-hover: #4a7ab0;--t-accent-bg: #1e2a40;--t-accent-ring: rgba(90, 140, 201, .3);--t-purple: #b87dd8;--t-purple-hover: #a06cc0;--t-purple-bg: #2a1e3a;--t-purple-border: #5a3a7a;--t-purple-bg-subtle: #221a30;--t-success: #4caf50;--t-success-hover: #43a047;--t-success-text: #b0e8c0;--t-success-bg: #1e3a2e;--t-success-match: #66bb6a;--t-danger: #e05060;--t-danger-hover: #d04050;--t-danger-bg: #2e1e1e;--t-warning-bg: #2d2a1e;--t-warning-border: #8a7030;--t-warning-text: #e8c860;--t-warning-bg-subtle: #2a2718;--t-toolbar-bg: #141428;--t-toolbar-text: #e0e0e0;--t-toolbar-border: #3a3a5c;--t-btn-secondary-bg: #3a3a5c;--t-btn-secondary-hover: #4a4a6c;--t-btn-toggle-bg: #2a6090;--t-btn-toggle-hover: #1e5080;--t-chip-input-bg: #1e2a40;--t-chip-input-border: #3a5a7c;--t-chip-input-badge-bg: #2a4060;--t-chip-input-badge-text: #8ab8e8;--t-chip-output-bg: #221a30;--t-chip-output-border: #5a3a7a;--t-chip-output-badge-bg: #3a2a50;--t-chip-output-badge-text: #b87dd8;--t-chip-transform-bg: #1e2a40;--t-chip-transform-border: #3a5a7c;--t-chip-transform-text: #5a9ce8;--t-chip-func-bg: #1e3a2e;--t-chip-func-border: #3a6a3a;--t-chip-func-text: #6cc88a;--t-help-bg: #22220e;--t-help-border: #5a5030;--t-token-bag-bg: #1a1a2e;--t-token-bag-header-bg: #22223a;--t-badge-none-bg: #2a2a4a;--t-badge-none-text: #777777;--t-separator: #666666;--t-shadow: rgba(0, 0, 0, .4);--t-match-border: #6aaa6a;--t-match-bg: #1e3a2e;--t-no-match-border: #c07070;--t-no-match-bg: #2e1e1e;--t-selected-bg: #1e2a40;--t-selected-match-bg: #1e3040}.loading-indicator{position:fixed;bottom:12px;right:12px;display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--ne-bg-elevated, #fff);border:1px solid var(--ne-border, #d0d4dc);border-radius:16px;box-shadow:0 2px 8px #0000001f;z-index:9999;font-size:12px;color:var(--ne-text-secondary, #555);pointer-events:none}.loading-indicator__spinner{width:14px;height:14px;border:2px solid var(--ne-border-active, #5a6acf);border-top-color:transparent;border-radius:50%;animation:loading-spin .8s linear infinite}.loading-indicator__text{font-weight:500;letter-spacing:.2px}@keyframes loading-spin{to{transform:rotate(360deg)}}*,*:before,*:after{box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:var(--t-text);background-color:var(--t-bg-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{height:100vh}.ne{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--ne-surface);color:var(--ne-text);border-right:1px solid var(--ne-border);position:relative;overflow:hidden}.ne--empty{justify-content:flex-start;padding:16px;gap:12px}.ne__header{font-weight:600;font-size:13px;padding:10px 14px 6px;color:var(--ne-text-secondary);letter-spacing:.4px;text-transform:uppercase;flex-shrink:0}.ne__hint{text-align:center;color:var(--ne-hint);font-size:13px;padding:4px 0}.ne__scroll{flex:1 1 0;overflow-y:auto;overflow-x:hidden;min-height:0;position:relative;scrollbar-width:thin;scrollbar-color:var(--ne-scrollbar-thumb) var(--ne-scrollbar-track)}.ne__scroll::-webkit-scrollbar{width:7px}.ne__scroll::-webkit-scrollbar-track{background:var(--ne-scrollbar-track)}.ne__scroll::-webkit-scrollbar-thumb{background:var(--ne-scrollbar-thumb);border-radius:6px}.ne__scroll::-webkit-scrollbar-thumb:hover{background:var(--ne-scrollbar-thumb-hover)}.ne__scroll-fade{position:absolute;left:0;right:7px;height:24px;pointer-events:none;z-index:5}.ne__scroll-fade--top{top:34px;background:var(--ne-scroll-fade-top)}.ne__scroll-fade--bottom{bottom:0;background:var(--ne-scroll-fade-bottom)}.ne__canvas{display:flex;flex-direction:column;align-items:center;padding:8px 10px 20px;min-width:0}.ne__chain{display:flex;flex-direction:column;align-items:center;gap:0}.ne__upstream{display:flex;flex-direction:column;align-items:center}.ne-circle{min-width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:box-shadow .15s,border-color .15s,background .15s;font-weight:600;font-size:12px;border:2.5px solid var(--ne-circle-border);background:var(--ne-circle-bg);color:var(--ne-text)}.ne-circle:hover{box-shadow:0 0 0 3px var(--ne-circle-glow)}.ne-circle--step{box-sizing:border-box}.ne-circle--active{border-color:var(--ne-circle-active-border);background:var(--ne-circle-active-bg);box-shadow:0 0 0 3px var(--ne-circle-active-glow)}.ne-circle--match{border-color:var(--ne-circle-match-border)}.ne-circle--no-match{border-color:var(--ne-circle-nomatch-border);opacity:.65}.ne-circle--ghost{opacity:.4;border-style:dashed;border-color:var(--ne-border);background:var(--ne-bg-muted);min-width:46px;height:46px;cursor:pointer}.ne-circle--ghost:hover{opacity:.7;border-color:var(--ne-border-hover);box-shadow:0 0 0 3px var(--ne-circle-glow)}.ne-circle__include{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--ne-border-active);background:var(--ne-bg-elevated);color:var(--ne-text-accent);font-size:13px;font-weight:700;display:none;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1}.ne-circle--ghost:hover .ne-circle__include{display:flex}.ne-circle__include:hover{background:var(--ne-circle-active-bg);border-color:var(--ne-circle-active-border)}.ne__ghost-chain{display:flex;flex-direction:column;align-items:center}.ne-node--ghost{cursor:pointer}.ne-circle--parent{border-style:dashed;opacity:.7;min-width:48px;height:48px}.ne-circle--child{min-width:48px;height:48px;border-color:var(--ne-circle-child-border);background:var(--ne-circle-child-bg)}.ne-circle--child:hover{border-color:var(--ne-circle-active-border);box-shadow:0 0 0 3px var(--ne-circle-active-glow)}.ne-circle--highlighted{border-color:var(--ne-circle-active-border);background:var(--ne-circle-active-bg)}.ne-circle--root{min-width:50px;height:50px}.ne-circle--selected{border-color:var(--ne-circle-active-border);box-shadow:0 0 0 3px var(--ne-circle-active-glow)}.ne-circle__tag{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:44px;display:block;text-align:center}.ne-circle__badge{position:absolute;font-size:9px;line-height:1;padding:2px 4px;border-radius:6px;font-weight:700}.ne-circle__badge--axis{top:-6px;right:-4px;background:var(--ne-badge-axis-bg);color:var(--ne-badge-axis-text)}.ne-circle__badge--count{bottom:-6px;right:-4px;min-width:14px;text-align:center}.ne-circle__badge--count-ok{background:var(--ne-badge-ok-bg);color:var(--ne-badge-ok-text)}.ne-circle__badge--count-zero{background:var(--ne-badge-zero-bg);color:var(--ne-badge-zero-text)}.ne-circle__badge--children{bottom:-6px;left:-4px;background:var(--ne-badge-children-bg);color:var(--ne-badge-children-text);cursor:pointer}.ne-circle__remove{position:absolute;top:-4px;left:-4px;width:16px;height:16px;border-radius:50%;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;opacity:0;transition:opacity .12s;background:var(--ne-remove-bg);color:var(--ne-remove-text)}.ne-circle:hover .ne-circle__remove{opacity:1}.ne-circle__exclude{position:absolute;bottom:-4px;left:-4px;width:16px;height:16px;border-radius:50%;font-size:12px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--ne-border);cursor:pointer;opacity:0;transition:opacity .12s;background:var(--ne-surface);color:var(--ne-text);padding:0}.ne-circle:hover .ne-circle__exclude{opacity:1}.ne-circle__exclude:hover{background:var(--ne-remove-bg);color:var(--ne-remove-text);border-color:var(--ne-remove-bg)}.ne-connector,.ne-connector-line{display:flex;flex-direction:column;align-items:center;position:relative;gap:0}.ne-connector__svg,.ne-connector-line__svg{display:block}.ne-connector__stroke,.ne-connector-line__stroke{stroke:var(--ne-connector-stroke)}.ne-connector__arrow,.ne-connector-line__arrow{fill:var(--ne-connector-stroke)}.ne-connector--match .ne-connector__stroke{stroke:var(--ne-connector-match)}.ne-connector--match .ne-connector__arrow{fill:var(--ne-connector-match)}.ne-connector--no-match .ne-connector__stroke{stroke:var(--ne-connector-nomatch)}.ne-connector--no-match .ne-connector__arrow{fill:var(--ne-connector-nomatch)}.ne-connector__axis-label,.ne-connector-line__label{font-size:10px;color:var(--ne-text-secondary);position:absolute;top:50%;left:50%;transform:translate(16px,-50%);white-space:nowrap;pointer-events:none}.ne-node{display:flex;flex-direction:column;align-items:center;cursor:pointer}.ne-node__preds{display:flex;gap:3px;margin-top:2px;flex-wrap:wrap;justify-content:center;max-width:110px}.ne-node__pred-pill{font-size:9px;padding:1px 5px;border-radius:8px;background:var(--ne-pill-bg);color:var(--ne-pill-text);white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis}.ne__children-fanout{display:flex;flex-direction:column;align-items:center;margin-top:2px;gap:0}.ne__fanout-svg{display:block;flex-shrink:0}.ne__fanout-stroke{stroke:var(--ne-connector-stroke)}.ne__fanout-arrow{fill:var(--ne-connector-stroke)}.ne__children-row{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;justify-content:center;padding:0 4px}.ne-child-node{display:flex;flex-direction:column;align-items:center;cursor:pointer;position:relative}.ne__multi-hint{font-size:10px;color:var(--ne-hint);margin-top:4px}.ne__cancel-btn{margin-top:8px;padding:4px 14px;border-radius:14px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--ne-cancel-border);background:var(--ne-cancel-bg);color:var(--ne-cancel-text);transition:background .12s}.ne__cancel-btn:hover{background:var(--ne-cancel-hover-bg)}.ne__leaf-nav,.ne__nav-after-children{display:flex;flex-direction:column;align-items:center;margin-top:4px;gap:4px}.ne__leaf-hint{font-size:11px;color:var(--ne-hint);font-style:italic}.ne__leaf-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.ne__nav-btn{padding:4px 12px;border-radius:14px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--ne-btn-border);background:var(--ne-btn-bg);color:var(--ne-btn-text);transition:background .12s}.ne__nav-btn:hover{background:var(--ne-btn-hover-bg)}.ne__nav-btn--parent,.ne__nav-btn--ancestor{box-sizing:border-box}.ne-ancestor-picker{position:absolute;z-index:20;min-width:160px;max-width:260px;border-radius:8px;box-shadow:0 4px 16px #00000038;background:var(--ne-ancestor-bg);border:1px solid var(--ne-ancestor-border);overflow:hidden}.ne-ancestor-picker__header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;font-size:11px;font-weight:700;background:var(--ne-ancestor-header-bg);color:var(--ne-text)}.ne-ancestor-picker__close{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;color:var(--ne-text-secondary)}.ne-ancestor-picker__list{max-height:200px;overflow-y:auto}.ne-ancestor-picker__item{display:flex;align-items:center;gap:6px;width:100%;padding:5px 10px;font-size:12px;border:none;background:transparent;cursor:pointer;color:var(--ne-text);text-align:left}.ne-ancestor-picker__item:hover{background:var(--ne-ancestor-item-hover)}.ne-ancestor-picker__depth{flex-shrink:0;font-size:10px;color:var(--ne-text-secondary)}.ne-ancestor-picker__tag{font-weight:600}.ne-ancestor-picker__attrs{color:var(--ne-text-secondary);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ne-ancestor-picker__empty{padding:10px;color:var(--ne-hint);font-size:12px;text-align:center}.ne__root-nodes{display:flex;flex-direction:column;gap:6px}.ne__section-label{font-size:11px;font-weight:600;color:var(--ne-text-secondary);text-transform:uppercase;letter-spacing:.3px}.ne__root-grid{display:flex;flex-direction:column;gap:4px;padding-left:4px}.ne-root-item{display:flex;flex-direction:column;gap:2px}.ne-root-children{padding-left:20px;display:flex;flex-direction:column;gap:2px}.ne-child-popup{position:absolute;top:100%;left:50%;transform:translate(-50%);z-index:30;min-width:140px;max-width:220px;margin-top:6px;border-radius:8px;overflow:hidden;box-shadow:0 4px 16px #0000002e;background:var(--ne-ancestor-bg);border:1px solid var(--ne-ancestor-border);pointer-events:none;animation:ne-popup-in .15s ease-out}@keyframes ne-popup-in{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.ne-child-popup__header{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:5px 10px 3px;color:var(--ne-text-secondary);background:var(--ne-ancestor-header-bg)}.ne-child-popup__body{padding:4px 10px 8px}.ne-child-popup__row{display:flex;gap:6px;padding:2px 0;font-size:11px;line-height:1.35}.ne-child-popup__name{font-weight:600;color:var(--ne-text-accent, var(--ne-text));flex-shrink:0}.ne-child-popup__value{color:var(--ne-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ne-child-node__deep-drill{display:block;margin-top:4px;padding:2px 6px;border:none;border-radius:4px;background:transparent;color:var(--ne-text-accent, var(--ne-text));font-size:10px;font-weight:600;line-height:1.2;cursor:pointer;opacity:0;transition:opacity .15s,background .12s;white-space:nowrap}.ne-child-node:hover .ne-child-node__deep-drill{opacity:1}.ne-child-node__deep-drill:hover{background:var(--ne-highlight)}.ne-deep-picker{position:absolute;z-index:100;min-width:260px;max-width:380px;max-height:340px;overflow-y:auto;background:var(--ne-surface);border:1.5px solid var(--ne-border);border-radius:10px;box-shadow:0 6px 24px #00000026;font-size:13px}.ne-deep-picker__header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--ne-border);font-weight:600;font-size:13px;background:var(--ne-ancestor-header-bg, var(--ne-surface));border-radius:10px 10px 0 0}.ne-deep-picker__close{background:none;border:none;font-size:16px;cursor:pointer;color:var(--ne-text);padding:0 2px;line-height:1}.ne-deep-picker__breadcrumb{display:flex;flex-wrap:wrap;gap:2px;padding:6px 12px;font-size:11px;color:var(--ne-text-secondary, var(--ne-text));border-bottom:1px solid var(--ne-border);background:var(--ne-surface)}.ne-deep-picker__crumb{display:inline-flex;align-items:center;gap:2px}.ne-deep-picker__crumb-sep{color:var(--ne-text-muted, var(--ne-text));margin:0 1px}.ne-deep-picker__crumb-tag{font-weight:600;color:var(--ne-text-accent, var(--ne-text))}.ne-deep-picker__current{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid var(--ne-border)}.ne-deep-picker__back,.ne-deep-picker__add-current{padding:4px 10px;border-radius:6px;border:1px solid var(--ne-border);background:var(--ne-surface);color:var(--ne-text);cursor:pointer;font-size:12px;font-weight:500;transition:background .15s}.ne-deep-picker__back:hover{background:var(--ne-highlight)}.ne-deep-picker__add-current{background:var(--t-accent);color:#fff;border-color:var(--t-accent)}.ne-deep-picker__add-current:hover{filter:brightness(1.1)}.ne-deep-picker__empty{padding:16px;text-align:center;color:var(--ne-text-secondary, var(--ne-text));font-style:italic}.ne-deep-picker__list{display:flex;flex-direction:column}.ne-deep-picker__item{display:flex;align-items:center;gap:6px;padding:6px 12px;border-bottom:1px solid var(--ne-border);transition:background .12s}.ne-deep-picker__item:last-child{border-bottom:none}.ne-deep-picker__item:hover{background:var(--ne-highlight)}.ne-deep-picker__item-tag{font-weight:600;color:var(--ne-text-accent, var(--ne-text));flex-shrink:0}.ne-deep-picker__item-attrs{font-size:11px;color:var(--ne-text-secondary, var(--ne-text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.ne-deep-picker__item-actions{display:flex;gap:4px;flex-shrink:0;margin-left:auto}.ne-deep-picker__item-add,.ne-deep-picker__item-drill{padding:2px 8px;border-radius:5px;border:1px solid var(--ne-border);background:var(--ne-surface);color:var(--ne-text);cursor:pointer;font-size:11px;font-weight:500;transition:background .12s}.ne-deep-picker__item-add:hover{background:var(--t-accent);color:#fff;border-color:var(--t-accent)}.ne-deep-picker__item-drill:hover{background:var(--ne-highlight)}.properties-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.properties-panel--empty{display:flex;align-items:center;justify-content:center;color:var(--t-text-muted);font-style:italic}.properties-panel__header{font-weight:600;font-size:14px;padding:8px 12px;border-bottom:1px solid var(--t-border);background:var(--t-bg-elevated);color:var(--t-text);font-family:Consolas,Monaco,Courier New,monospace}.properties-panel__header--step{background:var(--t-warning-bg-subtle);border-bottom-color:var(--t-warning-border);color:var(--t-warning-text)}.properties-panel__content{flex:1;overflow:auto;padding:8px}.properties-panel__section{margin-bottom:16px}.properties-panel__section-header{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--t-text-secondary);margin-bottom:6px;letter-spacing:.5px}.properties-panel__path-toggle{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.properties-panel__path-hint{font-size:12px;color:var(--t-text-muted)}.properties-panel__tag-name{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;color:var(--t-code-tag);font-weight:500;padding:4px 8px;background:var(--t-bg-elevated);border-radius:3px;display:inline-flex;align-items:center;gap:6px}.properties-panel__tag-pencil{background:none;border:none;cursor:pointer;font-size:13px;color:var(--t-text-muted);padding:0 2px;line-height:1;opacity:.5;transition:opacity .12s,color .12s}.properties-panel__tag-pencil:hover{opacity:1;color:var(--ne-text-accent)}.properties-panel__tag-edit{display:flex}.properties-panel__tag-input{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;color:var(--t-code-tag);font-weight:500;padding:3px 6px;background:var(--t-bg-input);border:1.5px solid var(--ne-text-accent);border-radius:3px;outline:none;width:100%}.properties-panel__text-content{font-size:13px;color:var(--t-text);padding:6px 8px;background:var(--t-bg-muted);border:1px solid var(--t-border-subtle);border-radius:3px;word-break:break-word;margin-bottom:4px}.properties-panel__no-attrs{color:var(--t-text-faint);font-style:italic;font-size:13px}.properties-panel__attrs-list{display:flex;flex-direction:column;gap:4px}.attr-row{border:1px solid var(--t-border-subtle);border-radius:4px;padding:6px 8px;background:var(--t-bg-muted)}.attr-row--active{border-color:var(--t-accent);background:var(--t-accent-bg)}.attr-row__header{display:flex;align-items:center;gap:6px;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px}.attr-row__checkbox{flex-shrink:0}.attr-row__name{color:var(--t-code-attr);font-weight:500}.attr-row__separator{color:var(--t-text-secondary)}.attr-row__original-value{color:var(--t-code-value);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attr-row__controls{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;padding-left:22px}.attr-row__operator{padding:3px 6px;border:1px solid var(--t-border-input);border-radius:3px;font-size:12px;background:var(--t-bg-input);color:var(--t-text)}.attr-row__value-input{flex:1;padding:3px 6px;border:1px solid var(--t-border-input);border-radius:3px;font-size:12px;font-family:Consolas,Monaco,Courier New,monospace;background:var(--t-bg-input);color:var(--t-text)}.text-predicate{margin-top:4px;padding:4px 8px;border-radius:4px}.text-predicate--active{background:var(--t-accent-bg);border:1px solid var(--t-accent)}.text-predicate__toggle{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.text-predicate__controls{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;padding-left:22px}.btn{display:inline-flex;align-items:center;gap:4px;border:none;border-radius:4px;cursor:pointer;font-size:13px;padding:6px 12px;font-weight:500;transition:background .15s}.btn--sm{padding:4px 10px;font-size:12px}.btn--primary{background:var(--t-accent);color:#fff}.btn--primary:hover{background:var(--t-accent-hover)}.btn--danger{background:var(--t-danger);color:#fff}.btn--danger:hover{background:var(--t-danger-hover)}.properties-panel__hint{font-size:11px;color:var(--t-text-muted);margin-bottom:6px;line-height:1.4}.position-control{padding:6px 8px;border-radius:4px;border:1px solid var(--t-border-subtle);background:var(--t-bg-muted)}.position-control--active{background:var(--t-accent-bg);border-color:var(--t-accent)}.position-control__toggle{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.position-control__value{display:flex;align-items:center;gap:6px;margin-top:6px;padding-left:22px}.position-control__label{font-size:12px;color:var(--t-text-secondary)}.position-control__input{width:50px;padding:2px 4px;border:1px solid var(--t-border-input);border-radius:3px;font-size:12px;font-family:Consolas,monospace;text-align:center}.position-control__input:focus{outline:none;border-color:var(--t-border-focus)}.position-control__hint{font-family:Consolas,monospace;font-size:11px;color:var(--t-text-muted)}.attr-row__compose-btn{padding:2px 6px;border:1px solid var(--t-border-strong);border-radius:3px;background:var(--t-bg-muted);color:var(--t-purple);cursor:pointer;font-size:11px;font-family:Consolas,monospace;font-weight:600;white-space:nowrap;flex-shrink:0}.attr-row__compose-btn:hover{border-color:var(--t-purple);background:var(--t-purple-bg)}.attr-row__resolved-preview{font-family:Consolas,monospace;font-size:11px;color:var(--t-text-secondary);padding:2px 8px 2px 22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn--secondary{background:var(--t-btn-secondary-bg);color:var(--t-text)}.btn--secondary:hover{background:var(--t-btn-secondary-hover)}.value-composer{margin-top:6px;border:1px solid var(--t-border-strong);border-radius:6px;background:var(--t-bg-surface);box-shadow:0 4px 16px #0000001a;overflow:hidden}.value-composer__header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--t-bg-elevated);border-bottom:1px solid var(--t-border);font-size:12px;font-weight:600;color:var(--t-text-secondary)}.value-composer__close{border:none;background:none;color:var(--t-text-faint);cursor:pointer;font-size:16px;padding:0 4px}.value-composer__close:hover{color:var(--t-text)}.value-composer__input{width:100%;padding:8px 10px;border:none;border-bottom:1px solid var(--t-border-subtle);font-family:Consolas,monospace;font-size:12px;resize:none;box-sizing:border-box;background:var(--t-bg-input);color:var(--t-text)}.value-composer__input:focus{outline:none;background:var(--t-bg-input-focus)}.value-composer__tokens{display:flex;flex-wrap:wrap;gap:4px;padding:6px 10px;align-items:center}.value-composer__tokens-label{font-size:11px;color:var(--t-text-muted);font-weight:600}.value-composer__no-tokens{font-size:11px;color:var(--t-text-faint);font-style:italic}.value-composer__token-chip{padding:2px 8px;border:1px solid var(--t-purple-border);border-radius:12px;background:var(--t-purple-bg);color:var(--t-purple);cursor:pointer;font-size:11px;font-family:Consolas,monospace;font-weight:600}.value-composer__token-chip:hover{background:var(--t-chip-output-badge-bg);border-color:var(--t-purple)}.value-composer__functions{display:flex;flex-wrap:wrap;gap:4px;padding:4px 10px;align-items:center}.value-composer__func-chip{padding:2px 8px;border:1px solid var(--t-chip-func-border);border-radius:3px;background:var(--t-chip-func-bg);color:var(--t-chip-func-text);cursor:pointer;font-size:11px;font-family:Consolas,monospace;font-weight:600}.value-composer__func-chip:hover{background:var(--t-chip-func-border);border-color:var(--t-chip-func-text)}.value-composer__preview{padding:4px 10px;font-size:11px;color:var(--t-text-secondary);background:var(--t-bg-elevated);border-top:1px solid var(--t-border-subtle)}.value-composer__preview-label{font-weight:600;margin-right:4px}.value-composer__preview code{font-family:Consolas,monospace;color:var(--t-text)}.value-composer__actions{display:flex;gap:6px;padding:6px 10px;border-top:1px solid var(--t-border-subtle);justify-content:flex-end}.step-editor__warning{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--t-warning-bg);border:1px solid var(--t-warning-border);border-radius:4px;font-size:12px;color:var(--t-warning-text);margin-bottom:12px}.step-editor__warning-icon{font-size:16px;flex-shrink:0}.step-editor__axis-select{width:100%;padding:4px 8px;border:1px solid var(--t-border);border-radius:4px;font-size:13px;background:var(--t-bg-input);color:var(--t-text);cursor:pointer}.step-editor__axis-select:focus{outline:none;border-color:var(--t-border-focus)}.step-editor__tag-input{width:100%;padding:4px 8px;border:1px solid var(--t-border);border-radius:4px;font-size:14px;font-family:Consolas,Monaco,Courier New,monospace;font-weight:600;color:var(--t-code-tag);background:var(--t-bg-input);box-sizing:border-box}.step-editor__tag-input:focus{outline:none;border-color:var(--t-border-focus)}.step-editor__add-row{display:flex;gap:4px;margin-top:6px}.step-editor__add-input{flex:1;padding:3px 8px;border:1px solid var(--t-border-strong);border-radius:4px;font-size:12px;font-family:Consolas,Monaco,Courier New,monospace;background:var(--t-bg-input);color:var(--t-text)}.step-editor__add-input:focus{outline:none;border-color:var(--t-border-focus)}.step-editor__add-input::placeholder{color:var(--t-text-faint);font-style:italic}.step-editor__add-btn{padding:2px 10px;border:1px solid var(--t-accent);border-radius:4px;background:var(--t-accent);color:#fff;font-size:14px;font-weight:700;cursor:pointer;line-height:1}.step-editor__add-btn:hover:not(:disabled){background:var(--t-accent-hover)}.step-editor__add-btn:disabled{opacity:.4;cursor:default}.step-editor__add-class-btn{display:inline-block;margin-top:6px;margin-right:6px;padding:2px 10px;border:1px dashed var(--t-border-strong);border-radius:4px;background:transparent;color:var(--t-text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.step-editor__add-class-btn:hover{border-color:var(--t-accent);color:var(--t-accent);background:var(--t-accent-bg)}.class-row__chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;padding:2px 0}.class-row__chip{display:inline-flex;align-items:center;padding:2px 10px;border:1px solid var(--t-border-strong);border-radius:12px;background:var(--t-bg-elevated);color:var(--t-text-secondary);font-size:12px;font-family:Consolas,Monaco,Courier New,monospace;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.class-row__chip:hover:not(:disabled){border-color:var(--t-accent);background:var(--t-accent-bg)}.class-row__chip:disabled{cursor:default;opacity:.7}.class-row__chip--selected{background:var(--t-accent);border-color:var(--t-accent-hover);color:#fff;font-weight:600}.class-row__chip--selected:hover:not(:disabled){background:var(--t-accent-hover);border-color:var(--t-accent-hover)}.class-row__chip--custom{background:var(--t-purple);border-color:var(--t-purple-hover)}.class-row__chip--custom:hover{background:var(--t-purple-hover);border-color:var(--t-purple-hover)}.class-row__add-custom{display:flex;gap:4px;margin-top:6px}.class-row__custom-input{flex:1;padding:3px 8px;border:1px solid var(--t-border-strong);border-radius:4px;font-size:12px;font-family:Consolas,Monaco,Courier New,monospace;background:var(--t-bg-input);color:var(--t-text)}.class-row__custom-input:focus{outline:none;border-color:var(--t-border-focus)}.class-row__custom-input::placeholder{color:var(--t-text-faint);font-style:italic}.class-row__add-btn{padding:2px 10px;border:1px solid var(--t-accent);border-radius:4px;background:var(--t-accent);color:#fff;font-size:14px;font-weight:700;cursor:pointer;line-height:1}.class-row__add-btn:hover:not(:disabled){background:var(--t-accent-hover)}.class-row__add-btn:disabled{opacity:.4;cursor:default}.token-extractor{border-top:1px solid var(--t-border);background:var(--t-bg-muted)}.token-extractor__header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--t-bg-elevated);border-bottom:1px solid var(--t-border)}.token-extractor__title{font-size:13px;font-weight:600;color:var(--t-text-heading)}.token-extractor__add-btn{padding:3px 10px;font-size:12px;border:1px solid var(--t-accent);border-radius:4px;background:var(--t-bg-surface);color:var(--t-accent);cursor:pointer;font-weight:500}.token-extractor__add-btn:hover{background:var(--t-accent);color:#fff}.token-extractor__empty{padding:8px 12px;font-size:12px;color:var(--t-text-faint);font-style:italic}.token-extractor__list{display:flex;flex-wrap:wrap;gap:6px;padding:6px 10px}.token-bag-item{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;background:var(--t-bg-surface);font-size:12px;border:1px solid var(--t-border-strong);border-radius:6px;max-width:280px}.token-bag-item--input{background:var(--t-chip-input-bg);border-color:var(--t-chip-input-border)}.token-bag-item--output{background:var(--t-chip-output-bg);border-color:var(--t-chip-output-border)}.token-bag-item--xpath-edit{background:var(--t-purple-bg);border-color:var(--t-purple);box-shadow:0 0 0 1px #8e44ad40}.token-bag-item__badge{display:inline-flex;align-items:center;justify-content:center;padding:0 4px;border-radius:3px;font-size:8px;font-weight:700;letter-spacing:.5px;flex-shrink:0;text-transform:uppercase;line-height:16px}.token-bag-item__badge--input{background:var(--t-chip-input-badge-bg);color:var(--t-chip-input-badge-text)}.token-bag-item__badge--output{background:var(--t-chip-output-badge-bg);color:var(--t-chip-output-badge-text)}.token-bag-item__name{font-family:Consolas,monospace;font-weight:600;color:var(--t-text);flex-shrink:0;font-size:11px}.token-bag-item__eq{color:var(--t-text-muted);font-weight:600;flex-shrink:0;font-size:11px}.token-bag-item__value{font-family:Consolas,monospace;color:var(--t-success-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:11px}.token-bag-item__value--empty{color:var(--t-text-faint);font-style:italic}.token-bag-item__actions{display:flex;gap:1px;flex-shrink:0;margin-left:2px}.token-bag-item__action-btn{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--t-text-muted);cursor:pointer;font-size:12px;padding:0}.token-bag-item__action-btn:hover{border-color:var(--t-accent);color:var(--t-accent);background:var(--t-accent-bg)}.token-bag-item__action-btn--done{background:var(--t-purple);color:#fff;border-color:var(--t-purple)}.token-bag-item__action-btn--done:hover{background:var(--t-purple-hover)}.token-bag-item__action-btn--remove:hover{background:var(--t-danger-bg);color:var(--t-danger);border-color:var(--t-danger)}.token-extractor__list>.token-form{flex-basis:100%}.token-form{background:var(--t-bg-surface);border:1px solid var(--t-purple-border);border-left:3px solid var(--t-purple);border-radius:6px;padding:8px 10px;width:100%;box-sizing:border-box}.token-form__header{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:var(--t-text-secondary);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--t-border-subtle)}.token-form__close{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--t-text-faint);cursor:pointer;font-size:16px;padding:0;border-radius:3px}.token-form__close:hover{background:var(--t-danger-bg);color:var(--t-danger)}.token-form__row{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}.token-form__label{font-size:11px;font-weight:600;color:var(--t-text-muted);width:55px;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px}.token-form__name-input{width:140px;padding:3px 6px;border:1px solid var(--t-border-input);border-radius:3px;font-family:Consolas,monospace;font-size:12px;font-weight:600;color:var(--t-purple);background:var(--t-bg-input)}.token-form__name-input:focus{outline:none;border-color:var(--t-purple)}.token-form__name-input--error{border-color:var(--t-danger)}.token-form__error{font-size:10px;color:var(--t-danger)}.token-form__select{padding:3px 6px;border:1px solid var(--t-border-input);border-radius:3px;font-size:12px;background:var(--t-bg-input);color:var(--t-text);cursor:pointer}.token-form__xpath{font-family:Consolas,monospace;font-size:11px;color:var(--t-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.token-form__xpath--evaluated{color:var(--t-text-secondary);font-size:10px}.token-form__match-count{font-size:11px;color:var(--t-success-match);font-weight:500;flex-shrink:0}.token-form__xpath-btn{padding:2px 8px;border:1px solid var(--t-purple);border-radius:3px;background:var(--t-bg-surface);color:var(--t-purple);cursor:pointer;font-size:11px;font-weight:500;flex-shrink:0}.token-form__xpath-btn:hover,.token-form__xpath-btn--done{background:var(--t-purple);color:#fff}.token-form__xpath-btn--done:hover{background:var(--t-purple-hover)}.token-form__value{font-family:Consolas,monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.token-form__value--has{color:var(--t-success-text);font-weight:500}.token-form__value--empty{color:var(--t-text-faint);font-style:italic}.token-form__footer{display:flex;justify-content:flex-end;margin-top:6px;padding-top:6px;border-top:1px solid var(--t-border-subtle)}.token-transforms{margin-top:4px;padding:3px 6px}.token-transforms__header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.token-transforms__label{color:var(--t-text-muted);font-weight:600;font-size:11px;flex-shrink:0}.token-transforms__add-btns{display:flex;gap:4px;flex-wrap:wrap}.token-transforms__add-btn{padding:1px 6px;font-size:10px;border:1px dashed var(--t-border-input);border-radius:3px;background:var(--t-bg-surface);color:var(--t-text-secondary);cursor:pointer;font-family:Consolas,monospace}.token-transforms__add-btn:hover{border-color:var(--t-accent);color:var(--t-accent);background:var(--t-accent-bg)}.token-transforms__list{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.token-transforms__chip{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;background:var(--t-chip-transform-bg);border:1px solid var(--t-chip-transform-border);border-radius:3px;font-family:Consolas,monospace;font-size:11px;color:var(--t-chip-transform-text)}.token-transforms__chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:none;border-radius:50%;background:none;color:var(--t-text-faint);cursor:pointer;font-size:12px;padding:0;line-height:1}.token-transforms__chip-remove:hover{background:var(--t-danger-bg);color:var(--t-danger)}.token-transforms__regex-form{margin-top:4px;padding:6px 8px;background:var(--t-bg-elevated);border:1px solid var(--t-border);border-radius:4px}.token-transforms__regex-form-header{font-size:11px;font-weight:600;color:var(--t-text-secondary);margin-bottom:4px}.token-transforms__regex-fields{display:flex;gap:4px}.token-transforms__regex-input{flex:1;padding:2px 6px;border:1px solid var(--t-border-input);border-radius:3px;font-family:Consolas,monospace;font-size:11px}.token-transforms__regex-input:focus{outline:none;border-color:var(--t-border-focus)}.token-transforms__regex-actions{display:flex;gap:4px;margin-top:4px;justify-content:flex-end}.token-transforms__regex-add{padding:2px 8px;border:1px solid var(--t-accent);border-radius:3px;background:var(--t-accent);color:#fff;cursor:pointer;font-size:11px;font-weight:500}.token-transforms__regex-add:hover{background:var(--t-accent-hover)}.token-transforms__regex-add:disabled{opacity:.5;cursor:default}.token-transforms__regex-cancel{padding:2px 8px;border:1px solid var(--t-border-input);border-radius:3px;background:var(--t-bg-surface);color:var(--t-text-secondary);cursor:pointer;font-size:11px}.token-transforms__regex-cancel:hover{background:var(--t-bg-elevated)}.token-transforms__chip--editable{cursor:pointer}.token-transforms__chip--editable:hover{background:var(--t-accent-bg);border-color:var(--t-accent)}.token-transforms__help-btn{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:1px solid var(--t-border-input);border-radius:50%;background:var(--t-bg-surface);color:var(--t-text-secondary);cursor:pointer;font-size:11px;font-weight:700;padding:0}.token-transforms__help-btn:hover{border-color:var(--t-accent);color:var(--t-accent);background:var(--t-accent-bg)}.token-transforms__help-panel{margin-top:4px;padding:6px 8px;background:var(--t-help-bg);border:1px solid var(--t-help-border);border-radius:4px;font-size:11px}.token-transforms__help-title{display:flex;align-items:center;justify-content:space-between;font-weight:600;color:var(--t-text-secondary);margin-bottom:4px}.token-transforms__help-close{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--t-text-faint);cursor:pointer;font-size:13px;padding:0;border-radius:50%}.token-transforms__help-close:hover{background:var(--t-danger-bg);color:var(--t-danger)}.token-transforms__help-table{width:100%;border-collapse:collapse;font-family:Consolas,monospace;font-size:10px;margin-bottom:4px}.token-transforms__help-table th{text-align:left;font-weight:600;color:var(--t-text-secondary);padding:2px 4px;border-bottom:1px solid var(--t-border);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.token-transforms__help-table td{padding:2px 4px;border-bottom:1px solid var(--t-border-subtle);color:var(--t-text)}.token-transforms__help-table code{background:var(--t-code-inline-bg);padding:0 3px;border-radius:2px;color:var(--t-code-inline-text)}.token-transforms__help-table em{color:var(--t-text-faint);font-style:italic}.token-transforms__help-note{color:var(--t-text-muted);font-size:10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.token-transforms__help-note code{background:var(--t-code-inline-bg);padding:0 3px;border-radius:2px;color:var(--t-code-inline-text);font-family:Consolas,monospace}.xpath-builder{display:flex;flex-direction:column;height:100%;border:1px solid var(--t-border-strong);border-radius:6px;overflow:hidden;background:var(--t-bg-surface)}.xpath-builder__context-banner{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--t-purple);color:#fff;font-size:13px;flex-shrink:0}.xpath-builder__context-done{padding:4px 12px;border:1px solid rgba(255,255,255,.5);border-radius:4px;background:#ffffff26;color:#fff;cursor:pointer;font-size:12px;font-weight:600}.xpath-builder__context-done:hover{background:#ffffff4d}.xpath-builder__bar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--t-bg-elevated);border-bottom:1px solid var(--t-border);flex-wrap:wrap;flex-shrink:0}.xpath-builder__input-group{display:flex;align-items:center;gap:8px;flex:1;min-width:300px}.xpath-builder__label{font-weight:600;font-size:13px;color:var(--t-text-secondary);flex-shrink:0}.xpath-builder__input{flex:1;padding:6px 10px;border:1px solid var(--t-border-input);border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;background:var(--t-bg-input);color:var(--t-text)}.xpath-builder__input:focus{border-color:var(--t-border-focus);outline:none;box-shadow:0 0 0 2px var(--t-accent-ring)}.xpath-builder__match-info{flex-shrink:0}.xpath-builder__evaluated-bar{display:flex;align-items:center;gap:8px;padding:4px 12px;background:var(--t-accent-bg);border-bottom:1px solid var(--t-border);font-size:12px;flex-shrink:0;overflow:hidden}.xpath-builder__evaluated-label{color:var(--t-text-secondary);font-weight:600;flex-shrink:0}.xpath-builder__evaluated-value{font-family:Consolas,Monaco,Courier New,monospace;color:var(--t-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xpath-builder__main{display:flex;flex:1;overflow:hidden}.xpath-builder__pane{overflow:hidden;display:flex;flex-direction:column}.xpath-builder__pane--explorer{flex-shrink:0;border-right:1px solid var(--t-border)}.xpath-builder__pane--props{flex:1;min-width:200px;border-left:1px solid var(--t-border)}.xpath-builder__resize-handle{width:5px;flex-shrink:0;cursor:col-resize;background:transparent;position:relative;z-index:5;transition:background .15s}.xpath-builder__resize-handle:hover,.xpath-builder__resize-handle:active{background:var(--t-accent)}.match-indicator{position:relative}.match-indicator__badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;cursor:default;white-space:nowrap}.match-indicator__badge--success{background:var(--t-success-bg);color:var(--t-success-text);cursor:pointer}.match-indicator__badge--none{background:var(--t-badge-none-bg);color:var(--t-badge-none-text)}.match-indicator__details{position:absolute;top:100%;right:0;margin-top:4px;background:var(--t-bg-surface);border:1px solid var(--t-border);border-radius:4px;box-shadow:0 4px 12px #0000001a;padding:8px;z-index:10;min-width:200px;max-height:200px;overflow:auto}.match-indicator__details-header{font-size:12px;font-weight:600;margin-bottom:4px;color:var(--t-text-secondary)}.match-indicator__list{list-style:none;margin:0;padding:0}.match-indicator__list li{font-family:Consolas,monospace;font-size:12px;padding:2px 0;color:var(--t-text)}.app{display:flex;flex-direction:column;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--t-text)}.app__toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--t-toolbar-bg);color:var(--t-toolbar-text);flex-shrink:0}.app__title{font-size:18px;font-weight:600;margin:0}.app__toggle-btn{padding:6px 14px;background:var(--t-btn-toggle-bg);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.app__toggle-btn:hover{background:var(--t-btn-toggle-hover)}.app__input-section{border-bottom:1px solid var(--t-border);background:var(--t-bg-muted);flex-shrink:0}.app__input-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;font-size:13px;color:var(--t-text-secondary)}.app__load-btn{padding:6px 16px;background:var(--t-success);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.app__load-btn:hover{background:var(--t-success-hover)}.app__textarea{width:100%;padding:12px 16px;border:none;border-top:1px solid var(--t-border-subtle);font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.5;resize:vertical;background:var(--t-bg-input);box-sizing:border-box}.app__textarea:focus{outline:none;background:var(--t-bg-input-focus)}.app__builder{flex:1;overflow:hidden;padding:0}.app__token-bag{flex-shrink:0;border-top:2px solid var(--t-toolbar-border);background:var(--t-token-bag-bg)}.app__token-bag-header{padding:6px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--t-text-secondary);background:var(--t-token-bag-header-bg)}.app__token-bag-content{padding:8px 16px;display:flex;flex-wrap:wrap;gap:8px}.app__token-entry{display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--t-bg-surface);border:1px solid var(--t-border-strong);border-radius:4px;font-size:13px;font-family:Consolas,Monaco,Courier New,monospace}.app__token-key{color:var(--t-code-token);font-weight:600}.app__token-sep{color:var(--t-text-faint)}.app__token-value{color:var(--t-code-value)}.app__incoming-tokens{border-bottom:1px solid var(--t-border)}.app__token-editor{padding:8px 16px 12px;display:flex;flex-direction:column;gap:6px}.app__token-editor-row{display:flex;align-items:center;gap:6px;font-family:Consolas,monospace;font-size:13px}.app__token-editor-key{width:120px;padding:4px 8px;border:1px solid var(--t-border-input);border-radius:4px;font-family:Consolas,monospace;font-size:13px;font-weight:600;color:var(--t-code-token)}.app__token-editor-val{flex:1;padding:4px 8px;border:1px solid var(--t-border-input);border-radius:4px;font-family:Consolas,monospace;font-size:13px;color:var(--t-code-value)}.app__token-editor-remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--t-text-faint);cursor:pointer;font-size:16px;border-radius:3px}.app__token-editor-remove:hover{background:var(--t-danger-bg);color:var(--t-danger)}.app__token-editor-add{align-self:flex-start;padding:4px 12px;border:1px dashed var(--t-border-input);border-radius:4px;background:none;color:var(--t-accent);cursor:pointer;font-size:12px;font-weight:500}.app__token-editor-add:hover{border-color:var(--t-accent);background:var(--t-accent-bg)}
