:root{--bg:#fff;--bg-soft:#f6f7f9;--fg:#1a1d21;--fg-dim:#7a828c;--border:#e2e5e9;--accent:#2563eb;--mono:"SF Mono", ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--sel-bg:#2563eb38;--hl-selected:#2563eb29;--hl-ancestor:#2563eb0f;--hl-caret:#2563eb;--line-hl:#2563eb0b;--err:#dc2626;--syn-key:#953800;--syn-string:#0a3069;--syn-number:#0550ae;--syn-atom:#8250df;--row-height:26px}@media (prefers-color-scheme:dark){:root{--bg:#111418;--bg-soft:#191d23;--fg:#e5e7eb;--fg-dim:#8b939e;--border:#2a2f36;--accent:#60a5fa;--sel-bg:#60a5fa47;--hl-selected:#60a5fa38;--hl-ancestor:#60a5fa14;--hl-caret:#60a5fa;--line-hl:#60a5fa0f;--err:#f87171;--syn-key:#ffa657;--syn-string:#a5d6ff;--syn-number:#79c0ff;--syn-atom:#d2a8ff}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);background:var(--bg);color:var(--fg);font-size:13px}button,select,input{font:inherit;color:inherit}.app{grid-template-rows:auto 1fr auto;height:100%;display:grid}.toolbar{border-bottom:1px solid var(--border);background:var(--bg-soft);align-items:center;gap:8px;padding:6px 10px;display:flex}.toolbar-title{letter-spacing:.02em;margin-right:8px;font-weight:600}.toolbar-btn,.toolbar-select{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;padding:3px 10px}.toolbar-btn:hover:not(:disabled){border-color:var(--accent)}.toolbar-btn:disabled{opacity:.45;cursor:default}.toolbar-spacer{flex:1}.split{min-height:0;display:grid}.split-pane{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.split-divider{background:var(--border);cursor:col-resize}.split-divider:hover,.split-divider:focus-visible{background:var(--accent);outline:none}.statusbar{border-top:1px solid var(--border);background:var(--bg-soft);font-family:var(--mono);color:var(--fg-dim);align-items:center;gap:16px;padding:4px 10px;font-size:11.5px;display:flex}.statusbar-path{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.statusbar-msg--error{color:var(--err)}.statusbar-right{white-space:nowrap;margin-left:auto}.breadcrumb{border-bottom:1px solid var(--border);font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:2px;min-height:28px;padding:5px 8px;font-size:11.5px;display:flex}.breadcrumb-seg{cursor:pointer;color:var(--fg-dim);background:0 0;border:none;border-radius:4px;padding:1px 3px}.breadcrumb-seg:hover{color:var(--accent);background:var(--hl-ancestor)}.breadcrumb-seg:last-child{color:var(--fg);font-weight:600}.breadcrumb-empty{color:var(--fg-dim)}.textpane{height:100%;overflow:hidden}.textpane .cm-editor{height:100%}.tree{flex-direction:column;flex:1;min-height:0;display:flex}.tree--stale .tree-scroll{filter:grayscale(.9);opacity:.55;pointer-events:auto}.tree-banner{padding:5px 10px;font-size:12px}.tree-banner--error{background:color-mix(in srgb, var(--err) 12%, var(--bg));color:var(--err);border-bottom:1px solid color-mix(in srgb, var(--err) 30%, var(--bg))}.tree-banner--info{color:var(--fg-dim)}.tree-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.tree-scroll{outline:none;flex:1;position:relative;overflow:auto}.tree-spacer{position:relative}.tree-row{height:var(--row-height);font-family:var(--mono);white-space:nowrap;cursor:default;border-left:2px solid #0000;align-items:center;gap:5px;font-size:12.5px;display:flex;position:absolute;left:0;right:0}.tree-row:hover{background:var(--line-hl)}.row--stale{filter:grayscale(.9);opacity:.55}.row--ancestor{background:var(--hl-ancestor)}.row--selected{background:var(--hl-selected)}.row--caret{outline:1.5px dashed var(--hl-caret);outline-offset:-1.5px}.row--focus{border-left-color:var(--accent)}.tree-row:focus{outline:none}.tree-row:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px}.tree-chevron{width:16px;color:var(--fg-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0}.tree-chevron--none{display:inline-block}.tree-key{color:var(--syn-key)}.tree-colon{color:var(--fg-dim)}.tree-index{color:var(--fg-dim);text-align:right;min-width:2ch}.tree-value--string{color:var(--syn-string)}.tree-value--number{color:var(--syn-number)}.tree-value--boolean,.tree-value--null{color:var(--syn-atom)}.tree-value--object,.tree-value--array{color:var(--fg-dim)}.tree-value{text-overflow:ellipsis;overflow:hidden}.tree-row__tools{align-items:center;gap:4px;margin-left:auto;padding-right:8px;display:none}.tree-row:hover .tree-row__tools,.tree-row:focus-within .tree-row__tools{display:inline-flex}.tree-typeselect{border:1px solid var(--border);background:var(--bg);border-radius:4px;padding:0 2px;font-size:11px}.tree-btn{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:4px;width:20px;height:20px;padding:0;line-height:1}.tree-btn:hover{border-color:var(--accent);color:var(--accent)}.tree-btn--danger:hover{border-color:var(--err);color:var(--err)}.tree-input{font-family:var(--mono);border:1px solid var(--accent);background:var(--bg);border-radius:4px;outline:none;padding:0 4px;font-size:12.5px}.tree-input--invalid{border-color:var(--err);animation:.25s shake}.tree-keyedit__err{color:var(--err);margin-left:6px;font-size:11px}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.cm-mirror-node{background:var(--hl-selected);border-radius:2px}.cm-mirror-ancestor{background:var(--hl-ancestor)}.cm-ghost-caret{border-left:2px solid var(--hl-caret);vertical-align:text-bottom;width:0;height:1.15em;animation:1s step-end infinite ghost-blink;display:inline-block}@keyframes ghost-blink{50%{opacity:0}}
