:root{--jfv-primary:var(--main-primary);--jfv-bg:#fff;--jfv-bg-secondary:#f8fafc;--jfv-bg-hover:#f1f5f9;--jfv-text:#1e293b;--jfv-text-muted:#64748b;--jfv-border:#e2e8f0;--jfv-border-focus:var(--main-primary);--jfv-shadow:0 1px 3px #0000000f;--jfv-radius:var(--main-radius);--jfv-radius-lg:var(--main-radius-lg);--jfv-syn-key:#6366f1;--jfv-syn-string:#059669;--jfv-syn-number:#d97706;--jfv-syn-boolean:#dc2626;--jfv-syn-null:#94a3b8;--jfv-syn-bracket:#64748b;--jfv-syn-comma:#94a3b8;--jfv-success:#10b981;--jfv-error:#ef4444;--jfv-warning:#f59e0b;--jfv-line-bg:#f1f5f9;--jfv-line-text:#94a3b8;--jfv-line-border:#e2e8f0;--jfv-tree-line:#e2e8f0;--jfv-tree-key:#6366f1;--jfv-tree-toggle-bg:#f1f5f9}._jfv-container{gap:var(--main-space-3);min-height:500px;padding-left:var(--main-space-2);padding-right:var(--main-space-2);flex-direction:column;display:flex}._jfv-hidden{display:none!important}._jfv-panels{gap:var(--main-space-3);flex:1;grid-template-columns:1fr 1fr;min-height:450px;display:grid}._jfv-panel{background:var(--jfv-bg);border-radius:var(--jfv-radius-lg);border-style:solid;border-width:1px;border-color:var(--jfv-border);box-shadow:var(--jfv-shadow);flex-direction:column;display:flex;overflow:hidden}._jfv-panel-header{padding:var(--main-space-2) var(--main-space-3);border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--jfv-border);background:var(--jfv-bg-secondary);justify-content:space-between;align-items:center;display:flex}._jfv-panel-title{font-size:var(--main-text-xs);color:var(--jfv-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}@media (max-width:768px){._jfv-container{padding-left:1rem;padding-right:1rem}._jfv-panels{grid-template-columns:1fr;min-height:auto}._jfv-panel{min-height:300px}}._jfv-toolbar{justify-content:space-between;align-items:center;gap:var(--main-space-3);padding:var(--main-space-2) var(--main-space-3);background:var(--jfv-bg);border-radius:var(--jfv-radius-lg);border-style:solid;border-width:1px;border-color:var(--jfv-border);box-shadow:var(--jfv-shadow);flex-wrap:wrap;display:flex}._jfv-toolbar-left,._jfv-toolbar-right{align-items:center;gap:var(--main-space-2);flex-wrap:wrap;display:flex}._jfv-mode-toggle{border-radius:var(--jfv-radius);border-style:solid;border-width:1px;border-color:var(--jfv-border);display:flex;overflow:hidden}._jfv-mode-btn{font-size:var(--main-text-sm);background:var(--jfv-bg);color:var(--jfv-text-muted);cursor:pointer;white-space:nowrap;border:none;border-right:1px solid;border-right-color:var(--jfv-border);align-items:center;gap:.375rem;padding:.4375rem .875rem;font-family:inherit;font-weight:500;transition:background-color .15s,color .15s;display:inline-flex}._jfv-mode-btn:last-child{border-right:none}._jfv-mode-btn:hover{background:var(--jfv-bg-hover)}._jfv-mode-btn.active{background:var(--jfv-primary);color:#fff}._jfv-mode-btn:focus-visible{outline:2px solid var(--jfv-primary);outline-offset:-2px}._jfv-btn{border-radius:var(--jfv-radius);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:.375rem;font-family:inherit;display:inline-flex}._jfv-btn:focus-visible{outline:2px solid var(--jfv-primary);outline-offset:2px}._jfv-btn-icon{color:var(--jfv-text-muted);background:0 0;padding:.4375rem;transition:background-color .15s,color .15s}._jfv-btn-icon:hover{background:var(--jfv-bg-hover);color:var(--jfv-text)}._jfv-btn-danger:hover{color:var(--jfv-error)}._jfv-indent-group{align-items:center;display:flex}._jfv-indent-options{border-radius:var(--jfv-radius);border-style:solid;border-width:1px;border-color:var(--jfv-border);display:flex;overflow:hidden}._jfv-indent-btn{font-size:var(--main-text-xs);background:var(--jfv-bg);color:var(--jfv-text-muted);cursor:pointer;font-weight:500;font-family:var(--main-font-mono);border:none;border-right:1px solid;border-right-color:var(--jfv-border);padding:.25rem .5rem;transition:background-color .15s,color .15s}._jfv-indent-btn:last-child{border-right:none}._jfv-indent-btn:hover{background:var(--jfv-bg-hover)}._jfv-indent-btn.active{background:var(--jfv-primary);color:#fff}._jfv-separator{background:var(--jfv-border);width:1px;height:1.25rem}@media (max-width:768px){._jfv-toolbar{padding:var(--main-space-2)}._jfv-mode-btn span{display:none}._jfv-mode-btn{padding:.4375rem}}._jfv-editor-wrapper{flex:1;display:flex;overflow:hidden}._jfv-line-numbers{width:3rem;padding:var(--main-space-3) 0;background:var(--jfv-line-bg);border-right-style:solid;border-right-width:1px;border-right-color:var(--jfv-line-border);text-align:right;font-family:var(--main-font-mono);font-size:var(--main-text-xs);color:var(--jfv-line-text);-webkit-user-select:none;user-select:none;flex-shrink:0;line-height:1.6;overflow:hidden}._jfv-line-numbers span{padding-right:.5rem;display:block}._jfv-textarea{width:100%;padding:var(--main-space-3);resize:none;font-family:var(--main-font-mono);font-size:var(--main-text-sm);color:var(--jfv-text);background:var(--jfv-bg);-moz-tab-size:4;tab-size:4;white-space:pre;overflow-wrap:normal;border:none;outline:none;flex:1;line-height:1.6;overflow-x:auto}._jfv-textarea::placeholder{color:var(--jfv-text-muted)}._jfv-textarea:focus{outline:none}._jfv-line-numbers span.error{color:var(--jfv-error);background:#ef44441a;font-weight:600}._jfv-error-box{padding:var(--main-space-2) var(--main-space-3);background:#ef44440d;border-bottom:1px solid #ef444433}._jfv-error-header{font-size:var(--main-text-sm);color:var(--jfv-error);margin-bottom:var(--main-space-1);align-items:center;gap:.375rem;font-weight:600;display:flex}._jfv-error-message{font-family:var(--main-font-mono);font-size:var(--main-text-xs);color:var(--jfv-text);white-space:pre-wrap;word-break:break-word;line-height:1.5}._jfv-output-wrapper{flex:1;position:relative;overflow:auto}._jfv-view-tabs{background:var(--jfv-bg-hover);border-radius:var(--jfv-radius);gap:.125rem;padding:.125rem;display:flex}._jfv-view-tab{font-size:var(--main-text-xs);color:var(--jfv-text-muted);border-radius:calc(var(--jfv-radius) - 2px);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;padding:.25rem .625rem;font-family:inherit;font-weight:500;display:inline-flex}._jfv-view-tab:hover{color:var(--jfv-text)}._jfv-view-tab.active{background:var(--jfv-bg);color:var(--jfv-text);box-shadow:0 1px 2px #0000000f}._jfv-code-view{height:100%;overflow:auto}._jfv-code-pre{padding:var(--main-space-3);font-family:var(--main-font-mono);font-size:var(--main-text-sm);white-space:pre;color:var(--jfv-text);min-height:100%;margin:0;line-height:1.6}._jfv-syn-key{color:var(--jfv-syn-key)}._jfv-syn-string{color:var(--jfv-syn-string)}._jfv-syn-number{color:var(--jfv-syn-number)}._jfv-syn-boolean{color:var(--jfv-syn-boolean)}._jfv-syn-null{color:var(--jfv-syn-null);font-style:italic}._jfv-syn-bracket{color:var(--jfv-syn-bracket)}._jfv-syn-comma{color:var(--jfv-syn-comma)}._jfv-tree-view{height:100%;padding:var(--main-space-3);overflow:auto}._jfv-tree-node{font-family:var(--main-font-mono);font-size:var(--main-text-sm);line-height:1.5}._jfv-tree-item{align-items:flex-start;gap:.25rem;padding:.125rem 0;display:flex}._jfv-tree-toggle{cursor:pointer;background:var(--jfv-tree-toggle-bg);width:1rem;height:1rem;color:var(--jfv-text-muted);border:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;margin-top:.125rem;padding:0;display:inline-flex}._jfv-tree-toggle:hover{color:var(--jfv-text)}._jfv-tree-toggle-placeholder{flex-shrink:0;width:1rem}._jfv-tree-key{color:var(--jfv-tree-key);font-weight:500}._jfv-tree-colon{color:var(--jfv-text-muted);margin-right:.25rem}._jfv-tree-value{word-break:break-all}._jfv-tree-children{border-left-style:solid;border-left-width:1px;border-left-color:var(--jfv-tree-line);margin-left:.4375rem;padding-left:1.25rem}._jfv-tree-children.collapsed{display:none}._jfv-tree-badge{border-radius:var(--main-radius-full);text-transform:uppercase;letter-spacing:.03em;padding:0 .375rem;font-size:.625rem;font-weight:500;line-height:1.4;display:inline-flex}._jfv-tree-badge-object{color:#6366f1;background:#6366f11a}._jfv-tree-badge-array{color:#059669;background:#10b9811a}._jfv-tree-badge-string{color:#059669;background:#05966914}._jfv-tree-badge-number{color:#d97706;background:#d977061a}._jfv-tree-badge-boolean{color:#dc2626;background:#dc262614}._jfv-tree-badge-null{color:#94a3b8;background:#94a3b826}._jfv-empty-state{justify-content:center;align-items:center;gap:var(--main-space-3);height:100%;color:var(--jfv-text-muted);padding:var(--main-space-6);text-align:center;flex-direction:column;display:flex}._jfv-empty-state svg{opacity:.3}._jfv-empty-state p{font-size:var(--main-text-sm);margin:0}@media (max-width:768px){._jfv-code-pre,._jfv-tree-view{font-size:var(--main-text-xs)}}._jfv-status-bar{padding:var(--main-space-2) var(--main-space-3);background:var(--jfv-bg);border-radius:var(--jfv-radius-lg);border-style:solid;border-width:1px;border-color:var(--jfv-border);box-shadow:var(--jfv-shadow);font-size:var(--main-text-xs);font-family:var(--main-font-mono);justify-content:space-between;align-items:center;min-height:2rem;display:flex}._jfv-status-left,._jfv-status-right{align-items:center;gap:var(--main-space-2);display:flex}._jfv-status-indicator{align-items:center;gap:.375rem;font-weight:500;display:inline-flex}._jfv-status-indicator svg{width:14px;height:14px}._jfv-status-indicator.valid{color:var(--jfv-success)}._jfv-status-indicator.invalid{color:var(--jfv-error)}._jfv-status-indicator.empty,._jfv-status-item{color:var(--jfv-text-muted)}._jfv-status-sep{color:var(--jfv-border)}@media (max-width:480px){._jfv-status-bar{gap:var(--main-space-1);flex-wrap:wrap}}
