.xp-wrap{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem;}
.xp-editor-card,.xp-tree-card{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.06);}
.xp-panel-head{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;padding:0.75rem 1rem;border-bottom:1px solid var(--border,#e2e8f0);background:var(--surface-muted,#f8fafc);}
.xp-panel-label{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted,#64748b);}
.xp-head-actions{display:flex;align-items:center;}
.xp-editor{min-height:200px;width:100%;font-size:14px;}
@media (min-width:768px){.xp-editor{min-height:280px;}}
.xp-toolbar{display:flex;flex-direction:column;gap:0.75rem;padding:1rem;background:var(--surface-muted,#f8fafc);border-top:1px solid var(--border,#e2e8f0);}
.xp-toolbar-actions{display:flex;flex-wrap:wrap;gap:0.5rem;}
.xp-options{display:flex;flex-wrap:wrap;gap:0.5rem 1rem;align-items:center;}
.xp-option{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.8125rem;font-weight:500;color:var(--text-main,#334155);cursor:pointer;-webkit-tap-highlight-color:transparent;}
.xp-option input{width:1rem;height:1rem;accent-color:var(--primary,#2563eb);}
.xp-btn{padding:0.5rem 1rem;font-size:0.875rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background 0.2s,border-color 0.2s,color 0.2s;-webkit-tap-highlight-color:transparent;border:1px solid transparent;}
.xp-btn-primary{color:#fff;background:var(--primary,#2563eb);border-color:var(--primary,#2563eb);}
.xp-btn-primary:hover:not(:disabled){background:var(--primary-dark,#1d4ed8);border-color:var(--primary-dark,#1d4ed8);}
.xp-btn-ghost{color:var(--text-main,#334155);background:var(--surface,#fff);border-color:var(--border,#e2e8f0);}
.xp-btn-ghost:hover:not(:disabled){background:var(--surface-muted,#f1f5f9);border-color:var(--text-muted,#cbd5e1);}
.xp-output-grid{display:flex;flex-direction:column;gap:1.25rem;}
@media (min-width:992px){.xp-output-grid{display:grid;grid-template-columns:1fr auto;align-items:start;}}
.xp-tree-container{min-height:180px;max-height:420px;overflow-y:auto;padding:1rem;font-family:ui-monospace,"SF Mono",Menlo,Monaco,Consolas,monospace;font-size:0.8125rem;line-height:1.5;}
.xp-tree-placeholder{color:var(--text-muted,#64748b);margin:0;font-size:0.875rem;}
.xp-tree-view .xp-node{margin:0.15em 0;}
.xp-tree-view .xp-tag{cursor:pointer;color:var(--primary,#2563eb);user-select:none;}
.xp-tree-view .xp-tag.xp-expanded::before{content:"▼ ";font-size:0.7em;}
.xp-tree-view .xp-tag.xp-collapsed::before{content:"▶ ";font-size:0.7em;}
.xp-tree-view .xp-attr{color:#b91c1c;}
.xp-tree-view .xp-text{color:var(--text-muted,#64748b);font-style:italic;}
.xp-tree-children{margin-left:1.25rem;}
.xp-tree-view .xp-err{background:#fef2f2;color:#b91c1c;padding:0.75rem 1rem;border-radius:8px;margin:0.5rem 0;}
.xp-stats-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:0.75rem;}
.xp-stats-wrap[hidden]{display:none;}
.xp-stat-card{background:var(--surface-muted,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:0.75rem 1rem;}
.xp-stat-card strong{display:block;font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted,#64748b);margin-bottom:0.25rem;}
.xp-stat-card span{font-size:1.125rem;font-weight:700;color:var(--text-main,#334155);}
@media (min-width:992px){.xp-stats-wrap{grid-template-columns:repeat(2,minmax(164px,1fr));}}
