.gallery {
  width: 100%;
  padding: 20px;
  font-family: Arial, sans-serif;
}

h1 {
  text-align: center;
  color: #333;
}

h2 {
  margin-top: 30px;
  padding-bottom: 10px;
  border-bottom: 2px solid #eee;
}

.test-runs {
  margin-top: 20px;
  border-bottom: 2px solid #ddd;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.test-run {
  background: #f5f5f5;
  padding: 15px;
  border-radius: 8px;
}

.sessions {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 15px;
}

.session {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 10px;
  padding: 10px;
  background: white;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.session-title {
  text-align: center;
}

.thumbnail {
  text-align: center;
}

.thumbnail img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  width: 128px;
  height: 128px;
}

.video-link {
  margin-top: 5px;
}

.video-link a {
  display: inline-block;
  padding: 5px 10px;
  background: #4CAF50;
  color: white;
  text-decoration: none;
  border-radius: 4px;
  font-size: 14px;
}

.video-link a:hover {
  background: #45a049;
}

.links {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 8px;
  align-items: center;
}

.file-link {
  padding: 5px 10px;
  border-radius: 4px;
  text-decoration: none;
  color: white;
  font-size: 14px;
  text-align: center;
}

.screen { background: #4CAF50; }
.websocket { background: #2196F3; }
.console { background: #FF9800; }
.network { background: #9C27B0; }
.error { background: #f44336; }

@media (max-width: 1200px) {
  .sessions {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  }
}

@media (max-width: 900px) {
  .sessions {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
}

@media (max-width: 600px) {
  .sessions {
    grid-template-columns: 1fr;
  }
  
  .session {
    grid-template-columns: 1fr;
  }
  
  .links {
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  }
}
