A lovely javascript shell. Type a javascript expression and hit Enter to evaluate and print the result. Use the print() function to write to the shell's stdout. Usual keystrokes like delete, backspace…
u="style";A="position:absolute;";H="display:none";C="cssText";k="onkey";f="appendChild";g="kbd";m="textContent";v="value";W=10;s="";S="scrollIntoView";P="background-color:pink;color:";T=setTimeout;X=Function;b[u][C]="font-size:12pt;"+P+"#FFF";i=X("t","a","return b[f](document.createElement(t))");t=i("input");F=t.onblur=X("e","T('t.focus()',1)");t[u][C]=A+P+"pink;height:1px;width:1px;border:0;outline:0";z=i(g);z[m]="❤";z[u][C]=A;z[f](t);p=X("V","if(V!=s)i('pre')[m]='\\n'+V");E=i("iframe");c[u][C]=E[u][C]=H;w=E.contentWindow;w.print=p;n=X("V","if(V!=s)try{V='✓'+JSON.stringify(w.eval(l[m]))}catch(e){V='✗'+e}p(V);L=i(g);L[u][C]=A+'left:0';L[m]='❥';l=L[f](i(g));L[f](z);T('t[v]=s',0);q();F();T('L[S]()',1)");B="z[u].color=";setInterval(B+B+"=s?'pink':s",200);q=X("T('l[m]=t[v];z[u].left=2+W+t.selectionStart*W+\"px\";z[S]()',1)");t[k+"down"]=t[k+"press"]=X("e","'d'==e.type[3]&&e.keyCode==13?n():q()");n(s)
dT0ic3R5bGUiO0E9InBvc2l0aW9uOmFic29sdXRlOyI7SD0iZGlzcGxheTpub25lIjtDPSJjc3NUZXh0IjtrPSJvbmtleSI7Zj0iYXBwZW5kQ2hpbGQiO2c9ImtiZCI7bT0idGV4dENvbnRlbnQiO3Y9InZhbHVlIjtXPTEwO3M9IiI7Uz0ic2Nyb2xsSW50b1ZpZXciO1A9ImJhY2tncm91bmQtY29sb3I6cGluaztjb2xvcjoiO1Q9c2V0VGltZW91dDtYPUZ1bmN0aW9uO2JbdV1bQ109ImZvbnQtc2l6ZToxMnB0OyIrUCsiI0ZGRiI7aT1YKCJ0IiwiYSIsInJldHVybiBiW2ZdKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCkpIik7dD1pKCJpbnB1dCIpO0Y9dC5vbmJsdXI9WCgiZSIsIlQoJ3QuZm9jdXMoKScsMSkiKTt0W3VdW0NdPUErUCsicGluaztoZWlnaHQ6MXB4O3dpZHRoOjFweDtib3JkZXI6MDtvdXRsaW5lOjAiO3o9aShnKTt6W21dPSLinaQiO3pbdV1bQ109QTt6W2ZdKHQpO3A9WCgiViIsImlmKFYhPXMpaSgncHJlJylbbV09J1xcbicrViIpO0U9aSgiaWZyYW1lIik7Y1t1XVtDXT1FW3VdW0NdPUg7dz1FLmNvbnRlbnRXaW5kb3c7dy5wcmludD1wO249WCgiViIsImlmKFYhPXMpdHJ5e1Y9J+KckycrSlNPTi5zdHJpbmdpZnkody5ldmFsKGxbbV0pKX1jYXRjaChlKXtWPSfinJcnK2V9cChWKTtMPWkoZyk7TFt1XVtDXT1BKydsZWZ0OjAnO0xbbV09J+KdpSc7bD1MW2ZdKGkoZykpO0xbZl0oeik7VCgndFt2XT1zJywwKTtxKCk7RigpO1QoJ0xbU10oKScsMSkiKTtCPSJ6W3VdLmNvbG9yPSI7c2V0SW50ZXJ2YWwoQitCKyI9cz8ncGluayc6cyIsMjAwKTtxPVgoIlQoJ2xbbV09dFt2XTt6W3VdLmxlZnQ9MitXK3Quc2VsZWN0aW9uU3RhcnQqVytcInB4XCI7eltTXSgpJywxKSIpO3RbaysiZG93biJdPXRbaysicHJlc3MiXT1YKCJlIiwiJ2QnPT1lLnR5cGVbM10mJmUua2V5Q29kZT09MTM/bigpOnEoKSIpO24ocyk=
u="style"
A="position:absolute;"
H="display:none"
C="cssText"
k="onkey"
f="appendChild"
g="kbd"
m="textContent"
v="value"
W=10
s=""
S="scrollIntoView"
P="background-color:pink;color:"
T=setTimeout
X=Function
b[u][C]="font-size:12pt;"+P+"#FFF"
i=X("t","a","return b[f](document.createElement(t))")
t=i("input")
F=t.onblur=X("e","T('t.focus()',1)")
t[u][C]=A+P+"pink;height:1px;width:1px;border:0;outline:0"
z=i(g)
z[m]="❤"
z[u][C]=A
z[f](t)
p=X("V","if(V!=s)i('pre')[m]='\\n'+V")
E=i("iframe")
c[u][C]=E[u][C]=H
w=E.contentWindow
w.print=p
n=X("V","if(V!=s)try{V='✓'+JSON.stringify(w.eval(l[m]))}catch(e){V='✗'+e}p(V);L=i(g);L[u][C]=A+'left:0';L[m]='❥';l=L[f](i(g));L[f](z);T('t[v]=s',0);q();F();T('L[S]()',1)")
B="z[u].color="
setInterval(B+B+"=s?'pink':s",200)
q=X("T('l[m]=t[v];z[u].left=2+W+t.selectionStart*W+\"px\";z[S]()',1)")
t[k+"down"]=t[k+"press"]=X("e","'d'==e.type[3]&&e.keyCode==13?n():q()")
n(s)