.state {
  font-size:22px;
  margin-bottom:20px;
}

/* Ballon */
.tank {
  width:110px;
  height:300px;
  border-radius:10px;
  position:relative;
  background:linear-gradient(90deg, #d0d0d0, #f0f0f0 25%, #c8c8c8 50%, #f8f8f8 75%, #d0d0d0);
  box-shadow: inset 0 0 20px rgba(0,0,0,0.25), 0 0 20px rgba(0,0,0,0.5);
  overflow:hidden;
}
.tank::before,
.tank::after {
  content:"";
  position:absolute;
  left:0;
  width:100%;
  height:16px;
  background:linear-gradient(180deg, #aaa, #ddd, #aaa);
}
.tank::before { top:0; border-radius:90px 90px 0 0; }
.tank::after  { bottom:0; border-radius:0 0 90px 90px; }

/* Eau */
.water {
  position:absolute;
  bottom:0;
  width:100%;
  height:40%;
  background:linear-gradient(0deg, #ff8a00, #ffb770, #ffdcb0);
  opacity:0.85;
  transition: height 0.8s;
  filter:blur(1px);
}
.heat { animation: pulse 1.4s infinite ease-in-out; }

@keyframes pulse {
  0% { filter:brightness(1); }
  50% { filter:brightness(1.4); }
  100% { filter:brightness(1); }
}

/* Résistance */
.resistor {
  position:absolute;
  bottom:22px;
  left:50%;
  transform:translateX(-50%);
  width:80px;
  height:12px;
  background:#444;
  border-radius:6px;
  box-shadow: inset 0 0 6px #000;
}
.resistor.on {
  background:linear-gradient(90deg, #ffae00, #ff5e00, #ffae00);
  box-shadow:0 0 10px #ff7b00, inset 0 0 8px #ff4500;
}

/* Voyant */
.light {
  position:absolute;
  top:20px;
  left:50%;
  transform:translateX(-50%);
  width:18px;
  height:18px;
  border-radius:50%;
  background:#333;
  box-shadow:0 0 6px #000;
}
.light.on {
  background:#ff4500;
  box-shadow:0 0 14px #ff4500;
}

/* Champ de saisie + bouton */
.controls {
  margin-top:25px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
input[type="number"] {
  width:120px;
  padding:10px;
  border:none;
  border-radius:6px;
  font-size:16px;
  margin-bottom:10px;
}
button {
  padding:14px 22px;
  font-size:16px;
  border:none;
  border-radius:8px;
  background:#ff7b00;
  color:#000;
  cursor:pointer;
}
button:active { transform:scale(0.97); }

.etat {
    margin-top: 15px;
    font-size: 18px;
    font-weight: bold;
}