.x2e-tool{margin-bottom:2rem;display:flex;flex-direction:column;gap:0;}
.x2e-input-zone{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:14px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.05);}
.x2e-label{display:block;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted,#64748b);margin-bottom:0.5rem;}
.x2e-editor{width:100%;min-height:280px;padding:1rem 1.25rem;font-family:ui-monospace,"SF Mono",Menlo,Monaco,Consolas,monospace;font-size:0.875rem;line-height:1.55;border:none;resize:vertical;background:var(--surface,#fff);color:var(--text-main,#334155);-webkit-appearance:none;appearance:none;}
.x2e-editor::placeholder{color:var(--text-muted,#94a3b8);}
.x2e-editor:focus{outline:none;}
.x2e-editor.is-invalid{border-left:3px solid #dc2626;background:#fef2f2;}
@media (min-width:768px){.x2e-editor{min-height:320px;font-size:0.9375rem;}}
.x2e-input-zone .x2e-label{padding:1rem 1.25rem 0;}
.x2e-input-zone .x2e-editor{padding:0.5rem 1.25rem 0;}
.x2e-error{font-size:0.8125rem;color:#dc2626;padding:0.5rem 1rem;background:#fef2f2;border-radius:8px;margin-top:0.5rem;}
.x2e-input-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem 1rem;padding:0.75rem 1rem;border-top:1px solid var(--border,#e2e8f0);background:var(--surface-muted,#f8fafc);}
.x2e-actions-left{display:flex;align-items:center;gap:0.5rem 0.75rem;flex-wrap:wrap;min-width:0;}
.x2e-actions-right{flex:0 0 auto;margin-left:auto;}
@media (max-width:479px){.x2e-input-actions{flex-wrap:wrap;}.x2e-actions-right{margin-left:0;width:100%;justify-content:flex-end;display:flex;}}
.x2e-options-label{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted,#64748b);white-space:nowrap;}
.x2e-btn-ghost{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 0.75rem;font-size:0.8125rem;font-weight:500;color:var(--primary,#2563eb);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background 0.2s,color 0.2s;-webkit-tap-highlight-color:transparent;}
.x2e-btn-ghost:hover{background:rgba(37,99,235,0.08);}
.x2e-chips{display:flex;flex-wrap:wrap;gap:0.5rem;}
.x2e-chip{display:inline-flex;align-items:center;padding:0.45rem 0.875rem;font-size:0.8125rem;font-weight:500;color:var(--text-muted,#64748b);background:var(--surface-muted,#f1f5f9);border:1px solid var(--border,#e2e8f0);border-radius:999px;cursor:pointer;transition:background 0.2s,color 0.2s,border-color 0.2s;-webkit-tap-highlight-color:transparent;}
.x2e-chip:hover{color:var(--text-main,#334155);background:var(--border,#e2e8f0);}
.x2e-chip input{position:absolute;opacity:0;width:0;height:0;}
.x2e-chip:has(input:checked){color:#fff;background:var(--primary,#2563eb);border-color:var(--primary,#2563eb);}
.x2e-convert-row{padding:1rem 0;display:flex;justify-content:center;}
.x2e-btn-primary{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:var(--primary,#2563eb);border:none;border-radius:10px;cursor:pointer;transition:background 0.2s,transform 0.15s;box-shadow:0 2px 8px rgba(37,99,235,0.25);-webkit-tap-highlight-color:transparent;}
.x2e-btn-primary:hover{background:var(--primary-dark,#1d4ed8);transform:translateY(-1px);}
.x2e-btn-primary:active{transform:translateY(0);}
.x2e-btn-primary:disabled{opacity:0.6;cursor:not-allowed;transform:none;}
.x2e-output-zone{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:14px;overflow:hidden;margin-top:0.5rem;box-shadow:0 1px 3px rgba(0,0,0,0.05);}
.x2e-output-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border,#e2e8f0);background:var(--surface-muted,#f8fafc);}
.x2e-output-btns{display:flex;flex-wrap:wrap;gap:0.5rem;}
.x2e-btn-icon{display:inline-flex;align-items:center;gap:0.4rem;padding:0.5rem 0.875rem;font-size:0.8125rem;font-weight:500;color:var(--text-main,#334155);background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:8px;cursor:pointer;transition:background 0.2s,border-color 0.2s;-webkit-tap-highlight-color:transparent;}
.x2e-btn-icon:hover:not(:disabled){background:var(--surface-muted,#f1f5f9);border-color:var(--text-muted,#cbd5e1);}
.x2e-btn-icon:disabled{opacity:0.5;cursor:not-allowed;}
.x2e-preview{min-height:200px;max-height:420px;overflow:auto;padding:1rem;-webkit-overflow-scrolling:touch;}
@media (min-width:768px){.x2e-preview{min-height:280px;max-height:480px;}}
.x2e-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;color:var(--text-muted,#94a3b8);font-size:0.9375rem;text-align:center;padding:2rem;}
.x2e-preview-empty i{font-size:2.5rem;margin-bottom:0.75rem;opacity:0.6;}
.x2e-preview-empty p{margin:0;}
.x2e-sheet{width:100%;border-collapse:collapse;font-size:0.8125rem;}
.x2e-sheet th,.x2e-sheet td{padding:0.5rem 0.75rem;text-align:left;border:1px solid var(--border,#e2e8f0);white-space:nowrap;}
.x2e-sheet th{background:var(--surface-muted,#f1f5f9);font-weight:600;color:var(--text-main,#1e293b);position:sticky;top:0;z-index:1;}
.x2e-sheet tr:nth-child(even) td{background:rgba(0,0,0,0.02);}
.x2e-sheet tr:hover td{background:rgba(37,99,235,0.04);}
.x2e-editor.x2e-drag-over{background:rgba(37,99,235,0.04);border:2px dashed var(--primary,#2563eb);}
.x2e-btn-primary.x2e-success{background:#059669;}
