.ljh-tool{font-family:Inter,system-ui,sans-serif}.ljh-tab{padding:7px 14px;border-radius:10px;font-size:13px;font-weight:600;background:var(--color-surface-2);color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;transition:all .2s ease;min-height:36px;display:flex;align-items:center}.ljh-tab:hover{border-color:#6366f180;color:var(--color-text);transform:translateY(-1px)}.ljh-tab.active{background:linear-gradient(135deg,#6366f126,#8b5cf626);border-color:#6366f166;color:var(--color-text);box-shadow:0 2px 12px #6366f126}.ljh-input-area{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.ljh-input-area .ljh-dropzone{flex:1;min-width:280px;margin-bottom:0}.ljh-paste-area{display:flex;flex-direction:column;gap:8px;flex:1;min-width:280px}.ljh-paste-textarea{flex:1;min-height:80px;padding:10px 12px;border-radius:12px;font-size:12px;font-family:JetBrains Mono,monospace;background:#1e293b66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:2px dashed var(--color-border);color:var(--color-text);outline:none;transition:border-color .2s;resize:vertical}:root.light .ljh-paste-textarea{background:#fff9}.ljh-paste-textarea:focus{border-color:#6366f180}.ljh-paste-btn{align-self:flex-start}.ljh-diff-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 640px){.ljh-diff-inputs{grid-template-columns:1fr}}.ljh-diff-option{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-muted);cursor:pointer}.ljh-diff-option input{accent-color:#6366f1}.ljh-diff-results{background:#1e293b66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:14px;padding:12px;max-height:420px;overflow:auto;min-height:280px}:root.light .ljh-diff-results{background:#fff9}.ljh-diff-item{padding:8px 12px;border-radius:8px;margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:12px;display:flex;align-items:flex-start;gap:8px}.ljh-diff-add{background:#4ade8014;border-left:3px solid #4ade80}.ljh-diff-del{background:#f8717114;border-left:3px solid #f87171}.ljh-diff-mod{background:#fbbf2414;border-left:3px solid #fbbf24}.ljh-diff-same{background:#64748b0d;border-left:3px solid #64748b}.ljh-diff-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;flex-shrink:0}.ljh-diff-badge.add{background:#4ade8033;color:#4ade80}.ljh-diff-badge.del{background:#f8717133;color:#f87171}.ljh-diff-badge.mod{background:#fbbf2433;color:#fbbf24}.ljh-diff-path{color:#818cf8;word-break:break-all}.ljh-diff-vals{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap}.ljh-diff-val-old{color:#f87171;text-decoration:line-through;opacity:.7;word-break:break-all}.ljh-diff-val-new{color:#4ade80;word-break:break-all}.ljh-diff-summary{display:flex;gap:12px;padding:10px 14px;border-radius:10px;margin-bottom:10px;background:var(--color-surface-2);font-size:12px;font-weight:600}.ljh-panel{display:none;animation:ljh-fade .3s ease}.ljh-panel.active{display:block}@keyframes ljh-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ljh-dropzone{border:2px dashed var(--color-border);border-radius:14px;padding:20px;text-align:center;margin-bottom:16px;transition:all .3s ease;background:#1e293b4d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}:root.light .ljh-dropzone{background:#ffffff80}.ljh-dropzone.dragover{border-color:#6366f199;background:#6366f114;transform:scale(1.01)}.ljh-dropzone-content{pointer-events:none}.ljh-dropzone-content button{pointer-events:auto}.ljh-link-btn{color:#818cf8;background:none;border:none;cursor:pointer;font-weight:600;text-decoration:underline;font-size:inherit}.ljh-progress-bar{height:6px;border-radius:3px;background:var(--color-surface-2);overflow:hidden}.ljh-progress-fill{height:100%;width:0%;border-radius:3px;background:linear-gradient(135deg,#6366f1,#8b5cf6);transition:width .3s ease}.ljh-mini-btn{padding:5px 12px;border-radius:8px;font-size:12px;font-weight:500;background:var(--color-surface-2);color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;transition:all .15s ease;min-height:30px;display:flex;align-items:center}.ljh-mini-btn:hover{background:#6366f11a;border-color:#6366f166;color:var(--color-text)}.ljh-mini-btn:active{transform:scale(.96)}.ljh-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}.ljh-breadcrumb{font-size:11px;font-family:JetBrains Mono,monospace;color:var(--color-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 10px;border-radius:6px;background:var(--color-surface-2)}.ljh-tree-wrap{background:#1e293b66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:14px;padding:12px;max-height:480px;overflow:auto;min-height:320px;position:relative}:root.light .ljh-tree-wrap{background:#fff9}.ljh-tree{font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.7}.ljh-node{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ljh-toggle{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;transition:all .15s ease;color:var(--color-text-muted);flex-shrink:0;margin-right:2px}.ljh-toggle:hover{background:#6366f126;color:var(--color-text)}.ljh-toggle-icon{transition:transform .2s ease;display:inline-block;font-size:10px}.ljh-toggle.expanded .ljh-toggle-icon{transform:rotate(90deg)}.ljh-key{color:#818cf8}:root.light .ljh-key{color:#6366f1}.ljh-string{color:#4ade80}:root.light .ljh-string{color:#16a34a}.ljh-number{color:#fbbf24}:root.light .ljh-number{color:#d97706}.ljh-boolean{color:#f472b6}:root.light .ljh-boolean{color:#db2777}.ljh-null{color:#64748b;font-style:italic}.ljh-punct{color:var(--color-text-muted)}.ljh-children{margin-left:20px}.ljh-children.collapsed{display:none}.ljh-preview{color:var(--color-text-muted);font-size:11px;margin-left:4px}.ljh-node-row{padding:1px 4px;border-radius:4px;cursor:pointer;transition:background .15s}.ljh-node-row:hover{background:#6366f114}.ljh-node-row.selected{background:#6366f126}.ljh-count-badge{font-size:10px;color:var(--color-text-muted);margin-left:4px}.ljh-search-bar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.ljh-search-bar .ljh-text-input{flex:1;min-width:200px}.ljh-search-btn{padding:8px 16px}.ljh-text-input{padding:8px 12px;border-radius:8px;font-size:13px;background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);outline:none;transition:border-color .2s}.ljh-text-input:focus{border-color:#6366f180;box-shadow:0 0 0 3px #6366f11a}.ljh-search-results{background:#1e293b66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:14px;padding:12px;max-height:420px;overflow:auto;min-height:280px;position:relative}:root.light .ljh-search-results{background:#fff9}.ljh-search-item{padding:10px 12px;border-radius:10px;border:1px solid var(--color-border);margin-bottom:8px;cursor:pointer;transition:all .2s;background:var(--color-surface-2)}.ljh-search-item:hover{border-color:#6366f166;transform:translate(4px)}.ljh-search-path{font-family:JetBrains Mono,monospace;font-size:12px;color:#818cf8;word-break:break-all}:root.light .ljh-search-path{color:#6366f1}.ljh-search-value{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--color-text);margin-top:4px;word-break:break-all}.ljh-search-highlight{background:#fbbf2440;border-radius:3px;padding:0 2px}.ljh-stat-card{background:#1e293b66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:14px;padding:16px;text-align:center;transition:all .3s ease}:root.light .ljh-stat-card{background:#fff9}.ljh-stat-card:hover{border-color:#6366f14d;transform:translateY(-2px)}.ljh-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin:0 auto 8px}.ljh-stat-value{font-size:20px;font-weight:800;color:var(--color-text)}.ljh-stat-label{font-size:11px;color:var(--color-text-muted);margin-top:2px}.ljh-bar-chart{display:flex;flex-direction:column;gap:8px}.ljh-bar-row{display:flex;align-items:center;gap:8px}.ljh-bar-label{font-size:12px;width:80px;text-align:right;color:var(--color-text-muted);flex-shrink:0}.ljh-bar-track{flex:1;height:22px;border-radius:6px;background:var(--color-surface-2);overflow:hidden}.ljh-bar-fill{height:100%;border-radius:6px;transition:width .6s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;padding-left:8px;font-size:11px;font-weight:600;color:#fff}.ljh-bar-count{flex-shrink:0;font-size:12px;font-weight:600;width:50px}.ljh-format-output-wrap{position:relative;min-height:320px}.ljh-format-code{font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.6;background:#1e293b66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:14px;padding:14px;max-height:480px;overflow:auto;white-space:pre;margin:0;color:var(--color-text);min-height:320px}:root.light .ljh-format-code{background:#fff9}.ljh-shortcut-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#1e293b66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:12px;transition:border-color .3s}:root.light .ljh-shortcut-card{background:#fff9}.ljh-shortcut-card:hover{border-color:#6366f14d}.ljh-shortcut-card kbd{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;font-family:JetBrains Mono,monospace;background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);white-space:nowrap}.ljh-shortcut-card span{font-size:13px;color:var(--color-text-muted)}.ljh-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--color-text-muted);text-align:center}.ljh-status-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;border:1px solid var(--color-border);border-radius:10px;font-size:11px;color:var(--color-text-muted);gap:8px;flex-wrap:wrap;margin-top:8px;background:var(--color-surface-2)}.ljh-status-item{display:flex;align-items:center;gap:4px}.ljh-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ljh-dot-neutral{background:#64748b}.ljh-dot-success{background:#4ade80}.ljh-dot-error{background:#f87171}.ljh-dot-loading{background:#fbbf24;animation:ljh-pulse 1s infinite}@keyframes ljh-pulse{0%,to{opacity:1}50%{opacity:.4}}.ljh-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(100px);padding:10px 20px;border-radius:10px;font-size:13px;font-weight:500;background:var(--color-surface-1);border:1px solid var(--color-border);color:var(--color-text);box-shadow:0 8px 30px #0003;z-index:100;opacity:0;transition:all .3s cubic-bezier(.16,1,.3,1);pointer-events:none}.ljh-toast.show{transform:translate(-50%) translateY(0);opacity:1}.ljh-toast.success{border-color:#4ade8066}.ljh-toast.error{border-color:#f8717166}@media (max-width: 357px){.ljh-tab{padding:6px 10px;font-size:12px}.ljh-mini-btn{padding:4px 8px;font-size:11px}.ljh-tree{font-size:12px}.ljh-children{margin-left:16px}.ljh-stat-card{padding:12px 8px}.ljh-stat-value{font-size:16px}.ljh-format-code{font-size:12px;padding:10px}.ljh-bar-label{width:60px;font-size:11px}}
