.window {
  width: 710px;
  height: 420px;
  position: absolute;
  transform: translate(-50%, -50%);
  box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #ffffff,
    inset -2px -2px #808080, inset 2px 2px #dfdfdf;
  background: #c0c0c0;
  padding: 3px;
  font-size: 11px;

  &.welcome {
    width: 500px;
    height: 150px;
  }
}

.title-bar {
  background: linear-gradient(90deg, #000080, #1084d0);
  padding: 4px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.title-bar-text {
  font-family: "w98-sans-serif", sans-serif;
  font-weight: bold;
  color: #ffffff;
  font-size: 16px;
  letter-spacing: 1px;
}

.title-bar-controls {
  display: flex;
}

.title-bar-controls .close {
  transform: scale(1.4);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='8' height='7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0h2v1h1v1h2V1h1V0h2v1H7v1H6v1H5v1h1v1h1v1h1v1H6V6H5V5H3v1H2v1H0V6h1V5h1V4h1V3H2V2H1V1H0V0z' fill='%23000'/%3E%3C/svg%3E");
  background-position: top 3px left 4px;
  background-repeat: no-repeat;
  display: block;
  min-height: 14px;
  min-width: 16px;
  padding: 0;
  margin-right: 2px;
  background-color: silver;
  border: none;
  border-radius: 0;
  box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey,
    inset 2px 2px #dfdfdf;
  box-sizing: border-box;
  color: transparent;
  text-shadow: 0 0 #222;
}

.window-body {
  margin: 8px;

  &.welcome {
    display: flex;
    justify-content: space-between;
    margin: 20px;

    .options {
      font-family: "w98-sans-serif", sans-serif;
      font-size: 16px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      gap: 16px;

      .name {
        display: flex;
        align-items: center;
        gap: 30px;
      }
    }

    .actions {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 5px;
    }
  }
}

.window-body input[type="text"] {
  -webkit-font-smoothing: none;
  font-family: "w98-sans-serif", sans-serif;
  font-size: 16px;
  background-color: #fff;
  box-shadow: inset -1px -1px #fff, inset 1px 1px grey, inset -2px -2px #dfdfdf,
    inset 2px 2px #0a0a0a;
  box-sizing: border-box;
  padding: 3px 4px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  outline: none;
}

.window button:active:not(.disabled) {
  outline: 1px dotted #000000;
  outline-offset: -6px;
  box-shadow: inset -1px -1px #ffffff, inset 1px 1px #0a0a0a,
    inset -2px -2px #dfdfdf, inset 2px 2px #808080;
}

.window button:focus:not(.disabled) {
  outline: 1px dotted #000000;
  outline-offset: -6px;
}

.window-body button {
  font-family: "w98-sans-serif", sans-serif;
  font-size: 16px;
  background: silver;
  border: none;
  border-radius: 0;
  box-shadow: inset -2px -2px #0a0a0a, inset 1px 1px #0a0a0a, inset 2px 2px #fff,
    inset -3px -3px grey, inset 3px 3px #dfdfdf;
  box-sizing: border-box;
  color: transparent;
  min-height: 33px;
  min-width: 95px;
  padding: 0 12px;
  text-shadow: 0 0 #222;

  &.focused {
    outline: 1px dotted #000000;
    outline-offset: -6px;
  }

  &.disabled {
    text-shadow: 1px 1px 0 #ffffff;
    color: grey;
    box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff,
      inset -2px -2px grey, inset 2px 2px #dfdfdf;
  }
}

.menu-bar {
  width: 1024px;
  font-family: "w98-sans-serif", sans-serif;
  display: flex;
  background: #c0c0c0;

  .menu-item {
    padding: 3px 10px;
    cursor: default;
  }

  .menu-item:active {
    box-shadow: inset -1px -1px #ffffff, inset 1px 1px #0a0a0a,
      inset -2px -2px #dfdfdf, inset 2px 2px #808080;
  }

  .menu-item:hover {
    box-shadow: inset -1px -1px #ffffff, inset 1px 1px #0a0a0a,
      inset -2px -2px #dfdfdf, inset 2px 2px #808080;
  }
}

.menu-dropdown {
  font-family: "w98-sans-serif", sans-serif;
  width: 175px;
  position: absolute;
  background: silver;
  box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #ffffff,
    inset -2px -2px #808080, inset 2px 2px #dfdfdf;
  display: flex;
  flex-direction: column;

  hr {
    margin: 0 3px;
  }

  .menu-option {
    display: flex;
    justify-content: space-between;
    margin: 3px;
    padding: 2px 25px;
    cursor: default;

    &.disabled {
      opacity: 0.1;
      pointer-events: none;
    }
  }

  .menu-option:hover {
    background: navy;
    color: white;
  }

  &.hidden {
    display: none;
  }
}

.footer {
  width: 1012px;
  background-color: #c0c0c0;
  padding: 4px 6px 6px;
  font-size: 16px;

  .text {
    font-family: "w98-sans-serif", sans-serif;
    box-shadow: inset -1px -1px #ffffff, inset 1px 1px #0a0a0a,
      inset -2px -2px #dfdfdf, inset 2px 2px #808080;
    padding: 5px 10px;
  }
}
