:root{font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;font-weight:400;color:#0f172a;background-color:#f5f7fb;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f5f7fb}a{color:inherit}button,select,input,textarea{font:inherit}#root{width:100%;min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:#f5f7fb;color:#1f2933}.app-header{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding:2.5rem 3rem 1.5rem;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 10px 30px #0f172a14}.app-header h1{margin:0;font-size:2rem;font-weight:500;letter-spacing:-.02em}.subtitle{margin:.35rem 0 0;color:#64748b;font-size:.95rem;font-weight:400}.metrics{display:flex;align-items:center;gap:.75rem}.header-controls{display:flex;align-items:flex-end;gap:1.5rem}.language-select{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#475569}.language-select select{min-width:160px;padding:.4rem .6rem;border-radius:8px;border:1px solid #cbd5f5;background:#f8fafc;color:#0f172a}.metric{background:#e0f2fe;color:#0f172a;padding:.35rem .85rem;border-radius:999px;font-weight:500;font-size:.9rem}.workspace{flex:1;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;padding:24px 32px 40px;align-items:flex-start}.workspace-left{display:flex;flex-direction:column;gap:20px}.workspace-right{position:relative}.panel-card{background:#fff;border-radius:18px;padding:20px 22px;box-shadow:0 14px 40px #0f172a0f;display:flex;flex-direction:column;gap:18px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.panel-header h2{margin:0;font-size:1.05rem;font-weight:500}.status-badge{font-size:.7rem;font-weight:500;border-radius:999px;padding:.25rem .75rem;text-transform:uppercase;letter-spacing:.05em}.status-badge.success{background:#dcfce7;color:#166534}.status-badge.error{background:#fee2e2;color:#b91c1c}.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:400;color:#475569}.field input,.field select,.raw-input{border-radius:10px;border:1px solid #cbd5f5;background:#f8fafc;padding:.55rem .75rem;font-size:.95rem;color:#1f2933;transition:border-color .2s ease,box-shadow .2s ease}.field input:focus,.field select:focus,.raw-input:focus,table input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.raw-input{width:100%;min-height:220px;resize:vertical;font-family:Fira Code,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;line-height:1.45;white-space:pre}.toggle-group{display:flex;flex-wrap:wrap;gap:10px}.toggle{border-radius:999px;border:1px solid #cbd5f5;background:#fff;padding:.4rem .85rem;font-size:.85rem;font-weight:500;color:#1f2933;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.toggle:hover{border-color:#3b82f6}.toggle.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.table-wrapper{max-height:460px;overflow:auto;position:relative}.table-loader{padding:.5rem 0;text-align:center;font-size:.85rem;color:#475569}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}table{width:100%;border-collapse:collapse;border-radius:12px;overflow:hidden}thead{background:#0f172a;color:#f8fafc}th,td{padding:.7rem .8rem;text-align:left;font-size:.9rem}tbody tr:nth-child(2n){background:#f1f5f9}tbody tr:nth-child(odd){background:#fff}table input{width:100%;border-radius:8px;border:1px solid #cbd5f5;background:#fff;padding:.35rem .55rem;font-size:.9rem;color:#1f2933}.actions-col{width:100px;text-align:right}.secondary,.danger{border-radius:8px;border:1px solid transparent;padding:.45rem .9rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:filter .2s ease,transform .2s ease}.secondary{background:#e2e8f0;color:#0f172a}.secondary.active{background:#0f172a;color:#f8fafc;border-color:#1e293b}.secondary:hover{filter:brightness(.95)}.secondary:disabled{opacity:.5;cursor:not-allowed}.danger{background:#ef4444;color:#fff}.danger:hover{filter:brightness(1.1)}.json-preview{background:#0f172a;color:#e2e8f0;padding:16px 18px;border-radius:14px;line-height:1.45;max-height:70vh;overflow:auto;font-size:.9rem;font-family:Fira Code,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.property-hierarchy-tree{max-height:400px}.tree-branch{display:flex;flex-direction:column;gap:6px}.tree-node{display:flex;align-items:center;gap:8px;min-height:22px;flex-wrap:wrap}.tree-toggle{width:22px;height:22px;border-radius:6px;border:1px solid #1f2937;background:#1f2937;color:#e2e8f0;font-size:.85rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,border-color .2s ease}.tree-toggle:hover,.tree-toggle:focus{background:#334155;border-color:#334155;outline:none}.tree-toggle:disabled{opacity:.5;cursor:not-allowed}.tree-spacer{width:22px;height:22px;display:inline-block}.tree-label{font-weight:500;color:#f0f9ff}.tree-label.custom{color:#38bdf8}.tree-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.tree-actions{display:flex;align-items:center;gap:6px}.tree-action{border:1px solid #334155;background:transparent;color:#e2e8f0;padding:.2rem .45rem;border-radius:6px;font-size:.7rem;cursor:pointer;transition:background .2s ease,opacity .2s ease}.tree-action:hover,.tree-action:focus{background:#334155;outline:none}.tree-action.subtle{opacity:.75}.tree-action.subtle:hover,.tree-action.subtle:focus{opacity:1}.tree-original-label{font-size:.72rem;color:#94a3b8}.tree-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.tree-checkbox{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.tree-summary{color:#94a3b8;font-size:.85rem;margin-left:4px}.tree-value{color:#facc15;font-size:.85rem}.tree-children{display:flex;flex-direction:column;gap:6px;margin-left:20px;padding-left:12px;border-left:1px solid #1e293b}.inline-error{margin:0;color:#b91c1c;font-size:.85rem}.error-context{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.error-location{margin:0;font-size:.85rem;font-weight:500;color:#7f1d1d}.error-snippet{margin:0;font-size:.8rem;font-family:Fira Code,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;color:#991b1b;background:#fff7f7;border-radius:8px;padding:8px;overflow-x:auto}.error-jump-button{align-self:flex-start;background:none;border:none;padding:0;color:#b91c1c;font-size:.8rem;font-weight:600;text-decoration:underline;cursor:pointer}.error-jump-button:hover,.error-jump-button:focus-visible{color:#7f1d1d}.config-feedback{margin:0;color:#22c55e;font-size:.8rem}.preview-feedback{margin:0;color:#2563eb;font-size:.8rem}.preview-feedback.error{color:#b91c1c}.empty-state{margin:0;color:#64748b;font-size:.9rem}.sticky{position:sticky;top:24px}@media(max-width:1100px){.workspace{grid-template-columns:1fr}.sticky{position:static}}@media(max-width:720px){.app-header{flex-direction:column;align-items:flex-start}.metrics{width:100%}.header-controls{width:100%;flex-direction:column;align-items:stretch}.language-select select{width:100%}.workspace{padding:20px}.panel-card{padding:18px}}
