:root {
  --console-font: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  font-family: var(--console-font);
  font-synthesis: none;
  background: black;
  overflow-x: auto;
  color: #ccc;
}

#environment {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 10px;
  min-height: 100vh;
}

#irix-desktop {
  position: relative;
  background-image: url('/img/irixBackground.jpg');
  background-repeat: no-repeat;
  overflow: hidden;
  width: 1124px;
  height: 850px;
  margin: 10px;
}

#apple-desktop {
  background-image: url('/img/appleBackground.jpg');
  background-repeat: no-repeat;
  overflow: hidden;
  margin: 10px;
  position: absolute;
  left: -3000px;
  width: 1124px;
  height: 850px;
  border-radius: 10px;
}

.irix-window,
.mac-window {
  position: relative;
  box-sizing: content-box;
}

.irix-window a {
  color: #ccc;
}

.irix-window:focus-visible,
.mac-window:focus-visible {
  outline: 2px solid #5fde5f;
  outline-offset: 4px;
}

.window-bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 30px;
  width: 100%;
  cursor: grab;
  touch-action: none;
}

.dragging .window-bar {
  cursor: grabbing;
}

#main-terminal {
  position: absolute;
  top: 120px;
  left: 160px;
  height: 582px;
  width: 815px;
  margin: auto;
  padding-top: 31px;
  padding-left: 30px;
  background-image: url('/img/mainTerm.jpg');
  background-repeat: no-repeat;
}

#main-terminal .inner-wrap {
  height: 570px;
  width: 800px;
  overflow: hidden;
}

#chess-terminal {
  background-image: url('/img/chessTerm.jpg');
  background-repeat: no-repeat;
  padding-top: 31px;
  padding-left: 30px;
  height: 215px;
  width: 820px;
  position: absolute;
  top: 600px;
  left: 5px;
}

#chess-terminal .inner-wrap {
  height: 207px;
  width: 805px;
  overflow: hidden;
}

#gr-osview {
  background-image: url('/img/grOsview.gif');
  background-repeat: no-repeat;
  height: 369px;
  width: 393px;
  position: absolute;
  top: 220px;
  left: 70px;
}

#zebra-girl {
  height: 760px;
  width: 662px;
  position: absolute;
  display: none;
  right: 20px;
  top: 40px;
  background-image: url('/img/zebraGirlWindow.jpg');
}

#the-king-window {
  display: none;
  background-image: url('/img/theKingFocus.jpg');
  background-repeat: no-repeat;
  width: 600px;
  height: 620px;
  position: absolute;
  left: 50px;
  top: 130px;
  text-align: center;
}

#the-king-video {
  margin-top: 40px;
  max-width: 100%;
}

#the-king-blur {
  background-image: url('/img/theKingBlur.jpg');
  width: 600px;
  height: 620px;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  display: none;
  transition: opacity 150ms ease-in-out;
}

#mac-hd-window {
  width: 556px;
  height: 566px;
  background-image: url('/img/macHDFocus.jpg');
  background-repeat: no-repeat;
  position: absolute;
  left: 15px;
  top: 100px;
}

.terminal-view {
  font-family: var(--console-font);
  font-weight: 600;
  font-size: 15px;
  color: #ccc;
  word-wrap: break-word;
}

.command-history,
.command-input,
.entered-command {
  white-space: pre;
  white-space: pre-wrap;
}

.table td,
.table tr,
table td,
table tr {
  padding: 0;
  text-align: left;
  line-height: 15px;
}

#chess-terminal table td,
#chess-terminal table tr {
  padding-left: 5px;
  padding-right: 5px;
  line-height: 13px;
  width: 50px;
}

#system-output td {
  width: 185px;
}

.buffer {
  position: absolute;
  left: -10000px;
  top: -10000px;
}

.cursor {
  font-size: 15px;
  border: 1px solid #5fde5f;
}

.active-cursor {
  background: #5fde5f;
}

@media (max-width: 1180px) {
  body {
    overflow-x: scroll;
  }
}
