.json-editor{--line:var(--hairline-soft);--panel-head:var(--surface-soft);--mono:"Cascadia Mono", "Consolas", "SF Mono", "Menlo", monospace;--c-key:#1b6ec2;--c-string:#2c7a55;--c-number:#b35c00;--c-literal:#7c44a6;height:calc(100dvh - var(--top-bar-height));background:var(--canvas);color:var(--ink);flex-direction:column;margin-inline:-24px;display:flex;overflow:hidden}.json-editor .app-head{background:var(--canvas);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:8px 14px;display:flex}.json-editor .app-title.ant-typography{margin:0}.json-editor .file-name{font-family:var(--mono);font-size:13px}.json-editor .privacy-tag.ant-tag{background:var(--surface-card);border-color:var(--hairline);color:var(--body);margin:0}.json-editor .json-toolbar{background:var(--surface-card);border-bottom:1px solid var(--line);padding:6px 14px}.json-editor .json-toolbar .ant-divider-vertical{border-color:var(--hairline);margin-inline:2px}.json-editor .json-tabs.ant-tabs{flex-direction:column;flex:1;min-height:0;display:flex}.json-editor .json-tabs>.ant-tabs-nav{background:var(--canvas);margin:0;padding:0 14px}.json-editor .json-tabs>.ant-tabs-nav:before{border-bottom-color:var(--line)}.json-editor .json-tabs .ant-tabs-tab{font-weight:600}.json-editor .json-tabs .ant-tabs-ink-bar{background:var(--primary)}.json-editor .json-tabs>.ant-tabs-content-holder,.json-editor .json-tabs>.ant-tabs-content-holder>.ant-tabs-content,.json-editor .json-tabs>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane-active{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.json-editor .json-tabs>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane-active{padding:10px}.json-editor .source-splitter.ant-splitter,.json-editor .tree-splitter.ant-splitter{flex:1;gap:0;min-height:0}.json-editor .source-splitter>.ant-splitter-panel,.json-editor .tree-splitter>.ant-splitter-panel{min-width:0;min-height:0;display:flex;overflow:hidden}.json-editor .source-splitter>.ant-splitter-panel>.panel,.json-editor .tree-splitter>.ant-splitter-panel>.panel{flex:1;min-width:0}.json-editor .source-splitter .ant-splitter-bar-dragger:before,.json-editor .tree-splitter .ant-splitter-bar-dragger:before{background:#00000014}.json-editor .source-splitter .ant-splitter-bar-dragger:after,.json-editor .tree-splitter .ant-splitter-bar-dragger:after{background:#0000004d}.json-editor .panel{background:var(--surface-card);border:1px solid var(--line);border-radius:6px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.json-editor .panel-head{background:var(--panel-head);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:5px 10px;display:flex}.json-editor .panel-title{align-items:baseline;gap:8px;display:inline-flex}.json-editor .head-icon{color:var(--mute);cursor:pointer;font-size:15px}.json-editor .head-icon:hover{color:var(--ink)}.json-editor .path-bar{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.json-editor .path-style.ant-select{flex:none;width:118px}.json-editor .path-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--mono);color:var(--ink);background:var(--surface-card);border:1px solid var(--line);border-radius:4px;flex:1;padding:2px 8px;font-size:13px;overflow:hidden}.json-editor .path-text a{color:var(--c-key)}.json-editor .path-text a:hover{text-decoration:underline}.json-editor .path-approximate{color:var(--mute);border-style:dashed}.json-editor .json-code{flex:1;min-height:0;overflow:hidden}.json-editor .json-code .cm-editor{height:100%}.json-editor .status-bar{color:var(--mute);background:var(--surface-doc);border-top:1px solid var(--line);white-space:nowrap;align-items:center;gap:16px;padding:3px 10px;font-size:12.5px;display:flex}.json-editor .status-spacer{flex:1}.json-editor .status-ok{color:#2c8c66;font-weight:600}.json-editor .status-error{color:#cd4239;font-weight:600}.json-editor .status-muted{font-style:italic}.json-editor .problems-list{flex:1;min-height:0;overflow:auto}.json-editor .problems-clean{padding:10px 12px}.json-editor .problem-row{width:100%;font:inherit;text-align:left;color:var(--body);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f0f1ec;grid-template-columns:18px 1fr auto;align-items:baseline;gap:8px;padding:4px 12px;font-size:13.5px;display:grid}.json-editor .problem-row:hover{background:#f5f8fc}.json-editor .problem-action{color:var(--mute)}.json-editor .problem-where{font-family:var(--mono);color:var(--mute);white-space:nowrap;font-size:12px}.json-editor .problems-more{padding:6px 12px;display:block}.json-editor .sev-error{color:#cd4239}.json-editor .sev-warning{color:#d48806}.json-editor .sev-info{color:#2c84e0}.json-editor .sev-ok{color:#2c8c66}.json-editor .type-badge{min-width:22px;height:17px;font-family:var(--mono);border-radius:3px;flex:none;justify-content:center;align-items:center;padding:0 3px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.json-editor .type-object{color:#7c44a6;background:#efe5f5}.json-editor .type-array{color:#1b6ec2;background:#e3eefa}.json-editor .type-string{color:var(--c-string);background:#e3f1e9}.json-editor .type-number{color:var(--c-number);background:#fbeedd}.json-editor .type-boolean{color:var(--c-literal);background:#f1e9f6}.json-editor .type-null{color:#6c6e63;background:#eeefe9}.json-editor .type-option{align-items:center;gap:6px;display:inline-flex}.json-editor .type-select.ant-select{width:150px}.json-editor .value-switch.ant-switch{flex:none;align-self:flex-start}.json-editor .tree-search{flex:1;min-width:160px;max-width:320px}.json-editor .tree-count{margin-inline-end:4px;font-size:12.5px}.json-editor .tree-wrap{flex:1;min-height:0;padding:4px 0;overflow:hidden}.json-editor .json-tree.ant-tree{font-size:13.5px}.json-editor .json-tree .ant-tree-treenode{padding-block:0}.json-editor .json-tree .ant-tree-node-content-wrapper{white-space:nowrap;border-radius:4px}.json-editor .json-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background:#dceaf6}.json-editor .tree-node{align-items:center;gap:6px;min-width:0;display:inline-flex}.json-editor .tree-key{font-family:var(--mono);color:var(--c-key);font-size:13px}.json-editor .tree-size{font-family:var(--mono);color:var(--ash);font-size:12px}.json-editor .tree-hint{color:var(--mute);text-overflow:ellipsis;max-width:260px;font-size:12.5px;overflow:hidden}.json-editor .tree-value{font-family:var(--mono);text-overflow:ellipsis;max-width:380px;font-size:13px;overflow:hidden}.json-editor .value-string{color:var(--c-string)}.json-editor .value-number{color:var(--c-number)}.json-editor .value-boolean,.json-editor .value-null{color:var(--c-literal);font-weight:600}.json-editor .tree-hit{background:#ffe58f;border-radius:2px;padding:0}.json-editor .node-head .path-bar{min-width:240px}.json-editor .node-type.ant-tag{background:var(--surface-card);align-items:center;gap:5px;margin:0;display:inline-flex}.json-editor .node-body{flex-direction:column;flex:1;min-height:0;display:flex}.json-editor .node-scroll{background:var(--surface-doc);flex:1;min-height:0;padding:12px 14px;overflow:auto}.json-editor .scalar-editor{flex-direction:column;gap:14px;max-width:820px;display:flex}.json-editor .editor-field{flex-direction:column;gap:4px;display:flex}.json-editor .key-field.ant-input{max-width:420px;font-family:var(--mono)}.json-editor .value-input.ant-input,.json-editor .value-input textarea.ant-input,.json-editor textarea.value-input.ant-input{font-family:var(--mono);font-size:13.5px}.json-editor .value-error{color:#cd4239;font-size:12px}.json-editor .value-facts,.json-editor .value-hint{font-size:12.5px}.json-editor .colour-fact{align-items:center;gap:4px;display:inline-flex}.json-editor .colour-swatch{border:1px solid var(--hairline);border-radius:2px;width:12px;height:12px;display:inline-block}.json-editor .null-value{font-family:var(--mono)}.json-editor .object-form{flex-direction:column;gap:4px;display:flex}.json-editor .form-row,.json-editor .form-add{grid-template-columns:minmax(120px,220px) 150px minmax(0,1fr) 28px;align-items:start;gap:8px;display:grid}.json-editor .form-row{border-bottom:1px solid #f0f1ec;padding:3px 0}.json-editor .form-add{border-top:1px dashed var(--hairline);grid-template-columns:minmax(120px,220px) 150px auto;margin-top:10px;padding-top:10px}.json-editor .key-input.ant-input{font-family:var(--mono);color:var(--c-key);font-size:13px}.json-editor .form-value{align-items:center;min-width:0;min-height:24px;display:flex}.json-editor .form-value>*{width:100%}.json-editor .form-value>.ant-switch,.json-editor .form-value>.nested-chip,.json-editor .form-value>.null-value{width:auto}.json-editor .form-empty,.json-editor .form-more{padding:6px 0}.json-editor .nested-chip{max-width:100%;font:inherit;color:var(--body);background:var(--surface-soft);border:1px solid var(--hairline);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:1px 8px;font-size:12.5px;display:inline-flex}.json-editor .nested-chip:hover{border-color:var(--accent-blue);color:var(--ink)}.json-editor .nested-object .anticon{color:#7c44a6}.json-editor .nested-array .anticon{color:#1b6ec2}.json-editor .nested-size{font-family:var(--mono)}.json-editor .nested-hint{text-overflow:ellipsis;white-space:nowrap;color:var(--mute);overflow:hidden}.json-editor .array-table{flex-direction:column;flex:1;min-height:0;display:flex}.json-editor .array-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;display:flex}.json-editor .array-grid{flex:1;min-height:0;overflow:hidden}.json-editor .json-table.ant-table-wrapper .ant-table{border:0;border-radius:0}.json-editor .json-table .ant-table-cell{vertical-align:middle}.json-editor .json-table .ant-table-tbody>tr>td{padding-block:3px}.json-editor .row-head{justify-content:space-between;align-items:center;display:flex}.json-editor .row-index{font-family:var(--mono);color:var(--ash);font-size:12px}.json-editor .col-title{font-family:var(--mono);color:var(--c-key);cursor:pointer;font-size:12.5px}.json-editor .col-title.col-value{color:var(--ink);cursor:default}.json-editor .cell{min-height:22px;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;cursor:text;border-radius:3px;padding:1px 4px;font-size:13px;overflow:hidden}.json-editor .cell:hover{background:#eef4fb;box-shadow:inset 0 0 0 1px #c7dbf0}.json-editor .cell-string{color:var(--c-string)}.json-editor .cell-number{color:var(--c-number);text-align:right}.json-editor .cell-null{color:var(--c-literal);font-style:italic}.json-editor .cell-missing{color:var(--stone,#b6b7af);text-align:center}.json-editor .cell-empty-string{color:var(--ash)}.json-editor .cell-bool{font-family:var(--mono);color:var(--c-literal);font-size:13px}.json-format-dialog .format-body{grid-template-columns:minmax(360px,440px) minmax(0,1fr);gap:18px;display:grid}.json-format-dialog .format-options{flex-direction:column;gap:6px;display:flex}.json-format-dialog .format-group{background:var(--surface-soft);border-radius:6px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.json-format-dialog .format-row{justify-content:space-between;align-items:center;gap:12px;min-height:32px;display:flex}.json-format-dialog .format-label{flex-direction:column;line-height:1.3;display:flex}.json-format-dialog .format-hint{font-family:Cascadia Mono,Consolas,monospace;font-size:12px}.json-format-dialog .format-control{flex:none}.json-format-dialog .format-preview{flex-direction:column;min-width:0;display:flex}.json-format-dialog .format-preview pre{border:1px solid var(--hairline-soft);background:#fff;border-radius:6px;flex:1;height:440px;margin:4px 0 0;padding:10px 12px;font-family:Cascadia Mono,Consolas,SF Mono,Menlo,monospace;font-size:12.5px;line-height:1.55;overflow:auto}.repair-alert{margin-bottom:10px}.repair-list{max-height:420px;overflow:auto}.repair-row{border-bottom:1px solid #f0f1ec;grid-template-columns:110px 1fr minmax(160px,34%);gap:10px;padding:4px 2px;font-size:13.5px;display:grid}.repair-where{font-family:Cascadia Mono,Consolas,monospace;font-size:12px}.repair-action.ant-typography{color:#2c8c66}.repair-preview,.convert-output{border:1px solid var(--hairline-soft);background:#fff;border-radius:6px;max-height:460px;margin:0;padding:10px 12px;font-family:Cascadia Mono,Consolas,SF Mono,Menlo,monospace;font-size:12.5px;line-height:1.55;overflow:auto}.convert-note.ant-typography{margin:8px 0 6px;font-size:13px}.convert-output{margin-top:8px}.path-style-option{flex-direction:column;padding:2px 0;line-height:1.35;display:flex}.path-style-option code{color:#6c6e63;font-size:11.5px}@media (max-width:768px){.json-editor{margin-inline:-16px}}
