:host {
  font-family: Arial, sans-serif;
  display: block;
  padding: 20px;
  transition: all 0.3s ease;
}

.theme-light {
  background-color: #ffffff;
  color: #333333;
}

.theme-dark {
  background-color: #1a1a1a;
  color: #ffffff;
}

.controls {
  margin-bottom: 20px;
}

button {
  margin: 0 10px 10px 0;
  padding: 8px 16px;
  font-size: 16px;
  cursor: pointer;
  border: 1px solid #ccc;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.theme-light button {
  background-color: #f5f5f5;
  color: #333;
}

.theme-dark button {
  background-color: #333;
  color: #fff;
  border-color: #555;
}

.info {
  margin: 20px 0;
  padding: 15px;
  border-radius: 4px;
}

.theme-light .info {
  background-color: #f9f9f9;
  border: 1px solid #e0e0e0;
}

.theme-dark .info {
  background-color: #2a2a2a;
  border: 1px solid #444;
}

.demo {
  margin-top: 20px;
  padding: 15px;
  border-radius: 4px;
}

.theme-light .demo {
  background-color: #e3f2fd;
  border: 1px solid #bbdefb;
}

.theme-dark .demo {
  background-color: #1e3a8a;
  border: 1px solid #3b82f6;
}