.coffee-break {
  margin-top: 20px;
  display: grid;
  justify-items: center;
  gap: 14px;
}

.coffee-break-btn {
  border: 1px solid var(--glass-border);
  background: linear-gradient(120deg, rgba(255, 180, 90, 0.9), rgba(184, 102, 40, 0.95));
  color: #21140c;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: 999px;
  padding: 10px 18px;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(126, 62, 23, 0.35);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.coffee-break-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(126, 62, 23, 0.42);
}

.coffee-break-btn:active {
  transform: translateY(1px) scale(0.99);
}

.coffee-cup {
  width: 120px;
  height: 84px;
  position: relative;
  border: 3px solid rgba(240, 221, 208, 0.9);
  border-radius: 0 0 22px 22px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.coffee-cup::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 18px;
  width: 20px;
  height: 34px;
  border: 3px solid rgba(240, 221, 208, 0.9);
  border-left: 0;
  border-radius: 0 16px 16px 0;
}

.coffee-cup-rim {
  position: absolute;
  left: -2px;
  right: -2px;
  top: 0;
  height: 6px;
  background: rgba(240, 221, 208, 0.9);
}

.coffee-cup-fill {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0%;
  background: linear-gradient(180deg, #8f4f2f 0%, #5a2c1a 100%);
  transition: height 1.6s cubic-bezier(0.2, 0.9, 0.25, 1);
}

.coffee-cup-fill.ready {
  height: 84%;
}

.coffee-cup-steam {
  position: absolute;
  top: -18px;
  width: 8px;
  height: 18px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0));
  opacity: 0;
}

.coffee-cup-steam-1 {
  left: 34px;
}

.coffee-cup-steam-2 {
  left: 72px;
}

.coffee-cup.filled .coffee-cup-steam-1 {
  animation: steam-rise 1.2s ease-in-out infinite;
}

.coffee-cup.filled .coffee-cup-steam-2 {
  animation: steam-rise 1.2s ease-in-out 0.3s infinite;
}

@keyframes steam-rise {
  0% {
    opacity: 0;
    transform: translateY(6px) scale(0.8);
  }
  35% {
    opacity: 0.8;
  }
  100% {
    opacity: 0;
    transform: translateY(-10px) scale(1.08);
  }
}
