/* Tree View Styles */
.json-key {
    color: #9cdcfe;
}

.json-string {
    color: #ce9178;
}

.json-number {
    color: #b5cea8;
}

.json-boolean {
    color: #569cd6;
}

.json-null {
    color: #569cd6;
}

.json-bracket {
    color: #ffd700;
}

.tree-node {
    margin-left: 20px;
    border-left: 1px solid #3e3e3e;
    padding-left: 8px;
}

.tree-line {
    display: flex;
    align-items: flex-start;
    padding: 1px 0;
}

.tree-toggle {
    cursor: pointer;
    user-select: none;
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 4px;
    color: #808080;
    font-size: 10px;
}

.tree-toggle:hover {
    color: #d4d4d4;
}

.tree-toggle.collapsed::before {
    content: '▶';
}

.tree-toggle:not(.collapsed)::before {
    content: '▼';
}

.tree-toggle.leaf::before {
    content: '•';
    font-size: 8px;
}

.tree-content {
    display: block;
}

.tree-content.collapsed {
    display: none;
}

.tree-key {
    color: #9cdcfe;
    margin-right: 4px;
}

.tree-colon {
    color: #d4d4d4;
    margin-right: 4px;
}

.tree-comma {
    color: #d4d4d4;
}

.tree-preview {
    color: #808080;
    font-style: italic;
    margin-left: 4px;
}

.view-as-table-btn {
    margin-left: 8px;
    opacity: 0;
    transition: opacity 0.2s;
}

.tree-line:hover .view-as-table-btn {
    opacity: 1;
}
