:root{
  --bg:#0f1220;
  --panel:#151935;
  --muted:#8f9ac6;
  --text:#e8ecff;
  --accent:#7aa2ff;
  --accent-2:#d36df8;
  --border:#262b55;
  --warn:#ffcc66;
  --hi:#fff3a3;
}
*{box-sizing:border-box}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text)}
header{text-align:center;padding:24px 16px 8px}
h1{margin:0}
.subtitle{margin-top:6px;color:var(--muted)}
main{max-width:1100px;margin:0 auto;padding:16px;display:grid;gap:16px}
.panel{background:linear-gradient(180deg,#171c3d,#111430);border:1px solid var(--border);border-radius:14px;padding:16px}
.field{margin-bottom:12px}
label{display:block;color:var(--muted);font-size:14px;margin:2px 0 6px}
textarea#jsonInput{width:100%;min-height:220px;background:#0e1130;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px;font-family:ui-monospace,Menlo,Consolas,monospace}
.row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.value-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.inline-controls{display:flex;gap:16px;align-items:center}
input[type="text"]{width:100%;background:#0e1130;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px}

button{background:#0f1333;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 14px;cursor:pointer}
button:hover{border-color:#40479a}
button.primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#0c0f22;border:none;font-weight:700}
button.warning{background:#231a00;border-color:#4a3b00}
button.warning:hover{border-color:#7a6000}

.results-header{display:flex;justify-content:space-between;align-items:center}
.actions{display:flex;gap:8px}
.summary{color:var(--muted);margin:6px 0 12px}
#resultsList{max-height:320px;overflow:auto;margin:0;padding:0 0 10px 22px}
#resultsList li{background:#0e1130;border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin:6px 0;font-family:ui-monospace,Menlo,Consolas,monospace;display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.result-actions{display:flex;gap:6px}
.copy,.show{font-size:12px}

/* JSON Viewer */
.json-viewer{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.45;white-space:pre-wrap}
.node{margin-left:12px}
.header{cursor:pointer;user-select:none}
.key{color:#7aa2ff}
.string{color:#9cdcfe}
.number{color:#b5cea8}
.boolean{color:#569cd6}
.null{color:#dcdcaa}
.children{margin-left:16px;display:none;border-left:1px dashed #2a2f6b;padding-left:10px}
.node.expanded>.children{display:block}

/* Highlight target value */
.value-line{display:inline-block;padding:1px 4px;border-radius:6px}
.value-line.highlight{background:var(--hi);color:#141414;box-shadow:0 0 0 2px rgba(0,0,0,.15) inset;transition:background .2s}