<section class="window">
  <header class="window-header">
    <nav class="window-controls">
      <span class="control-item control-minimize js-minimize">‒</span>
      <span class="control-item control-maximize js-maximize">□</span>
      <span class="control-item control-close js-close">˟</span>
    </nav>
  </header>
  <main class="window-content">
    <div class="window-cursor">
      <span class="i-cursor-indicator">></span><span class="i-cursor-underscore"></span>
      <input type="text" class="window-input js-prompt-input" />
    </div>
  </main>
</section>
<div class="prompt-shortcut i-prompt hidden js-open"></div>
* { box-sizing: border-box; }

body {
  display: flex;
  min-height: 100vh;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background-color: #555;
  background: url("https://cdn.dribbble.com/users/43762/screenshots/1438974/ng-colab-space_night.gif");
  background-size: cover;
  overflow: hidden;
}

.window {
  width: 450px;
  height: 250px;
  background-color: rgba(37,37,37,.85);
  border: 1px solid #c9c9c9;
  box-shadow: 4px 4px 0 rgba(0,0,0,.2);
  transition: all ease-in-out .3s;
}
.window.window--maximized {
  width: 100%;
  flex-grow: 1;
}
.window.window--minimized {
  height: 25px;
  width: 180px;
  .window-content { display: none; }
}

.window.window--destroyed {
  opacity: 0;
  width: 0;
  height: 0;
}

.window-header {
  background-color: #eee;
  height: 25px;
}

.window-controls {
  display: flex;
  height: 100%;
  justify-content: flex-end;
  align-items: center;
}

.window-controls .control-item {
  width: 25px;
  height: 25px;
  text-align: center;
  color: #333;
  transition: all ease-in .15s;
  cursor: pointer;
  
  &:hover { background-color: #ccc; }
}

.control-item.control-close {
  font-size: 20px;
  font-weight: 500;
  line-height: 28px;
  
  &:hover {
    background-color: #ec6060;
    color: #fff;
  }
}
.control-item.control-maximize { line-height: 19px; }
.control-item.control-minimize { line-height: 22px; }

.window-cursor {
  display: flex;
  margin: 5px;
  .i-cursor-indicator {
    color: #fff;
    font-size: 1em;
    font-family: 'Consolas', monospace;
    margin: 0 2px 0 5px;
  }
  .i-cursor-underscore {
    width: 10px;
    height: 3px;
    background-color: #fff;
    align-self: flex-end;
    margin-right: 5px;
    animation: blink 1s steps(2, start) infinite;
  }
}
.window-input {
  background-color: inherit;
  border: none;
  outline: 0;
  color: transparent;
  text-shadow: 0 0 0 #fff;
  font-family: 'Consolas', monospace;
  flex: 1;
  
  &:focus {
    outline: none;
  }
}

.i-prompt {
  width: 62px;
  height: 62px;
  background: url("https://cdn4.iconfinder.com/data/icons/small-n-flat/24/terminal-48.png") no-repeat center;
  background-color: rgba(0,0,0,.35);
  border-radius: 10px;
  box-shadow: 0 3px 1px rgba(0,0,0,.25);
  cursor: pointer;
  transition: all ease-in-out .15s;
  &:hover {
    background-position: center 4px;
  }
}
.i-prompt.hidden {
  width: 0;
  height: 0;
  opacity: 0;
}

@keyframes blink {
  to { visibility: hidden; }
}
View Compiled
var prompt = {
  window: $(".window"),
  shortcut: $(".prompt-shortcut"),
  input: $(".js-prompt-input"),
  
  init: function() {
    $(".js-minimize").click(prompt.minimize);
    $(".js-maximize").click(prompt.maximize);
    $(".js-close").click(prompt.close);
    $(".js-open").click(prompt.open);
    prompt.input.focus();
    prompt.input.blur(prompt.focus);
  },
  focus: function() {
    prompt.input.focus();
  },
  minimize: function() {
    prompt.window.removeClass("window--maximized");
    prompt.window.toggleClass("window--minimized");
  },
  maximize: function() {
    prompt.window.removeClass("window--minimized");
    prompt.window.toggleClass("window--maximized");
    prompt.focus();
  },
  close: function() {
    prompt.window.addClass("window--destroyed");
    prompt.window.removeClass("window--maximized window--minimized");
    prompt.shortcut.removeClass("hidden");
    prompt.input.val("");
  },
  open: function() {
    prompt.window.removeClass("window--destroyed");
    prompt.shortcut.addClass("hidden");
    prompt.focus();
  }
};
$(document).ready(prompt.init);

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js