.json-container{--primary: #3b82f6;--primary-hover: #2563eb;--primary-light: #dbeafe;--success: #10b981;--success-light: #d1fae5;--danger: #ef4444;--danger-light: #fee2e2;--warning: #f59e0b;--info: #6b7280;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-code: #f8fafc;--text-primary: #111827;--text-secondary: #4b5563;--text-tertiary: #9ca3af;--text-inverse: #ffffff;--border-primary: #e5e7eb;--border-focus: var(--primary);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", "Monaco", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-sans);background:var(--bg-secondary);color:var(--text-primary);min-height:100vh;padding:24px}.json-wrapper{max-width:1400px;margin:0 auto;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;min-height:calc(100vh - 48px);overflow:hidden}.json-header{padding:20px 28px;border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;align-items:center;background:var(--bg-primary);flex-shrink:0}.json-header h1{font-size:22px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em}.json-header h1:before{content:"{ }";display:inline-block;margin-right:12px;font-family:var(--font-mono);font-size:18px;color:var(--primary);font-weight:600;background:var(--primary-light);padding:4px 10px;border-radius:var(--radius-sm)}.json-settings{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.json-settings label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.json-settings input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.json-toolbar{padding:16px 28px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}.json-btn{padding:9px 18px;border:1px solid var(--border-primary);background:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;font-size:13.5px;font-weight:500;color:var(--text-primary);transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;font-family:var(--font-sans);line-height:1.4}.json-btn:hover{background:var(--bg-secondary);border-color:#d1d5db;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.json-btn:active{transform:translateY(0);box-shadow:none}.json-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.json-btn-primary{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.json-btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 4px 12px #3b82f659}.json-btn-success{background:var(--success);color:var(--text-inverse);border-color:var(--success)}.json-btn-success:hover{background:#059669;border-color:#059669;box-shadow:0 4px 12px #10b98159}.json-btn-danger{background:var(--danger);color:var(--text-inverse);border-color:var(--danger)}.json-btn-danger:hover{background:#dc2626;border-color:#dc2626;box-shadow:0 4px 12px #ef444459}.json-btn-tolerant{background:#0ea5e9;color:var(--text-inverse);border-color:#0ea5e9}.json-btn-tolerant:hover{background:#0284c7;border-color:#0284c7;box-shadow:0 4px 12px #0ea5e959}.json-btn-ai{background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff;border-color:transparent;font-weight:700}.json-btn-ai:hover:not(:disabled){box-shadow:0 4px 14px #7c3aed59}.json-btn:disabled{cursor:not-allowed;opacity:.62;transform:none}.json-content{padding:24px 28px;flex:1;display:flex;flex-direction:column;gap:20px;overflow:auto}.json-area-container{flex:1;display:flex;flex-direction:column;min-height:0;gap:12px}.json-status-bar{display:flex;justify-content:space-between;align-items:center;gap:16px}.json-tabs{display:flex;gap:4px;background:var(--bg-tertiary);padding:4px;border-radius:var(--radius-sm)}.json-tab{padding:8px 16px;border:none;background:transparent;border-radius:4px;cursor:pointer;font-size:13.5px;font-weight:500;color:var(--text-secondary);transition:all .2s;font-family:var(--font-sans)}.json-tab:hover{color:var(--text-primary);background:#0000000a}.json-tab.active{background:var(--bg-primary);color:var(--primary);box-shadow:var(--shadow-sm)}.json-status-info{font-size:13px;padding:6px 12px;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);font-family:var(--font-mono);font-size:12.5px}.json-status-info.success{background:var(--success-light);color:#065f46}.json-status-info.error{background:var(--danger-light);color:#991b1b}.json-area{width:100%;flex:1;border:2px solid var(--border-primary);border-radius:var(--radius-md);padding:20px;font-family:var(--font-mono);font-size:14.5px;line-height:1.7;resize:none;outline:none;background-color:var(--bg-code);color:var(--text-primary);transition:all .2s;min-height:500px;-moz-tab-size:2;tab-size:2}.json-area::placeholder{color:var(--text-tertiary)}.json-area:hover{border-color:#d1d5db}.json-area:focus{border-color:var(--primary);background-color:var(--bg-primary);box-shadow:0 0 0 3px #3b82f61f}.json-area.error{border-color:var(--danger);background-color:#fff5f5;color:#991b1b}.json-area.error:focus{box-shadow:0 0 0 3px #ef44441f}.json-area.success{border-color:var(--success);background-color:#f0fdf4}.json-area.success:focus{box-shadow:0 0 0 3px #10b9811f}.json-tree-view{width:100%;flex:1;border:2px solid var(--border-primary);border-radius:var(--radius-md);padding:20px;font-family:var(--font-mono);font-size:14.5px;line-height:1.7;background-color:var(--bg-code);color:var(--text-primary);overflow:auto;min-height:500px}.json-node-line{display:flex;align-items:flex-start;white-space:pre;padding:1px 0}.json-node-container{display:flex;flex-direction:column}.json-node-header{display:flex;align-items:center;cursor:pointer;white-space:pre;padding:2px 4px;border-radius:4px;transition:background-color .15s}.json-node-header:hover{background-color:#3b82f60f}.json-toggle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:10px;color:var(--text-tertiary);transition:transform .2s;border-radius:3px}.json-toggle:hover{background:#0000000f}.json-toggle.collapsed{transform:rotate(-90deg)}.json-key{color:#be185d;font-weight:600}.json-string{color:#059669}.json-number{color:#2563eb}.json-boolean{color:#d97706}.json-null{color:#6b7280;font-style:italic}.json-comma{color:var(--text-primary)}.json-bracket{color:var(--text-primary);font-weight:600}.json-collapsed-hint{background:var(--bg-tertiary);border-radius:4px;padding:2px 8px;font-size:12px;margin:0 6px;color:var(--text-tertiary);font-style:italic}.json-editor-actions{display:flex;gap:10px;flex-wrap:wrap}.json-action-btn{padding:8px 16px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;color:var(--text-secondary);transition:all .2s;font-family:var(--font-sans)}.json-action-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--primary)}.json-action-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.json-compare-panel{border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-primary);box-shadow:var(--shadow-md);overflow:hidden}.json-compare-header{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-primary);background:linear-gradient(135deg,#3b82f61a,#7c3aed14)}.json-compare-header strong{display:block;color:var(--text-primary);font-size:15px;margin-bottom:2px}.json-compare-header span{color:var(--text-secondary);font-size:12.5px}.json-repair-steps{display:flex;flex-wrap:wrap;gap:8px;padding:12px 18px;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.json-repair-step{padding:5px 10px;border-radius:999px;background:var(--primary-light);color:var(--primary-hover);font-size:12px;font-weight:600}.json-compare-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}.json-compare-column{min-width:0;border-right:1px solid var(--border-primary)}.json-compare-column:last-child{border-right:0}.json-compare-title{padding:10px 14px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.05em}.json-compare-column pre{margin:0;padding:16px;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);font-size:12.5px;line-height:1.65;color:var(--text-primary);background:var(--bg-code)}.json-compare-column.repaired pre{background:#f0fdf4}.json-history-panel{border-top:1px solid var(--border-primary);padding-top:20px;flex-shrink:0}.json-history-title{font-size:13.5px;margin-bottom:14px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.json-history-list{display:flex;flex-wrap:wrap;gap:10px}.json-history-item{padding:10px 18px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);font-size:13.5px;cursor:pointer;transition:all .2s;color:var(--text-primary);font-weight:500;white-space:nowrap}.json-history-item:hover{background:var(--primary);color:var(--text-inverse);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.json-history-item:active{transform:translateY(0)}.json-footer{padding:14px 28px;text-align:center;font-size:13px;color:var(--text-tertiary);border-top:1px solid var(--border-primary);background:var(--bg-tertiary);flex-shrink:0}.json-footer code{font-family:var(--font-mono);background:var(--bg-secondary);padding:2px 6px;border-radius:3px;font-size:12px;color:var(--text-secondary)}.dark-theme{--primary: #60a5fa;--primary-hover: #3b82f6;--primary-light: rgba(96, 165, 250, .15);--success: #34d399;--success-light: rgba(52, 211, 153, .15);--danger: #f87171;--danger-light: rgba(248, 113, 113, .15);--warning: #fbbf24;--info: #9ca3af;--bg-primary: #1f2937;--bg-secondary: #111827;--bg-tertiary: #374151;--bg-code: #111827;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #6b7280;--text-inverse: #111827;--border-primary: #374151;--border-focus: var(--primary)}.dark-theme .json-wrapper{background:var(--bg-primary);border:1px solid var(--border-primary)}.dark-theme .json-header{background:var(--bg-primary);border-color:var(--border-primary)}.dark-theme .json-header h1{color:var(--text-primary)}.dark-theme .json-toolbar{background:var(--bg-secondary);border-color:var(--border-primary)}.dark-theme .json-btn{background:var(--bg-tertiary);color:var(--text-primary);border-color:#4b5563}.dark-theme .json-btn:hover{background:#4b5563;border-color:#6b7280}.dark-theme .json-area{background-color:var(--bg-code);color:var(--text-primary);border-color:var(--border-primary)}.dark-theme .json-area:focus{border-color:var(--primary);background-color:var(--bg-primary)}.dark-theme .json-area.error{border-color:var(--danger);background-color:#f8717114;color:#fca5a5}.dark-theme .json-area.success{border-color:var(--success);background-color:#34d39914}.dark-theme .json-tree-view{background-color:var(--bg-code);color:var(--text-primary);border-color:var(--border-primary)}.dark-theme .json-key{color:#f472b6}.dark-theme .json-string{color:#34d399}.dark-theme .json-number{color:#60a5fa}.dark-theme .json-boolean{color:#fbbf24}.dark-theme .json-null{color:#6b7280;font-style:italic}.dark-theme .json-bracket,.dark-theme .json-comma{color:var(--text-secondary)}.dark-theme .json-collapsed-hint{background:var(--bg-tertiary);color:var(--text-tertiary)}.dark-theme .json-tab{background:var(--bg-tertiary);color:var(--text-secondary)}.dark-theme .json-tab:hover{background:#4b5563;color:var(--text-primary)}.dark-theme .json-tab.active{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.dark-theme .json-status-info{background:var(--bg-tertiary);color:var(--text-secondary)}.dark-theme .json-status-info.success{background:var(--success-light);color:#6ee7b7}.dark-theme .json-status-info.error{background:var(--danger-light);color:#fca5a5}.dark-theme .json-history-item{background:var(--bg-tertiary);color:var(--text-primary);border-color:#4b5563}.dark-theme .json-history-item:hover{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.dark-theme .json-compare-panel{background:var(--bg-primary);border-color:var(--border-primary)}.dark-theme .json-compare-header{background:linear-gradient(135deg,#60a5fa29,#a855f724)}.dark-theme .json-repair-steps{background:var(--bg-secondary);border-color:var(--border-primary)}.dark-theme .json-repair-step{background:#60a5fa26;color:#bfdbfe}.dark-theme .json-compare-title{background:var(--bg-tertiary);color:var(--text-secondary)}.dark-theme .json-compare-column pre{background:var(--bg-code);color:var(--text-primary)}.dark-theme .json-compare-column.repaired pre{background:#34d39914}.dark-theme .json-footer{background:var(--bg-secondary);border-color:var(--border-primary)}.dark-theme .json-footer code{background:var(--bg-tertiary);color:var(--text-secondary)}.dark-theme .json-node-header:hover{background-color:#60a5fa1a}@media (max-width: 768px){.json-container{padding:12px}.json-wrapper{min-height:calc(100vh - 24px);border-radius:var(--radius-md)}.json-header{padding:16px 20px;flex-direction:column;gap:12px;align-items:flex-start}.json-header h1{font-size:18px}.json-toolbar{padding:12px 16px;justify-content:center}.json-btn{padding:8px 14px;font-size:13px}.json-content{padding:16px}.json-area,.json-tree-view{font-size:13px;padding:14px;min-height:350px}.json-status-bar{flex-direction:column;align-items:flex-start;gap:10px}.json-history-item{padding:8px 14px;font-size:13px}.json-compare-header{align-items:flex-start;flex-direction:column}.json-compare-grid{grid-template-columns:1fr}.json-compare-column{border-right:0;border-bottom:1px solid var(--border-primary)}.json-compare-column:last-child{border-bottom:0}}@media (max-width: 480px){.json-container{padding:8px}.json-toolbar{gap:6px}.json-btn{padding:7px 10px;font-size:12px}.json-history-list{flex-direction:column}.json-history-item{width:100%;justify-content:center}}
