.window {
  position: absolute;
  display: flex;
  flex-direction: column;
  top: 50px;
  left: 50px;
  width: 480px;
  border: 2px solid var(--window-border-color);
  background: #000;
  color: var(--font-color, #0f0);
  font-family: monospace;
  z-index: 1;

  overflow: hidden;
  max-height: 500px;
  transition: max-height 0.3s ease, opacity 0.3s ease;
}

.window-header {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
  background: radial-gradient(
    circle,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 33, 31, 1) 67%,
    rgba(0, 89, 82, 1) 100%
  );
  color: #fff;
  font-family: "cga-thin";
  text-shadow: -1px -1px 0 rgb(204, 204, 204), 1px -1px 0 rgb(129, 129, 129),
    -1px 1px 0 rgb(65, 65, 65), 1px 1px 0 rgb(0, 0, 0);
  font-size: 0.7rem;
  padding: 4px 6px;
  cursor: grab;
  pointer-events: auto;
}

.window.is-dragging .window-header {
  cursor: grabbing;
}

.window-title {
  flex: 1;
  text-align: center;
  font-size: 0.8rem;
}

.window-controls {
  display: flex;
  align-items: center;
  gap: 6px;
  position: relative;
}

.window-btn {
  all: unset;
  width: 12px;
  height: 12px;
  cursor: pointer;
  display: inline-block;
}

.window-btn.close {
  background-image: url("../img/close-window-icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
}

.window-btn.minimize {
  background-image: url("../img/minimize-window-icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
}

.window-content {
  padding: 10px;
  transition: opacity 0.3s ease;
}

.window.is-minimized {
  max-height: 2rem;
}

.window.is-minimized .window-content {
  opacity: 0;
}

.window-content video,
.window-content img {
  transition: opacity 0.3s ease;
}

.window.is-minimized .window-content video,
.window.is-minimized .window-content img {
  opacity: 0;
}
