/* JSON 트리 편집기 */
.je-text { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: var(--text-sm, .875rem); line-height: 1.6; white-space: pre; overflow-wrap: normal; overflow-x: auto; tab-size: 2; }
.je-search { margin-bottom: .625rem; }
.je-stat { font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }
.je-tree { max-height: 32rem; overflow: auto; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: var(--text-sm, .875rem); }
.je-row { display: flex; align-items: center; gap: .375rem; padding: .125rem 0; border-radius: 4px; }
.je-row.is-hit { background: var(--warning-soft, #fdf0e3); }
.je-toggle { width: 1.125rem; height: 1.125rem; flex: 0 0 auto; border: 0; background: none; cursor: pointer; color: var(--text-muted, #626977); font-size: .625rem; padding: 0; }
.je-toggle:hover { color: var(--accent-primary, #3b6fe0); }
.je-spacer { width: 1.125rem; flex: 0 0 auto; }
.je-key { color: var(--accent-text, #2c56b8); font-weight: 600; flex: 0 0 auto; }
.je-type { font-size: .6875rem; color: var(--text-muted, #626977); background: var(--surface-2, #f1f3f7); padding: 0 .3125rem; border-radius: 3px; flex: 0 0 auto; }
.je-value { flex: 1 1 auto; min-width: 4rem; border: 1px solid transparent; border-radius: 3px; padding: .0625rem .25rem; font-family: inherit; font-size: inherit; background: transparent; }
.je-value:hover { border-color: var(--border-color, #e5e8ed); }
.je-value:focus { border-color: var(--accent-primary, #3b6fe0); background: var(--bg-surface, #fff); outline: none; }
.je-value-string { color: #1f7a48; }
.je-value-number { color: #b3372c; }
.je-value-boolean { color: #6c5ce0; font-weight: 600; }
.je-value-null { color: var(--text-muted, #626977); font-style: italic; }
.je-kids { padding-left: 1.125rem; border-left: 1px dotted var(--border-color, #e5e8ed); margin-left: .5rem; }
.je-alert { margin-top: var(--spacing-md, 1rem); }
.je-note { margin-top: var(--spacing-lg, 1.5rem); }
.je-toobig { padding: 1rem; color: var(--warning-text, #96521f); background: var(--warning-soft, #fdf0e3); border-radius: var(--radius-sm, 6px); font-size: var(--text-sm, .875rem); line-height: 1.6; }
