:root{--jpf-primary:var(--main-primary);--jpf-bg:#fff;--jpf-bg-secondary:#f8fafc;--jpf-bg-hover:#f1f5f9;--jpf-text:#1e293b;--jpf-text-muted:#64748b;--jpf-border:#e2e8f0;--jpf-border-focus:var(--main-primary);--jpf-shadow:0 1px 3px #0000000f;--jpf-radius:var(--main-radius);--jpf-radius-lg:var(--main-radius-lg);--jpf-syn-key:#6366f1;--jpf-syn-string:#059669;--jpf-syn-number:#d97706;--jpf-syn-boolean:#dc2626;--jpf-syn-null:#94a3b8;--jpf-success:#10b981;--jpf-error:#ef4444;--jpf-warning:#f59e0b;--jpf-line-bg:#f1f5f9;--jpf-line-text:#94a3b8;--jpf-line-border:#e2e8f0;--jpf-tree-line:#e2e8f0;--jpf-tree-key:#6366f1;--jpf-tree-toggle-bg:#f1f5f9;--jpf-tree-selected:#6366f114;--jpf-tree-hover:#6366f10a}._jpf-container{gap:var(--main-space-3);height:80vh;padding-left:var(--main-space-2);padding-right:var(--main-space-2);flex-direction:column;display:flex}._jpf-hidden{display:none!important}._jpf-panels{gap:var(--main-space-3);flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid;overflow:hidden}._jpf-panel{background:var(--jpf-bg);border-radius:var(--jpf-radius-lg);border-style:solid;border-width:1px;border-color:var(--jpf-border);box-shadow:var(--jpf-shadow);flex-direction:column;min-height:0;display:flex;overflow:hidden}._jpf-panel-header{padding:var(--main-space-2) var(--main-space-3);border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--jpf-border);background:var(--jpf-bg-secondary);justify-content:space-between;align-items:center;display:flex}._jpf-panel-title{font-size:var(--main-text-xs);color:var(--jpf-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}@media (max-width:768px){._jpf-container{height:auto;min-height:100vh;padding-left:1rem;padding-right:1rem}._jpf-panels{grid-template-columns:1fr;min-height:auto;overflow:visible}._jpf-panel{min-height:280px}}._jpf-toolbar{align-items:center;gap:var(--main-space-2);padding:var(--main-space-2) var(--main-space-3);background:var(--jpf-bg);border-radius:var(--jpf-radius-lg);border-style:solid;border-width:1px;border-color:var(--jpf-border);box-shadow:var(--jpf-shadow);flex-wrap:wrap;flex-shrink:0;display:flex}._jpf-toolbar-left{align-items:center;gap:var(--main-space-2);flex-wrap:wrap;display:flex}._jpf-mode-toggle,._jpf-notation-toggle{border-radius:var(--jpf-radius);border-style:solid;border-width:1px;border-color:var(--jpf-border);display:flex;overflow:hidden}._jpf-mode-btn,._jpf-notation-btn{font-size:var(--main-text-sm);background:var(--jpf-bg);color:var(--jpf-text-muted);cursor:pointer;white-space:nowrap;border:none;border-right:1px solid;border-right-color:var(--jpf-border);align-items:center;gap:.375rem;padding:.4375rem .875rem;font-family:inherit;font-weight:500;transition:background-color .15s,color .15s;display:inline-flex}._jpf-mode-btn:last-child,._jpf-notation-btn:last-child{border-right:none}._jpf-mode-btn:hover,._jpf-notation-btn:hover{background:var(--jpf-bg-hover)}._jpf-mode-btn.active,._jpf-notation-btn.active{background:var(--jpf-primary);color:#fff}._jpf-mode-btn:focus-visible{outline:2px solid var(--jpf-primary);outline-offset:-2px}._jpf-notation-btn:focus-visible{outline:2px solid var(--jpf-primary);outline-offset:-2px}._jpf-btn{border-radius:var(--jpf-radius);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:.375rem;font-family:inherit;display:inline-flex}._jpf-btn:focus-visible{outline:2px solid var(--jpf-primary);outline-offset:2px}._jpf-btn-icon{color:var(--jpf-text-muted);background:0 0;padding:.4375rem;transition:background-color .15s,color .15s}._jpf-btn-icon:hover{background:var(--jpf-bg-hover);color:var(--jpf-text)}._jpf-btn-danger:hover{color:var(--jpf-error)}._jpf-btn-sm{font-size:var(--main-text-xs);color:var(--jpf-text-muted);background:0 0;padding:.25rem .5rem;font-weight:500;transition:background-color .15s,color .15s}._jpf-btn-sm:hover{background:var(--jpf-bg-hover);color:var(--jpf-text)}._jpf-btn-primary{background:var(--jpf-primary);color:#fff;font-size:var(--main-text-sm);padding:.4375rem .75rem;font-weight:500;transition:opacity .15s}._jpf-btn-primary:hover{opacity:.9}@media (max-width:768px){._jpf-toolbar{padding:var(--main-space-2)}._jpf-mode-btn,._jpf-notation-btn{font-size:var(--main-text-xs);padding:.4375rem .625rem}}._jpf-editor-wrapper{flex:1;display:flex;overflow:hidden}._jpf-line-numbers{width:3rem;padding:var(--main-space-3) 0;background:var(--jpf-line-bg);border-right-style:solid;border-right-width:1px;border-right-color:var(--jpf-line-border);text-align:right;font-family:var(--main-font-mono);font-size:var(--main-text-xs);color:var(--jpf-line-text);-webkit-user-select:none;user-select:none;flex-shrink:0;line-height:1.6;overflow:hidden}._jpf-line-numbers span{padding-right:.5rem;display:block}._jpf-textarea{width:100%;padding:var(--main-space-3);resize:none;font-family:var(--main-font-mono);font-size:var(--main-text-sm);color:var(--jpf-text);background:var(--jpf-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}._jpf-textarea::placeholder{color:var(--jpf-text-muted)}._jpf-textarea:focus{outline:none}._jpf-tree-wrapper{padding:var(--main-space-3);flex:1;min-height:0;overflow:auto}._jpf-tree-node{font-family:var(--main-font-mono);font-size:var(--main-text-sm);line-height:1.5}._jpf-tree-item{cursor:pointer;border-radius:3px;align-items:flex-start;gap:.25rem;padding:.1875rem .375rem;transition:background-color .1s;display:flex}._jpf-tree-item:hover{background:var(--jpf-tree-hover)}._jpf-tree-item.selected{background:var(--jpf-tree-selected)}._jpf-tree-toggle{cursor:pointer;background:var(--jpf-tree-toggle-bg);width:1rem;height:1rem;color:var(--jpf-text-muted);border:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;margin-top:.125rem;padding:0;display:inline-flex}._jpf-tree-toggle:hover{color:var(--jpf-text)}._jpf-tree-toggle-placeholder{flex-shrink:0;width:1rem}._jpf-tree-key{color:var(--jpf-tree-key);font-weight:500}._jpf-tree-index{color:var(--jpf-syn-number);font-weight:500}._jpf-tree-colon{color:var(--jpf-text-muted);margin-right:.25rem}._jpf-tree-value{word-break:break-all}._jpf-tree-children{border-left-style:solid;border-left-width:1px;border-left-color:var(--jpf-tree-line);margin-left:.4375rem;padding-left:1.25rem}._jpf-tree-children.collapsed{display:none}._jpf-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}._jpf-tree-badge-object{color:#6366f1;background:#6366f11a}._jpf-tree-badge-array{color:#059669;background:#10b9811a}._jpf-val-string{color:var(--jpf-syn-string)}._jpf-val-number{color:var(--jpf-syn-number)}._jpf-val-boolean{color:var(--jpf-syn-boolean)}._jpf-val-null{color:var(--jpf-syn-null);font-style:italic}._jpf-tree-actions{gap:.25rem;display:flex}._jpf-empty-state{justify-content:center;align-items:center;gap:var(--main-space-3);height:100%;color:var(--jpf-text-muted);padding:var(--main-space-6);text-align:center;flex-direction:column;display:flex}._jpf-empty-state svg{opacity:.3}._jpf-empty-state p{font-size:var(--main-text-sm);margin:0}@media (max-width:768px){._jpf-tree-node{font-size:var(--main-text-xs)}}._jpf-bottom{padding:var(--main-space-3);background:var(--jpf-bg);border-radius:var(--jpf-radius-lg);border-style:solid;border-width:1px;border-color:var(--jpf-border);box-shadow:var(--jpf-shadow);flex-direction:column;flex-shrink:0;gap:0;display:flex}._jpf-bottom-header{margin-bottom:var(--main-space-2);padding-bottom:var(--main-space-2);border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--jpf-border);justify-content:space-between;align-items:center;display:flex}._jpf-path-row{align-items:center;gap:var(--main-space-2);display:flex}._jpf-path-label,._jpf-eval-label{font-size:var(--main-text-xs);color:var(--jpf-text-muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;width:2.75rem;font-weight:600}._jpf-path-field{background:var(--jpf-bg-secondary);border-radius:var(--jpf-radius);border-style:solid;border-width:1px;border-color:var(--jpf-border);flex:1;align-items:center;min-height:2rem;padding:.3125rem .75rem;display:flex}._jpf-path-value{font-family:var(--main-font-mono);font-size:var(--main-text-sm);color:var(--jpf-syn-key);word-break:break-all;-webkit-user-select:all;user-select:all;font-weight:500;line-height:1.4}._jpf-path-copy{flex-shrink:0}._jpf-eval-divider{background:var(--jpf-border);height:1px;margin:var(--main-space-2) 0}._jpf-eval-row{align-items:center;gap:var(--main-space-2);display:flex}._jpf-eval-input-wrap{align-items:center;gap:var(--main-space-2);flex:1;display:flex}._jpf-eval-input{min-height:2rem;font-family:var(--main-font-mono);font-size:var(--main-text-sm);color:var(--jpf-text);background:var(--jpf-bg-secondary);border-style:solid;border-width:1.5px;border-color:var(--jpf-border);border-radius:var(--jpf-radius);outline:none;flex:1;padding:.3125rem .75rem;transition:border-color .15s,box-shadow .15s}._jpf-eval-input:focus{border-color:var(--jpf-border-focus);box-shadow:0 0 0 3px #6366f11a}._jpf-eval-input::placeholder{color:var(--jpf-text-muted)}._jpf-btn-run{background:var(--jpf-primary);color:#fff;min-height:2rem;font-size:var(--main-text-xs);border-radius:var(--jpf-radius);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;align-items:center;gap:.25rem;padding:.3125rem .75rem;font-weight:600;transition:opacity .15s;display:inline-flex}._jpf-btn-run:hover{opacity:.9}._jpf-eval-results{margin-top:var(--main-space-2);border-style:solid;border-width:1px;border-color:var(--jpf-border);border-radius:var(--jpf-radius);overflow:hidden}._jpf-eval-results-header{padding:var(--main-space-1) var(--main-space-3);background:var(--jpf-bg-secondary);border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--jpf-border);justify-content:space-between;align-items:center;display:flex}._jpf-eval-match{font-size:var(--main-text-xs);color:var(--jpf-success);font-weight:600}._jpf-eval-output{padding:var(--main-space-3);font-family:var(--main-font-mono);font-size:var(--main-text-sm);color:var(--jpf-text);background:var(--jpf-bg);white-space:pre;max-height:250px;margin:0;line-height:1.6;overflow:auto}._jpf-eval-error{margin-top:var(--main-space-2);padding:var(--main-space-2) var(--main-space-3);border-radius:var(--jpf-radius);font-size:var(--main-text-sm);color:var(--jpf-error);background:#ef44440d;border:1px solid #ef444433;align-items:flex-start;gap:.375rem;display:flex}._jpf-eval-error svg{flex-shrink:0;margin-top:.125rem}@media (max-width:768px){._jpf-bottom{padding:var(--main-space-2)}._jpf-bottom-header{gap:var(--main-space-2);flex-wrap:wrap}._jpf-path-row,._jpf-eval-row{flex-wrap:wrap}._jpf-path-label,._jpf-eval-label{width:auto}._jpf-path-field,._jpf-eval-input-wrap{flex:auto;width:100%}._jpf-path-copy{margin-left:auto}}._jpf-cheatsheet{background:var(--jpf-bg);border-radius:var(--jpf-radius-lg);border-style:solid;border-width:1px;border-color:var(--jpf-border);box-shadow:var(--jpf-shadow);flex-shrink:0;overflow:hidden}._jpf-cheatsheet-header{padding:var(--main-space-2) var(--main-space-3);background:var(--jpf-bg-secondary);border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--jpf-border);justify-content:space-between;align-items:center;display:flex}._jpf-cheatsheet-title{font-size:var(--main-text-xs);color:var(--jpf-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}._jpf-cheatsheet-close{padding:.25rem}._jpf-cheatsheet-body{padding:var(--main-space-2) var(--main-space-3)}._jpf-cheatsheet-table{border-collapse:collapse;width:100%;font-size:var(--main-text-sm)}._jpf-cheatsheet-table th{text-align:left;color:var(--jpf-text-muted);font-weight:600;font-size:var(--main-text-xs);text-transform:uppercase;letter-spacing:.05em;border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--jpf-border);padding:.375rem .5rem}._jpf-cheatsheet-table td{color:var(--jpf-text);border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--jpf-border);padding:.375rem .5rem}._jpf-cheatsheet-table tr:last-child td{border-bottom:none}._jpf-cheatsheet-table code{font-family:var(--main-font-mono);font-size:var(--main-text-xs);color:var(--jpf-syn-key);background:var(--jpf-bg-secondary);border-radius:3px;padding:.125rem .375rem}@media (max-width:768px){._jpf-cheatsheet-table{font-size:var(--main-text-xs)}}._jpf-status-bar{padding:var(--main-space-2) var(--main-space-3);background:var(--jpf-bg);border-radius:var(--jpf-radius-lg);border-style:solid;border-width:1px;border-color:var(--jpf-border);box-shadow:var(--jpf-shadow);font-size:var(--main-text-xs);font-family:var(--main-font-mono);flex-shrink:0;justify-content:space-between;align-items:center;min-height:2rem;display:flex}._jpf-status-left,._jpf-status-right{align-items:center;gap:var(--main-space-2);display:flex}._jpf-status-indicator{align-items:center;gap:.375rem;font-weight:500;display:inline-flex}._jpf-status-indicator svg{width:14px;height:14px}._jpf-status-indicator.valid{color:var(--jpf-success)}._jpf-status-indicator.invalid{color:var(--jpf-error)}._jpf-status-indicator.empty,._jpf-status-item{color:var(--jpf-text-muted)}._jpf-status-sep{color:var(--jpf-border)}@media (max-width:480px){._jpf-status-bar{gap:var(--main-space-1);flex-wrap:wrap}}
