/* JSON 转类型 */
.j2t-wrap { max-width: 1400px; margin: 0 auto; padding: 0 12px; }
.j2t-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
@media (max-width: 900px) { .j2t-grid { grid-template-columns: 1fr; } }
.j2t-pane { background: #fff; border: 1px solid #e0e7ff; border-radius: 10px; overflow: hidden; }
.j2t-pane-head { background: linear-gradient(135deg, #6366f1, #8b5cf6); color: #fff; padding: 10px 14px; font-size: 13px; font-weight: 600; display: flex; justify-content: space-between; align-items: center; }
.j2t-pane-head .actions { display: flex; gap: 6px; }
.j2t-pane-head button { padding: 3px 10px; background: rgba(255,255,255,.2); color: #fff; border: 0; border-radius: 4px; cursor: pointer; font-size: 11px; }
.j2t-pane-head button:hover { background: rgba(255,255,255,.3); }
.j2t-pane textarea, .j2t-pane pre { width: 100%; min-height: 520px; padding: 14px; margin: 0; border: 0; box-sizing: border-box; font-family: ui-monospace, "Cascadia Code", monospace; font-size: 13px; line-height: 1.6; resize: vertical; }
.j2t-pane textarea { background: #f8fafc; color: #1e293b; }
.j2t-pane textarea:focus { outline: none; background: #fff; }
.j2t-pane pre { background: #1e293b; color: #e2e8f0; overflow: auto; white-space: pre; }
.j2t-config { background: #fff; border: 1px solid #e0e7ff; border-radius: 10px; padding: 14px 18px; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.j2t-config label { font-size: 13px; color: #4b5563; }
.j2t-config input, .j2t-config select { padding: 7px 10px; border: 1px solid #c7d2fe; border-radius: 5px; font-size: 13px; }
.j2t-btn { padding: 8px 16px; border: 0; border-radius: 5px; cursor: pointer; font-size: 13px; font-weight: 500; }
.j2t-btn-primary { background: linear-gradient(135deg, #6366f1, #8b5cf6); color: #fff; }
.j2t-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(99,102,241,.3); }
.j2t-btn-secondary { background: #eef2ff; color: #4338ca; border: 1px solid #c7d2fe; }
