:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;color:var(--text-primary);background:var(--bg-primary)}#root{height:100vh}.count-badge{display:inline-block;font-size:.7em;font-family:system-ui,-apple-system,sans-serif;padding:1px 4px;border-radius:3px;background:var(--bg-tertiary);white-space:nowrap;line-height:1.3}.count-badge-parents{color:var(--color-badge-parents);font-weight:700}.count-badge-children{color:var(--color-badge-children);font-weight:700}.count-badge-descendants{color:var(--color-badge-descendants)}.count-badge-expanded{color:var(--color-badge-expanded)!important;background:var(--color-badge-expanded-bg)}.count-badge-interactive{cursor:pointer;transition:background .15s}.count-badge-interactive:hover{background:var(--bg-secondary)}.desc-tooltip{z-index:100;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:8px 10px;min-width:180px;max-width:300px;box-shadow:var(--shadow-tooltip);font-size:.8rem}.desc-tooltip-title{font-weight:600;color:var(--text-primary);margin-bottom:2px;white-space:normal;word-break:break-word}.desc-tooltip-total{font-size:.7rem;color:var(--text-secondary);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border-color)}.desc-tooltip-level{display:flex;justify-content:space-between;align-items:center;padding:3px 0;border-bottom:1px solid var(--border-color)}.desc-tooltip-level:last-child{border-bottom:none}.desc-tooltip-level-label{font-size:.75rem;color:var(--text-primary)}.desc-tooltip-level-btn{padding:1px 8px;font-size:.7rem;background:var(--color-hover-bg);border:1px solid var(--accent-blue);border-radius:3px;color:var(--accent-cyan);cursor:pointer;white-space:nowrap}.desc-tooltip-level-btn:hover{background:var(--color-btn-blue-bg-active);color:var(--text-primary)}.tree-stats-popover{position:fixed;z-index:200;min-width:220px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:10px 14px;box-shadow:var(--shadow-popover);color:var(--text-primary);font-size:.82rem;line-height:1.4}.tree-stats-title{font-size:.88rem;font-weight:600;color:var(--accent-cyan);margin:0 0 8px}.tree-stats-table{border-collapse:collapse;width:100%}.tree-stats-table td{padding:2px 0}.tree-stats-label{color:var(--text-secondary);padding-right:16px;white-space:nowrap}.tree-stats-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:500}.tree-stats-hint{font-size:.75rem;color:var(--text-secondary);opacity:.7}.tree-stats-derived .tree-stats-label,.tree-stats-derived .tree-stats-value{font-size:.78rem;color:var(--text-secondary);font-weight:400}.tree-stats-separator td{padding:4px 0;border-bottom:1px solid var(--border-color)}.tree-stats-filter-note{margin:8px 0 0;font-size:.78rem;color:var(--accent-yellow);font-style:italic}.tree-search{position:relative;padding:6px 8px;border-bottom:1px solid var(--border-color)}.tree-search-bar{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.tree-search-input{flex:1;min-width:0;padding:4px 8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:3px;color:var(--color-search-match);font-size:.85rem;outline:none}.tree-search-input:focus{border-color:var(--color-link)}.tree-search-input::placeholder{color:var(--text-secondary)}.tree-search-count{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.tree-search-clear{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 2px}.tree-search-clear:hover{color:var(--text-primary)}.tree-search-spinner{width:14px;height:14px;border:2px solid var(--border-color);border-top-color:var(--color-link);border-radius:50%;animation:tree-search-spin .6s linear infinite;flex-shrink:0}@keyframes tree-search-spin{to{transform:rotate(360deg)}}.tree-search-advanced-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.75rem;white-space:nowrap;padding:2px 4px}.tree-search-advanced-toggle:hover,.tree-search-advanced-toggle.active{color:var(--color-link)}.tree-search-advanced{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 0 2px;font-size:.75rem;color:var(--text-secondary)}.tree-search-advanced-label{font-weight:600}.tree-search-field-checkbox{display:flex;align-items:center;gap:3px;cursor:pointer;-webkit-user-select:none;user-select:none}.tree-search-field-checkbox input[type=checkbox]{margin:0;accent-color:var(--color-link)}.tree-search-field-hint{font-style:italic;opacity:.7}.tree-search-dropdown{position:absolute;left:8px;right:8px;top:100%;z-index:100;max-height:360px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border-color);border-top:none;border-radius:0 0 4px 4px;box-shadow:var(--shadow-tooltip)}.tree-search-dropdown-loading,.tree-search-dropdown-empty{padding:8px 12px;font-size:.8rem;color:var(--text-secondary);font-style:italic}.tree-search-result{padding:5px 10px;cursor:pointer;font-size:.83rem;display:flex;align-items:baseline;gap:8px;border-left:3px solid transparent}.tree-search-result:hover,.tree-search-result.keyboard-selected{background:var(--bg-secondary);border-left-color:var(--color-link)}.tree-search-result.indented{padding-left:26px}.tree-search-result-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-search-result-title em{font-style:normal;color:var(--color-search-match);font-weight:600}.tree-search-result-property{font-size:.7rem;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;opacity:.8}.tree-node.filter-ancestor .tree-node-title{color:var(--text-secondary)}.tree-content{overflow-y:auto;padding:8px 0}.tree-node-container{-webkit-user-select:none;user-select:none}.tree-node{display:flex;align-items:center;padding:4px 8px;cursor:pointer;border-radius:3px;min-height:28px}.tree-node:hover{background:var(--bg-tertiary)}.tree-node.selected{background:var(--color-selected-bg)}.tree-node.selected .tree-node-title{color:var(--color-selected)}.tree-node.hovered{background:var(--color-hover-bg)}.tree-node.hovered .tree-node-title{color:var(--color-hover)}.tree-node.loading{opacity:.6}.tree-node.highlighted{background:var(--color-hover-bg)}.tree-node.highlighted .tree-node-title{color:var(--color-hover)}.tree-node-expand{width:20px;height:20px;min-width:20px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.75rem;cursor:pointer;border-radius:3px}.tree-node-expand:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tree-node-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.tree-node-badges{display:flex;gap:2px;margin-left:8px;flex-shrink:0}.badge-slot{display:inline-flex;justify-content:flex-end;min-width:28px}.badge-slot-wide{min-width:48px}.tree-node.linked{opacity:.6}.header-hint{font-size:.75rem;font-weight:400;color:var(--text-secondary)}.tree-header{display:flex;align-items:center;gap:8px}.tree-mode-toggle{display:flex;gap:2px}.tree-mode-btn{display:flex;align-items:center;gap:3px;padding:2px 6px;background:none;border:1px solid transparent;border-radius:3px;color:var(--text-secondary);font-size:.72rem;cursor:pointer;white-space:nowrap}.tree-mode-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tree-mode-btn.active{border-color:var(--color-link);color:var(--color-link)}.tree-stats-btn{display:flex;align-items:center;justify-content:center;padding:2px;background:none;border:1px solid transparent;border-radius:3px;color:var(--text-secondary);cursor:pointer;margin-left:auto}.tree-stats-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tree-stats-btn.active{border-color:var(--color-link);color:var(--color-link)}.node-link-wrapper{position:relative;flex:1;min-height:0}.node-link-content{position:absolute;inset:0;overflow:auto}.node-link-zoom-spacer{position:relative;width:var(--zoom-w, 0);height:var(--zoom-h, 0)}.node-link-zoom-wrapper{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.node-link-svg{display:block;overflow:visible}.node-link-node{cursor:pointer}.node-link-node rect{fill:var(--bg-tertiary);stroke:var(--border-color);stroke-width:1px}.node-link-node:hover rect{stroke:var(--accent-cyan)}.node-link-node:hover text.node-title{fill:var(--color-hover)}.node-link-node.selected rect{stroke:var(--accent-blue);stroke-width:2px}.node-link-node.focus rect{fill:var(--color-selected-bg);stroke:var(--accent-yellow);stroke-width:2px}.node-link-node.ancestor rect{fill:var(--bg-tertiary);stroke:var(--border-color);opacity:.7}.node-link-node.ancestor text.node-title{opacity:.7}.node-link-node text.node-title{fill:var(--text-primary);font-size:11px;font-weight:500}.node-link-node.focus text.node-title{fill:var(--accent-yellow)}.node-link-edge{fill:none;stroke:var(--border-color);stroke-width:1.5px}.node-link-edge.canonical{stroke:var(--text-secondary)}.node-link-edge.linked{stroke:var(--text-secondary);stroke-dasharray:4 2;opacity:.5}.node-link-edge.cluster-edge{stroke:var(--accent-blue);stroke-dasharray:4 2;opacity:.6}.node-link-cluster{cursor:pointer}.node-link-cluster rect{fill:var(--bg-tertiary);stroke:var(--accent-blue);stroke-width:1.5px;stroke-dasharray:4 2}.node-link-cluster:hover rect{stroke:var(--accent-cyan);fill:var(--color-btn-blue-bg-subtle)}.cluster-label{fill:var(--accent-blue);font-size:11px;font-weight:500}.cluster-sublabel{fill:var(--text-secondary);font-size:9px}.node-link-node.manual rect{stroke-dasharray:4 2}.nl-close-btn{opacity:0;transition:opacity .15s}.node-link-node:hover .nl-close-btn{opacity:.6}.nl-close-btn:hover{opacity:1!important}.nl-close-icon{fill:var(--text-secondary);font-size:12px;font-weight:700}.nl-close-btn:hover .nl-close-icon{fill:var(--accent-orange)}.node-link-edge.edge-connected{stroke:var(--accent-cyan);stroke-width:2px;opacity:1}.node-link-edge.edge-dimmed{opacity:.12}.node-link-node.node-dimmed{opacity:.35}.node-link-node.highlighted rect{stroke:var(--color-hover);stroke-width:2px}.nl-header{display:flex;align-items:center;gap:8px}.nl-header-title{white-space:nowrap}.node-link-controls{display:flex;gap:4px;margin-left:auto}.zoom-btn{width:24px;height:24px;padding:0;font-size:.85rem;line-height:1;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:background .2s}.zoom-btn:hover{opacity:1;background:var(--bg-secondary);color:var(--text-primary)}.toolbar-separator{width:1px;height:16px;align-self:center;background:var(--border-color);opacity:.5;margin:0 2px}.reset-neighborhood-btn{color:var(--accent-orange)}.reset-neighborhood-btn:hover{color:var(--text-primary);background:var(--color-btn-orange-bg)}.mode-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.mode-btn.active{background:var(--color-btn-blue-bg);border-color:var(--accent-blue);color:var(--color-link)}.mode-btn.active:hover{background:var(--color-btn-blue-bg-active)}.undo-btn,.redo-btn{display:flex;align-items:center;justify-content:center}.zoom-btn:disabled{opacity:.3;cursor:default}.zoom-btn:disabled:hover{background:var(--bg-tertiary);color:var(--text-secondary);opacity:.3}.layout-toggle-btn{display:flex;align-items:center;justify-content:center}.layout-toggle-btn:hover{color:var(--text-primary)}.layout-toggle-btn.active{background:var(--color-btn-blue-bg);border-color:var(--accent-blue);color:var(--accent-cyan)}.layout-toggle-btn.active:hover{background:var(--color-btn-blue-bg-active)}.zoom-reset-btn{font-size:.65rem;font-weight:600;letter-spacing:-.5px}.node-link-svg.force-mode .node-link-node{cursor:grab}.node-link-svg.force-mode .node-link-node:active{cursor:grabbing}.layout-progress-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--overlay-progress);z-index:5}.layout-progress-content{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.85rem;box-shadow:var(--shadow-popover)}.layout-cancel-btn{padding:4px 12px;font-size:.8rem;background:var(--color-btn-orange-bg);border:1px solid var(--accent-orange);border-radius:4px;color:var(--accent-orange);cursor:pointer;transition:background .15s}.layout-cancel-btn:hover{background:var(--color-btn-orange-bg-hover);color:var(--text-primary)}.tooltip-node-header{margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border-color)}.tooltip-node-title{font-size:.8rem;font-weight:600;color:var(--text-primary);white-space:normal;word-break:break-word}.tooltip-node-stats{font-size:.7rem;color:var(--text-secondary);margin-top:2px}.node-info-tooltip{pointer-events:none}.badge-tooltip{position:absolute;z-index:10;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:8px 10px;min-width:180px;max-width:300px;box-shadow:var(--shadow-tooltip)}.badge-tooltip-header{font-size:.8rem;font-weight:600;color:var(--accent-cyan);margin-bottom:4px}.badge-tooltip-visible{font-size:.75rem;color:var(--text-secondary);font-style:italic;margin-bottom:4px}.badge-tooltip-add-all{display:block;width:100%;padding:3px 6px;margin-bottom:4px;font-size:.75rem;background:var(--color-hover-bg);border:1px solid var(--accent-blue);border-radius:3px;color:var(--accent-cyan);cursor:pointer;text-align:center}.badge-tooltip-add-all:hover{background:var(--color-btn-blue-bg-active);color:var(--text-primary)}.badge-tooltip-list{list-style:none;margin:0;padding:0;max-height:240px;overflow-y:auto}.badge-tooltip-list li{font-size:.78rem;color:var(--text-primary);padding:3px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border-radius:3px}.badge-tooltip-list li:hover{background:var(--bg-tertiary);color:var(--accent-cyan)}.badge-tooltip-level{padding:2px 0;border-bottom:1px solid var(--border-color)}.badge-tooltip-level:last-of-type{border-bottom:none}.badge-tooltip-level-header{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-primary);padding:2px 0}.badge-tooltip-level-btn{padding:1px 6px;font-size:.7rem;background:var(--color-hover-bg);border:1px solid var(--accent-blue);border-radius:3px;color:var(--accent-cyan);cursor:pointer;white-space:nowrap}.badge-tooltip-level-btn:hover{background:var(--color-btn-blue-bg-active);color:var(--text-primary)}.detail-section{margin-bottom:16px}.detail-title{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:var(--color-selected)}.detail-title.preview{color:var(--color-hover)}.detail-fsn{font-size:.85rem;color:var(--text-secondary);margin:0 0 8px}.detail-definition{margin:0 0 12px;font-size:.9rem;line-height:1.4;color:var(--text-primary)}.detail-definition p{margin:0 0 4px}.detail-definition ul{margin:4px 0;padding-left:20px}.detail-meta{margin-bottom:12px}.detail-meta-item{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:.85rem}.meta-label{color:var(--text-secondary)}.meta-value{font-family:monospace;background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;font-size:.8rem}.detail-actions{margin-top:12px}.detail-link{color:var(--color-link);text-decoration:none;font-size:.85rem}.detail-link:hover{text-decoration:underline}.preview-badge{margin-left:8px;font-size:.7rem;padding:1px 6px;border-radius:3px;background:var(--color-hover-bg);color:var(--color-hover);font-weight:500}.section-header{display:flex;align-items:center;gap:8px;margin:0;padding:8px 0;font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border-top:1px solid var(--border-color)}.section-header:hover{color:var(--text-primary)}.section-toggle{font-size:.7rem;width:12px;color:var(--text-secondary)}.section-count{margin-left:auto;font-size:.75rem;padding:2px 6px;background:var(--bg-tertiary);border-radius:10px}.section-count.coming-soon{font-style:italic;background:transparent;color:var(--text-secondary)}.detail-section.collapsed .section-content{display:none}.section-content{padding:8px 0}.no-items{font-size:.85rem;color:var(--text-secondary);font-style:italic}.relation-list{list-style:none;margin:0;padding:0}.relation-list li{padding:2px 0;font-size:.85rem}.relation-list li.highlighted{background:var(--color-highlight-row);border-radius:3px}.relation-item-row{display:flex;align-items:center;gap:6px;padding:2px 0;cursor:pointer}.relation-item-row:hover{color:var(--color-link)}.relation-item-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relation-sublist{list-style:none;padding:0 0 0 12px;border-left:2px solid var(--border-color);margin:0 0 0 4px}.relation-sublist-parents{border-left-color:var(--color-badge-parents)}.relation-sublist-children{border-left-color:var(--color-badge-children)}.sublist-item{padding:2px 0;font-size:.8rem;color:var(--text-secondary);cursor:pointer}.sublist-item:hover{color:var(--color-link)}.ancestor-path-list{list-style:none;margin:0;padding:0}.ancestor-path-item{padding:4px 6px;border-radius:3px;border-left:2px solid transparent;font-size:.8rem;cursor:pointer;line-height:1.4;white-space:nowrap;overflow-x:auto;scrollbar-width:thin}.ancestor-path-item:hover{background:var(--color-hover-bg)}.ancestor-path-item.active{border-left-color:var(--color-selected)}.path-segment{display:inline-block;max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.path-ellipsis{color:var(--text-secondary);cursor:help}.path-separator{color:var(--text-secondary)}.path-target{display:inline-block;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;font-weight:600;color:var(--color-selected)}.path-target.preview{color:var(--color-hover)}.path-cycle-btn{background:none;border:1px solid var(--border-color);border-radius:3px;color:var(--text-secondary);cursor:pointer;font-size:.7rem;padding:1px 5px;line-height:1}.path-cycle-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.path-cycle-controls{display:flex;gap:2px;margin-left:auto}.load-more-btn{margin-top:8px;padding:4px 8px;font-size:.8rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-secondary);cursor:pointer}.load-more-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.resume-modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--overlay-backdrop);z-index:20}.resume-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:20px 24px;min-width:260px;max-width:360px;box-shadow:var(--shadow-popup)}.resume-modal-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:12px}.resume-modal-info{margin-bottom:16px}.resume-modal-focus{font-size:.85rem;color:var(--text-primary);margin-bottom:4px}.resume-modal-focus strong{color:var(--accent-yellow)}.resume-modal-stats{font-size:.75rem;color:var(--text-secondary)}.resume-modal-actions{display:flex;gap:8px}.resume-modal-btn{flex:1;padding:6px 12px;font-size:.8rem;border-radius:4px;cursor:pointer;transition:background .15s}.resume-btn{background:var(--color-btn-blue-bg);border:1px solid var(--accent-blue);color:var(--accent-cyan)}.resume-btn:hover{background:var(--color-btn-blue-bg-hover);color:var(--text-primary)}.fresh-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.fresh-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-secondary)}.about-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--overlay-backdrop);z-index:18}.about-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;max-width:560px;width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-popup)}.about-header{padding:20px 24px 12px;border-bottom:1px solid var(--border-color)}.about-header h2{margin:0 0 4px;font-size:1.1rem;color:var(--accent-blue)}.about-header .about-subtitle{font-size:.8rem;color:var(--text-secondary)}.about-body{flex:1;overflow-y:auto;padding:16px 24px}.about-body h3{margin:16px 0 8px;font-size:.9rem;font-weight:600;color:var(--text-primary)}.about-body h3:first-child{margin-top:0}.about-body p{margin:0 0 8px;font-size:.82rem;line-height:1.5;color:var(--text-primary)}.shortcut-table{width:100%;border-collapse:collapse;font-size:.82rem;margin-bottom:8px}.shortcut-table td{padding:3px 8px 3px 0;color:var(--text-primary);vertical-align:baseline}.shortcut-table td:first-child{white-space:nowrap;width:1%}.shortcut-table kbd{font-family:monospace;font-size:.78rem;padding:1px 5px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary)}.about-coming-soon{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-color)}.about-coming-soon h3{color:var(--accent-yellow)}.about-body ul{margin:0 0 8px;padding-left:20px;font-size:.82rem;line-height:1.6;color:var(--text-primary)}.about-body li p{margin:0}.about-coming-soon ul{color:var(--text-secondary)}.about-footer{padding:12px 24px;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:12px}.about-footer label{font-size:.78rem;color:var(--text-secondary);display:flex;align-items:center;gap:6px;cursor:pointer}.about-footer input[type=checkbox]{accent-color:var(--accent-blue)}.about-close-btn{padding:6px 16px;font-size:.8rem;border-radius:4px;cursor:pointer;background:var(--color-btn-blue-bg);border:1px solid var(--accent-blue);color:var(--accent-cyan);transition:background .15s}.about-close-btn:hover{background:var(--color-btn-blue-bg-hover);color:var(--text-primary)}.help-popover{position:fixed;z-index:200;max-width:380px;min-width:240px;background:var(--bg-secondary);border:1px solid var(--accent-blue);border-radius:6px;padding:12px 14px;box-shadow:var(--shadow-popover);color:var(--text-primary);font-size:.85rem;line-height:1.45;cursor:default!important}.help-popover *{cursor:default!important}.help-popover-title{font-size:.95rem;font-weight:600;color:var(--accent-blue);margin:0 0 6px}.help-popover-description{margin:0 0 8px;color:var(--text-primary)}.help-popover-description p{margin:0}.help-popover-interactions{margin:0 0 8px;padding-left:18px}.help-popover-interactions li{margin-bottom:3px;color:var(--text-primary)}.help-popover-interactions li p{margin:0}.help-popover-shortcut{margin:0 0 6px;color:var(--accent-yellow);font-size:.8rem}.help-popover-shortcut kbd{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;padding:1px 5px;font-family:inherit;font-size:.8rem}.help-popover-context{margin:0;color:var(--text-secondary);font-size:.8rem;font-style:italic}.help-popover-context p{margin:0}.help-popover-unknown{color:var(--text-secondary);font-style:italic}[data-theme=dark]{--bg-primary: #1e1e1e;--bg-secondary: #252526;--bg-tertiary: #2d2d30;--text-primary: #d4d4d4;--text-secondary: #808080;--accent-blue: #569cd6;--accent-cyan: #4fc1ff;--accent-yellow: #dcdcaa;--accent-orange: #ce9178;--accent-green: #6a9955;--accent-red: #f44747;--border-color: #3c3c3c;--color-selected: var(--accent-yellow);--color-selected-bg: rgba(220, 220, 170, .18);--color-hover: var(--accent-blue);--color-hover-bg: rgba(86, 156, 214, .15);--color-search-match: var(--accent-orange);--color-badge-parents: var(--accent-cyan);--color-badge-children: var(--accent-green);--color-badge-descendants: #5a8a50;--color-badge-expanded: var(--accent-red);--color-badge-expanded-bg: rgba(244, 71, 71, .1);--color-link: var(--accent-cyan);--color-btn-blue-bg: rgba(86, 156, 214, .2);--color-btn-blue-bg-hover: rgba(86, 156, 214, .35);--color-btn-blue-bg-subtle: rgba(86, 156, 214, .1);--color-btn-blue-bg-active: rgba(86, 156, 214, .3);--color-btn-orange-bg: rgba(206, 145, 120, .15);--color-btn-orange-bg-hover: rgba(206, 145, 120, .3);--overlay-backdrop: rgba(30, 30, 30, .7);--overlay-progress: rgba(30, 30, 30, .6);--shadow-popup: 0 8px 24px rgba(0, 0, 0, .4);--shadow-tooltip: 0 4px 12px rgba(0, 0, 0, .3);--shadow-popover: 0 4px 16px rgba(0, 0, 0, .5);--color-highlight-row: rgba(86, 156, 214, .1);color-scheme:dark}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f7f8fa;--bg-tertiary: #eef0f3;--text-primary: #1a1a1a;--text-secondary: #555555;--accent-blue: #0056a3;--accent-cyan: #006bb3;--accent-yellow: #6b4f1e;--accent-orange: #b81414;--accent-green: #1a6b00;--accent-red: #c62828;--border-color: #c8c8c8;--color-selected: var(--accent-yellow);--color-selected-bg: rgba(107, 79, 30, .14);--color-hover: var(--accent-blue);--color-hover-bg: rgba(0, 86, 163, .12);--color-search-match: var(--accent-orange);--color-badge-parents: var(--accent-cyan);--color-badge-children: var(--accent-green);--color-badge-descendants: #2d6600;--color-badge-expanded: var(--accent-red);--color-badge-expanded-bg: rgba(211, 47, 47, .08);--color-link: var(--accent-cyan);--color-btn-blue-bg: rgba(0, 86, 163, .14);--color-btn-blue-bg-hover: rgba(0, 86, 163, .24);--color-btn-blue-bg-subtle: rgba(0, 86, 163, .08);--color-btn-blue-bg-active: rgba(0, 86, 163, .2);--color-btn-orange-bg: rgba(184, 20, 20, .1);--color-btn-orange-bg-hover: rgba(184, 20, 20, .18);--overlay-backdrop: rgba(0, 0, 0, .3);--overlay-progress: rgba(255, 255, 255, .6);--shadow-popup: 0 8px 24px rgba(0, 0, 0, .15);--shadow-tooltip: 0 4px 12px rgba(0, 0, 0, .12);--shadow-popover: 0 4px 16px rgba(0, 0, 0, .18);--color-highlight-row: rgba(0, 86, 163, .08);color-scheme:light}*{box-sizing:border-box}:root{--panel-gap: 8px}html,body,#root{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary)}.app{height:100%;display:flex;flex-direction:column;overflow:hidden}.app-header{display:flex;align-items:baseline;gap:16px;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.app-header h1{margin:0;font-size:1.25rem;font-weight:600}.app-header h1 a{color:var(--accent-blue);text-decoration:none}.app-header h1 a:hover{text-decoration:underline}.app-subtitle{font-size:.85rem;color:var(--text-secondary)}.github-link{margin-left:auto;color:var(--text-secondary);display:flex;align-items:center;transition:color .15s}.github-link:hover{color:var(--text-primary)}.about-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;font-size:1.15rem;line-height:1;display:flex;align-items:center;transition:color .15s}.about-button:hover{color:var(--text-primary)}.theme-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1;display:flex;align-items:center;transition:color .15s}.theme-toggle:hover{color:var(--text-primary)}.share-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;display:flex;align-items:center;transition:color .15s}.share-button:hover:not(:disabled){color:var(--text-primary)}.share-button:disabled{opacity:.3;cursor:default}.share-button.copied{color:var(--accent-green)}.help-toggle{background:none;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;padding:2px 8px;font-size:.95rem;font-weight:600;transition:color .15s,border-color .15s,background .15s}.help-toggle:hover{color:var(--text-primary);border-color:var(--text-secondary)}.help-toggle.active{color:var(--accent-blue);border-color:var(--accent-blue);background:var(--color-btn-blue-bg)}.help-toggle:focus-visible{outline:1px solid var(--accent-blue);outline-offset:1px}.help-toggle:focus:not(:focus-visible){outline:none}body.help-mode,body.help-mode *{cursor:not-allowed!important}body.help-mode [data-help-id],body.help-mode [data-help-id] *{cursor:help!important}.layout-toggle{margin-left:0;background:none;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;padding:4px 6px;display:flex;align-items:center;transition:color .15s,border-color .15s}.layout-toggle:hover{color:var(--text-primary);border-color:var(--text-secondary)}.app-main{flex:1;display:flex;padding:var(--panel-gap);gap:0;min-height:0;overflow:hidden}.app-main.two-row{flex-direction:column}.layout-top{display:flex;flex-shrink:0;min-height:0;height:calc(var(--horz) * 100% - 4px)}.app-main.two-col{flex-direction:row}.layout-right{display:flex;flex-direction:column;min-height:0;flex-shrink:0}.two-row .panel-vert{width:calc(var(--vert) * 100% - 4px)}.two-row .panel-vert-complement{width:calc((1 - var(--vert)) * 100% - 4px)}.two-col .panel-vert{width:calc(var(--vert) * 100% - 4px)}.two-col .panel-vert-complement{width:calc((1 - var(--vert)) * 100% - 4px)}.two-row .panel-horz-complement{height:calc((1 - var(--horz)) * 100% - 4px)}.two-col .panel-horz{height:calc(var(--horz) * 100% - 4px)}.two-col .panel-horz-complement{height:calc((1 - var(--horz)) * 100% - 4px)}.panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;min-width:0;min-height:0;flex-shrink:0}.panel-divider.vertical{width:var(--panel-gap);cursor:col-resize;flex-shrink:0;position:relative}.panel-divider.vertical:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:32px;background:var(--border-color);border-radius:1px;opacity:0;transition:opacity .15s}.panel-divider.vertical:hover:after{opacity:1}.panel-divider.horizontal{height:var(--panel-gap);cursor:row-resize;flex-shrink:0;position:relative}.panel-divider.horizontal:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:2px;background:var(--border-color);border-radius:1px;opacity:0;transition:opacity .15s}.panel-divider.horizontal:hover:after{opacity:1}.panel-divider.collapsed-before,.panel-divider.collapsed-after{overflow:visible;z-index:10}.panel-divider.collapsed-before:after,.panel-divider.collapsed-after:after{opacity:1}.panel-divider.vertical.collapsed-before:before,.panel-divider.vertical.collapsed-after:before{content:"";position:absolute;top:0;height:100%;width:24px;cursor:col-resize}.panel-divider.vertical.collapsed-before:before{left:0}.panel-divider.vertical.collapsed-after:before{right:0}.panel-divider.horizontal.collapsed-before:before,.panel-divider.horizontal.collapsed-after:before{content:"";position:absolute;left:0;width:100%;height:24px;cursor:row-resize}.panel-divider.horizontal.collapsed-before:before{top:0}.panel-divider.horizontal.collapsed-after:before{bottom:0}.panel-header{padding:8px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-size:.85rem;font-weight:500;color:var(--text-secondary)}.panel-content{flex:1;overflow:auto;padding:8px}.placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-style:italic}.error-boundary-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-secondary)}.error-boundary-fallback button{padding:6px 16px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer}.error-boundary-fallback button:hover{background:var(--accent-blue);color:#fff}
