.win95-window {
  position: absolute;
  border: 2px solid #000;
  background: var(--win95-gray);
  box-shadow:
    inset 1px 1px 0 var(--win95-border-light),
    inset -1px -1px 0 var(--win95-border-dark),
    2px 2px 0 #000;
}

.win95-titlebar {
  background: linear-gradient(90deg, var(--win95-titlebar-start), var(--win95-titlebar-end));
  color: var(--text-titlebar);
  font-family: var(--font-primary);
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 6px;
  cursor: grab;
}

.win95-titlebar:active { cursor: grabbing; }

.win95-controls {
  display: flex;
  align-items: center;
  gap: 2px;
}

.win95-control {
  width: 16px;
  height: 14px;
  border: 1px solid;
  border-color: #fff #404040 #404040 #fff;
  background: var(--win95-button-face);
  color: #111;
  font-size: 9px;
  line-height: 1;
  padding: 0;
  cursor: pointer;
}

.win95-control:active {
  border-color: #404040 #fff #fff #404040;
}

.win95-content {
  background: #fff;
  padding: 0;
  width: 100%;
}

.win95-content-ratio {
  width: 100%;
}

.win95-window.minimized .win95-content,
.win95-window.minimized .win95-content-ratio {
  display: none;
}

.win95-window.closing {
  animation: windowClose 300ms ease-in forwards;
}

@keyframes windowClose {
  to {
    opacity: 0;
    transform: scale(0.95);
  }
}
