.json-app{display:flex;flex-direction:column;height:calc(100vh - 70px);padding:12px 16px;gap:10px;box-sizing:border-box}.json-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex-shrink:0;padding:8px 12px;background:var(--bs-body-bg, #fff);border:1px solid var(--bs-border-color, #dee2e6);border-radius:10px}.json-toolbar .toolbar-title{font-size:15px;font-weight:700;color:var(--bs-body-color);margin-right:6px;display:flex;align-items:center;gap:6px}.json-toolbar .toolbar-divider{width:1px;height:24px;background:var(--bs-border-color, #dee2e6);margin:0 4px}.json-toolbar .toolbar-spacer{flex:1}.json-toolbar .tb-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;font-size:13px;font-weight:500;border-radius:7px;border:1px solid transparent;cursor:pointer;transition:all .15s ease;background:transparent;color:var(--bs-body-color);white-space:nowrap}.json-toolbar .tb-btn:hover{background:var(--bs-secondary-bg, #e9ecef)}.json-toolbar .tb-btn.tb-btn-primary{background:#0d6efd;color:#fff;border-color:#0d6efd}.json-toolbar .tb-btn.tb-btn-primary:hover{background:#0b5ed7;border-color:#0b5ed7}.json-toolbar .tb-btn.tb-btn-danger{color:#dc3545}.json-toolbar .tb-btn.tb-btn-danger:hover{background:#fff0f0;color:#b02a37}body.dark-mode .json-toolbar .tb-btn.tb-btn-danger:hover{background:#dc354526}.json-panels{display:flex;flex:1;gap:10px;min-height:0;overflow:hidden}.json-panel{display:flex;flex-direction:column;flex:1;min-width:0;border:1px solid var(--bs-border-color, #dee2e6);border-radius:10px;overflow:hidden;transition:border-color .2s}.json-panel:focus-within{border-color:#0d6efd;box-shadow:0 0 0 3px #0d6efd1a}.panel-header{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--bs-secondary-color, #6c757d);background:var(--bs-tertiary-bg, #f8f9fa);border-bottom:1px solid var(--bs-border-color, #dee2e6);flex-shrink:0;user-select:none}.panel-header .panel-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--bs-secondary-bg, #e9ecef);font-size:10px;font-weight:700}.ph-action-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;font-size:11px;font-weight:600;font-family:inherit;line-height:1.6;border:1px solid var(--bs-border-color, #dee2e6);border-radius:5px;background:var(--bs-body-bg, #fff);color:var(--bs-secondary-color, #6c757d);cursor:pointer;white-space:nowrap;transition:all .14s ease;text-transform:none;letter-spacing:0}.ph-action-btn:hover{background:#0d6efd;border-color:#0d6efd;color:#fff}.ph-action-btn.copied{background:#198754;border-color:#198754;color:#fff}body.dark-mode .ph-action-btn{background:#1f2937;border-color:#374151;color:#9ca3af}body.dark-mode .ph-action-btn:hover{background:#0d6efd;border-color:#0d6efd;color:#fff}.panel-body{flex:1;position:relative;overflow:hidden}.panel-body .jsoneditor{height:100%;border:none;border-radius:0}.json-resizer{width:6px;flex-shrink:0;cursor:col-resize;display:flex;align-items:center;justify-content:center;position:relative;border-radius:3px;transition:background .15s}.json-resizer:after{content:"";width:2px;height:40px;background:var(--bs-border-color, #dee2e6);border-radius:2px;transition:background .15s,height .15s}.json-resizer:hover:after,.json-resizer.dragging:after{background:#0d6efd;height:60px}.json-statusbar{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:5px 12px;font-size:12px;color:var(--bs-secondary-color, #6c757d);background:var(--bs-tertiary-bg, #f8f9fa);border:1px solid var(--bs-border-color, #dee2e6);border-radius:7px}.json-statusbar .status-item{display:flex;align-items:center;gap:4px}.json-statusbar .status-dot{width:7px;height:7px;border-radius:50%;background:#198754;display:inline-block}.json-statusbar .status-dot.error{background:#dc3545}.entity-panel{position:fixed;top:0;right:-480px;width:480px;max-width:95vw;height:100%;background:var(--bs-body-bg, #fff);border-left:1px solid var(--bs-border-color, #dee2e6);box-shadow:-4px 0 20px #0000001a;z-index:1050;display:flex;flex-direction:column;transition:right .28s cubic-bezier(.4,0,.2,1)}.entity-panel.open{right:0}.entity-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--bs-border-color, #dee2e6);flex-shrink:0}.entity-panel-header h2{font-size:15px;font-weight:700;margin:0}.entity-panel-body{flex:1;display:flex;flex-direction:column;gap:14px;padding:16px 20px;overflow-y:auto}.entity-panel-footer{padding:12px 20px;border-top:1px solid var(--bs-border-color, #dee2e6);display:flex;gap:8px;justify-content:flex-end;flex-shrink:0}.entity-code-output{flex:1;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12.5px;line-height:1.6;padding:12px;border-radius:8px;border:1px solid var(--bs-border-color, #dee2e6);background:var(--bs-tertiary-bg, #f8f9fa);resize:none;min-height:300px;color:var(--bs-body-color)}.entity-overlay{display:none;position:fixed;inset:0;background:#00000040;z-index:1040;backdrop-filter:blur(1px)}.entity-overlay.show{display:block}.lang-chips{display:flex;flex-wrap:wrap;gap:6px}.lang-chip{padding:5px 12px;font-size:12px;font-weight:600;border-radius:20px;border:1.5px solid var(--bs-border-color, #dee2e6);cursor:pointer;transition:all .15s;background:transparent;color:var(--bs-body-color);user-select:none}.lang-chip:hover{border-color:#0d6efd;color:#0d6efd}.lang-chip.active{background:#0d6efd;border-color:#0d6efd;color:#fff}body.json-fullscreen .json-app{position:fixed;inset:0;height:100vh;z-index:9000;background:var(--bs-body-bg, #fff);padding:12px 16px}body.json-fullscreen .jsoneditor-poweredBy,body.json-fullscreen nav,body.json-fullscreen footer{display:none!important}body.dark-mode .json-toolbar,body.dark-mode .json-panel,body.dark-mode .json-statusbar{border-color:#495057}body.dark-mode .panel-header,body.dark-mode .json-statusbar{background:#2a2d31}body.dark-mode .entity-panel{border-color:#495057;box-shadow:-4px 0 20px #00000059}body.dark-mode .jsoneditor{border-color:transparent;background-color:#212529}body.dark-mode .jsoneditor-menu{background-color:#2a2d31;border-bottom:1px solid #495057}body.dark-mode .jsoneditor-tree,body.dark-mode div.jsoneditor-field,body.dark-mode div.jsoneditor-value{color:#f8f9fa}.jsoneditor-poweredBy{display:none!important}.json-resizer:active{cursor:col-resize}#json-tree-view{padding:12px 4px 12px 8px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.75;overflow:auto;height:100%;box-sizing:border-box;color:var(--bs-body-color)}.jt-node{position:relative}.jt-line{display:flex;align-items:center;padding:1px 4px 1px 2px;border-radius:5px;transition:background .12s;position:relative}.jt-line:hover{background:var(--bs-tertiary-bg, #f0f4ff)}.jt-line .jt-copy-btn{display:none;align-items:center;justify-content:center;margin-left:auto;padding:1px 7px;font-size:10px;font-family:system-ui,sans-serif;font-weight:600;border:1px solid var(--bs-border-color, #dee2e6);border-radius:4px;background:var(--bs-body-bg, #fff);color:var(--bs-secondary-color, #6c757d);cursor:pointer;white-space:nowrap;line-height:1.6;letter-spacing:.02em;transition:all .12s;flex-shrink:0}.jt-line:hover .jt-copy-btn{display:inline-flex}.jt-line .jt-copy-btn:hover{background:#0d6efd;border-color:#0d6efd;color:#fff}.jt-line .jt-copy-btn.copied{background:#198754;border-color:#198754;color:#fff}.jt-toggle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;cursor:pointer;border-radius:5px;margin-right:2px;user-select:none;color:var(--bs-secondary-color, #6c757d);transition:background .12s,color .12s;flex-shrink:0}.jt-toggle:hover{background:var(--bs-secondary-bg, #e3e8ff);color:#0d6efd}.jt-arrow{transition:transform .2s ease;font-size:10px}.jt-node.jt-collapsed>.jt-node-header .jt-arrow{transform:rotate(-90deg)}.jt-node.jt-collapsed>.jt-children,.jt-node.jt-collapsed>.jt-node-footer{display:none}.jt-bracket-close-inline{display:none}.jt-node.jt-collapsed .jt-count{display:inline-flex;align-items:center;margin:0 6px}.jt-node.jt-collapsed .jt-bracket-close-inline{display:inline}.jt-leaf{word-break:break-all;padding-left:22px}.jt-node-footer{padding-left:22px}.jt-children{border-left:1.5px solid var(--bs-border-color, #e0e7ff);margin-left:9px;padding-left:12px}.jt-key{color:#2563eb;font-weight:600}.jt-colon{color:var(--bs-secondary-color, #9ca3af);margin:0 5px 0 1px}.jt-bracket{color:#374151;font-weight:700}.jt-comma{color:#9ca3af}.jt-info,.jt-count{display:inline-flex;align-items:center;font-size:10.5px;font-family:system-ui,sans-serif;font-weight:600;letter-spacing:.02em;padding:0 6px;height:18px;border-radius:10px;background:#eff6ff;color:#3b82f6;border:1px solid #bfdbfe;margin-left:6px;cursor:default;white-space:nowrap;vertical-align:middle;line-height:1}.jt-count{cursor:pointer}.jt-node.jt-collapsed .jt-count:hover{background:#dbeafe}.jt-string{color:#16a34a;word-break:break-word}.jt-number{color:#d97706;font-weight:600}.jt-boolean{color:#7c3aed;font-weight:700}.jt-null{color:#9ca3af;font-style:italic;font-weight:600}.jt-type-tag{display:none;font-size:9.5px;font-family:system-ui,sans-serif;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:0 5px;height:16px;line-height:16px;border-radius:3px;margin-left:6px;vertical-align:middle;opacity:.85;flex-shrink:0}.jt-line:hover .jt-type-tag{display:inline-flex;align-items:center}.jt-type-tag.type-string{background:#dcfce7;color:#15803d}.jt-type-tag.type-number{background:#fef3c7;color:#b45309}.jt-type-tag.type-boolean{background:#ede9fe;color:#6d28d9}.jt-type-tag.type-null{background:#f3f4f6;color:#6b7280}.jt-type-tag.type-object{background:#eff6ff;color:#1d4ed8}.jt-type-tag.type-array{background:#fff7ed;color:#c2410c}.jt-error{display:flex;align-items:center;gap:8px;padding:20px 16px;color:#dc3545;font-family:system-ui,sans-serif;font-size:13px}body.dark-mode .jt-line:hover{background:#ffffff0d}body.dark-mode .jt-key{color:#93c5fd}body.dark-mode .jt-bracket{color:#e5e7eb}body.dark-mode .jt-comma{color:#6b7280}body.dark-mode .jt-string{color:#4ade80}body.dark-mode .jt-number{color:#fbbf24}body.dark-mode .jt-boolean{color:#c4b5fd}body.dark-mode .jt-null{color:#6b7280}body.dark-mode .jt-children{border-color:#374151}body.dark-mode .jt-info,body.dark-mode .jt-count{background:#1e2d45;color:#60a5fa;border-color:#1e40af}body.dark-mode .jt-count:hover{background:#1e3a5f}body.dark-mode .jt-type-tag.type-string{background:#14532d;color:#4ade80}body.dark-mode .jt-type-tag.type-number{background:#451a03;color:#fbbf24}body.dark-mode .jt-type-tag.type-boolean{background:#2e1065;color:#c4b5fd}body.dark-mode .jt-type-tag.type-null{background:#1f2937;color:#9ca3af}body.dark-mode .jt-type-tag.type-object{background:#1e2d45;color:#93c5fd}body.dark-mode .jt-type-tag.type-array{background:#431407;color:#fdba74}body.dark-mode .jt-line .jt-copy-btn{background:#1f2937;border-color:#374151;color:#9ca3af}body.dark-mode .jt-line .jt-copy-btn:hover{background:#0d6efd;border-color:#0d6efd;color:#fff}@media(max-width:991.98px){.json-app{height:auto!important;min-height:calc(100vh - 85px)!important;overflow:visible!important;padding-bottom:2rem}.json-panels{flex-direction:column!important;overflow:visible!important;height:auto!important}.json-panel,#panel-left,#panel-right{flex:none!important;width:100%!important;height:60vh!important;min-height:400px!important;margin-bottom:12px}.json-resizer{display:none!important}.json-toolbar{flex-wrap:wrap;height:auto}.json-toolbar .toolbar-spacer,.json-toolbar .toolbar-divider,#btn-fullscreen{display:none!important}}@media(max-width:767.98px){.json-panel,#panel-left,#panel-right{height:55vh!important;min-height:380px!important}.entity-panel{width:100%!important;right:-100%!important;max-width:100vw!important}.entity-panel.open{right:0!important}.entity-panel-header h2{font-size:14px}}
